1

私はRが初めてで、常にeビューを使用してきましたが、回帰を行う必要があります

Xt が静止しており、Yt が静止していないので、差を付ける必要があります

yt=Yt-Y(t-1)

回帰は

yt = a + bXt

Rの予測を行い、差ではなく「実際の」値を取得するにはどうすればよいですか?

e-viewsでは書くのに十分ですd(Yt)が、Rでは不可能です

4

3 に答える 3

4

あなたが探しているのは、 (ほぼ)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))
于 2013-10-05T20:02:22.437 に答える
3

まず、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)

futureXX の次の 10 個の値が含まれます。

d(y) に対する X の影響を本当にモデル化したい場合は、新しい変数を作成します。

sumX <- cumsum(X)

フィットの代わりにそれを使用しますX(同様に変更しfutureXます)。

于 2013-10-06T01:08:00.560 に答える