著者の詳細については、ここをクリックしてください マーリット・ウィドマン。
完全な時系列分析アプリケーションは、次の手順をカバーします。 データサイエンス 時系列データへのアクセスから、変換、モデリング、評価、展開までのサイクルを実行します。 ただし、時系列データの場合、これらのステップの特定のタスクは横断データと比較して異なります。 たとえば、断面データは、ある時点における XNUMX つのオブジェクトのスナップショットとして収集されますが、時系列データは、同じオブジェクトを一定期間にわたって観察することによって収集されます。 時系列データの規則的なパターンには特有の用語があり、時系列のモデリングに進む前に必要な前処理が決定されます。 時系列はさまざまなタイプのモデルでモデル化できますが、ARIMA モデルなどの特定の時系列モデルは、観測間の時間構造を利用します。
この記事では、時系列アプリケーションを構築する過程で最も一般的なタスクを紹介します。 最後に、Analytics Platform でサンプル アプリケーションを構築することで理論を実践します。
時系列へのアクセス
時系列には、需要予測のための毎日の売上データ、長期的な政治計画のための年間マクロ経済データ、ワークアウト セッションを分析するためのスマート ウォッチからのセンサー データなど、さまざまなソースと用途があります。 これらすべての時系列は、たとえば、粒度、規則性、クリーンさにおいて異なります。今年および今後 10 年間の我が国の GDP 値を確実に把握することはできますが、それを保証することはできません。当社のスマートウォッチのセンサーは、どのような運動や温度でも安定して動作します。 また、時系列データは一定の間隔で入手できず、病気の感染や自発的な顧客訪問などのランダムなイベント ポイントからのみ収集できる場合もあります。 ただし、これらの種類の時系列データすべてに共通しているのは、同じソースから長期間にわたって収集されるということです。
時系列の正規化とクリーニング
時系列データを取得したら、次のステップは、それを適切な粒度で等間隔に、連続的かつクリーンに配置することです。 必要なタスクは、データの元の形式と、 分析論 目的。 たとえば、ある製品の XNUMX 週間のプロモーションを計画している場合、ある製品の売上の概要を取得したい場合よりも、より詳細なデータに興味があるかもしれません。
選別
時系列は時間順に並べ替える必要があります。 データをトレーニング セットとテスト セットに分割するときは、テスト/トレーニング用にデータを上から下へ取得することにより、レコード間の時間構造を保持することを忘れないでください。 データにタイムスタンプごとに複数のレコードが含まれている場合は、タイムスタンプごとにレコードを集計する必要があります。 たとえば、XNUMX 日に複数の注文があり、その日の売上に興味がある場合は、毎日の売上を合計する必要があります。 さらに、現在データに含まれているものとは別の粒度 (たとえば、日次売上ではなく月次売上) で時系列に興味がある場合は、好みの粒度でデータをさらに集計できます。
欠損値
一部のタイムスタンプが欠落している場合は、それらを時系列に導入して等間隔にする必要があります。 場合によっては、欠落しているレコードが時系列のダイナミクスの一部であることがあります (たとえば、株式市場は金曜日に閉まり、月曜に開きます)。
欠落しているタイムスタンプをデータに導入すると、対応する値も当然欠落します。 これらの欠損値は、線形補間や移動平均値などによって補うことができます。 ただし、欠損値を代入するための最良の手法は、データ内の規則的なダイナミクスに依存することに注意してください。 たとえば、日次データの週次の季節性を検査し、ある土曜日の値が欠落している場合、おそらく最後の土曜日の値が最適な代替となります。 週末の株式市場終値の欠落のように、欠損値がランダムに欠損していない場合は、固定値 (この場合は 0) で置き換えることができます。 一方、欠損値がランダムで、かなり過去に発生したものである場合は、欠損値の後のデータを使用し、古いデータを無視できます。
不規則なパターン
急速な変動や外れ値に対処する良い方法の XNUMX つは、データを平滑化することです。 次のようないくつかのテクニックを使用できます。 移動平均 & 指数平滑化。 また、箱ひげ図のひげの外側にある値をカットすると、データが平滑化されます。 データに強い季節性があると、広範囲にわたる箱ひげ図が発生する可能性があることに留意してください。その場合は、条件付き箱ひげ図を使用して外れ値を検出することをお勧めします。
ただし、時系列が非常に不規則な現象を示している場合もあります。 このような場合、スーパーマーケット全体の売上ではなく XNUMX つの製品の売上だけを考慮するなど、時系列のサブセットを抽出したり、データをクラスタリングしたりすることで、時系列をより規則的にすることができます。
時系列の探索と変換
この時点で、時系列データは視覚的および数値的に調査するのに適した形式になっています。 さまざまなプロットと統計により、時系列における長期および短期のパターンと時間的関係が明らかになり、そのダイナミクスをより深く理解し、将来の展開を予測するために使用できます。
時系列の視覚的な探索
時系列を調査するための基本的なプロットは、時系列の可能性のある方向、規則的および不規則な変動、外れ値、ギャップ、または転換点を示す線プロット (図 3) です。 飲料の売上における年間の季節性など、時系列で規則的なパターンが観察される場合は、季節プロットで各季節サイクル (年) を個別に検査できます (図 3)。 季節プロットでは、たとえば、今年の XNUMX 月の売上が昨年よりも好調だった月かどうか、または月の売上が年々増加しているかどうかを簡単に確認できます。
夏期の売上の中央値はいくらか、毎月の売上はどのくらい、どの方向に変化するかなど、季節内で何が起こるかに興味がある場合は、条件付き箱ひげ図でこの種のダイナミクスを調べることができます(図) 3)。 時系列を調査するためのさらに別の便利なプロットは、ラグ プロットです (図 3)。 ラグ プロットは、現在の値と過去の値 (たとえば、今日の売上と XNUMX 週間前の売上) の関係を示します。
時系列の古典的な分解
古典的な分解、つまり時系列を傾向、季節性、残差に分解することは、予測の優れたベンチマークとなります。 時系列の残りの部分、残差は次のようになります。 定常、たとえば ARIMA モデルによって予測できます。 ただし、残差系列が定常でない場合は、一次差分や元の時系列の対数変換など、追加の変換が必要になる場合があることに注意してください。
まず、時系列が方向や傾向を示している場合、たとえばデータを通じて回帰モデルを当てはめたり、移動平均値を計算したりすることによって、時系列の傾向を除去できます。
第 7 に、時系列に規則的な変動 (季節性) が見られる場合、それに合わせて時系列を調整できます。 時系列の自己相関プロットで、主要な季節性が発生するラグを見つけることができます。 たとえば、ラグ XNUMX でピークが観察され、日次データがある場合、データには週次の季節性があります。 季節性は、大きなスパイクが発生するラグでデータを差分することによって調整できます。 データの第 XNUMX 季節性を調整したい場合は、調整された (差分された) 時系列に対して手順を繰り返すことで実行できます。
最後に、ARIMA モデルなどでモデル化できる状態の定常時系列に到達したら、次のように最終チェックを行うことができます。 リュングボックステスト 定常性のために。
時系列のモデリングと評価
次に、不規則なダイナミクスを含む時系列の残りの部分のモデル化に進みます。 ARIMA モデルを使用してこれを行うことができます。 機械学習 モデル、ニューラル ネットワーク、およびそれらのさまざまなバリエーション。 時系列の残りの部分は定常であるため、これらのモデルを使用してモデル化することがよくあります。 ただし、季節性 ARIMA モデルなどの一部のモデルは非定常時系列のモデル化にも機能するため、時系列の分解は必ずしも必要というわけではありません。
以下では、ユースケースに最適なものを選択できるように、これらのさまざまなモデリング手法のいくつかのプロパティとその類似点と相違点をまとめます。 複数のモデルをトレーニングしたり、それらのアンサンブルを構築したりすると便利であることも覚えておいてください。
有馬モデル
有馬 (自己回帰統合移動平均) モデルは、現在値と過去の値 (AR 部分) の間、および現在と過去の予測誤差 (MA 部分) の間の線形回帰モデルです。 モデルにゼロ以外の I 部分がある場合、モデルを定常化するためにデータが差分されます。 基本的な ARIMA モデルは、時系列が定常であり、定常時系列には長期的には予測可能なパターンがないことを前提としています。 長期予測の精度の低下は、予測の信頼区間が増加していることからわかります。 ARIMA モデルのトレーニングには、より多くのデータがあることが常に良いとは限りません。データセットが大きいと、ARIMA モデルのモデル パラメーターの推定に時間がかかるだけでなく、実際のプロセスとモデル プロセスの違いが誇張される可能性があります。
機械学習モデル
機械学習モデルは、遅延値を予測子列として使用し、ターゲット列と予測子列の間の時間構造を無視します。 機械学習モデルは、長期的なパターンやデータの転換点を特定することもできます。ただし、これらのパターンを確立するのに十分なデータがトレーニング データに提供されている必要があります。 一般に、データが示す不規則性が大きいほど、モデルのトレーニングに必要なデータが多くなります。 機械学習モデルを適用するときは、残差をモデル化することをお勧めします。 そうしないと、古典的な分解モデルよりも複雑なモデルを構築してしまう可能性がありますが、実際にはその上で新しいことは何も学習していません。
モデル選択のヒント
まず、一部の現象は予測が難しく、そのような場合には、正確に予測できないもののモデル化にリソースを投資せず、より単純なモデルを選択することが合理的であることがよくあります。
第二に、モデルのパフォーマンスだけが基準ではありません。 重要な決定がモデルの結果に基づいて行われる場合、パフォーマンスがわずかに向上することよりも、その解釈可能性の方が重要になる可能性があります。 そうは言っても、ニューラル ネットワークは、予測が若干良くても、単純な古典的な分解モデルに対しては負ける可能性があります。
第三に、説明変数をモデルに追加すると、予測精度が向上する可能性があります。 ただし、このようなモデルでは説明変数も予測する必要があり、モデルの複雑さの増加が常に精度の向上につながるとは限りません。 場合によっては、大まかな見積もりだけで決定をサポートできる場合があります。出荷量が数十、数百の単位で計算される場合、予測需要の粒度をさらに細かくする必要もありません。
モデル評価
モデルをトレーニングした後の次のステップは、モデルを評価することです。 サンプル内予測の場合、テスト セットはトレーニング セットそのものであるため、モデル プロセスはモデルのトレーニングに使用されたデータに適合します。 サンプル外予測の場合、テスト セットは時間的にトレーニング セットに続きます。
時系列モデルを評価するために推奨される誤差メトリックの XNUMX つは、平均絶対パーセント誤差 (MAPE)、実際の値のパーセントとして誤差をユニバーサルスケールで提供するためです。 ただし、真の値がゼロの場合、このメトリックは定義されず、二乗平均平方根誤差 (二乗平均平方根誤差) などの他の誤差メトリックも定義されません。RMSE)、 します。 ただし、よく推奨されるのは、使用しないことです。 R-二乗。 R 二乗メトリクスは、過去のすべての変動をモデル化するのではなく、ターゲット列の将来の系統的変動を予測することに重点が置かれているため、時系列分析のコンテキストには適合しません。
時系列の予測と再構築
もうすぐだ! 最後のステップは、将来の値を予測し、信号を再構築することです。
動的予測
長期的に正確な予測を提供できないモデルがある場合、動的展開によりサンプル外の予測精度が向上することがよくあります。 動的展開では、一度に将来の 5 点のみが予測され、この予測値によって過去のデータが更新されて次の予測が生成されます (図 XNUMX)。
トレンドと季節性の復元
最後に、予測する前に時系列を分解する場合は、予測に傾向や季節性を復元する必要があります。 データの差分によって季節性を調整する場合は、季節性が発生するラグで値を追加することによって信号の再構築を開始します。 たとえば、ラグ 7 (週ごとの季節性) で季節差分を適用した日次データ y がある場合、この季節性を復元するには、予測値に対して次の計算が必要になります。 yt+1, yt+2、... yt+h :
コラボレー tはトレーニング データの最後の時点であり、 h は予測地平線です。
XNUMX 番目の季節性を復元するには、復元された時系列に対して上記の手順を繰り返します。 傾向コンポーネントを時系列に復元したい場合は、傾向を表す回帰モデルを復元された時系列に適用します。
分析プラットフォームの完全な時系列アプリケーション
最後に、分析プラットフォームを使用してこれらの手順を実践する方法を見てみましょう。 ワークフロー 時系列の変換とモデリングへのアクセス 図 6 の (ハブで利用可能) は、時系列へのアクセスからクリーニング、視覚的な探索、分解、モデリングまでの手順を示しています。 これらのタスクの一部には、 時系列コンポーネント 時系列に固有の機能としてワークフローをカプセル化します。選択した粒度でデータを集約し、従来の分解を実行します。
この例では、 サンプル – スーパーストア 提供されたデータ タブロー。 私たちの分析では、2014 年から 2017 年までのすべての製品の注文、合計 9994 件の記録に焦点を当てています。 前処理では、0 日あたりの総売上高を計算してデータを時系列データに再整形することから始めます。 現在、値は XNUMX 日に XNUMX つだけありますが、注文が送信されなかったために欠落している日もあります。 したがって、これらの日を時系列に導入し、欠落している売上値を固定値 XNUMX に置き換えます。その後、月レベルでデータを集計し、さらなる分析で各月の平均売上を考慮します。
視覚的に調査するために、データを年レベルでも集計しました。図 2015 の右側の折れ線グラフが示すように、7 年の初めに転換点があることがわかります。 左側の折れ線グラフは、データの年間季節性を示しています。各年の終わりには 12 つの規則的なピークがあり、各年の初めには低いピークが 7 つあります。 また、左側の ACF プロットのラグ XNUMX での大きなスパイクで示されているように、データの年次季節性も検出します。 時系列を傾向、季節性、残差に分解します。これらの成分は、図 XNUMX の中央の折れ線グラフに示されています。右側の ACF プロットは、残差系列に有意な自己相関がないことを示しています。
次に、ARIMA モデルを使用して、月平均売上の残差系列をモデル化します。 ラグ 12 での差分後、時系列の長さは 36 個の観測値になります。 AR および MA パートの最大次数 4、I パートの最大次数 1 を持つ Auto ARIMA Learner コンポーネントを使用して最適なモデルを探します。 に基づいた最高のパフォーマンスのモデル 赤池情報量基準 は ARIMA (0, 1, 4) で、サンプル内予測に基づいた結果の MAPE は 1.153 です。
最後に、モデルのサンプル外の予測精度を評価します。 ワークフロー 時系列の予測と再構築 図 8 の (ハブで利用可能) は、2017 年から 2014 年の月次データ (2016 の観測値) と、動的デプロイメントを使用した勝者の ARIMA (24) モデルに基づいて 0,1,4 年の日次売上を予測する方法を示しています。アプローチ。 その後、シグナルを再構築します。この場合、傾向と年間季節性を予測値 (12 か月の平均売上高) に復元します。 実際の値と予測値を比較し、MAPE 0.336 を取得します。
まとめ
ナノ秒後の小さな物体の挙動を示すセンサー データであれ、20 世紀のマクロ経済データであれ、あるいはその中間のものであれ、時系列には、アクセス、操作、モデリングのステップに適用される特定の分析テクニックが備わっています。
この記事では、時系列データの操作を開始する際に役立つ、時系列の分析テクニックの基本を紹介しました。
参考文献
[1] チェンバース、ジョン C.、サティンダー K. マリック、ドナルド D. スミス。 適切な予測手法を選択する方法。 ハーバード大学経営管理大学院、1971年。
[2] ハインドマン、ロブ J.、ジョージ アタナソポロス。 予測: 原則と実践。 Oテキスト、2018年。
出典: https://www.dataversity.net/building-a-time-series-analysis-application/
- 絶対の
- NEW
- 分析
- 分析論
- 申し込み
- AR
- 記事
- オート
- の基礎
- ベンチマーク
- BEST
- 飲物
- ボディ
- ボックス
- ビルド
- 建物
- ビジネス
- クリーニング
- コラム
- コマンドと
- コンポーネント
- 信頼
- 国
- 電流プローブ
- データ
- 中
- 需要
- 開発
- 病気
- 見積もり
- イベント
- 運動
- 探査
- フィギュア
- 最後に
- 名
- フィット
- フォーカス
- 金曜日
- 未来
- 国内総生産
- ジョージ
- 良い
- 卒業生
- ハンドリング
- ハーバード
- ハーバード大学
- 認定条件
- How To
- HTTPS
- 何百
- 識別する
- 画像
- 感染症
- 情報
- IT
- 7月
- 大
- つながる
- LEARN
- 学習者
- 学習
- レベル
- LINE
- 長い
- 機械学習
- 主要な
- 市場
- メトリック
- モデリング
- 月曜日
- 月次データ
- ヶ月
- ネットワーク
- ネットワーク
- ニューラル
- ニューラルネットワーク
- ニューラルネットワーク
- 開きます
- 注文
- 受注
- その他
- パターン
- パフォーマンス
- 計画
- プラットフォーム
- 予測
- プロダクト
- 製品
- プロモーション
- 記録
- 回帰
- の関係
- リソース
- 結果
- セールス
- 規模
- 学校
- 選択
- センス
- シリーズ
- セッションに
- 発送
- 簡単な拡張で
- 小さい
- スマート
- Snapshot
- So
- start
- 開始
- 統計
- 株式
- 株式市場
- 提出された
- 夏
- サポート
- タブロー
- ターゲット
- test
- 基礎
- 未来
- 時間
- top
- トレーニング
- 変換
- ユニバーサル
- 大学
- 値
- よく見る
- 週間
- weekly
- 何ですか
- Wikipedia
- 以内
- 仕事
- ワークフロー
- トレーニング
- 価値
- 年
- 年
- ゼロ