如何在线性回归模型中添加周期分量?


17

我有一些累积频率数据。线y=ax+b看起来非常适合数据,但是该行中存在循环/周期性摆动。我想估计累积频率何时达到一定值c。当我绘制残差与拟合值的关系图时,我得到了漂亮的正弦曲线行为。

现在,要增加另一个复杂性,请注意在残差图中

替代文字

有两个周期的值比其他周期低,这表示还必须考虑到周末效应。

那么,我从这里去哪里呢?如何将一些余弦,正弦或循环项合并到回归模型中,以得到近似值。估计何时累积频率等于?c

Answers:


9

您可以尝试一种很棒的stl()方法-将其分解(使用迭代loess()拟合)为趋势,季节性和余数。这可能只会引起您的振荡。


8

如果您知道振荡的频率,则可以包括两个附加的预测变量,sin(2πwt)和cos(2πwt)-设置w以获取所需的波长-这样就可以对振荡进行建模。您需要两个条件来拟合振幅和相位角。如果存在多个频率,则每个频率都需要一个正弦和余弦项。

如果您不知道频率是多少,则隔离多​​个频率的标准方法是使数据去趋势(如您所做的那样,从线性拟合中获取残差)并对残差运行离散傅立叶变换。MS-Excel是一种快速而肮脏的方法,它在Data Analysis加载项中具有一个Fourier Analysis工具。对残差进行分析,获取变换的绝对值,然后对结果进行条形图绘制。峰值将是您要建模的主要频率分量。

在添加这些循环预测变量时,请在回归中密切注意它们的p值,不要过度拟合。仅使用具有统计意义的频率。不幸的是,这可能会使低频拟合有些困难。


2
当您根据数据估算频率时(与傅立叶分析一样),然后将它们作为正弦/余弦项包含在回归中,则它们的p值将毫无意义。
ub

4

让我们开始观察适合这些数据的普通最小二乘可能是不合适的。如果假定正在积累的个人数据,像往常一样,有随机误差的组件,然后在累计数据错误(没有累积频率凹口-的不同的东西比你所拥有的)是所有的误差项的累计总和。这使得累积数据是异方差的(随着时间的推移它们变得越来越可变)并且具有强正相关。由于这些数据的行为非常规律,而且有很多,因此拟合度几乎没有问题 您会得到,但是您对错误的估计,您的预测(这就是问题的全部内容),尤其是标准的预测错误可能会遥遥无期。

用于分析此类数据的标准过程从原始值开始。采取日常差异以消除高频正弦波分量。采取每周的差异,以消除可能的每周周期。分析剩下的内容。 ARIMA建模是一种功能强大的灵活方法,但从简单开始:绘制这些差异数据以查看发生了什么,然后从那里继续前进。还要注意的是,如果少于两周的数据,则您对每周周期的估算将很差,并且这种不确定性将主导预测中的不确定性。


2

显然,主导振荡周期为一天。看起来还有与星期几相关的低频分量,因此添加一个频率为一周(即一天的七分之一)及其前几个谐波的分量。给出了以下形式的模型:

E(y)=c+a0cos(2πt)+b0sin(2πt)+a1cos(2πt/7)+b1sin(2πt/7)+a2cos(4πt/7)+b2sin(4πt/7)+

ty


-2

为什么不使用GA依次查找正弦(或余弦)序列的幅度,周期和相位,然后进行组合。优化以下内容:(n(n-1)/(((np-1)^ 2(np-2)))RSS


1
目前尚不清楚这如何回答有关计算逆累积频率函数的问题。您所说的“ GA”是什么意思?遗传算法?还有吗
ub
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.