首页 > 解决方案 > 使用 TSA::arima 和 stats::arima 的动态时间序列

问题描述

我正在寻找更多信息以了解用于动态时间序列时 TSA::arimax 和 stats:arima 之间的区别。我有兴趣探索年轻人饮酒和吸烟率之间的相互作用——将吸烟作为结果变量。

使用 2 个命令(下面的代码)在我的数据中产生相同的结果 - 这是因为我只有一个 IV 和/或因为我没有为传输变量指定任何 p 或 q 值?

我在网上看到 TSA arimax 拟合的是传递函数模型而不是 ARIMAX 模型,但我不确定它们有何不同。

alcohol.ts = ts(data=data$alcohol, frequency=4, start=c(data[1, "Year"], data[1, "Quarter"]))
iv[,1] = alcohol.ts
iv = as.data.frame(iv)
dv = ts(data=data$smoke, frequency=4, start=c(data[1, "Year"], data[1, "Quarter"]))
(model1 = stats::arima(dv, order=c(2,1,0), seasonal=list(order=c(0,0,0),
                                                        period=4), xreg=iv[,1], 
                      transform.pars = FALSE, optim.control = list(maxit = 1000),
                      method='ML')

(model2 = TSA::arimax(dv, order=c(2,1,0), seasonal=list(order=c(0,0,0),
                                                          period=4), 
                        xtransf=iv[,1], transfer=list(c(0,0)), 
                        transform.pars = FALSE, optim.control = list(maxit = 1000),
                        method='ML'))

标签: rarima

解决方案


推荐阅读