統計的検定

カイ二乗検定とは?使い方とRでの実装!

こんにちは!

消費財メーカーでデジタルマーケとかデータサイエンスみたいなことをやっているウマたん(@statistics1012)です。

ある事象の仮説を数理的に確かめるために行われる統計的検定。

統計学の基本であり、様々なところで用いられている現場でも有用な手法です。

そんな統計的検定にはいくつか種類がありますが、この記事では実務で使われることの多いカイ二乗検定について見ていきたいと思います。

統計的検定については以下の記事をご覧ください!

統計的検定とは?具体例と種類について見ていこう! アカデミックの世界でもビジネスの世界でも、ある事象に対して仮説を検証する時には必ず統計的検定を行います。 統計的検定を行わ...
ウマたん
ウマたん
カイ二乗検定はデジタルマーケティングの世界でよく使われる手法だよ!

まずはじめにカイ二乗検定の理論を見ていき、最終的にはRで実装行っていきます!

カイ二乗検定とは?

カイ二乗検定は一見難しそうな検定なのですが、概念自体は非常に簡単。

具体的な例を挙げて見ていきましょう!

あるメールABの効果を確かめるためにランダムに振り分けたセグメントに配信を行いました。結果は以下の通り。

クリックしなかった数 クリックした数 配信数
メールA 950 60 1010
メールB 450 40 490
合計 1400 100 1500

※クリック数はメールからURLをクリックしてWebサイトへ遷移した数と定義します。ここで開封率やCV数としてもよいでしょう。

この時メールAとメールBでどちらの方が良いと言えるでしょうか?それとも、違いがあるとは言えないのでしょうか?

ウマたん
ウマたん
うーーん、なんとなくメールBの方が良い気がするけど・・・

ここでカイ二乗検定の出番になります。

カイ二乗検定の計算方法

先ほどの例の場合、どのような計算を行ってカイ二乗検定の計算を行っていくのでしょうか?

簡単に見ていきます。そもそもABのメールに違いがなかったとしたらどうなるでしょう?

合計で1500通送ったうち100通がクリックされているわけですから、AもBも15分の1がクリックされることになるはず。

計算してみると・・・

Aは1010×(1/15)=67.3
Bは490×(1/15)=32.7

でも実際のところはAが60通で、Bが40通となっています。これがたまたま誤差の範囲なのかそれとも決定的な違いがあるのかをカイ二乗検定により見ていくことになるわけです。

この差を以下の式で計算します。

$$ \frac{{\sum}(期待値-実測値)}{期待値} $$

すなわちこの場合は、クロス集計表の4セル全ての期待値を算出してそれぞれの実測値との値のズレの2乗を期待値で割ったものを全て足し合わせていきます。

$$ \frac{(67.3-60)}{67.3}+・・・ $$

この結果がカイ二乗値となり、カイ二乗値をp値に変換することで有意差があるかどうか判定ができます。

メールA=メールBという仮定(帰無仮説)の下、計算を行うと今回観測された数値が生じるのは何%なのか算出ができるわけです。それがあまりにも小さいと有意差あり!と判定されるのですね。

有意差については以下の記事をご参照ください。

有意差とは?簡単な例で見ていこう! 統計学において頻繁に登場する有意差という概念。 実際にビジネスの現場で使われていることも多々ありますが、しっかりと有意差と...

カイ二乗検定をRで実装してみよう!

カイ二乗検定について理解が深まったところで、実際にRを使って解析してみましょう!

カイ二乗検定の実装はめちゃくちゃ簡単なので、ガンガン使って行きましょう!

ウマたん
ウマたん
ネットの無料ツールやExcelでも出来るけど、RやPythonを使えた方が応用が利くから是非使ってみよう!

笑っちゃうくらい、シンプルなコードでカイ二乗検定ができました!

先ほどの例を行列でクロス表にしてchisq.testで検定を行います。

結果は以下のようになりました!

data: ABtest
X-squared = 2.2745, df = 1, p-value =
0.1315

p値は0.13となっており、0.05より大きいため有意とは言えないという結果になりました。

非常に簡単にカイ二乗検定が実装できることが分かっていただけたでしょうか?

是非使ってみてください。

カイ二乗検定 まとめ

カイ二乗検定についてまとめてきました。

カイ二乗検定は実務で活躍することの多い手法であり、簡単に実装できれば一目置かれること間違いなしです!

ちなみにカイ二乗検定を実際に行うWebアプリケーションをPythonで作る方法を以下の記事でまとめていますのでよければご覧ください!

PythonのFlaskで簡単なWebアプリケーションを作ってみよう!こんにちは!デジタルマーケターのウマたん(@statistics1012)です! WebブラウザでアプリケーションのことをWebア...

検定は統計学の基本のキでありながら奥が深くしっかり理解しておく必要があります。

検定まわりのお話は以下の書籍がオススメです。是非目を通してみてください!

■入門 統計解析法

統計学の基本を理解するのにうってつけの本です。基本的に高校レベルの数学ができれば問題なく理解できるレベル。大学生1~2年生の時に非常にお世話になりました。

■統計学入門(基礎統計学)

東大出版から出ている名著です。

赤本と呼ばれ慣れ親しまれています。レベル的には中級者~上級者で、1冊持っておくと、なにかと便利な1冊です。

カイ二乗検定を理解して実装してみて統計学の門をたたきましょう!

カイ二乗検定以外にもいくつかの統計的検定があります。統計的検定については以下の記事で詳しくまとめていますので是非ご覧ください。

統計的検定とは?具体例と種類について見ていこう! アカデミックの世界でもビジネスの世界でも、ある事象に対して仮説を検証する時には必ず統計的検定を行います。 統計的検定を行わ...