我在理解如何在R中的init
函数中指定fixed
和arima
参数时遇到问题。
例如,我将使用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
预期的“模型参数”是什么?这真令人困惑。
我也遇到fixed
中arima
参数的同样问题。我相信他们实际上是同一个问题。因此,如果其中一个被解决,另一个也会自动解决。
答案 0 :(得分:1)
请仔细阅读文档。 help(arima)
明确告诉您init
与参数的初始值相关:
init
初始参数值的可选数字向量。失踪 除了回归之外,将使用零填充值 系数。已经在fixed中指定的值将被忽略。
同样,fixed
也与参数:
fixed
可选数字向量,长度与总数相同 参数。如果提供,则只有固定的NA条目会有所不同。 如果有AR,trans.pars = TRUE将被覆盖(带警告) 参数是固定的。设置transform.pars = FALSE可能是明智的 固定MA参数时,特别是接近不可逆性。
请注意,您认为您作为初始值Y 0 ,Y -1 ,...传递的内容取自系列本身的实际值。
尝试在
返回时调用coef
arima(lh, order = c(1,0,0))
查看您可能需要初始化的参数数量。