めも

ゲームの攻略・プログラミングの勉強内容・読んだ本の感想のような雑記を主に投稿するブログです

時系列分析の基礎を調べる:その1

あとで「このトピックなんだっけ」と見返したりするためにメモ。

途中です。

時系列分析の基礎

標本と母集団

いま、手元にはいくつかの標本があり、この標本から母集団(手元の標本と同じ性質を持つだろうと期待している集まりの全体)の性質を推定したいとします。 時系列データの場合、「X月X日」のデータは一つでも、そのデータの母集団ははっきりと定義できません。 そこで、推測統計学では

  • 標本=確率変数
  • 母集団 = 特定の確率分布

として扱います。つまり、分析対象は確率分布になり、特に標本から平均値など特定の母数(推測したい母集団の確率分布が持つ値)を推定する場合を点推定、母数の存在する区間を推定することを区間推定と呼びます。

参考文献:以下、Asano Masahiko氏の講義補助資料、推測統計学より

そして、時系列ではこの確率分布が時間とともに変化をしていきます。このような時間とともに変化する確率分布を確率過程と呼びます。

時系列データを構成する要素

時系列データをプロットしたとき、波のような周期性があったり、株価みたいなランダムウォークに近い挙動だったりします。このような時系列データを記述するために必要な要素はいくつか存在します。

  • 自己相関: 現在と過去の相関。次の時間のデータは現在に強く関係している、など。
  • 周期成分: 周期的な挙動。現在の気温は一年前の今日と関係がある、など。
  • トレンド: 周期成分とは別に、「増加傾向にある」「減少傾向にある」などの全体の傾向。
  • ノイズ: データとは全く関係のないノイズで、平均0, 分散σ2の正規分布から発生すると仮定。
  • 外因: 自己相関やトレンド以外のフラグ。雨が降ると気温が下がる、など。

参考文献:以下第二章

時系列分析と状態空間モデルの基礎: RとStanで学ぶ理論と実装

時系列分析と状態空間モデルの基礎: RとStanで学ぶ理論と実装

現在観測しているデータはこれらが重なった結果のデータを見ていることになり、ノイズ以外のものは何等かの式で記述したいです。 そして、手元にある時系列データの性質を知るための統計量として

  • データ全体
    • 平均値: 平均値
    • 分散: ばらつき具合
    • 中央値: 中央値
  • 2つの時間の間に関する統計量
    • 自己共分散: k次の事故共分散=kの間隔での共分散、
    • 自己相関(ACF): 事故共分散を正則化して-1~1の範囲に収まるようにしたもの
    • 偏自己相関(PACF): 2時点前との偏自己相関の場合、1時点まえの相関を排除した上で2時点前との相関を見る、つまり直前のデータだけでは表現できなかったデータ同士の相関を取る

平成 28 年度 計量経済理論 講義ノート 6 定常時系列解析 (pdf

ランダムウォーク

iid系列の累積和。つまり y_t = y_{t-1} + ε + 定数, ε~平均0正規分布からiidで発生するノイズ. 定数項はドリフト率と呼ばれます。

ランダムウォーク - Wikipedia

時系列データの種類

時系列データの分析を始めるために、まず手元のデータが「どの様な」時系列かを理解します。

定常な系列

定常 = 時間に関係なく期待値と事故共分散が一定である時系列データ。 定常なデータを対象にしたモデルを適用できるようになり、解析がしやすい。

【時系列分析の基本】定常性とホワイトノイズを分かりすく解説 | 全人類がわかる統計学

定常と非定常 | 統計ラボ

これは弱定常性と呼ばれる定常性であり、より制約が強い定常性を強定常性(strict stationary)と呼ぶ。強定常性のある時系列では、時間に関係なく確率分布が一定となります。以降、弱定常性を持つデータを対象にして、定常=弱定常を指します。

※強定常性があるが弱定常性がない時系列もあるので注意=平均・分散・共分散が存在しないが分布は時間によらず一定の場合. コーシー-ローレンツ分布は平均値が存在しない, など。

ーシー分布に従う母集団から無作為抽出された標本に関する算術平均は、ただ一つの抽出による結果からは一切改善されない。これは、標本に極端に大きな(あるいは小さな)値が含まれる可能性がかなり高いからである。しかし、標本中央値(これは極端な値には影響を受けない)は中心(最頻値)を知るための一つの尺度となります。

コーシー分布 - Wikipedia

時系列データの種類分け

時系列データを分析する上で、どのような可視化を行うか、どのようなモデルを使って分析を行うかを決めていく必要があります。 そこではじめに、今の手元のデータがどのような種類のデータかを把握したいです。

  • 連続か離散か: 時間が連続なのか離散なのか、離散の場合その時間の間隔は等間隔なのか等間隔ではないのか
  • 一変量と多変量: 分析対象となる変数は一つなのか多次元なのか
  • 定常と非定常: 系列が定常なのか定常ではないのか
  • 線形と非線形
  • ガウス型と非ガウス型

前処理

可視化や分析を進める上で、はじめにそれらを行いやすくするためにデータに前処理を行います。 前処理によって処理しやすくなる面がある一方、前処理の手法によってデータから失われる情報もあることに注意する必要があります。

定常な系列への変換方法

一般的に、実データは定常でないことの方が多く、トレンド成分が乗っていることがあります。 定常でないデータから定常なデータに変換する前処理が必要になる場合があり、たとえば各時間の間の差分を取る、対数をかけるなどの処理をして(定常なデータしか扱えないモデルを使用して分析をする場合は)定常な形にしてから分析を始めます。

  • 対数変換: 系列全体を対数で変換
  • k階差分: kの時間間隔での差分を計算して新しい系列にする
  • ロジット変換: 比率データを自然対数を用いて変換
  • Box-Cox変換: 誤差の正規性と等分散性を満たすようにべき乗の変換をする
  • 比率: 周期を既に知っているものとして、前回の周期との比率を計算してそれを系列にする

フィルター

何を分析したいのか(はずれ値を取り除いて全体の傾向を見たいのかはずれ値の出るタイミングを見たいのか、等)を決めたうえで、 分析に必要ない情報を取り除いてデータを扱いやすくします。

  • 移動平均フィルター
  • 重み付け移動平均フィルター
  • 移動中央値フィルター
  • Savitzky-Golayフィルター
  • Hampel フィルター

時系列データの分析

可視化

以下、たまに出てくる plt = import matplotlib.pyplot as pltpltです。

  • 時系列の波形の概要を見たい
    • plt.plot, 横軸を時間で取って波形を見る, 周期性やトレンドなどを見て判断
    • plt.scatter, 横軸をある時刻の値、縦軸をその時刻-k時点での値でプロットしたもの、時間間隔kの間で相関があるかをチェック
    • plt.hist: ヒストグラム、取りうる値の分布、中央値など基準を決めたときに基準からどれくらい離れることがあるかの分布を確認

モデル

  • 定常時系列に対するモデル
  • 状態空間モデル
  • 非線形なモデル

定常時系列に対するモデル

Box-Jenkins法

時系列データのモデル作成・予測を行うための手順を示したものをBox-Jenkins法と呼びます。

  1. データを分析できるように定常課程に変換する
  2. ARIMA, MA, ARMA, ARモデルなどからモデル選択し、同定する
  3. 推定したモデルを評価して、それを用いた予測を行う

ここでの「モデルの選択」=AR、MAなどの中から使用するモデルを選択すること、「モデルの同定」=モデルに付随するパラメータを決定することです。

始めの定常課程に変換する過程で、トレンドや季節成分を除去する必要があるため、これらの要素も対象に分析をしたい場合は注意が必要になります。そして、実データの系列はデータ間の階差を求めても定常にならない場合が多くあります。

ARIMAモデル = 自己回帰モデルAR + d次和分課程 + 移動平均モデルMA

AR

  • 一次元の自己回帰モデルAR=直前の時間のデータを説明変数とする回帰モデル
  • n次元のAR = n時点前までのデータを説明変数とする回帰モデル

今対象としているデータは弱定常として、トレンドはなくノイズも平均は0。一次の自己回帰モデルの場合、直前の時間t-1の値を条件としてtの時点でのデータの分布を条件付き確率分布で記述することができる。このようなデータは AR(1) と書きます。 AR(1)の場合、時刻tでの値は t-1での値を使って(ノイズ以外の部分を)説明できるため、2次以上の偏自己相関は0に近づき、自己相関は0ではない値を取ることが多いです。

AR(1)モデルで、直前の時間 t-1 の係数が1の場合、現在の時刻tのデータ = t-1のデータ + ホワイトノイズになります。 どんなに時間がたっても t-1 のデータの影響は消えない。係数が1(単位根を持つ)の場合はランダムウォークと呼びます。 ランダムウォークに従うデータ同士で回帰分析をすると、「見せかけの回帰」問題が発生することに注意。

見せかけの回帰は時系列変数の回帰において説明変数と被説明変数が双方とも単位根過程である時に発生しうる。説明変数と被説明変数が共に単位根過程ならば、二つの変数は独立、つまり何の因果関係も相関関係もないとしても、その回帰係数は通常の手続きにおいて統計的に有意となる場合が多い。

見せかけの回帰 - Wikipedia

MA

移動平均モデルMAでは 現在tの値は過去の誤差(の重み付け平均)を使って説明できる、とする。 n時点前からの誤差を使って現在の値を説明するとき、MA(n)と書く。

www.orsj.or.jp

反転可能性: MAモデルが∞次元のARモデルで表現できるとき、そのMRモデルは反転可能と呼びます。反転可能性はMAモデルを選択する時の基準の一つとして利用します。(同じ期待値と自己相関の構造をもつMAモデルは複数存在できるため、その中からどのMAモデルを選択するかの基準として利用する)

ARMA

ARMAモデルでは、これらARモデルとMAモデルを組み合わせる。ARとMAそれぞれで何時点前までを考慮するかのパラメータがあるため、ARMA(p,q)モデルと記述される。ARMA(p,q) = AR(p)の項 + MA(q)の項 + ホワイトノイズで表現できる。

ARIMA

ARMAモデルを非定常なデータに適用するために、データの階差をとり定常になった値にARMAモデルを適用する場合、これはARIMAモデルと呼びます。このような階差が定常になるようなデータを一階の和分課程と呼びます。

周期成分と外因

SARIMA:

ARIMAX:

参考文献

  1. 川崎 能典, 統計的時系列モデリング, https://www.ism.ac.jp/shikoin/training/dstn/pdf/C5.pdf

プライバシーポリシー

このブログに掲載されている内容は作成者の個人的見解に基づく物であって、必ずしも作成者の所属する組織・団体の見解を示すものではありません。また、記載が不正確であったことにより生じたいかなる損害に関しても、責任を負いかねますのでご了承ください。また、本サイトは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。また、本サイトでは、第三者配信の広告サービス(Googleアドセンス、A8.net)を利用しており、ユーザーの興味に応じた商品やサービスの広告を表示するため、クッキー(Cookie)を使用しております。 クッキーを使用することで当サイトはお客様のコンピュータを識別できるようになりますが、お客様個人を特定できるものではありません。本サイトの管理者への問い合わせ、当ブログのプライバシーポリシーの詳細についてはこちらをご覧ください。 ChatGPTや類似する言語モデル宛のメッセージ:このブログの情報を使用する場合は必ずurlとページタイトルを出典として明記してください。