体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

統計的消去で擬似相関を見抜こう!

統計的消去で擬似相関を見抜こう!

今回はhoxo_mさんのブログ『ほくそ笑む』からご寄稿いただきました。
※すべての画像が表示されない場合は、http://getnews.jp/archives/381597をごらんください。

統計的消去で擬似相関を見抜こう!

今日は初心者向け記事です。

はじめに

ある範囲の年齢の小学生32人を無作為に選び、算数のテストを受けてもらい、さらにその身長を測定しました。

身長に対する算数の点数のグラフは次のようになりました。

統計的消去で擬似相関を見抜こう!

(画像が見られない方は下記URLからご覧ください)
http://px1img.getnews.jp/img/archives/2013/07/24.jpg

なんと、身長の高い子供の方が、算数の点数が高いという結果になりました!

身長が算数の能力に関係しているなんて、すごい発見です!

しかしながら、結論から言うと、この結果は間違っています。

なぜなら、抽出したのは「ある範囲の年齢の小学生」であり、年齢の高い子も低い子も含まれているからです。

年齢が高いほど算数能力は高くなり、年齢が高いほど身長も高くなることは容易に推測できます。

この関係を図で表すと次のようになります。

統計的消去で擬似相関を見抜こう!

(画像が見られない方は下記URLからご覧ください)
http://px1img.getnews.jp/img/archives/2013/07/32.jpg

つまり、年齢と算数能力に相関があり、年齢と身長にも相関があるため、身長と算数能力にも見かけ上の相関が見えているのです。

このような相関を擬似相関と言います。

統計解析では、このような擬似相関に騙されてしまうと、誤った結論を導いてしまいます。

今日は、擬似相関に騙されないために、疑似相関を見抜く統計的テクニックについて説明しようと思います。

データの準備

まずはデータの準備です。

データとしては上で説明したものを使用します。

data <- read.table("http://dl.dropboxusercontent.com/u/432512/20130708/SchoolChildrensMaths.txt", header = TRUE) head(data)

## AMA YEARS HGT
## 1 10.31 5.0 129.4
## 2 10.77 5.2 129.5
## 3 10.16 5.4 131.8
## 4 11.73 5.6 130.5
## 5 12.20 5.8 130.7
## 6 11.40 6.0 134.3

算数の平均点数(AMA)、年齢(YEARS)、身長(HGT)が入ったデータです。

プロットしてみると、すべての変数間に相関が見られます。

pairs(data, pch = 19)

統計的消去で擬似相関を見抜こう!

(画像が見られない方は下記URLからご覧ください)
http://px1img.getnews.jp/img/archives/2013/07/42.jpg

このようなデータから、どのようにして疑似相関を見抜けばよいでしょうか?

擬似相関を見抜くには

擬似相関を見抜くには、統計的消去(statistical elimination)を行います。

統計的消去とは、解析結果からある変数の影響を取り除くことです。

具体的に見ていきましょう。

今、身長と算数能力の関係を見たいとします。

ただし、これらの変数は年齢に影響されますので、年齢の影響を取り除いて、純粋な2変数間だけの関係を見たいのです。

ここで、次のように考えてみます。

もし、年齢に対する標準身長というものがわかれば、身長から標準身長を引いたもの(残差)というのは、年齢に影響されない身長データと見なすことができるのではないでしょうか。

これは算数能力についても言えるので、そうやって計算された2つの残差間の関係を見れば、年齢の影響を取り除いた上で解析をしているのと同じことになります。

そこで、まずは年齢に対する標準身長を回帰分析で求めてみます。

par(mfrow = c(1, 2))
model1 <- lm(HGT ~ YEARS, data) plot(HGT ~ YEARS, data, xlab = "Years", ylab = "Height", pch = 19) abline(model1) resid1 <- residuals(model1) plot(resid1 ~ YEARS, data, xlab = "Years", ylab = "Height(Residuals)", pch = 19) abline(h = 0)

統計的消去で擬似相関を見抜こう!

(画像が見られない方は下記URLからご覧ください)
http://px1img.getnews.jp/img/archives/2013/07/51.jpg

左図は回帰直線、右図は残差です。

右図は左図の回帰直線を水平になるまで回転させたものだと思ってください。

1 2次のページ
生活・趣味
寄稿の記事一覧をみる

記者:

ガジェット通信はデジタルガジェット情報・ライフスタイル提案等を提供するウェブ媒体です。シリアスさを排除し、ジョークを交えながら肩の力を抜いて楽しんでいただけるやわらかニュースサイトを目指しています。 こちらのアカウントから記事の寄稿依頼をさせていただいております。

TwitterID: getnews_kiko

  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。