Python

偏相関係数の求め方!相関係数との違いについてわかりやすく!

偏相関係数 アイキャッチ
記事内に商品プロモーションを含む場合があります
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、偏相関係数について解説してきます。偏相関係数とは「ある変数の影響を除去したうえでの2変数の相関係数」と定義されています。ある変数の影響があると、2変数の相関係数に何かしらの影響を与えることがあります。したがってデータの関係性を見る際は変数の関係性に注意する必要があります。今回は偏相関係数の定義と相関係数との違いについて解説します!

こんにちは!

データサイエンティストのウマたん(@statistics1012)です!

今回は偏相関係数について解説していきます!偏相関係数とは「ある変数の影響を除去したうえでの2変数の相関係数」と定義されています。統計学を勉強している際に出てくる単語として疑似相関を聞いたことがあると思いますが、これこそ、ある変数の影響を受けてしまって相関係数が正しく推定できない例となります!

ウマたん
ウマたん
偏相関係数は疑似相関といった問題を解決してデータの関係性を正しく見せるものなんだ!この記事でしっかり学んでいこう!

この記事では、偏相関係数の定義と相関係数の違いについて解説します!

・偏相関係数について解説!
・相関係数との違いについて解説!
・Pythonで偏相関係数を見てみよう!

偏相関係数について解説!

quiz

偏相関係数とは「ある変数の影響を除去したうえでの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で偏相関係数を見てみよう!

stories pc

実際に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と全く相関のない変数同士であることがわかりました!

偏相関係数 まとめ

Happy

本記事では偏相関係数についてまとめました!

偏相関係数だけでなく、相関係数と因果関係の違いについても学ぶと良いでしょう!

相関関係 因果関係
相関関係と因果関係の違いについて例を挙げながら簡単に解説していく!当サイト【スタビジ】の本記事では、相関関係と因果関係の違いについて具体的な例を挙げながら分かりやすく簡単に解説していきます。相関関係と因果関係はビジネスシーンでつきまとう非常に重要な概念。違いについて明確に理解しておきましょう!...

このようなデータサイエンスの力を身に付けるためにはスタビジの記事やスクールを活用すると良いでしょう。

そして僕の経験を詰め込んだデータサイエンス特化のスクール「スタアカ(スタビジアカデミー)」を運営していますので,興味のある方はぜひチェックしてみてください!

AIデータサイエンス特化スクール「スタアカ」

スタアカトップ
【価格】ライトプラン:1280円/月
プレミアムプラン:149,800円
【オススメ度】
【サポート体制】
【受講形式】オンライン形式
【学習範囲】データサイエンスを網羅的に学ぶ
実践的なビジネスフレームワークを学ぶ
SQLとPythonを組み合わせて実データを使った様々なワークを行う
マーケティングの実行プラン策定
マーケティングとデータ分析の掛け合わせで集客マネタイズ

データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!!

当メディアが運営するスクールです。

24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します!

カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!

他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。

そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解なども合わせて学べるボリューム満点のコースになっています!

Pythonが初めての人でも学べるようなカリキュラムしておりますので是非チェックしてみてください!

ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったり・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践してもらったりする盛りだくさんの内容になってます!

・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ

データサイエンスに関する記事はこちら!

統計学入門に必要な知識と独学勉強方法を簡単に学ぼう!当ブログ【スタビジ】の本記事では、統計学入門に必要な知識をカンタンにまとめ、それらをどのように効率的に独学で勉強していけばよいかをお話ししていきます。統計学は難しいイメージが少しありますが、学び方をしっかり考えれば大丈夫!...
デーサイエンス本
【データサイエンティスト厳選18冊】データサイエンスを学ぶ上でオススメな本・教材!当ブログ【スタビジ】の本記事では、データサイエンスを学ぶ上でオススメできる本を厳選して紹介していきます。ここではデータサイエンティストになるために習得するスキルをデータサイエンスと称しております。いくつかの観点に切り分けて見ていきます。...

データサイエンスを勉強できるスクールやサイトは、ぜひこちらを参考にしてみてください!

データサイエンティスト スクール
【徹底比較】データサイエンティストのための学習ができるスクール9選! スクール名 オススメ度 価格の安さ サポート体制 公式サイト テックアカデミー ...
スタビジアカデミーでデータサイエンスをさらに深く学ぼう!

スタアカサービスバナースタビジのコンテンツをさらに深堀りしたコンテンツが動画と一緒に学べるスクールです。

プレミアムプランでは私がマンツーマンで伴走させていただきます!ご受講お待ちしております!

スタビジアカデミーはこちら