勉強 7日目
3変数の関連は統計分析で重要であり,そのうち
といった重要概念について学習する。
ただの「関係性」から原因と結果の「因果関係」へと議論をシフトすることで,「なぜそのような関連があるのか」という因果関係・原因・メカニズムを探求する。
因果関係の条件
媒介関係や疑似相関関係を分析するには,第3変数の影響を取り除くと,2つの関連はどうなるかを確認する。 これをコントロールするや統制するという。
変数により分析方法の違い
変数\(z\)をコントロールした上で,変数\(x\)と\(y\)の偏相関係数は次のように定義される。
\[ r_{xy\cdot z} = \frac{r_{xy} - r_{xz}r_{yz}}{\sqrt{1 - r_{xz}^2} \sqrt{1 - r_{yz}^2}} \]
練習用データattitude
を用いて,偏相関係数の計算を行う。
d9 <- data.frame(attitude)
attach(d9)
上司に対する総合的な評価(rating
)は,上司が成果に応じて昇進を認めてくれるかどうかについて評価(raises
)で決まる,という仮説を考えてみる。 まず,cor.test()
を用いて相関係数の検定を行う。
cor.test(rating,raises)
Pearson's product-moment correlation
data: rating and raises
t = 3.8681, df = 28, p-value = 0.0005978
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.2919385 0.7837714
sample estimates:
cor
0.590139
分析の結果,0.590139と高い相関があることが分かる。 しかし,他の第3の変数の存在を見落としている可能性もある。 そこで,全変数の相関行列をみてみる。
cor(d9)
rating complaints privileges learning raises
rating 1.0000000 0.8254176 0.4261169 0.6236782 0.5901390
complaints 0.8254176 1.0000000 0.5582882 0.5967358 0.6691975
privileges 0.4261169 0.5582882 1.0000000 0.4933310 0.4454779
learning 0.6236782 0.5967358 0.4933310 1.0000000 0.6403144
raises 0.5901390 0.6691975 0.4454779 0.6403144 1.0000000
critical 0.1564392 0.1877143 0.1472331 0.1159652 0.3768830
advance 0.1550863 0.2245796 0.3432934 0.5316198 0.5741862
critical advance
rating 0.1564392 0.1550863
complaints 0.1877143 0.2245796
privileges 0.1472331 0.3432934
learning 0.1159652 0.5316198
raises 0.3768830 0.5741862
critical 1.0000000 0.2833432
advance 0.2833432 1.0000000
すると,上司に対する総合的な評価(rating
)は他の変数とも高い相関があることが分かる。 そこで,「上司が研修の機会を与えてくれるかどうか(learning
)を追加して,分析してみる。
cor.test(raises,learning) # 成果昇進と研修機会
Pearson's product-moment correlation
data: raises and learning
t = 4.4111, df = 28, p-value = 0.0001384
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.3640191 0.8130294
sample estimates:
cor
0.6403144
cor.test(rating,learning) # 上司への評価と研修機会
Pearson's product-moment correlation
data: rating and learning
t = 4.2219, df = 28, p-value = 0.0002311
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.3397475 0.8034243
sample estimates:
cor
0.6236782
偏相関係数を計算する。
#install.packages("ppcor")
library(ppcor)
pcor.test(rating,raises,learning)
estimate p.value statistic n gp Method
1 0.3177593 0.09300174 1.741379 30 1 pearson
つまり研修機会をコントロールした後の,成果に応じた昇進と上司の総合的評価との偏相関係数は,0.3177593となり,前に計算した相関係数0.590139と比べて小さな値となり,研修機会の提供が影響を与えていることがわかる。
上記の分析で,learning
の代わりにprivileges
を用いて再検証してみる。
まずは,rating
,raises
とprivileges
の相関係数を計算してみる。
cor.test(raises,learning) # 成果昇進と研修機会
Pearson's product-moment correlation
data: raises and learning
t = 4.4111, df = 28, p-value = 0.0001384
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.3640191 0.8130294
sample estimates:
cor
0.6403144
cor.test(rating,learning) # 上司への評価と研修機会
Pearson's product-moment correlation
data: rating and learning
t = 4.2219, df = 28, p-value = 0.0002311
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.3397475 0.8034243
sample estimates:
cor
0.6236782
次に,「部下をえこひいきしないことへの評価」を表すprivileges
をコントロールした場合の,成果昇進と上司に対する総合的評価の偏相関係数を計算する。
pcor.test(rating,raises,privileges)
estimate p.value statistic n gp Method
1 0.4942488 0.006425654 2.954252 30 1 pearson
偏相関係数は0.494となり,えこひいきしないことも少しは影響しているが,成果昇進と上司に対する総合的評価の関係に強い影響を与えているわけではない。
#install.packages("lavaan")
#install.packages("semPlot")
library(lavaan)
library(semPlot)
# 回帰
res1 <- lm(rating ~ raises*privileges, data = d9)
#res2 <- lm(rating ~ privileges, data = d9)
res3 <- lm(privileges ~ raises, data = d9)
# パス図を描画
semPaths(res1 + res3, "model", "est", intercepts = FALSE)