時系列データに定常性を持たせて解析する方法

 2019/09/23    時系列分析    

この記事では、pythonで時系列解析・分析を行っていくうえでの基礎知識として、時系列データから同時分布を求めて、定常性を持たせる方法について説明します。平均・分散、正規分布などの統計学の初歩の知識を前提とした初心者向け入門記事です。 以降、時点\(t\)での時系列の値・確率変数を共に \(yt\) と表しています。

時系列データの同時分布を求める定常性とは

時系列解析の基礎知識記事で紹介した平均・自己共分散・自己相関は得られたデータから推定することができますが、時系列では分布が変化する困難さがありました。 たとえばAirPassengersデータのように上昇トレンドがあるデータでは、観測期間全体の平均を求めても意義が薄いでしょう。 変数が複数あるときその同時分布から平均や共分散が求まるように、時系列でも\(y1,…,yt,… \)の同時分布を求めなくてはならないのです。 データ解析ではよく正規分布が仮定されますが、その理由の一つには「平均と共分散が求まれば同時分布が一意に定まる」というありがたい性質があります。

強定常

データから推定した平均・自己共分散・自己相関に意義があるのはどのような時系列の場合でしょうか。 そのようなありがたい性質「定常性 (Stationarity)」を考えます。 時系列の分布が任意の \(k,l \)に対して次式を満たす時、その時系列は強定常 (Strongly stationarity) **であるといいます。
$$
f(y_t, \dots, y_{t+l}) = f(y_{t+k},\dots, y_{t+k+l})
$$
つまり時系列に対して任意の長さ l の同時分布を考えたとき、それを好きなだけ(任意の k だけ)ずらした同時分布も変わらない、ということです。

弱定常

また、もう少し条件を弱くした、平均・分散・自己共分散が時点 t に関わらず一定であるような時系列を弱定常 (Weakly stationarity) **であるといいます。 具体的には、以下の3つの条件を満たす場合、その時系列を弱定常であるといいます。

  1. 平均が \(t\) に依存せず一定: \(E(yt)=μ\)
  2. 分散が \(t\) に依存せず一定: \(Var(yt)=σ2\)
  3. 自己共分散が \(t\) に依存せず、ラグ \(k \)によってのみ定まる: \(Cov(yt,yt−k)=Ck\)

実は、条件3で \(k=0 \)とすれば条件2になるので条件2は冗長なのですが、「観測を通して値のバラツキが一定である」ということを強調するために記しておきました。これ以降では、時系列が弱定常であることを単に「定常」であると言います。

非定常

また、弱定常でないような時系列のことを「非定常」であるといいます。 AirPassengersデータは上昇トレンドを持ち、トレンドに比例してバラツキも大きくなっているため、典型的な非定常時系列であるといえます。

ホワイトノイズ

定常な時系列の例として、ホワイトノイズを紹介します。 ホワイトノイズとは、次式\(s\)のような性質をもつ時系列として定義されます。 つまり、時点によらず平均が0でかつ分散が一定であり、同時点以外での自己共分散をもちません。
$$
{\rm E}(y_t) = 0\\
{\rm Cov}(y_t, y_{t-k}) =
\begin{cases}
\sigma^2 & (k=0)\\
0 &(k \neq 0)
\end{cases}
$$
特に、 \(yt\)が正規分布に従い、\( yt∼N(0,σ2) \)であるようなホワイトノイズは正規ホワイトノイズと呼ばれます。

 

ここで、定常な時系列の特徴を視覚的に確認するため、Pythonで正規ホワイトノイズを作成してみましょう。 以下のコードでは、randomのgauss()を使って正規分布から乱数を発生させています。 結果のように、平均と分散が一定であることが見てわかります。

 

from random import gauss

whitenoise = [gauss(mu = 0.0, sigma = 1.0) for i in range(500)]
plt.plot(whitenoise);

まとめ

この記事では時系列データの定常性(強定常・弱定常・非定常)、また定常な時系列の例としてホワイトノイズについて説明しました。

こちらの記事も参考にしてみてください。
【時系列分析の基本】定常性とホワイトノイズを分かりすく解説

次回の記事では時系列データの前処理について考えていきます。

  • 人気の投稿とページ

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です