私はRが初めてで、常にeビューを使用してきましたが、回帰を行う必要があります
Xt が静止しており、Yt が静止していないので、差を付ける必要があります
yt=Yt-Y(t-1)
回帰は
yt = a + bXt
Rの予測を行い、差ではなく「実際の」値を取得するにはどうすればよいですか?
e-viewsでは書くのに十分ですd(Yt)
が、Rでは不可能です
私はRが初めてで、常にeビューを使用してきましたが、回帰を行う必要があります
Xt が静止しており、Yt が静止していないので、差を付ける必要があります
yt=Yt-Y(t-1)
回帰は
yt = a + bXt
Rの予測を行い、差ではなく「実際の」値を取得するにはどうすればよいですか?
e-viewsでは書くのに十分ですd(Yt)
が、Rでは不可能です
あなたが探しているのは、 (ほぼ)cumsum
の逆演算であるだと思います。diff
次のように、その違いからベクトルを回復できます。
> z<-sample(20)
> dz<-diff(z)
> z0<-cumsum(c(z[1],dz))
> all(z==z0)
[1] TRUE
あなたの場合、次のようになります。
dY<-diff(Y)
dYhat<-lm(dY ~ X[-1])$fitted
Yhat<-cumsum(c(Y[1],dYhat))
まず、X が y に影響すると考える場合は、両方の変数を区別する必要があります。それらの 1 つだけを差分すると、X がy 自体ではなく yの変化に影響を与えるモデルになります。
関数を使用してこれを行うことができますarima()
(両方の変数を区別します):
fit <- arima(y, xreg=X, order=c(0,1,0))
次に、無差別スケールでの予測が次を使用して取得されます。
fcast <- predict(fit, n.ahead=10, newxreg=futureX)
futureX
X の次の 10 個の値が含まれます。
d(y) に対する X の影響を本当にモデル化したい場合は、新しい変数を作成します。
sumX <- cumsum(X)
フィットの代わりにそれを使用しますX
(同様に変更しfutureX
ます)。