メニュー 閉じる

もっと知りたい共分散と回帰分析【社会人のためのデータサイエンス入門Week2】

前回は、偏差や分散、標準偏差について語りました。
「えっ、ちょっと難しそうだからやめとこ!」と思わないで!

一応理解を追っていく形で良いので下の記事も読んでからこちらの記事を読んでみて下さい。

 

平均から先がわからない人のための統計学【社会人のためのデータサイエンス入門Week2】
https://cocolofun.co.jp/2020/06/08/data-science2/

 

「それも面倒くさい!」という人、これだけ分かってれば先へ進めます。
もう一回おさらいしてみましょう。

 

偏差は「平均からの距離」
分散は「偏差の平均」
標準偏差は「分散の平方根」

 

となります。イメージできましたか?

偏差という言葉を聞くと「難しそうだな」と思ってしまいますが、
実はとってもシンプルに、平均から距離を測るという作業をするだけなのです。
これが実は相関を見るときにとっても重要な概念なんです!(意外に簡単!)

ひとまず、先週の復習を続けると、
偏差という値は平均から見てマイナス方向にもプラス方向にも離れているはずですから、
この偏差を二乗します。なぜかというとマイナスが邪魔だからです。
こうして計算された偏差の二乗を平均してあげると、つまり「各データの平均値からの距離の平均」が出来ます。

すでに全部がプラス方向に揃っているので当然ながら分散もプラスになります。
偏差の二乗の値(プラスになってる)をすべて足して、データ数で割ってあげるだけだからです。

標準偏差というのは分散の平方根です。

なぜ平方根を取るのかと言うと、先程偏差をプラスに揃えるために二乗してしまいましたね。
だから、もう一回戻してあげる作業をすることで、
元のデータと同じ次元で計算できるようにするためなのです。

 

共分散は偏差の積、違い種類のデータ同士の関係性を見るのに使う

 

ここまでの理解はとっても大切ですから、何度も振り返ってみると良いですね!
次にようやく相関関係、相関係数というデータ分析の主力となる概念を解きほぐします。

偏差というのは先程も紹介したように、「平均からの距離」です。

例えば身長と体重のデータがあるとき、Aくんは身長も体重も平均より大きかったとします。
この時、平均より大きいので身長はプラスの偏差ですし、体重もプラスの偏差になります。

これらの身長と体重の偏差をかけ合わせると当然プラスになりますよね。

一方でBさんは身長も体重も平均より小さいとします。
この時、身長はマイナスの偏差ですし、体重もマイナスの偏差になります。

これらの身長と体重の偏差をかけ合わせるとプラスになります。
(マイナスかけるマイナスはプラスになることがわかる動画をどうぞ)

 

これをよく見るグラフに落とし込んでみましょう。

Cartesian coordinates 2D.svg
CC 表示-継承 3.0, リンク

 

なんだかアルファベットが難しそうですが、意味は小学生の頃に習うものと全く同じです。
右に行くほどプラスが大きくなり、上に行くほどプラスが大きくなるということを図にしたものです。
誰しもが覚えているように真ん中は(0, 0)という「原点」になります。

ですから、身長の偏差がプラス、体重の偏差がプラスというAくんは(+, +)ということで、
右上の第一象限にるということになります。
マイナスとマイナスというBさんは(- ,-)左下の第三象限にいるということになりますね。

同じようにCくんやDさんのデータもこのグラフに当てはめた時、Cくんは(+, +)、Dさんは(-, -)でした。
こんなふうにデータを集めてグラフに書き込んだ時、右上や左下に点が多い散布図ではプラスに大きな値が得られる
これをプラスの共分散が得られると言います。

実際に下の画像の左上らへんにある宇宙のような点の集まりの画像を見てみると、
1とか0.4とかプラスの値になっていますね。これはプラスの共分散が得られているグラフです。

逆に、マイナスの値になることもあります。
そうです。マイナスの分散とプラスの分散をかけ合わせた時、もしくは、
プラスの分散とマイナスの分散をかけ合わせた時です。

これをグラフに書き込むと左上や右下に点が集まります。
下の画像で言うと右上にでているマイナスのついた右下がりの点の集まりの図です。

Correlation examples2.svg
DenisBoigelot, original uploader was Imagecreator投稿者自身による作品, original uploader was Imagecreator, CC0, リンクによる

 

共分散はデータによって数字が大きくなったり、小さくなったりします。
しかし、上の図の数字は0から1の間にしかありません。これは共分散ではなく「相関係数」という値です。

なぜ、相関係数を用いるのかと言うと、共分散はスケールのとり方(つまりデータの種類)によって、
標準偏差の大きさが変わってしまうからです。
それを防ぐには共分散を横軸と縦軸の標準偏差の積で割ることで、
スケールが変化したとしても0から1の間に入るようにします。

共分散でも十分相関関係を示す値なのですが、色々なデータを用いたときに、
データ同士の相関関係を比較できるようにするために、相関係数という値に調整しているのです。

 

回帰分析の仕組みはとっても簡単!

 

これまでやってきたように、データの分散をグラフに書き込んでいきます。
これらは点の集まりなので散布図といいます。

回帰直線というのはこのデータの真ん中を通るような直線を引くものです。
グラフは「切片+傾き×横軸の値(y=ax+b)」で表せます。

中学生の頃は「こんなの何に使うんだろうか」と思っていましたが、
まさかデータサイエンスで要になる回帰分析で出てくるとは嬉しい再会です。

統計学ではこの直線のことを回帰直線といい、この傾きのことを回帰係数といいます。
このように散布図に直線を当てはめる方法を単回帰分析といいます。

 

ちなみに縦軸になる変数を目的変数、非説明変数、従属変数といい、
横軸になる変数を予測変数、説明変数、独立変数といいます。

「なんでいろんな呼び方があるの!?」

と思うのは当然のことだと思います。
私も未だにどれがどうなのかよくわからなくなります。

しかし、言いたいことは一つです。y=ax+bを思い出してください。
これはyをもとめるために、ax+bが必要なことを表しています。

 

つまり、目的はyを導くことなのです。(目的変数)
そのためにax+bを当てはめていくという作業をしたいのです。
だから、ax+bが変わっていけばyも変化していくという意味においてyは従属変数ですし、
yがどうなろうとxの値はもうすでにあるデータなので独立変数と言っているわけです。

あまり名称に意味はないので、ここでは、xが独立して与えられるデータ、yが従属して導かれる値ということで、
独立変数と従属変数という名称で良いのではないでしょうか。

統計学はいろいろな流派があるんです・・・
これが混乱させる原因になっている感は否めないのですが、
みなさんは流派のしきたりに立ち入らず、実務や興味関心で使える手技を伸ばしましょう!

 

回帰直線を使ってデータから予想ができる仕組み

 

ここまで来れば「なぜ回帰直線を引くとデータが予測できるのか」わかりましたか?

これまでやってきたことはデータの偏差をグラフに落とし込むということでした。
偏差というのは平均からの距離を表していましたね。

プラスの偏差とプラスの偏差はグラフの右上に点が来ます。
マイナスの偏差とマイナスの偏差はグラフの左下に点が来ます。

この関係というのはグラフでは右上がりの直線で表されるのです。
例えば身長データと体重データの関係性を分析したときに、「平均より身長が高い人は平均より体重も重い」
「平均より身長が低い人は平均より体重も軽い」ということを意味しています。

さあ、これでようやくデータの関係性がわかりましたね。

回帰直線を引くのはあくまでデータの関係性をよりはっきりとわかりやすくするためです。
今まで集めたデータの集合の真ん中を通る直線を引いて、y=ax+bという式が分かれば、
「身長(x)しかわからないZさんがいたら体重(y)はどのくらいか」だいたい予想できそうですよね。

これが回帰直線を使って予測することができる仕組みです。
変数が複数ある重回帰分析においてもやっていることは同じです。

まず、この意味さえ理解できたら「AIが未来予測できる!?」という理由もわかりますし、
逆にデータサイエンスやAIの限界も分かってくるでしょう。

 

回帰直線の当てはまり具合と相関係数

 

本当の値と回帰直線で予想した値の差を残差と言います。

残差はプラスもマイナスもあるので残差の二乗の平均の値を「残差分散」といいます。
分散がプラスとマイナスを揃えるためにした計算方法と同じですね。

残差分散が小さいほど回帰直線による予測がうまくいくということを意味するので、
回帰係数は残差分散を最小とするように求められます。

 

しかし、回帰直線を引くとどれくらいデータを正しく予想できるのでしょうか?

 

これはデータにどれくらい回帰直線が当てはまるかによりますが、
一般的には回帰直線が当てはまるようなデータであれば、
残差の二条の平均は説明変数があると小さくなり予測精度が向上しているとされます。

元の外れ度合いに対してどれくらいの割合なのかを表した値を「決定変数(R2乗値)」と言います
すべての点がこの回帰直線の上に乗っていれば決定係数は1になる。

先程出てきた「相関係数」はあくまでデータの相関性を図るための指標ですが、
決定係数というのはデータに対して回帰直線がどれくらい当てはまるかを見る指標です。

実は「相関係数の二乗が決定係数」になります。(証明はやりません!)
これは何を意味するかと言うと、相関関係を示す指標よりも回帰直線の当てはまりを示すことが難しいことを指しています。
例えば相関係数が0.8であっても、決定係数は0.64になります。決定係数は必ず相関係数を下回ります。

実は、直線ではなく曲線を当てはめることも考えられますよね。
例えば、散布図を見たときに直線というよりはすこしカーブしている用に見えるとき、
そこで曲線を当てはめると決定係数が大きくなるのは当然です(当てはまりが良くなる)

 

標本は母集団平均を推定するために選ばれたデータ

 

講義では「世帯あたりの年間保険医療費」を扱っています。
全国には5千万の世帯がある。この5千万世帯の状況を調べたいとします。

しかし、もれなく調べるのは大変な作業であるため母集団の縮図となるような標本を選び出すのです。
これがアンケートや電話での調査です。標本の調査結果を使って母集団について推定を行うことができるからです。
これを「標本調査」と言います。

母集団分布の平均を知りたいと言っても全員を調べることは難しいですが、
標本として選んだ世帯については分布がわかり平均を計算できます(当然ですね)

つまり、選び出される標本が母集団の縮図となっていれば、
標本から計算した平均値を使って母集団の平均を推定することができる。
この値を「推定値」と言います。

 

この標本抽出という方法をするとデータは母集団と比較してどのくらい正確なのでしょうか。

確かに全員を調べているわけではないから完璧に正しいデータであるわけはありません。
そこで、標本調査の結果には推定値の正確さについての情報も示されています。

例えば、家計調査では標準誤差率というものが示されています。
標準誤差率とは、もし仮に別の標本を調べたら推定値はどのくらい変わるのか?ということを指しています。

推定値がこの値と殆ど変わらなければこの推定値は母集団平均に近いと考えられますし、
推定値が大きく変わればこの推定値は本当の母集団平均から大きくずれている可能性があるのです。

 

標本抽出を何度も繰り返したときに推定値がどのような分布になるか?
母集団の分布を母集団分布といい、標本平均の分布を「標本分布」という(≠標本9000世帯の医療費支出の分布)

ここがわかりにくいところなのですが、
あくまで「標本平均」の分布、つまり抽出されたデータ平均の分布が「標本分布」であって、
標本となっているデータの分布ではありません。

もう一回最初に立ち返って、当初の目的を考えると、
母集団全員を調べることは難しいから、母集団の平均を推定したいとき、
手元で抽出された標本の分布を持っていて推定したいのです。

だから、標本の平均はデータから計算できますよね(手元にあるデータだから)
こうした標本の平均をいくつも集めた、標本分布をグラフに書いてみると横軸は「年間医療費支出の標本平均」です。
この標本分布にも平均や分散がもとめられますね。標本分布の平均のことを「期待値」と言います。

そして、標本分布における標準偏差のことを「標準誤差」と言います。
標準誤差とは標本によって推定値がどのくらいばらつくのかということを表した値です。
推定値に対する標準誤差の比率は「標準誤差率」といいます。

 

かなり駆け足で説明してしまったのでどのように導くかということについては、
改めて図解できれば良いなと考えています。

ここで大切なことは以下のとおりです。

母集団分布の平均を知ることを目的として標本を抽出する
分布には3つある、「母集団分布」「標本の分布」「標本分布」
標本の平均値を推定値とする。この推定値の正確さを知るため標本分布を考えた

 

 

統計数値の精度を測るための信頼区間とは?

 

ちなみに、標本分布の平均である期待値は母集団平均に一致します。

標本の平均は母集団平均とはずれているかもしれませんが、本当の母集団平均よりも上にも下にもずれるので、
標本をたくさん集めてその平均をさらに平均すると母集団平均と一致しているはずだからです。

それでも、たくさんの世帯を調べればそれだけ標本の間で標本平均の違いは小さくなるはずですよね。
それは母集団と近くなるからです。

 

ちなみに母集団分布の形によらず標本サイズが大きい時、正規分布に近づくことが分かっています。
つまり、標本として調べる生体の数がある程度大きいと標本分布は左右対称になるのです。
これは「調べれば調べるほど正解に近づく」という感覚的にも当然と言えます。

 

平均を中心として左右に1標準偏差の範囲に全体の68%が含まれる
標準偏差を左右に1.96倍した範囲に全体の95%が含まれる
さらに、標準偏差の2.58倍に全体の99%が含まれます。

このあたりも「とりあえず今はそういうことなんだ」という理解で構いません。
すると、こういうことも推定できます。

例えば標準偏差が分かっているとした時、標準誤差を1.96倍した範囲を考えてみます。
この幅を推定した平均の上下につけてみると一定の区間(レンジ)がわかりますよね。

母集団平均が標本平均よりかなり小さくなったり、
かなり大きくなった場合は当然このレンジ(信頼区間)の中には含まれないこともあります。
でも、多くの場合には信頼区間の中に本当の母集団平均が含まれるはずです。

 

さて、統計分析でよく見る「信頼区間」という言葉がいつの間にか出てきましたね。
例えば「95%信頼区間とはなんでしょうか?」

先程も紹介したように、標本平均は母集団平均を中心として正規分布をすることが分かっています。
つまり、標本平均の95%はこの範囲に含まれるのです。

標準誤差を1.96倍した範囲を作ると本当の母集団平均はこの区間の中に含まれるはずです。
しかし、100回に5回位の割合で標本平均が母集団平均を含まない場合があります。
逆に言えば100回中95回は母集団平均を含む。これを95%信頼区間と表現しているのです。

 

つまり、標本平均の95%が母集団平均(本当の答え)を含むということです。
これは、95%正しいという意味ではありません。
あくまで、

標本を何度も何度も抽出した標本平均で作られた分布のうち、
95%は母集団の平均を含む
ということしか表していません。

 

このあたりの言葉の言い回しは厳密にしようとすればするほど理解が難しくなりますよね。
色々すっ飛ばして重要なポイントだけ説明していただいてますが、
本当はひとつひとつ具体的な数値を使って計算してみないと腑に落ちないかもしれません。

それでも何回も見直したりして私も食らいついて行こうと思いますので、
みなさんもぜひ、社会人のためのデータサイエンス入門を受講してみて下さい!