在OLS

2015-04-21 33 views
2

我有一個簡單的迴歸創建具有一階自迴歸過程X:YT =β1+β2xi+ EI,其中n = 27,和 「×」 的AR(1):在OLS

XI = C +其中ηi〜N(0,1),x0〜N(c /(1-∅),1 /(1-∅^ 2),c = 2,∅= 0.6

我需要創建的「X」,爲了這個,我已經設置好一切,包括「X0」,但我堅持:

phi <- 0.6 
c <- 2 
ni <- rnorm(27) 
x0 <- rnorm(1,(c/(1-phi)),(1/(1-(phi)^2))) 

隨着for我不能讓它工作:

xa<- vector(mode="numeric",length=0) 
x<- rep(0,27) 
for(i in 1:27){ 
    w<-c+phi*x[i-1]+ni[i] 
    xa <- c(xa,w) 
} 

我應該如何創建「x」?

回答

0

好,我設法拿出一個解決方案:

後集

phi <- 0.6 
c <- 2 
e <- as.vector(rnorm(27)) 
ni<- as.vector(rnorm(27)) 
x0 <- rnorm(1,(c/(1-phi)),(1/(1-(phi)^2))) 

我們需要做一個for這樣的:

x<- rep(0,27) 
x[1]<- c+phi*x0+ni[1] 
for(i in 2:27){ 
    x[i]<-c+phi*x[i-1]+ni[i] 
} 

,然後它的作品!!!!

1

它看起來像你計算的x [i-1]不用於計算x [i]。如果我理解你的AR模型,你可以嘗試

x <- rep(0,27) 
x[1] <- x0 
for(i in 2:27){ 
    x[i] <-c + phi*x[i-1] + ni[i] 
} 

,或者使用其生成R功能更普遍的AR模擬

mu <- c/(1-phi) 
x <- arima.sim(model=list(ar=c(phi,0), sd=1), n=27) + mu 

UPDATE

讓X [1]包含x0後的第一個計算值,請嘗試

x <- rep(0,28) 
x[1] <- x0 
for(i in 2:28){ 
    x[i] <-c + phi*x[i-1] + ni[i-1] 
} 
# to change indexing so x[1] is not x0 but is first computed value 
for(i in 1:27) { x[i] <- x[i+1] } 
x <- x[-28] 
+0

兩者都與手卷結果不匹配..當我們做c + phi * x0 + ni [1]與x [1]不同時,它們必須是相同的東西...... –