-1

私は 30 万を超える要素を持つ大きなデータ セットに取り組んでおり、回帰分析を実行して、予測変数 Distance を使用して Rate というパラメーターを推定しようとしています。回帰式があります。ここで、信頼区間と予測区間を取得したいと思います。次のコマンドで、係数の信頼区間を簡単に取得できます。

> confint(W1500.LR1, level = 0.95)
              2.5 %      97.5 %
(Intercept) 666.2817393 668.0216072
Distance      0.3934499   0.3946572  

これにより、係数のCIの上限と下限が得られます。ここで、予測間隔の同じ上限と下限を取得したいと考えています。これまでに学んだことは、次のコードを使用して距離の特定の値 (200、500 など) の予測間隔を取得できることだけです。

predict(W1500.LR1, newdata, interval="predict")  

300K 以上の異なる距離値があり、それぞれに対してこのコードを実行する必要があるため、これは役に立ちません。上で示したconfintコマンドのような予測間隔を取得する簡単な方法はありますか?

4

1 に答える 1

12

私自身のデータを作成する必要がありましたが、ここに行きます

x = rnorm(300000)
y = jitter(3*x,1000)

fit = lm(y~x)

#Prediction intervals
pred.int =  predict(fit,interval="prediction")

#Confidence intervals
conf.int =  predict(fit,interval="confidence")

fitted.values = pred.int[,1]

pred.lower = pred.int[,2]
pred.upper = pred.int[,3]

plot(x[1:1000],y[1:1000])
lines(x[1:1000],fitted.values[1:1000],col="red",lwd=2)
lines(x[1:1000],pred.lower[1:1000],lwd=2,col="blue")
lines(x[1:1000],pred.upper[1:1000],lwd=2,col="blue")

ここに画像の説明を入力してください

ご覧のとおり、予測は新しいデータ値を予測するためのものであり、ベータ係数の間隔を構築するためのものではありません。したがって、実際に必要な信頼区間は、conf.intから同じ方法で取得されます。

于 2013-03-04T21:54:36.407 に答える