主要内容

消除趋势数据

介绍

这个函数去趋势从数据中减去平均值或最佳拟合线(在最小二乘意义上)。如果数据包含多个数据列,去趋势分别处理每个数据列。

从数据中删除趋势使您能够将分析重点放在有关趋势的数据的波动上。线性趋势通常表示数据有系统的增加或减少。例如,传感器漂移可能导致系统位移。虽然趋势可能是有意义的,但有些类型的分析会在去除趋势后产生更好的见解。

消除数据中的趋势影响是否有意义,通常取决于分析的目标。

从数据中去除线性趋势

这个例子展示了如何从每日收盘的股票价格中去除线性趋势,以强调整体上涨的价格波动。如果数据确实有趋势,反趋势将迫使其均值为零,并减少总体变化。这个例子模拟股票价格波动使用的分布从画廊函数。

创建一个模拟数据集并计算其平均值。sdata表示股票的每日价格变化。

Rng (20) t = 0:00;dailyFluct = randn(大小(t));sdata = cumsum(dailyflut) + 20 + t/100;

找出数据的平均值。

意思是(sdata)
ans = 41.5155

绘制并标记数据。注意数据显示的股票价格的系统性增长。

图绘制(t, sdata);传奇(“原始数据”“位置”“西北”);包含(的时间(天));ylabel (“股票价格(美元)”);

图中包含一个轴对象。axis对象包含一个类型为line的对象。该对象表示原始数据。

应用去趋势,它执行线性拟合sdata然后将趋势从其中移除。从输入中减去输出就得到计算出的趋势线。

detrend_sdata =去趋势(sdata);趋势= sdata - detrend_sdata;

找出非趋势数据的平均值。

意思是(detrend_sdata)
ans = -8.0025 e15汽油

正如预期的那样,非趋势数据的平均值非常接近于0。

通过将趋势线、非趋势数据及其平均值添加到图形中来显示结果。

持有情节(t,趋势,“:r”detrend_sdata)情节(t,“米”)情节(t, 0(大小(t)),”:k”)传说(“原始数据”“趋势”“去趋势数据”...“非趋势数据平均值”“位置”“西北”)包含(的时间(天));ylabel (“股票价格(美元)”);

图中包含一个轴对象。轴对象包含4个类型为line的对象。这些对象代表原始数据,趋势,去趋势数据,去趋势数据的平均值。

另请参阅

|||