如何在R中定义仅包含二阶滞后项的AR(2)模型
实现仅含二阶滞后项的AR模型方法
你现有代码存在两处拼写错误:
- 时间序列窗口函数应为
window而非Windows - ARIMA阶数参数应为
order而非perder
要实现仅保留二阶滞后项、约束一阶滞后项系数为0的AR模型,可通过arima函数的fixed参数完成,该参数用于指定固定为特定值、不需要参与估计的系数。对应你的需求有两种等价写法:
写法1:传入手动差分后的序列拟合
arima(window(diff(log.variable, 1), start = 1985), order = c(2, 0, 0), fixed = c(0, NA), # 固定AR1系数为0,仅估计AR2系数 include.mean = FALSE, transform.pars = FALSE)
参数说明:当阶数设为c(2,0,0)且不包含均值项时,待估计系数依次为AR1、AR2,fixed向量对应位置设为0即固定该系数为0,设为NA则正常估计,即可实现仅保留二阶滞后项的效果。
写法2:直接对原序列拟合ARIMA(2,1,0)
不需要手动做一阶差分,直接指定差分阶数为1即可,结果和写法1完全一致:
arima(window(log.variable, start = 1985), order = c(2, 1, 0), fixed = c(0, NA), include.mean = FALSE, transform.pars = FALSE)
内容的提问来源于stack exchange,提问作者César Luis Medina Hernández
相关产品推荐
相关产品推荐

