ggplot2で回帰直線を予測または拡張する方法は?


17

Emacsの日付とバージョン番号とFirefoxのリリースという2つの時系列を含むデータフレームがあります。1つのggplot2コマンドを使用すると、ポイントを線に変換するために黄土を使用したグラフを簡単に作成できます(少しおもしろそうですが、気にしませんが)。

将来的にラインを拡張するにはどうすればよいですか?EmacsとFirefoxのバージョン番号がいつどこで交差するかを判断したいと思います。エラー範囲を表示する方法があれば、さらに良い結果が得られます。

ggplot2がラインをプロットしていることを考えると、モデルを持っている必要がありますが、ラインを延長したり、モデルを取り出してそれで何かをするように指示する方法がわかりません。

> library(ggplot2)
> programs <- read.csv("http://www.miskatonic.org/files/se-program-versions.csv")
> programs$Date <- as.Date(programs$Date, format="%B %d, %Y")
> head(programs)
  Program Version       Date
1   Emacs    24.1 2012-06-10
2   Emacs    23.4 2012-01-29
3   Emacs    23.3 2011-03-10
4   Emacs    23.2 2010-05-08
5   Emacs    23.1 2009-07-29
6   Emacs    22.3 2008-09-05
> head(subset(programs, Program == "Firefox"))
   Program Version       Date
18 Firefox      16 2012-10-09
19 Firefox      15 2012-08-28
20 Firefox      14 2012-06-26
21 Firefox      13 2012-06-15
22 Firefox      12 2012-04-24
23 Firefox      11 2012-03-13
> ggplot(programs, aes(y = Version, x = Date, colour = Program)) + geom_point() + geom_smooth(span = 0.5, fill = NA)

日付別のEmacsおよびFirefoxバージョン

(注:「ドット1」と「ドット10」は算術的に等しいため、Firefoxの初期バージョンを間違えて0.1から0.01に変更する必要がありました。Firefoxは6週間ごとにリリースされていますが、存在しませんまだ、この予測の質問に対する一般的な答えに興味があります。)

回答:


21

@Glenが言及しているように、stat_smooth外挿をサポートするメソッドを使用する必要がありますが、サポートしてloessいません。lmしかし、します。する必要があるのは、x軸のfullrangeパラメーターを使用stat_smoothしてx軸を拡張し、予測する範囲を含めることです。データはありませんが、mtcarsデータセットを使用した例を次に示します。

ggplot(mtcars,aes(x=disp,y=hp)) + geom_point() + xlim(0,700) +
stat_smooth(method="lm",fullrange=TRUE)

1
ありがとう、これは仕事をします(Firefoxの行が機能するようにいくつかのデータを除外します):ggplot(subset(programs、!(Program == "Firefox"&Version <4))、aes(y = Version、x = Date、 color = Program))+ geom_point()+ ylim(0,30)+ xlim(as.Date( "1985-01-01")、as.Date( "2015-01-01"))+ stat_smooth(method = lm、フルレンジ= TRUE)
ウィリアムデントン

3

ggplot2以外の将来の観測値を予測し、予測値をプロットする必要があります。これらの予測の信頼区間を取得することもできます。

黄土関数を見てください。データ範囲外の予測を行うかどうかはわかりませんが、いくつかの滑らかな関数は行うと思います。

ただし、通常、データ範囲外の値を予測することは賢明ではありません。私はこれらの予測をあまり信用しません。

時系列モデルを使用して予測値を調査することができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.