今回も比較的簡単な内容であるが、ダミー変数を使用した回帰分析について記録しておく。
ダミー変数は例えば、男女をそれぞれ0,1と与えたものである。性別の水準(level)は男と女の2つであり、ダミー変数は1つで良い。
一方で、「低」「中」「高」のように3水準あるものは「水準数-1」のダミー変数を必要とする。
今回は52名の大学教員の「地位」「在職年数」「給与(ドル)」の3つの変数が収録されているデータ(参考文献『回帰分析入門』より)を使用して、3値以上のカテゴリカルデータのダミー変数の置き方とその解析をする。
データを軽く見ると、こんな感じである。
tii gensyoku salary 1 教授 25 36350 2 教授 13 35350 3 教授 10 28200 4 教授 7 26775 5 教授 19 33696 6 教授 16 28516
このデータの「tii(地位)」に基づいて、下記の通りにダミー変数化する。
すると、データにd1とd2のダミー変数のカラムが出来上がる。
salary$d1[salary$tii!="助教"]<- 0 salary$d1[salary$tii=="助教"]<- 1 salary$d2[salary$tii!="講師"]<- 0 salary$d2[salary$tii=="講師"]<- 1
こんな感じでコーディングされる。
tii gensyoku salary d1 d2 15 教授 9 25748 0 0 16 教授 7 29342 0 0 17 教授 13 31114 0 0 18 助教 11 24742 1 0 19 助教 10 22906 1 0 20 教授 6 24450 0 0 21 講師 16 19175 0 1 22 助教 8 20525 1 0 23 教授 7 27959 0 0 24 教授 8 38045 0 0 25 助教 9 24832 1 0
ここで、回帰分析をすると、それぞれの結果は下記の通りになると言える。(教授と助教は、教授と講師はだけ給与が異なるという解釈になる)
教授の場合
助教の場合
講師の場合
summary(lm(salary ~ gensyoku + d1 + d2, data=salary)) Call: lm(formula = salary ~ gensyoku + d1 + d2, data = salary) Residuals: Min 1Q Median 3Q Max -3462.0 -1302.8 -299.2 783.5 9381.6 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 25657.79 926.81 27.684 < 2e-16 *** gensyoku 375.70 70.92 5.298 2.90e-06 *** d1 -5192.24 871.83 -5.956 2.93e-07 *** d2 -9454.52 905.83 -10.437 6.12e-14 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 2402 on 48 degrees of freedom Multiple R-squared: 0.8449, Adjusted R-squared: 0.8352 F-statistic: 87.15 on 3 and 48 DF, p-value: < 2.2e-16
このような結果となり、d1は助教の場合のみなので、これは教授と比較して5192ドル少ないことを意味する。
同様に、d2を見ると、これは講師が9454ドル安いことを意味している。
ちなみに在職年数は1年増えると、375ドル上がるようである。
この方法を用いなくても
summary(lm(salary ~ gensyoku + tii, data = salary)) Call: lm(formula = salary ~ gensyoku + tii, data = salary) Residuals: Min 1Q Median 3Q Max -3462.0 -1302.8 -299.2 783.5 9381.6 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 25657.79 926.81 27.684 < 2e-16 *** gensyoku 375.70 70.92 5.298 2.90e-06 *** tii講師 -9454.52 905.83 -10.437 6.12e-14 *** tii助教 -5192.24 871.83 -5.956 2.93e-07 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 2402 on 48 degrees of freedom Multiple R-squared: 0.8449, Adjusted R-squared: 0.8352 F-statistic: 87.15 on 3 and 48 DF, p-value: < 2.2e-16
この方法でいいんじゃないかと思います。
20160508
RF