PIAACデータ解析

労働時間と知的好奇心に強い負の相関があるというツイートがあり,それに対して疑問の声があった。

OECDのPIAACのページからデータをダウンロードしてみる。CSVだと国別31ファイルに分かれている。OECDサイトからのダウンロードが非常に重いので,念のため圧縮してまとめたものをこのサイトに置いておく(piaac.zip)。

まずこれを cat prg*.csv > all.csv のようにして一つにまとめてRで読む。

> library(data.table)
> data = fread("all.csv")
Read 200618 rows and 1328 (of 1328) columns from 0.656 GB file in 00:03:31
 50 件以上の警告がありました (最初の 50 個の警告を見るには warnings() を使って下さい) 
> object.size(data)
3512730392 bytes
> dim(data)
[1] 200618   1328

メモリ3.5Gを占める大きなデータである。

冒頭の問題に関係すると思われる変数は次の二つである:

これらを数値として別の変数に収め,箱ひげ図を描いてみる:

> wh = as.numeric(data$D_Q10)  # 週あたり仕事時間
> ll = as.numeric(data$I_Q04d) # 新しいことを学ぶのが好き
boxplot(wh ~ ll)

まったく相関がないように見える。ただ,強引に相関係数を求めて検定してみると,

> cor.test(wh, ll)

	Pearson's product-moment correlation

data:  wh and ll
t = -8.2082, df = 127970, p-value = 2.265e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.02841479 -0.01746276
sample estimates:
        cor 
-0.02293946 

-0.02 という非常に小さな負の相関があり,非常に小さいにもかかわらずp値はほぼ0で非常に有意である。このあたりが大量のデータを扱う上での落とし穴である。

この落とし穴をもうちょっと詳しく調べてみよう。例えば日本(392)だけに限って調べる。

> cntry = as.numeric(data$CNTRYID)
> boxplot(wh[cntry==392] ~ ll[cntry==392])
> cor.test(wh[cntry==392], ll[cntry==392])

	Pearson's product-moment correlation

data:  wh[cntry == 392] and ll[cntry == 392]
t = 2.575, df = 3848, p-value = 0.01006
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.009897807 0.072968199
sample estimates:
       cor 
0.04147432 

やはり目で見ても顕著ではないが,正の小さな相関 0.04 があり,p = 0.01 で有意である。

では,知的好奇心が労働時間と国の両方に関係しているというモデルで調べてみよう。

> summary(lm(ll ~ wh + factor(cntry)))

Call:
lm(formula = ll ~ wh + factor(cntry))

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2990 -0.4787  0.0961  0.7243  1.8896 

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)       3.785101   0.016566 228.482  < 2e-16 ***
wh                0.001243   0.000180   6.904 5.08e-12 ***
factor(cntry)124  0.043631   0.016299   2.677 0.007431 ** 
factor(cntry)152 -0.458062   0.020939 -21.876  < 2e-16 ***
factor(cntry)196  0.398174   0.022319  17.840  < 2e-16 ***
...

労働時間が1時間増えるごとに知的好奇心は 0.001 増える。非常に有意(p = 5e-12)である。

これらは個人レベルの話であるが,国レベルではどうなるか。

> whc = tapply(wh, factor(cntry), function(x)mean(x,na.rm=TRUE))
> llc = tapply(ll, factor(cntry), function(x)mean(x,na.rm=TRUE))
> plot(whc, llc)
> cor.test(whc, llc)

	Pearson's product-moment correlation

data:  whc and llc
t = -3.7742, df = 28, p-value = 0.0007672
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.7781612 -0.2787273
sample estimates:
       cor 
-0.5806858 

驚くべきことに,国レベルでは -0.58 という非常に大きな負の相関があり,非常に有意(p < 0.001)である。散布図からもよくわかる。

結論:国レベルでは,労働時間が増えるほど知的好奇心は減る。個人レベルでは,労働時間が増えるほど知的好奇心は増える。

要するにSimpsonのパラドックスである。国レベルと個人レベルの混同はEcological Fallacy(生態学的誤謬)とも呼ばれる。地域の大人に勉強を教えてもらうと成績が下がる?も参照。