【问题标题】:How to do the RESET test on an AR model?如何对 AR 模型进行 RESET 测试?
【发布时间】:2019-04-03 15:40:54
【问题描述】:
> 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.如果我想在下面的模型上做同样的事情

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

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

应该获得更多的声誉...不能发布低于 10 的图片 :(

【问题讨论】:

  • 赞一个 :) 现在你应该可以做到了!
  • 非常感谢兄弟!似乎这是一个不受欢迎的领域 :) 声誉方面我仍然在 8..embarrassing
  • 伙计们请!如果您只是路过并认识擅长该领域的人,请随时标记他们!非常感谢!
  • 实际上标记与此问题无关的人不会有任何效果(请参阅meta.stackexchange.com/a/43020)。

标签: r time-series non-linear-regression autoregressive-models


【解决方案1】:

问题在于resettest 的第一个参数是

公式 - 要测试的模型(或拟合的“lm”对象)的符号描述。

所以,传递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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 2013-03-15
    • 2011-10-16
    • 1970-01-01
    • 2021-11-25
    相关资源
    最近更新 更多