N阶差分和N阶差分
Nth order difference and Nth difference
在ARIMA/SARIMA中有一个参数id"d",它指定了差异。对于d>1的差分,我听过两种说法:"n differencing"、"n-order differencing"。这两个表达指的是同一个东西吗?
例如,对于二阶差分,我看到了下面的公式:
yt − 2yt−1 + yt−2
二阶差分公式 (d=2) 是什么?这和以前的公式一样吗?感谢任何帮助。
ARIMA的回归模型有如下公式:
SARIMA的公式是ARIMA的公式加上额外的:
如您所见,这些公式中没有 d 和 D。但为什么我们需要它们?
ARMA 模型在时间序列平稳时效果更好。为了使时间序列平稳,我们可以区分它们。如果 D 或 d 大于 1,那么我们从系列中减去它的移位版本。
所以,如果 d = 1:
y = y - y.shift(1)
如果d = 2:
y = y - y.shift(1)
y = y - y.shift(1)
如果D=1:
y = y - y.shift(S)
...等等,其中 y 是您的时间序列,S 是您的季节性周期。
P.S。 shift
函数是pandas.Series
的函数,如果不用pandas可以按自己的方式移位
在ARIMA/SARIMA中有一个参数id"d",它指定了差异。对于d>1的差分,我听过两种说法:"n differencing"、"n-order differencing"。这两个表达指的是同一个东西吗?
例如,对于二阶差分,我看到了下面的公式:
yt − 2yt−1 + yt−2
二阶差分公式 (d=2) 是什么?这和以前的公式一样吗?感谢任何帮助。
ARIMA的回归模型有如下公式:
SARIMA的公式是ARIMA的公式加上额外的:
如您所见,这些公式中没有 d 和 D。但为什么我们需要它们?
ARMA 模型在时间序列平稳时效果更好。为了使时间序列平稳,我们可以区分它们。如果 D 或 d 大于 1,那么我们从系列中减去它的移位版本。
所以,如果 d = 1:
y = y - y.shift(1)
如果d = 2:
y = y - y.shift(1)
y = y - y.shift(1)
如果D=1:
y = y - y.shift(S)
...等等,其中 y 是您的时间序列,S 是您的季节性周期。
P.S。 shift
函数是pandas.Series
的函数,如果不用pandas可以按自己的方式移位