フリーワード検索


タグ検索

  • 注目キーワード
    業種
    目的・課題
    専門家
    国・地域

NRI トップ ナレッジ・インサイト 用語解説 用語解説一覧 時系列分析

時系列分析

Time Series Analysis

  • Facebook
  • Twitter
  • LinkedIn

時系列分析とは

時間の経過順に並んだデータをもとに、変動要因を、長期的な傾向、周期的な変動、不規則な変動などの要素に、統計的な手法を用いて分解し、将来の値を予測するもの。回帰分析の手法の1つで、一般的な回帰分析の場合は、目的変数と説明変数の関係を求めるのに対し、時系列分析では、目的変数となる現在の値と、過去の値の関係を数式化する。
時系列データの例としては、店舗の売上、株価、気温・降水量、Webサイトへのアクセス数など。

時系列分析における3つの変動要因

時系列分析のポイントは、過去のデータ変動から、以下の3つの視点で、データを分解できるかどうかです。例えば、日々のデータでは上下の変動はあるが、年間単位で平均をとると、毎年、徐々に増加していれば、長期変動要因はプラスであると考えられます。過去のデータの波形をみることで、3つの要因に分解します。

  • a)長期変動要因  

    長期的なトレンド

  • b)季節変動要因  

    1年間の周期、月別・週別の周期、週内の周期(曜日別傾向)

  • c)不規則変動要因 

    誤差的な変動、突発的に生じた特異的変化

要因の分解の仕方は、「加法モデル(a+b+c)」と「乗法モデル(a×b×c)」の2つの考え方がありまる。乗法モデルの場合、2つ以上の要素が掛け合わさって、最終的なデータができていると解釈することで、正しく説明できる場合に適用されます。過去データの動きを適切に表しているモデルを選ぶことになります。

時系列分析のモデル

時系列モデルの基本的な考え方は、過去の値を説明変数として、現在の値を式で表します。統計学的に表現すると「現在の値を過去のデータから回帰する」と言います。
代表的には5つのモデルがあります。過去のデータと現在の値の関係を直接的に式で表す簡単なものから、長期変動要因や季節変動要因を個別に分解した複雑なものまであるため、5つのモデルを以下で順に説明します。
モデルの違いは、現在の値を過去のデータで表す場合の「式の形」にあります。式の形を定義すれば、各式における係数は、実際のデータと式の値の誤差が最小になるように決定(「最小二乗法」と呼ばれている方法)することができます。

①AR(自己回帰)モデル Auto Regressive model
現在の値は、過去の値のみに影響を受けると考えます。例えば、今日の売上を昨日の売上をもとに予測するという「単回帰」のモデルや、今日の売上を昨日と一昨日の売上をもとに予測する「重回帰」のモデルがあります。過去のデータを何日前まで説明変数に含めるかや、どれぐらいのタイムラグを見込むかなどがポイントとなります。

②MA(移動平均)モデル Moving Average model
現在の値は、過去の値に影響を受けるという考え方はARモデルと同じですが、現在の値は、過去の値の平均値と、過去の誤差(実績値と予測値の差)に影響を受けると考えて、定式化します。今日の売上を、昨日までの売上の平均値と、過去の誤差をもとに予測するというイメージです。数学用語として使用する一般的な「移動平均」という言葉の意味合いとは異なることに注意してください。

③ARMA(自己回帰移動平均)モデル Auto Regressive Moving Average model
ARモデルとMAモデルを合わせたものです。現在の値は、過去の値と、過去の誤差に影響を受けていると考えるモデルです。

④ARIMA(自己回帰和分移動平均)モデル Auto Regressive Integrated Moving Average model
ARMAモデルからトレンド要因を分解したものです。時系列データの平均値が時刻とともに変化すると仮定し、その変化分をモデルに組み込んでいます。各時期のトレンド要因部分と、ARMA部分に分けた(結合した=integrated)したモデルです。

⑤SARIMA(季節変動自己回帰和分移動平均)モデル Seasonal ARIMA model
ARIMAモデルに、さらに周期性(季節変動要因)部分を取り入れたモデルです。時系列変化にARIMAモデルを使い、さらに、周期的変化にもARIMAモデルを使って、過去のデータから現在の値を回帰します。あてはめる式のパターンが莫大になるため、周期性のタイミングは12ヶ月にするなど予め設定することが実務的です。

それぞれのモデルにおける数式は複雑な形をしているため専門書を参考にして欲しいと思いますが、上記に記載した概念だけ理解していれば、Pythonなどで簡単に動かせるライブラリが豊富にあるため、時系列データの分析は可能です。

近年流行しているProphet

ProphetはFacebook社(現Meta社)によって開発されたアルゴリズムで、時系列データを自動的に構造化するものです。ベイズ統計(別ページ参照のリンク)における推定方法をもとに、長期変動、季節変動(周期性)を分解して推計します。
2017年に初期リリースが行われたあと、時系列予測の分野で急速に普及しました。デイリーデータ (1日単位でデータが記録されるデータ) で応用が可能です。最大の特徴は、その使いやすさにあります。Pythonのライブラリとして提供されており、誰でも利用することができます。また、内蔵されているデフォルトの設定が優れているため、たいていの日次データに適合させることができます。

  • Facebook
  • Twitter
  • LinkedIn