2016-07-09 21 views
0

トレーニングデータとテストデータがあり、forecastパッケージにtbatsを使用してモデルを適合させました。実際の観測でフィット値と予測値をプロットする方法

demand.train<-demand[1:94920,] 
demand.train.ts<-msts(demand.train$Demand,seasonal.period=c(48,7*48,91.25*48,365*48),start=2011) 
demand.train.model<-tbats(demand.train.ts) 
fc1.week<-forecast(demand.train.model,h=48*7) 
plot(fc1.week) 

私は疑問に思って:

  1. どのように同じプロットに当てはめ値と真の観測をプロットしますか?
  2. 予測値とその信頼区間をプロットするにはどうすればよいですか? (plotでも可能ですが、私の時系列は大きすぎます、予測値はプロットの最後ですので、観察するのは難しいです。以前のすべての時系列を含まずに予測値とCIだけを求めてください)
  3. 2番目のプロットにテストデータを追加する方法。

ありがとう!

+0

'matplot'関数を使用してください – user2100721

答えて

0

現在、私は詳細を記述する時間がありません。

RPubで、この記事を見て、あなたが必要なものを見つけることができます:

まず者が自由にいくつかをつかむしましょう:

https://rpubs.com/RatherBit/102453

1

は、ここでは考慮する必要があります2つの方法があります信頼区間ラインとして、機能をプロット内で使用可能なデータ

library(ggplot2) 
my_data <- mtcars 

ショー予測

plot_internal <- ggplot(my_data)+ 
    aes(x = wt, y = mpg)+ 
    # raw data 
    geom_point()+ 
    # LM 
    geom_smooth(method = "lm") 
plot_internal 

enter image description here

私はあなたが実際に明示的なモデルに基づいて予測を表示する方法を知りたいと思われます。これを行う方法は次のとおりです。

my_model <- lm(mpg ~ wt, data=my_data) 

# add the fitted values right into the data frame 
my_data$fitted <- fitted(my_model) 

次に、実際の値とフィッティングされた値を別々のレイヤーとしてプロットします。

plot_external <- ggplot(my_data)+ 
    aes(x = wt)+ 
    # raw data 
    geom_point(aes(y = mpg))+ 
    # fitted values 
    geom_point(aes(y=fitted), color = "purple") 
plot_external 

enter image description here

特別ソース:実数とフィット値

plot_with_residual_arrows <- ggplot(my_data)+ 
    aes(x = wt)+ 
    # raw data 
    geom_point(aes(y = mpg))+ 
    # fitted values 
    geom_point(aes(y=fitted), color = "purple")+ 
    # plot arrows from predicted to real values 
    geom_segment(aes(xend = wt, y = fitted, yend = mpg), 
       arrow = arrow(length = unit(0.4, "line")), 
       color="red") 
plot_with_residual_arrows 

enter image description here

サイドノートを接続描画矢印:これらの場合において、実部と嵌合指定する時々凡例値はいいです。 SOに関する他にもさまざまな質問がありますが、それはデータを溶かすか、明示的な凡例を設定するという単純な問題です。

+0

ありがとうございます。私はggplotの新機能ですから、コードを静かに理解してはいけません。 xとyは同じデータセットにあるべきですか?私の場合、xとyは、複数の季節的な時系列オブジェクトです、それは重要ですか?それはエラーを表示します: 'タイプmsts/tsのオブジェクトの縮尺を自動的に選択する方法を知らない。デフォルトは連続です。 – Jeannie

+0

ggplot2を使用する場合は、両方とも同じdata.frameの列である必要があります。私はmsts/tsオブジェクトが何であるか分かりません。誰かがベースRを使ってプロットするためのコード例をいくつか提供できると確信していますが、ggplot2はあなたが検討したいかもしれない非常に素晴らしい機能をいくつか提供しています。 – Matt74