回答:
灰色の帯は、回帰直線の信頼帯です。私はggplot2に十分に精通していないので、それが1 SEの信頼帯か95%の信頼帯かを確実に知ることはできませんが、前者であると信じています(編集:明らかに95%CI)。信頼帯は、回帰直線に関する不確実性の表現を提供します。ある意味では、真の回帰直線はそのバンドの上部と同じ高さ、下部と同じくらい低い、またはバンド内で異なってウィグリングしていると考えることができます。(この説明は直感的なものであり、技術的に正しいものではありませんが、完全に正しい説明はほとんどの人にとって難しいことです。)
信頼ラインを使用して、回帰直線を理解/検討するのに役立ててください。生のデータポイントについて考えるためにそれを使うべきではありません。回帰直線は、Xの各ポイントでのの平均を表すことに注意してください(これをより完全に理解する必要がある場合は、ここでの答えを読むのに役立つ場合があります:条件付きガウス分布の背後にある直感とは?)。一方、観測されたすべてのデータポイントが条件付き平均と等しくなることは期待できません。つまり、信頼ポイントを使用して、データポイントが外れ値かどうかを評価しないでください。
(編集:このメモは主な質問の周辺にありますが、OPのポイントを明確にすることを目指しています。)
多項式回帰は、得られるものが直線に見えなくても、非線形回帰ではありません。「線形」という用語は、数学的なコンテキストで非常に具体的な意味を持ちます。具体的には、推定するパラメーター(ベータ)がすべて係数であることを意味します。多項式回帰は、共変量が、X 2、X 3であることを意味しますなどであることを。つまり、それらは互いに非線形関係にありますが、ベータはまだ係数であり、したがって線形モデルです。たとえば、ベータが指数であれば、非線形モデルになります。
平面です。それにもかかわらず、適切なスペースでは、線は実際には何らかの意味で「まっすぐ」です。
既に存在する回答に追加するために、バンドは平均の信頼区間を表しますが、質問から明らかに予測区間を探しています。予測間隔は、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にわたって変化することを許可できます。
さて、青い線は滑らかな局所回帰です。span
パラメーター(0から1)によって、線のウィグリネスを制御できます。しかし、あなたの例は「時系列」ですので、滑らかな曲線にのみ当てはめるよりも適切な分析方法を探してみてください(可能性のある傾向を明らかにするためだけに役立つはずです)。
ggplot2
(および以下のコメントの本)のドキュメントによると:stat_smoothは、灰色で表示されたスムーズの信頼区間です。信頼区間をオフにする場合は、se = FALSEを使用します。