自己相関係数 

# 導入
時間の経過に伴って変化するデータを示す、時系列データについての記事です。
時系列データは、自然科学、社会科学、経済学、金融、医療、エンジニアリングなど、多くの分野で扱われています。
今回はそんな時系列データを分析する際に重要なキーワードについての説明をします。

この記事では<a href="https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E3%81%99%E3%81%90%E4%BD%BF%E3%81%88%E3%82%8B%E6%99%82%E7%B3%BB%E5%88%97%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90-%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%83%86%E3%82%A3%E3%82%B9%E3%83%88%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98-%E6%A8%AA%E5%86%85-%E5%A4%A7%E4%BB%8B/dp/4774163015/ref=pd_bxgy_14_img_3/357-7213040-9644743?_encoding=UTF8&pd_rd_i=4774163015&pd_rd_r=21f509dd-50b7-494a-bfbf-9cd9d41752a6&pd_rd_w=myCv9&pd_rd_wg=cBb4L&pf_rd_p=e1d64852-a4db-4f50-95af-f6bb1415e9c1&pf_rd_r=GKHKRHV7FC4V1TCD6NA6&psc=1&refRID=GKHKRHV7FC4V1TCD6NA6">現場ですぐ使える時系列データ分析 ~データサイエンティストのための基礎知識~ :横内 大介, 青木 義充 著(2014)</a>のデータを使い、下記キーワードについてRで実行したあとに用語の説明をしていきます。
__・自己相関係数__
__・ラグ__
__・偏自己相関係数__
__・推移率__
__・コレログラム__


# Rで実行
コードが非常に簡単なので先に紹介します。

使うデータはベクトル型の100日の収益データです。

```
 str(X.return)
 num [1:100] -3.85 4.64 2.25 1.53 5.15 ...
```

```
  # 自己相関係数
  # ラグ0から20までの自己相関係数を求める
  acf(X.return,plot=F)

     0      1      2      3      4      5      6      7      8      9     10     11     12     13     14     15     16 
 1.000  0.631  0.517  0.450  0.324  0.295  0.286  0.156  0.059  0.103  0.134  0.074  0.116  0.052 -0.087  0.020 -0.032 
    17     18     19     20 
-0.014  0.027 -0.005 -0.020 
```

**自己相関係数**はデフォルトに入っていいる**acf関数にデータをいれてplot=Fにするだけ**です。

**plot = T** にすれば**コレログラム**が書けます。


```
  # 自己相関係数のコレログラムを描く
  acf(X.return,plot=T)
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/413787/e78bf324-bf69-11ce-af35-2ecd87c925c2.png)

**type="p"**を追記すれば**偏自己相関係数**の算出とプロットができます。

```
  #type="p"で偏自己相関係数を求める
   acf(X.return,plot=F,type="p")

Partial autocorrelations of series ‘X.return’, by lag

     1      2      3      4      5      6      7      8 
 0.631  0.197  0.110 -0.063  0.061  0.079 -0.145 -0.129 
     9     10     11     12     13     14     15     16 
 0.134  0.148 -0.103  0.038 -0.045 -0.199  0.142 -0.078 
    17     18     19     20 
 0.106  0.047 -0.035  0.009 
```
```
   # 偏自己相関係数のコレログラムを描く
   acf(X.return,plot=,type="p")
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/413787/543b2d10-484b-9d33-d71d-8b490bed8339.png)



# 用語解説
## 自己相関係数


相関係数は2つの異なる変数xとyについての相関を見ていますが、
自己相関係数は現在の自分と過去の自分でどれだけ相関があるかという係数です。

ex.今日の株価は昨日の株価に影響している

式は次の通りです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/413787/2d54f72a-cfb0-9cf0-8103-482fc5b162bf.png)

分子に共分散、分母は現在の分散と過去の分散の平方根です。
相関係数の式と似ていますね。



詳しく書くとこうです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/413787/ffc6ca33-c991-8b46-18b7-744544cb0ddc.png)


__n__は__データ数__を
__t__は__時点__を
__h__は__ラグ__を表します



## ラグ

**ラグ**とは**ずらず時点の度合い**です

今日と昨日の相関を見るなら1日ずれているのでラグは**1**

今月と先々月の相関を見るならラグは**2**

といった具合です。


右にいくにつれてラグを1ずつズラしていく図を作りました。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/413787/ba60cf33-3a82-cdbf-03e4-fd0f7b2fee39.png)

rは各時点でのデータです。
ラグ1のときはr2に対応するのはr1
ラグhのときはr(h+1)に対応するのはr1
同じくラグhのときにrnに対応するのはr(n-h)

ラグhとの相関を見るときにはデータがn-h個しかないことがわかると思います。
このため自己相関係数の式に現れる過去に関する項はn-h個の和しかとれないため、h+1からnまでの和となっています。

## コレログラム

**コレログラム**とは**それぞれのラグについての自己相関係数を表した図**です。

日ごとのある株の収益率データを使って見ていきましょう。

**ラグ0**は**現在の自分**と**現在の自分の相関**を表しているので**当然1.0**です。

右にいくほど下がっている、つまり**過去にいくほど現在との相関が弱くなっている**ことがわかります。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/413787/2288bacd-dae3-99ef-f597-bc8085273f85.png)


ちなみに点線部は**帰無仮説「自己相関係数が0である」**の95%信頼区間です。
つまり**この点線の中におさまっていれば**自己相関を持たない、つまり**現在の自分と過去の自分は関係ない**ということです。

ラグ6に注目しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/413787/fe79c13e-32cd-f536-dc89-d6b4766ba237.png)

このコレログラムを素直に受け取れば現在と6日前までは自己相関があるということです。
この解釈が正しいかどうかは推移律という概念を使って考えましょう。




## 推移律

**推移律とはaの値にはbの値を通じたcの値が関係するということ**です。

例えば、日ごとの収益率データに置き換えて考えてみましょう。

ex.「おととい」と「今日」の関係を見たいとき
① 今日の値には昨日の値が関係する
② 昨日の値にはおとといの値が関係する
① + ② = 今日の値には、昨日の値を通じたおとといの値が関係する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/413787/6427788e-a8ad-0eed-6285-ba357800dfde.png)

つまり現在と6日前の自己相関はラグ1からラグ5の影響、言い換えると1~5日前の影響があり、純粋に現在と6日前の相関関係を表していません。

純粋に今の値と過去の相関を見たいときに使うのが**偏自己相関係数**です。


## 偏自己相関係数

上で説明した通り**推移律を考慮した自己相関係数**です

図で見てみましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/413787/fb857309-83dd-a868-9a70-1cc8feab3b20.png)


偏自己相関係数は自己相関と違い**横軸がラグ1から始まり、縦軸の最大値も1ではありません**。

見てわかる通りせいぜい自己相関があるのはラグ2までですね。

この図から**現在の値と6日前の値は純粋には無関係である**ということがわかります。

ちなみに数字で見るとこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/413787/96923872-8e4d-8ebf-e2e1-ed896b714c03.png)

表の右下、ラグ6の偏自己相関係数は0.079と小さい値をとっていますね。

ラグ1に関してはどちらも同じ値0.631をとっていますね。
しかし厳密には**ラグ1の自己相関係数 >　ラグ1の偏自己相関係数**だと考えています。
（※ あくまで私の個人的な見解であり、数学的な裏付けは一切できていません）

これには**推移律と微分のような考えを組み合わせる**とわかりやすいと思います。

今回はラグ1であれば**今日と昨日**という解釈でしたが、**現在と24時間前**という考えもできると思います。

現在と24時間前の自己相関は**1時間前、2時間前...23時間前**を通じていますね。

これを**分単位**、**秒単位**で**推移律を考える**と**ラグが1でも自己相関係数より偏自己相関係数のほうが小さくなる**と考えました。


以上です、最後まで読んでいただきありがとうございました！

# 参考文献
<a href="https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E3%81%99%E3%81%90%E4%BD%BF%E3%81%88%E3%82%8B%E6%99%82%E7%B3%BB%E5%88%97%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90-%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%83%86%E3%82%A3%E3%82%B9%E3%83%88%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98-%E6%A8%AA%E5%86%85-%E5%A4%A7%E4%BB%8B/dp/4774163015/ref=pd_bxgy_14_img_3/357-7213040-9644743?_encoding=UTF8&pd_rd_i=4774163015&pd_rd_r=21f509dd-50b7-494a-bfbf-9cd9d41752a6&pd_rd_w=myCv9&pd_rd_wg=cBb4L&pf_rd_p=e1d64852-a4db-4f50-95af-f6bb1415e9c1&pf_rd_r=GKHKRHV7FC4V1TCD6NA6&psc=1&refRID=GKHKRHV7FC4V1TCD6NA6">現場ですぐ使える時系列データ分析 ~データサイエンティストのための基礎知識~ :横内 大介, 青木 義充 著(2014)</a>
一橋大学の横内先生と株式会社QUICKという金融情報サービス会社の青木さんの本です。
私みたいな時系列データ初学者にとって最適な入口となってくれた本です。


<a href="https://www.amazon.co.jp/時系列分析と状態空間モデルの基礎-RとStanで学ぶ理論と実装-馬場-真哉/dp/4903814874">時系列分析と状態空間モデルの基礎: RとStanで学ぶ理論と実装:馬場真哉 著(2018)</a>
<a href="https://www.amazon.co.jp/経済・ファイナンスデータの計量時系列分析-統計ライブラリー-沖本-竜義/dp/4254127928/ref=pd_bxgy_14_img_3/357-7213040-9644743?_encoding=UTF8&pd_rd_i=4254127928&pd_rd_r=05c84f7a-8374-4419-8db1-c4846ae818f9&pd_rd_w=yAJtt&pd_rd_wg=7OlRV&pf_rd_p=e1d64852-a4db-4f50-95af-f6bb1415e9c1&pf_rd_r=6PGEMPWFRTA27NS3ECHR&psc=1&refRID=6PGEMPWFRTA27NS3ECHR">
経済・ファイナンスデータの計量時系列分析:沖本竜義 著(2010)</a>