Ich möchte eine n Schritt voraus Prognose mit einem AR (4) -Modell mit einer differenzierten Zeitreihe machen.For Schleife AR Modell
Das Modell selbst:
X(t)-X(t-1)=a(1)(X(t-1)-X(t-2))+...+a(4)(X(t-4)-X(t-5))
=> X(t)=X(t-1)+a(1)(X(t-1)-X(t-2))+...+a(4)(X(t-4)-X(t-5))
Erste Prognose:
X(t+1)-X(t)=a(1)(X(t)-X(t-1))+...+a(4)(X(t-3)-X(t-4))
=> X(t+1)=X(t)+a(1)(X(t)-X(t-1))+...+a(4)(X(t-3)-X(t-4))
Zweite Prognose:
X(t+2)-X(t+1)=a(1)(X(t+1)-X(t))+...+a(4)(X(t-2)-X(t-3))
=> X(t+2)=X(t+1)+a(1)(X(t+1)-X(t))+...+a(4)(X(t-2)-X(t-3))
Ich habe versucht, es bereits mit diesem Code:
N<-50
arkoef<-0
ar<-0
ARforecast<-numeric(0)
arkoef<-c(closingkursu[2518],closingkursu[2517],closingkursu[2516],closingkursu[2515],closingkursu[2514])
ar<-arkoef
for(i in 1:N){
ARforecast<-c(ARforecast,arkoef[1]+arfit$coef[1]*(arkoef[1]-arkoef[2])+arfit$coef[2]*(arkoef[2]-arkoef[3])+arfit$coef[3]*(arkoef[3]-arkoef[4])+arfit$coef[4]*(arkoef[4]-arkoef[5]))
ar = c(tail(ARforecast, 1), head(ar, -1))}
Die Ausgabe für diesen Code ist:
ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1
10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656
ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1
10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656
ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1 ar1
10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656 10.19656
Die erste Prognose scheint richtig, aber die Schleife ist nicht arbeiten.
Die arfit $ Koef [1] $ Koef arfit [4] sind feste Koeffizienten und Indexieren mit ich werde sie ändern ich nehme an. Aber der Code gibt mir 50 Warnungen und NA's als Wert – user2968163