現在、線形モデルの信頼区間を描こうとしています。このためにpredict.lm()を使うべきであることが判明しましたが、実際に関数を理解するにはいくつかの問題があり、何が起きているのかわからなくても関数を使うのは嫌です。私は、このテーマについていくつかのハウツーを見つけましたが、対応するRコードだけで、実際の説明はありません。RのPredict.lm() - フィッティングされた値の周りの非定常予測バンドを取得する方法
## S3 method for class 'lm'
predict(object, newdata, se.fit = FALSE, scale = NULL, df = Inf,
interval = c("none", "confidence", "prediction"),
level = 0.95, type = c("response", "terms"),
terms = NULL, na.action = na.pass,
pred.var = res.var/weights, weights = 1, ...)
私はトラブルの理解をしたものを、今すぐ: これは、関数自体はある
1) newdata
An optional data frame in which to look for variables
with which to predict. If omitted, the fitted values are used.
誰もがこのためにNEWDATAを使用するようだが、私はかなり理由を理解することはできません。信頼区間を計算するために、私は明らかに、この区間があるデータ(観測数、xの平均値など)を必要とするので、それが意味するものではありません。しかし、それはどういう意味ですか?
2) interval
Type of interval calculation.大丈夫..しかし、 "どれも" 何のためですか?
3a) type
Type of prediction (response or model term).3b) terms
If type="terms", which terms (default is all terms)3A:私はそれで私のモデル内の1つの特定の変数の信頼区間を得ることができますか?もしそうなら、それでは3bは何ですか? 3aに用語を指定できれば、3bでそれをやり直すのは理にかなっていないはずです。だから私は再び間違っていると思いますが、理由を理解できません。
私はあなたが思うかもしれないと思います:なぜこれを試してみませんか?そして、私は(たとえそれがここですべてを解決しなくても)、しかし私は今、どのようにするのか分からない。私は新しいデータのためのものではないので、私はそれを使う方法を知らないし、試してみると正しい信頼区間を得られない。どういうわけか、そのデータをどのように選択するかは非常に重要ですが、わかりません!
編集:私の意図は、predict.lmの仕組みを理解することです。それが私が思うように動作するかどうか分からないということです。つまり、yハット(予測値)を計算し、インターバルのupr/lwr境界ごとに加算/減算を使用して複数のデータポイントを計算します(信頼ラインのように見えます)?それで、なぜ私は線形モデルのように新データに同じ長さを持つ必要があるのかと疑問に思う。
ドキュメントの「詳細」セクションでは、ある程度の長さの 'newdata'引数について説明します。その議論のどの部分が依然として混乱していますか? – joran
私はこれが私を混乱させていると思います: "predict.lmはフレームnewdataの回帰関数を評価することによって得られる予測値を生成します"(一般的な説明で)、 "newdataが省略された場合、予測はフィット。"新しいデータのために。なぜ私は実際の回帰でつながっていない信頼区間を取得しようとしますか?これが私がこの文章を理解する方法です、これが私を混乱させるものです。 この場合、欠損値がどのように処理されるかを説明していますが、私は最初の部分とすでに闘っています! – lisa
新しい観測値の_prediction_間隔に興味があるかもしれません。 – joran