
182
12 章 時系列分析
12.6
系列相関
価格は
1
日ごとに変わるので、何かパターンがあるのではないかと期待されます。
月曜に価格が高ければ、その後数日間は高いと期待できます。もし価格が低ければ、
しばらく低いだろうと期待します。このようなパターンは、値のそれぞれが系列の次
の値と相関するので、系列相関(
serial correlation
)と呼ばれます。
系列相関を計算するには、時系列をラグ(
lag
)と呼ぶ間隔だけ横にずらして、元
のものとの相関を計算します。
def SerialCorr(series, lag=1):
xs = series[lag:]
ys = series.shift(lag)[lag:]
corr = thinkstats2.Corr(xs, ys)
return cor r
ずらした後の最初の
lag
値は
nan
なので、
Corr
の計算の前にスライスしてそれを
取り除いています
†
。
lag=1
で元の価格データに対して
SerialCorr
を適用すると、高品質カテゴリでは
系列相関が
0.48
、中品質で
0.16
、低品質で
0.10
になります。時系列の長期傾向では、
系列相関が強く観察されるものと期待できます。例えば、価格が低下傾向だと、時系
列の前半は値が平均より上で、後半では平均より下だと期待できます。
傾向を引き去っても、相関が残るかどうかはさらに興味深いところです。例えば、
EWMA
の残差を計算してから、その系列相関を計算できます。
ewma = pandas.ewma(reindexed.ppg, ...