時系列分解
時系列データを可視化するときは、次のような特徴的なパターンに注目します。
- seasonality(季節性): データに明確な周期的パターンはありますか?
- trend(トレンド): データは一貫して上昇または下降する傾向にありますか?
- noise(ノイズ): 外れ値や、他のデータと整合しない欠損値はありますか?
時系列分解と呼ばれる手法を使うと、時系列データの構造を自動で抽出・定量化できます。statsmodels ライブラリには、時系列分解をそのまま実行できる seasonal_decompose() 関数が用意されています。
decomposition = sm.tsa.seasonal_decompose(time_series)
分解オブジェクトの seasonal 属性にアクセスすると、たとえば季節性コンポーネントのように、特定の成分を取り出せます。
この演習はコースの一部です
Pythonで学ぶ時系列データの可視化
演習の手順
statsmodels.apiをエイリアスsmでインポートします。co2_levelsデータフレームに対して時系列分解を実行し、変数decompositionに代入します。- 時系列分解の季節性コンポーネントを出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import statsmodels.api as sm
import ____ as ____
# Perform time series decompositon
decomposition = sm.tsa.____(____)
# Print the seasonality component
print(____)