Arima 无法估计 R 中的简单 AR(1)
Arima fails to estimate a simple AR(1) in R
在R中模拟一个AR(1)如下:
# True parameters
b0 <- 1 # intercept
b1 <- 0.9 # coefficient
trueMean <- b0 / (1-b1) # equals to 10
set.seed(8236)
capT <- 1000
eps <- rnorm(capT)
y <- rep(NA,capT)
y[1] <- b0 + b1*trueMean + eps[1] # Initialize the series
for(t in 2:capT) y[t] = b0 + b1*y[t-1] + eps[t]
reg1 <- ar(y)
reg2 <- arima(y, order=c(1,0,0))
reg3 <- lm( y[2:capT] ~y[1:(capT-1)] )
reg1 和 reg3 的估计值都接近真实值。但是,使用 arima 函数的 reg2 估计截距接近 10 的真实均值。关于为什么会发生这种情况的任何线索?
在本页得到答案http://www.stat.pitt.edu/stoffer/tsa2/Rissues.htm
似乎 arima() 报告了平均值,但称之为拦截!
在R中模拟一个AR(1)如下:
# True parameters
b0 <- 1 # intercept
b1 <- 0.9 # coefficient
trueMean <- b0 / (1-b1) # equals to 10
set.seed(8236)
capT <- 1000
eps <- rnorm(capT)
y <- rep(NA,capT)
y[1] <- b0 + b1*trueMean + eps[1] # Initialize the series
for(t in 2:capT) y[t] = b0 + b1*y[t-1] + eps[t]
reg1 <- ar(y)
reg2 <- arima(y, order=c(1,0,0))
reg3 <- lm( y[2:capT] ~y[1:(capT-1)] )
reg1 和 reg3 的估计值都接近真实值。但是,使用 arima 函数的 reg2 估计截距接近 10 的真实均值。关于为什么会发生这种情况的任何线索?
在本页得到答案http://www.stat.pitt.edu/stoffer/tsa2/Rissues.htm 似乎 arima() 报告了平均值,但称之为拦截!