玄関雑学の部屋雑学コーナー統計学入門

第12章 時系列解析

この章では時系列データおよび時系列解析の種類と原理、さらにコサイナー法とスペクトル解析そしてコホート分析について解説します。

12.1 移動平均法

(1) 時系列データ

時間の経過に従って連続的に測定された多時期のデータを時系列データ(time series data)といい、時系列データを解析するための手法を時系列解析(time series analysis)といいます。 例えば2名の被験者について、ホルター型血圧計で収縮期血圧を24時間連続測定したところ表12.1.1のようになったとします。 これは測定間隔(sampling interval)が1時間で、時期数が24個の時系列データになります。

表12.1.1 24時間連続測定した収縮期血圧
被験者番号0時1時2時3時 4時5時6時7時 8時9時10時11時
11079593112 82114105123 135135140137
21009091122 92110106124 155165165160
平均値103.592.592117 87112105.5123.5 145150152.5148.5
被験者番号12時13時14時15時 16時17時18時19時 20時21時22時23時
1147138115161 160123142155 135131129123
2157148145151 160133122145 155135120101
平均値152143130156 160128132150 145133124.5112

表12.1.1の平均値を見ると全体として夜間は低く、昼間は高いという傾向があります。 しかし細かい変動があるので、それ以外の規則的な変動があるかどうかははっきりしません。 そこで平均値の変動を平滑化して全体的な傾向をより把握しやすくしてみましょう。 そのための最も単純な方法として移動平均法(moving average method)という手法があります。

(2) 移動平均

時系列データについて、ある時点tを中心にして、その前後k個のデータの平均値を計算したものを時点tの移動平均(moving average)といいます。 例えば表12.1.1の平均値について、1時を中心にして前後1個のデータ——つまり合計で3個のデータ——の平均値つまり移動平均を計算すると次のようになります。 移動平均は個々の被験者のデータについて計算することもできますが、ここでは2名の被験者の平均値について計算することにします。

1時の移動平均 = 103.5 + 92.5 + 92 3 = 96

これと同様にして2〜22時までの移動平均を計算し、それをプロットすることによって元のデータに存在した1〜3時間単位の細かい変動をならして平滑化することができます。 ただしその場合、最初の0時と最後の23時については移動平均を計算することができません。 そのため0時と23時については移動平均をプロットしないという方法と、1時と22時の移動平均から予測した値をプロットするという方法の2通りがあります。

予測値をプロットする場合、例えば0時については1時の移動平均から2時と0時のデータの差の半分の値を引くことによって予測します。 この予測値は0時のデータと2時のデータを直線で結び、その直線の重心を1時の移動平均の位置までずらした時の0時の値に相当します。

0時の予測値 = 103.5 + 92.5 + 92 3 - 92 - 103.5 2 = 96 + 5.75 = 101.75
図12.1.1 収縮期血圧の元データと移動平均

このような方法で全時点の移動平均を計算し、それをプロットしたものが図12.1.1の赤色の折れ線です。 黒色の折れ線は元データつまり2名の被験者の平均値を表しています。 この図の移動平均を見ると、夜間は低く、昼間は高いという傾向がより明確になり、さらに13時前後と18時前後に血圧が少し低下する傾向があることがわかります。 これは昼食時と夕食時に休憩を取り、それによって血圧が低下することを反映していると考えられます。

移動平均法には、単純な平均値の代わりに時点tの前後k個のデータにp次多項式を当てはめ、その多項式からtの値を予測するという方法もあります。 平均値を用いた移動平均は、実は多項式として直線つまり1次式を用いた時のtの予測値であり、0時と23時の予測値もその1次式を用いた予測値に相当します。 (注1)

一般に移動平均法はデータ数kを大きくするほど、また多項式の次数pを大きくするほど平滑化されます。 しかしkまたはpを大きくするほど移動平均をまともに計算できない最初と最後の部分が大きくなり、その部分の移動平均の信頼性が低くなってしまいます。 そこでkとpを色々と変えて移動平均を計算し、目的に最も適した値を探索する必要があります。

移動平均法は時系列データを平滑化し、データの変動に一定の傾向があるかどうかを視覚的に把握しやすくするための手法です。 そのため周期解析等の本格的な時系列解析を適用する時の前処理や、最適な時系列解析手法を検討するための予備解析として利用すると便利です。


(注1) n個の時系列データ{y1,…,yj,…,yn}において、時点tjを中心にして前後k個のデータを切り取った部分データを{yj-k,…,yj,…,yj+k}とします。 この部分データにtに関するp次多項式を当てはめると次のようになります。

j = jβj + εj
         (2k+1) > p

yjの予測値はjの中央の行ベクトルj'と偏回帰係数ベクトルjを用いて計算します。

j' = [1 tj … tjp]    (j = k+1,…,n-k)

時系列データの先端部{y1,…,yk}と末端部{yn-k+1,…,yn}の予測値については、1'…k'とk+1、そしてn-k+1'…n'とn-kを用いて計算します。

(l = 1,…,k)    (m = n-k+1,…,n)

測定間隔が等間隔の時は時間の原点をtjに移動してtj = 0とし、tj-k = -k、…、tj+k = kと置いて計算することができます。 測定間隔が等間隔で、k = p = 1の時は次のようになります。

        
(j = 2,…,n-1)
  

表12.1.1のデータについて、k = p = 1として実際に計算してみましょう。

  
  :
  

ちなみに重回帰分析と同様にして予測値の信頼区間を求めることができます。 (→7.2 重回帰分析結果の解釈 (注3))

(j = k+1,…,n-k)
(l = 1,…,k)
(m = n-k+1,…,n)
VRj:時点tjにおける残差分散