猫も杓子も構造化

発達障害、特別支援などについて書いています。最近は心理学関係の内容が多めです。

ある独立変数の影響を取り除く話

以前の記事、公立特別支援学校教員の平均勤続年齢と平均給与月額のグラフを描いた。

散布図にラベルをつけて遊んでみる - 猫も杓子も構造化

そこでは、平均勤続年数が長い都道府県ほど、平均月額給与が高いという至極当然の結果であった。
今回はその延長線のような話。

勤続年数の影響を取り除いた上で、給与が高い都道府県を知りたいとする。

回帰分析では、従属変数yを、独立変数xと完全に相関する部分(予測値)xとは完全に無相関の部分(残差)の2つに分解をしている訳なので、残差を取り出せばある変数の影響を取り除くことができるはずである。

というわけで、前回のデータを加工してみる。

とりあえず回帰モデルから残差のデータを作る。

> 回帰結果 <- lm(平均給与月額 ~ 平均勤続年数)
> 残差 <- residuals(回帰結果)

当然、残差と平均勤続年数の相関は0になる。

> cor(残差,平均勤続年数)

その後の作業を見やすくするために、都道府県と残差のデータフレームを作って、order関数で並べ替える。

> 都道府県と残差 <- data.frame(都道府県,残差)
> 都道府県と残差[order(都道府県と残差$残差), ]

で出てきたのがこの順番。

   都道府県         残差
38  愛   媛 -22.62874924
25  滋   賀 -22.03543718
42  長   崎 -17.71294516
40  福   岡 -16.88999525
20  長   野 -15.91871732
26  京   都 -13.39956927
8   茨   城 -11.30625721
41  佐   賀  -9.30245535
32  島   根  -8.80002716
19  山   梨  -8.57084720
3   岩   手  -6.75124126
47  沖   縄  -6.13255110
43  熊   本  -5.52251918
16  富   山  -5.33497929
12  千   葉  -4.48710917
17  石   川  -4.38330730
10  群   馬  -3.93163532
1    北海道  -3.82251918
46   鹿児島  -2.39045314
35  山   口  -1.86993142
44  大   分  -1.84789729
45  宮   崎  -1.82874924
30   和歌山  -1.69668319
39  高   知  -1.30579932
29  奈   良   0.06790679
22  静   岡   0.22246486
21  岐   阜   0.33872683
24  三   重   0.78128268
18  福   井   0.79085670
6   山   形   0.81334873
11  埼   玉   1.38416876
14   神奈川   1.84541477
28  兵   庫   3.43295467
7   福   島   5.66456282
33  岡   山   6.53918472
36  徳   島   6.73538286
9   栃   木   7.03249677
27  大   阪   7.35453090
31  鳥   取  10.14541477
34  広   島  11.32626672
23  愛   知  14.99997284
2   青   森  15.67748082
4   宮   城  16.56547860
37  香   川  19.39420068
13  東   京  19.91912089
5   秋   田  20.90954686
15  新   潟  25.92961069

平均勤続年数の影響を取り除いた上で、給与が高いのは新潟らしい。
だから、なんだという話ではあるのだが。


参考にしたサイト
統計的消去で擬似相関を見抜こう! - ほくそ笑む
ああああ: R: sort と order の違い