Multivariate Regression Analysis (多変量回帰分析)に関するメモです。
多変量回帰にもいろいろあるようですが、ここでは「独立変数は同じだが従属変数が複数あるケース」を想定しています。
統計ソフトによる分析例
Mplus
Mplus Data Analysis Examples Multivariate Regression Analysis
Mplusによる分析例と検定の方法が掲載されている。
多変量回帰分析のイメージをつかむためには有効。ただし、分析方法しか載っていないので、背後にある理屈については別に勉強する必要がある。
Stata
Stata Data Analysis Examples Multivariate Regression Analysis
Stata版。先ほどと同じデータを使っている。Mplusよりこちらのほうが手順がやや丁寧。ただし、やはり細かい理屈は説明されていない。
R
Multivariate Linear Models in R(PDF)
Rによる解説。ある程度、数式も使って説明されている。
Multivariate multiple regression
Rによるコード。ほとんど説明はない。
Multivariate multiple regression in R
manovaとcar package内にあるManovaを使用した際に、なぜ出力がちがうのかを説明している。上記のサイトでサラッと流されている点を丁寧に解説してくれている。
Rによる分析
RでStataやMplusによる分析結果を再現してみる。
# データの準備 mvreg <- read.table("http://www.ats.ucla.edu/stat/mplus/dae/mvregex.dat", sep=",") names(mvreg) <- c("locus", "self", "motiv", "read", "write", "science", "prog", "prog1", "prog2", "prog3") mvreg$prog <- factor(mvreg$prog1 + 2 * mvreg$prog2 + 3 * mvreg$prog3) # car packageを使う library(car) # 多変量回帰 mod.mvreg <- lm(cbind(locus, self, motiv) ~ read + write + science + prog, data=mvreg) # 係数の出力 mod.mvreg summary(mod.mvreg) # 検定1 manova.mvreg <- Anova(mod.mvreg) summary(manova.mvreg) # 検定2。1と同じになる summary(Manova(mod.mvreg)) linearHypothesis(mod.mvreg, "read=0", verbose=TRUE)
文献
細かい理屈がわからないので、いろいろ読んでみる。感想は日をあらためて書く予定。