10

私はRを使用しています。15の時点で25の変数があり、各時点の変数ごとに3つ以上の複製があります。私はこれをmeltに編集しましたdata.frame。これは、(とりわけ)ggplotのfacet_wrap()コマンドを使用して楽しくプロットできます。私の溶けたデータフレームはlis;と呼ばれます。これがその頭と尾ですので、データのアイデアを得ることができます:

> head(lis)
  time variable    value
1   10     SELL 8.170468
2   10     SELL 8.215892
3   10     SELL 8.214246
4   15     SELL 8.910654
5   15     SELL 7.928537
6   15     SELL 8.777784
> tail(lis)
    time variable    value
145    1     GAS5 10.92248
146    1     GAS5 11.37983
147    1     GAS5 10.95310
148    1     GAS5 11.60476
149    1     GAS5 11.69092
150    1     GAS5 11.70777

次のggplot2コマンドを使用して、近似スプラインと95%信頼区間とともに、すべての時系列の美しいプロットを取得できます。

p <- ggplot(lis, aes(x=time, y=value)) + facet_wrap(~variable)
p <- p + geom_point() + stat_smooth(method = "lm", formula = y ~ ns(x,3))

問題は、スムーズが私の好みに合わないことです-95%の信頼区間はかなり離れています。ガウス過程(GP)を使用して、時系列の共分散のより良い回帰と推定を取得したいと思います。

私は次のようなものを使用してGPを適合させることができます

library(tgp) 
out <- bgp(X, Y, XX = seq(0, 200, length = 100))

これには時間がかかりX、観察Yし、の各ポイントで予測を行いますXX。オブジェクトoutには、から取得する95%の信頼区間の代わりに使用できる共分散行列など、これらの予測に関する多くのものが含まれていますns()

問題は、この関数をラップして。とインターフェイスさせる方法ではないことですggplot2::stat_smooth()。進め方に関するアイデアやアドバイスをいただければ幸いです。

4

2 に答える 2

5

bgp関数をモデリングするための標準のRスタイルに準拠していないようです。これは、内部では使用できずgeom_smooth、ggplot2呼び出しの外部でモデルを適合させる必要があることを意味します。また、パッケージの作成者に電子メールを送信して、tgpR標準に従うように勧めることもできます。

于 2010-06-05T01:01:17.553 に答える
-2

Stat_smoothにはy、 http: //had.co.nz/ggplot2/stat_smooth.htmlに記載されているように、カスタムスムーザーで使用できる美学がありyminます。カスタムスムーザーからの予測とCIを使用してデータフレームを作成し、それを(新しいデータ引数の指定)で直接使用します。あなたは使うことができるかもしれませんが、私はそれを試していません。ymaxstat_smoothstat_smooth(method="tgp::bgp",XX=seq(0,200,length=100))

于 2010-06-05T00:28:15.987 に答える