#程序
AR1_phi=-0.2
n=50;
set.seed(123456)
for(i in 1:10) #重复10遍
{
n0=1000 #这1000个之前的是要删掉的,我们要的是后面n=50数据
n1=n0+n
z=rnorm(n1,mean=0,sd=1) #生成1050个服从标准正态的误差z,但我们只要从1001到1050的后面50个就是下面的zt
x=filter(z,filter=phi,"recursive") #生成AR(1)序列x(x里有1050个数,但我们只要从1000到1050的后面51个就是下面的xt)
zt=z[(n0+1):n1]
xt=x[n0:n1]
b=ar(xt, order.max=1,AIC=F,method= 'yw') #再用ar函数识别刚才生成的xt
a=b[[2]] #a 使用Y-W方法估计真实的ph(i=-0.2)的估计量
print(a)
}
#结果
[1] -0.5441331
[1] -0.2585425
[1] -0.3503617
[1] -0.2825224
numeric(0)
[1] -0.4107991
[1] -0.3618471
[1] -0.2454404
numeric(0)
[1] -0.2150401
#为什么会出现两个numeric(0)?求大神,我要崩溃了。