R和EViews AR(1)估算值的差异


10

主要问题是:我无法使用EViews和R获得类似的参数估计。

由于我自己不了解的原因,我需要使用EViews估算某些数据的参数。这是通过选择NLS(非线性最小二乘)选项并使用以下公式来完成的:indep_var c dep_var ar(1)

的EViews 权利要求:它们估计线性AR(1)处理,诸如 其中错误被定义为: 通过使用等效等式(带有一些代数替换): 此外,该线程在EViews论坛上,建议他们的NLS估计值是由Marquardt算法生成的。

ÿŤ=α+βXŤ+üŤ
üŤ
ut=ρut1+ε
Yt=(1-ρα+ρÿŤ-1个+βXŤ-ρβXŤ-1个+εŤ

现在,用于估计AR(1)过程的R函数为arima。但是,存在两个问题:

  1. 该估计是最大似然估计;
  2. 截距估计值实际上不是截距估计值(根据RH Shumway和DS Stoffer)。

因此,我转向nlsLM了minpack.lm包中的函数。此函数使用Marquardt算法来实现非线性最小二乘估计,该估计应产生与EViews实现相同的结果(至少是非常相似的结果)。

现在的代码。我有一个数据帧(data),其中包含一个自变量和一个因变量,例如由以下代码生成的变量:

data <- data.frame(independent = abs(rnorm(48)), dependent = abs(rnorm(48)))

以估计方程的EViews权利要求参数来估计(3 对这个职位之一),我使用下面的命令:

library(minpack.lm)
result <-
nlsLM(dependentB ~ ((1 - theta1) * theta2) + (theta1 * dependentA) +
                    (theta3 * independentB) - (theta1 * theta3 * independentA),
data = list(dependentB = data$dependent[2:48], dependentA = data$dependent[1:47],
   independentB = data$independent[2:48], independentA = data$independent[1:47]),
start = list(theta1 = -10, theta2 = -10, theta3 = -10)
)

不幸的是,输出的估算值nlsLM与EViews 的估算值并不接近。您有什么可能的原因吗?也许我的代码是错误的?

最后,我想说我个人是R用户-这就是为什么我试图在R中而不是EViews中执行此操作。我也很乐意为您提供我正在使用的数据,但这是不可能的,因为它是机密数据。


4
欢迎使用该网站@Fael。+1是一个明确的问题。我随意调整格式以使其更整洁。请确保它仍然说出您想要的内容。
gung-恢复莫妮卡

哇,你真好。非常感谢,@gung!
Fael 2012年

2
您可以始终缩放/编码数据并将其发布。形式[[y-constant1)/ constant2]的转换就可以解决问题。
IrishStat

顺便说一句:线性过程的参数可以通过OLS估算。
Germaniawerks

Answers:


1

ρβαXŤ-1个

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.