在 R 中的 ARIMAX 模型中用虚拟变量替换截距

Replacing intercept with dummy variables in ARIMAX models in R

我正在尝试将 ARIMAX 模型拟合到 R 中的日常消费数据。当我使用 lm() 执行 OLS 回归时,我能够为每个单元包含一个虚拟变量并删除常数项(截距) 以避免小于满秩矩阵。

lm1 <- lm(y ~ -1 + x1 + x2 + x3, data = dat)

我还没有找到用 arima() 执行此操作的方法,这迫使我使用常数项并排除其中一个虚拟变量。

with(dat, arima(y, xreg = cbind(x1, x2))

arima() 不允许这样做有什么具体原因吗?有没有办法绕过?

请参阅 ?arima 中参数 include.mean 的文档,您似乎需要以下内容:arima(y, xreg = cbind(x1, x2), include.mean=FALSE).

还请注意 @RichardHardy 指出的 ARIMA 拟合模型的定义。