ある独立変数の影響を取り除く話
以前の記事、公立特別支援学校教員の平均勤続年齢と平均給与月額のグラフを描いた。
そこでは、平均勤続年数が長い都道府県ほど、平均月額給与が高いという至極当然の結果であった。
今回はその延長線のような話。
勤続年数の影響を取り除いた上で、給与が高い都道府県を知りたいとする。
回帰分析では、従属変数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
平均勤続年数の影響を取り除いた上で、給与が高いのは新潟らしい。
だから、なんだという話ではあるのだが。