時系列プロット
どんなデータ分析でも、最初の一歩はデータを可視化することです。グラフにすることで、パターン、特異な観測値、時間変化、変数間の関係など、さまざまな特徴が見えてきます。どの種類のデータかによって適切な予測手法が決まるのと同様に、適切なグラフの種類も決まります。
autoplot() 関数を使うと、データの時系列プロットを作成できます。ファセット(データの異なる部分集合を表示する複数パネル)あり・なしのどちらでも描画可能です。
> autoplot(usnim_2002, facets = FALSE)
このコースで扱う多くの関数は、ブール引数を受け取ります。T と TRUE はどちらも「真」、F と FALSE はどちらも「偽」を表します。ただし、T と F はコード中で上書きできてしまうため、このコースの以降ではインジケーターの設定には TRUE と FALSE のみを使用するようにしてください。
この演習では、さらに which.max() と frequency() の2つの関数も使います。
which.max() は最大値が現れる最小のインデックスを特定できます。
> x <- c(4, 5, 5)
> which.max(x)
[1] 2
単位時間あたりの観測数を知るには frequency() を使います。前の演習で登場した usnim_2002 を思い出してください。
> frequency(usnim_2002)
[1] 4
このコースでは forecast と ggplot2 パッケージを使用するため、すでにワークスペースに読み込まれています。前の演習の myts に加えて、次の3つの系列(いずれも forecast パッケージで利用可能)も用意されています。
gold: 米ドル建ての金価格woolyrnq: オーストラリアの毛糸生産に関するデータgas: オーストラリアのガス生産量
この演習はコースの一部です
Rで学ぶ予測入門
演習の手順
autoplot()を使って、保存してあるmytsをファセットありでプロットします。- 適切な引数を
FALSEに設定して、同じデータをファセットなしでプロットします。何が起きますか? gold、woolyrnq、gasの各時系列を別々のプロットで描画します。which.max()を使って、goldシリーズの外れ値を特定します。どの観測でしたか?- 各シリーズに
frequency()関数を適用して、単位時間あたりの観測数を確認します。たとえば週次データなら 52 が返ります。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Plot the data with facetting
autoplot(___, facets = ___)
# Plot the data without facetting
___
# Plot the three series
autoplot(___)
___
___
# Find the outlier in the gold series
goldoutlier <- ___(___)
# Look at the seasonal frequencies of the three series
frequency(___)
___
___