Rプロットパッケージggplot2には、関連する信頼帯を使用して回帰直線(または曲線)をプロットするためのstat_smoothという素晴らしい関数があります。
ただし、回帰線(または「メソッド」)のたびに、この信頼帯がどのように生成されるかを正確に把握するのは困難です。どうすればこの情報を見つけることができますか?
Rプロットパッケージggplot2には、関連する信頼帯を使用して回帰直線(または曲線)をプロットするためのstat_smoothという素晴らしい関数があります。
ただし、回帰線(または「メソッド」)のたびに、この信頼帯がどのように生成されるかを正確に把握するのは困難です。どうすればこの情報を見つけることができますか?
回答:
Detailsヘルプのセクションから
計算は(現在文書化されていない)predictdf汎用関数とそのメソッドによって実行されます。ほとんどの方法では、信頼限界は予測方法を使用して計算されます-例外はtベースの近似を使用するレスであり、glmでは通常の信頼区間がリンクスケールで構築され、応答スケールに逆変換されます。
したがって、predictdfは一般にを呼び出しstats::predict、次にpredictsmoothingメソッドの正しいメソッドを呼び出します。stat_smooth を含む他の関数も検討するのに役立ちます。
ほとんどのモデル近似関数には、モデルのpredictメソッドが関連付けられていclassます。これらは通常、標準エラーが適合されるかどうかを示すnewdataオブジェクトと引数se.fitを取ります。(詳細はをご覧ください?predict)。
se
滑らかな周囲の信頼区間を表示しますか?(デフォルトでTRUE、制御するレベルを参照
これは、適切な標準エラーを返すために、predictメソッドに直接渡されます(メソッドに依存)
fullrange
フィットはプロットの全範囲に及ぶか、データのみになります
これは、予測が評価されるnewdata値を定義しますx
level使用する信頼区間のレベル(デフォルトでは0.95)
信頼区間は(例えば、適切な臨界値を定義することができるようにする方法を予測に直接渡さpredict.lm用途qt((1 - level)/2, df)によって乗算される標準誤差のために
nより滑らかに評価するポイントの数
と組み合わせて使用して、オブジェクトの値fullrangeを定義xしnewdataます。
呼び出しの中でstat_smoothあなたを定義することができse、部分的に一致している何であるse.fit(またはse)、と定義するinterval必要があれば引数を。level信頼区間のレベルを指定します(デフォルトは0.95)。
newdataオブジェクトは、あなたの設定に応じて、処理内で定義されたfullrange長さの配列に対してnプロットまたはデータの完全な範囲内です。
あなたの場合、を使用してrlm、これはを使用しますpredict.rlm。
predict.rlm <- function (object, newdata = NULL, scale = NULL, ...)
{
## problems with using predict.lm are the scale and
## the QR decomp which has been done on down-weighted values.
object$qr <- qr(sqrt(object$weights) * object$x)
predict.lm(object, newdata = newdata, scale = object$s, ...)
}
したがってpredict.lm、qr分解とscale引数の適切なスケーリングで内部的に呼び出しています。
predictメソッドが標準的な方法で設定されている場合、コードが適切に動作することを期待します。最初のコメントで提起された問題に対処するために、回答を編集しました。