如何对AR模型进行RESET测试?

How to do the RESET test on an AR model?

> library("lmtest")
> a = arima.sim(list(ar = c(.05, -.05)), 1000)
> b = arima(a, order = c(2, 0, 0))
> resettest(b)
**Error in terms.default(formula) : no terms component nor attribute**

问题1,我做的事情如上图所示。我该怎么办? (我试过在resettest()处输入typedatapower参数,结果是一样的。)

问题2.If我想在下面的模型上做同样的事情

=0.5+0.5(−1)−0.5(−2)+0.1(−1)^2+_

这是一个ar(2)模型加上0.1_(−1)^2,如何拟合这个非线性模型(用R,谢谢!)?

应该赢得更多声誉...不能 post 图片低于 10 :(

问题是 resettest 的第一个参数是

formula - a symbolic description for the model to be tested (or a fitted "lm" object).

因此,传递 Arima 对象是行不通的。相反,我们可以手动定义滞后变量并提供一个 lm 对象或仅提供公式:

la1 <- Hmisc::Lag(a, 1)
la2 <- Hmisc::Lag(a, 2)
resettest(a ~ la1 + la2)
#
#   RESET test
#
# data:  a ~ la1 + la2
# RESET = 0.10343, df1 = 2, df2 = 993, p-value = 0.9018

现在你的第二个模型在变量上是非线性的,但在参数上是线性的,所以同样的估计方法仍然适用。 (我假设真正的 DGP 保持不变,而您只是想测试一个新规范。)特别是,

resettest(a ~ la1 + la2 + I(la2^2))
#
#   RESET test
#
# data:  a ~ la1 + la2 + I(la2^2)
# RESET = 0.089211, df1 = 2, df2 = 992, p-value = 0.9147