我在理解如何在r中的arima
函数中指定init
和fixed
参数时遇到了问题。
例如,我将使用R的内置数据集lh
来说明这个想法:
下面一行正常
arima(lh, order = c(1,0,0))
但是这一行没有像预期的那样工作,并且生成了下面的错误消息:
arima(lh, order = c(1,0,0), init=c(0.17))
Error in arima(lh, order = c(1, 0, 0), init = c(0.17)) :
'init' is of the wrong length
因为我指定了一个ARMA(1,0)模型,所以init
应该只接受一个参数。那为什么这不起作用呢?init
的"模型参数"是什么?这真的很令人困惑。
我在arima
中的fixed
参数也遇到了同样的问题。我相信它们实际上是同一个问题。如果其中一个解出来了,另一个也会自动解出来。
请仔细阅读说明书。help(arima)
清楚地告诉您,init
与参数的初始值有关:
同样,
init
初始参数值的可选数值向量。失踪值将用零填充,回归除外系数。已经在fixed中指定的值将被忽略。
fixed
也涉及到参数:
fixed
与总数长度相同的可选数字向量的参数。如果提供,只有固定的NA条目会有所不同。变换。如果有AR, pars = TRUE将被覆盖(带有警告)参数是固定的。设置transform可能是明智的。pars = FALSE当固定MA参数时,特别是在不可逆性附近。
注意,你认为你传递的初始值是Y0, Y-1,…是从级数本身的实际值中取的。
尝试在
返回时调用coef
arima(lh, order = c(1,0,0))
查看可能需要初始化多少参数。