Berechnungsintervall berechnen

9

Ich habe die folgenden Daten hier . Ich versuche, das 95% -Konfidenzintervall für die mittlere Reinheit zu berechnen, wenn der Kohlenwasserstoffprozentsatz 1,0 beträgt. In R gebe ich Folgendes ein.

> predict(purity.lm, newdata=list(hydro=1.0), interval="confidence", level=.95)
   fit      lwr      upr
1 89.66431 87.51017 91.81845

Wie kann ich dieses Ergebnis jedoch selbst ableiten? Ich habe versucht, die folgende Gleichung zu verwenden.

snew=s2(1+1N.+(xnew- -x¯)2(xich- -x¯)2)

Und ich gebe folgendes in R ein.

> SSE_line = sum((purity - (77.863 + 11.801*hydro))^2)
> MSE = SSE_line/18
> t.quantiles <- qt(c(.025, .975), 18)
> prediction = B0 + B1*1
> SE_predict = sqrt(MSE)*sqrt(1+1/20+(mean(hydro)-1)^2/sum((hydro - mean(hydro))^2))
> prediction + SE_predict*t.quantiles
[1] 81.80716 97.52146

Meine Ergebnisse unterscheiden sich von der Vorhersagefunktion von R. Was missverstehe ich über Vorhersageintervalle?

idealistikz
quelle
Wie berechnen Sie die MSE in Ihrem Code?
Ich habe die Berechnung dem Beitrag hinzugefügt.
idealistikz
1
wie MMJ vorgeschlagen hat, sollten Sie versuchenpredict(purity.lm, newdata=list(hydro=1.0), interval="prediction", level=.95)
Vinux

Antworten:

16

Ihr predict.lmCode berechnet Konfidenzintervalle für die angepassten Werte. Ihre Handberechnung berechnet Vorhersageintervalle für neue Daten. Wenn Sie das gleiche Ergebnis erzielen möchten, predict.lmdas Sie aus der Handberechnung erhalten haben, wechseln Sie interval="confidence"zu interval="prediction"

MMJ
quelle
1

Gute Antwort von dpel. Ich würde hinzufügen, dass der Unterschied zwischen Konfidenzintervall und Vorhersageintervall wie folgt angegeben werden kann:

snew=s2(1N.+(xnew- -x¯)2(xich- -x¯)2)

snew=s2(1+1N.+(xnew- -x¯)2(xich- -x¯)2)

Quelle Siehe Folie Seite 5/17 und 11/17

lklklk
quelle