这个函数去趋势
从数据中减去平均值或最佳拟合线(在最小二乘意义上)。如果数据包含多个数据列,去趋势
分别处理每个数据列。
从数据中删除趋势可以使您将分析重点放在有关趋势的数据的波动上。线性趋势通常表示数据有系统的增加或减少。例如,传感器漂移可以导致系统位移。虽然趋势可能是有意义的,但某些类型的分析在去除趋势后会产生更好的洞察力。
在数据中移除趋势效应是否有意义通常取决于分析的目标。
此示例展示了如何从每日收盘价中移除线性趋势,以强调与总体增长有关的价格波动。如果数据确实有趋势,去除趋势会迫使其均值为零,并减少总体变化。的分布模拟股票价格波动画廊
函数。
创建一个模拟数据集并计算其平均值。sdata
表示股票的每日价格变化。
Rng (20) t = 0:300;dailyFluct = randn(大小(t));sdata = sum(dailyflut) + 20 + t/100;
求数据的平均值。
意思是(sdata)
ans = 41.5155
绘制并标记数据。注意数据显示的股票价格的系统性增长。
图绘制(t, sdata);传奇(“原始数据”,“位置”,“西北”);包含(的时间(天));ylabel (“股票价格(美元)”);
应用去趋势
,执行线性拟合sdata
然后去掉趋势。从输入中减去输出将得到计算出的趋势线。
detrend_sdata =去趋势(sdata);趋势= sdata - detrend_sdata;
找出去趋势化数据的平均值。
意思是(detrend_sdata)
ans = -8.0025 e15汽油
正如预期的那样,非趋势数据的平均值非常接近于0。
通过添加趋势线、非趋势数据及其平均值来显示结果。
持有在情节(t,趋势,“:r”detrend_sdata)情节(t,“米”)情节(t, 0(大小(t)),”:k”)传说(“原始数据”,“趋势”,“去趋势数据”,...“非趋势数据平均数”,“位置”,“西北”)包含(的时间(天));ylabel (“股票价格(美元)”);