こんにちは!
データサイエンティストのウマたん(@statistics1012)です!
今回は偏相関係数について解説していきます!偏相関係数とは「ある変数の影響を除去したうえでの2変数の相関係数」と定義されています。統計学を勉強している際に出てくる単語として疑似相関を聞いたことがあると思いますが、これこそ、ある変数の影響を受けてしまって相関係数が正しく推定できない例となります!
この記事では、偏相関係数の定義と相関係数の違いについて解説します!
統計学の用語やその他のAI用語を一挙にまとめた以下の記事も合わせて要チェックです!
・偏相関係数について解説!
・相関係数との違いについて解説!
・Pythonで偏相関係数を見てみよう!
以下のYoutube動画でも解説していますので合わせてチェックしてみてください!
偏相関係数について解説!
偏相関係数とは「ある変数の影響を除去したうえでの2変数の相関係数」と定義されています。
このような例題を考えてみましょう!
この時、「足の遅さ」は「年収」と高い相関係数があるため「そうか!足を遅くすれば年収が上がるんだ!」となるのは少し早計です。
図を見るとわかる通り、「年齢」は「年収」「足の遅さ」両方と比例しているのでこちらは妥当であると考えられます!したがって「足の遅さ」が「年収」と相関がある原因は、他の変数同士の相関係数の影響を受けていることになります!
したがってこのような状況では、相関係数の推定が正確にできないことがわかりますね!この解決策が偏相関係数なのです!
\(r_{xy・z}=\frac{r_{xy}-r_{xz}r_{yz}}{\sqrt{1-r^{2}_{xz}}\sqrt{1-r^{2}_{yz}}}\)
この式に各変数同士の相関係数を代入してみましょう!そうすると…
\(r_{足の遅さ、年収・年齢}=\frac{0.7-0.8×0.9}{\sqrt{1-0.8^{2}}\sqrt{1-0.9^{2}}}=-0.111\)
このように「年収」と「足の遅さ」の偏相関係数はかなり低いことがわかりましたね!
Pythonで偏相関係数を見てみよう!
実際にPythonで偏相関係数を見てみましょう!
今回は正規分布に従う変数\(x\)を作成し、\(y,z = 10x + e\)といった2変数を作成します。\(e\)はノイズを示しており、一様分布U(-1,1)に従うものとします。
したがって本来であれば\(y\)と\(z\)に関係性はないはずです!実際に見ていきましょう!
またPingouinパッケージのpcorr関数を用いて、偏相関係数を算出します!
import numpy as np
import pandas as pd
import pingouin as pg
x = np.random.randn(10000)
y = 10*x + np.random.uniform(-1,1,10000)
z = 10*x + np.random.uniform(-1,1,10000)
df = pd.DataFrame({"x":x,"y":y,"z":z})
print("相関係数:\n{}".format(df.corr()))
print("偏相関係数:\n{}".format(pg.pcorr(df)))
相関係数を見てみると\(y\)と\(z\)の相関係数は0.966とほぼ1に近い相関係数になりますが、偏相関係数で見ると0.001と全く相関のない変数同士であることがわかりました!
偏相関係数 まとめ
本記事では偏相関係数についてまとめました!
偏相関係数だけでなく、相関係数と因果関係の違いについても学ぶと良いでしょう!
このようなデータサイエンスの力を身に付けるためにはスタビジの記事やスクールを活用すると良いでしょう。
そして僕の経験を詰め込んだデータサイエンス特化のスクール「スタアカ(スタビジアカデミー)」を運営していますので,興味のある方はぜひチェックしてみてください!
AIデータサイエンス特化スクール「スタアカ」
【価格】 | ライトプラン:1280円/月 プレミアムプラン:149,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【学習範囲】 | データサイエンスを網羅的に学ぶ 実践的なビジネスフレームワークを学ぶ SQLとPythonを組み合わせて実データを使った様々なワークを行う マーケティングの実行プラン策定 マーケティングとデータ分析の掛け合わせで集客マネタイズ |
データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!!
当メディアが運営するスクールです。
24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します!
カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!
他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。
そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解なども合わせて学べるボリューム満点のコースになっています!
Pythonが初めての人でも学べるようなカリキュラムしておりますので是非チェックしてみてください!
ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったり・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践してもらったりする盛りだくさんの内容になってます!
・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ
データサイエンスに関する記事はこちら!
データサイエンスを勉強できるスクールやサイトは、ぜひこちらを参考にしてみてください!