多項式回帰から信頼帯を理解する


14

以下のグラフに表示される結果を理解しようとしています。通常、Excelを使用して線形回帰線を取得する傾向がありますが、以下の場合はRを使用しており、コマンドで多項式回帰を取得します:

ggplot(visual1, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth()

だから私の質問はこれに要約されます:

  1. 青い回帰線の周りの灰色の領域(矢印#1)は何ですか?これは多項式回帰の標準偏差ですか?

  2. 灰色の領域の外側(矢印#2)が「外れ値」であり、灰色の領域の内側(矢印#3)が標準偏差内にあると言えますか?

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

回答:


14

灰色の帯は、回帰直線の信頼帯です。私はggplot2に十分に精通していないので、それが1 SEの信頼帯か95%の信頼帯かを確実に知ることはできませんが、前者であると信じています編集:明らかに95%CI)。信頼帯は、回帰直線に関する不確実性の表現を提供します。ある意味では、真の回帰直線はそのバンドの上部と同じ高さ、下部と同じくらい低い、またはバンド内で異なってウィグリングしていると考えることができます。(この説明は直感的なものであり、技術的に正しいものではありませんが、完全に正しい説明はほとんどの人にとって難しいことです。)

信頼ラインを使用して、回帰直線を理解/検討するのに役立ててください。生のデータポイントについて考えるためにそれを使うべきではありません。回帰直線は、Xの各ポイントでのの平均を表すことに注意してください(これをより完全に理解する必要がある場合は、ここでの答えを読むのに役立つ場合があります:条件付きガウス分布の背後にある直感とは?)。一方、観測されたすべてのデータポイントが条件付き平均と等しくなることは期待できません。つまり、信頼ポイントを使用して、データポイントが外れ値かどうかを評価しないでください。 Yバツ


編集:このメモは主な質問の周辺にありますが、OPのポイントを明確にすることを目指しています。

多項式回帰は、得られるものが直線に見えなくても、非線形回帰ではありません。「線形」という用語は、数学的なコンテキストで非常に具体的な意味を持ちます。具体的には、推定するパラメーター(ベータ)がすべて係数であることを意味します。多項式回帰は、共変量がX 2X 3であることを意味しますバツバツ2バツ3などであることを。つまり、それらは互いに非線形関係にありますが、ベータはまだ係数であり、したがって線形モデルです。たとえば、ベータが指数であれば、非線形モデルになります。

バツバツ2バツ2バツ1バツ2バツバツ Y平面です。それにもかかわらず、適切なスペースでは、線は実際には何らかの意味で「まっすぐ」です。


Y=β0+β1バツ+ε
lnπY1πY=β0+β1バツ
πY=expβ0+β1バツ1+expβ0+β1バツ
βββロジットモデルとプロビットモデルの違い

+1ドキュメントの例から、自信がかなり高いと思われます。おそらく95%です。
whuber

@gungは詳細な回答をありがとう(チェックも受けました!)。私はあなたの最初の声明を読みましたが、少し混乱しています。それについて詳しく説明してください。結果の線が直線ではない場合(y = mx + b)、何が直線になりますか?答えてくれてありがとう。
adhg 14年

docs.ggplot2.org/0.9.3.1/stat_smooth.htmlのドキュメントは、回帰曲線の95%の信頼帯であると断言しています。
whuber

2
ここでは、多項式回帰ではなく、より滑らかなデフォルトのレスを使用していると思いますか?
xan 14年

@adhg、私はどこかで線形対非線形をカバーしたと思ったが、それを見つけることができなかった。そこで、ここに追加の資料を追加しました。HTH
グン-モニカの復職

11

既に存在する回答に追加するために、バンドは平均の信頼区間を表しますが、質問から明らかに予測区間を探しています。予測間隔は、1つの新しいポイントを描画した場合、そのポイントは理論的には時間のX%の範囲(Xのレベルを設定できる)に含まれる範囲です。

library(ggplot2)
set.seed(5)
x <- rnorm(100)
y <- 0.5*x + rt(100,1)
MyD <- data.frame(cbind(x,y))

最初の質問で示したのと同じタイプのプロットを、平滑化されたレス回帰線の平均付近の信頼区間で生成できます(デフォルトは95%の信頼区間です)。

ConfiMean <- ggplot(data = MyD, aes(x,y)) + geom_point() + geom_smooth()
ConfiMean

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

予測間隔の迅速で汚い例として、ここでは、平滑化スプラインを使用した線形回帰を使用して予測間隔を生成します(したがって、必ずしも直線ではありません)。サンプルデータを使用すると、100ポイントの場合、範囲外にあるのは4ポイントのみです(予測関数で90%の間隔を指定しました)。

#Now getting prediction intervals from lm using smoothing splines
library(splines)
MyMod <- lm(y ~ ns(x,4), MyD)
MyPreds <- data.frame(predict(MyMod, interval="predict", level = 0.90))
PredInt <- ggplot(data = MyD, aes(x,y)) + geom_point() + 
           geom_ribbon(data=MyPreds, aes(x=fit,ymin=lwr, ymax=upr), alpha=0.5)
PredInt

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

さらにいくつかのメモ。私はあなたが2007年にいつか以来、定期的なシリーズを持っているので、あなたは時系列予測手法を検討する必要があることをラディスラフに同意し、それはあなたがハード見れば季節は(点を接続すると、それがより明確になるだろう)があり、あなたのプロットから明らかです。このために、季節のウィンドウを選択できる予測パッケージのpredict.stl関数をチェックアウトすることをお勧めします。この関数は、Loessを使用して季節性と傾向の堅牢な分解を提供します。データにはいくつかの顕著なスパイクがあるため、堅牢な方法に言及します。

より一般的には、非時系列データについては、時折異常値を持つデータがある場合、他の堅牢な方法を検討します。Loessを直接使用して予測間隔を生成する方法はわかりませんが、(予測間隔がどの程度極端である必要があるかに応じて)分位点回帰を検討することができます。それ以外の場合、潜在的に非線形にしたいだけの場合は、スプラインを考慮して、関数がxにわたって変化することを許可できます。


4

さて、青い線は滑らかな局所回帰です。spanパラメーター(0から1)によって、線のウィグリネスを制御できます。しかし、あなたの例は「時系列」ですので、滑らかな曲線にのみ当てはめるよりも適切な分析方法を探してみてください(可能性のある傾向を明らかにするためだけに役立つはずです)。

ggplot2(および以下のコメントの本)のドキュメントによると:stat_smoothは、灰色で表示されたスムーズの信頼区間です。信頼区間をオフにする場合は、se = FALSEを使用します。


1
(1)あなたの参考文献には、灰色の領域が点ごとの信頼区間であると主張するところがありません。例から、グレーの領域が曲線の信頼区間であることは明らかです。(2)灰色の領域を超えるポイントの大部分を「外れ値」として合理的に宣言する人はいません。それらが多すぎます。
whuber

(1)私の間違い、ここに「点ごとの信頼区間」に関する本を追加します:Wickham H(2009)ggplot2 Elegant Graphics for Data Analysis。メディア212。(14ページ)。(2)同意します。
ラディスラフナオ14年

参照のいずれかに、デフォルトの信頼レベルの設定が記載されていますか?
whuber

いいえ、デフォルト設定に関するリファレンスは見つかりません。
ラディスラフナオ14年

参照の最初のページでデフォルトを見つけました:「(デフォルトで0.95)。」つまり、このスムーザーには重大なバグがあるか、参照の解釈が間違っているということです。通常、データポイントの大部分はグレー領域を超えており、コードが正しいと仮定すると、グレー領域信頼領域である必要があります予測(適合曲線)であり、ポイントの信頼領域ではありません。
whuber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.