R의 다변량 다중 회귀


68

각각의 점수가 7 개의 독립 변수 (IV)에 의해 영향을받을 수있는 2 개의 종속 변수 (DV)가 있습니다. DV는 연속적이며 IV 세트는 연속 및 이진 코드 변수의 혼합으로 구성됩니다. (아래 코드에서 연속 변수는 대문자로 작성되고 이진 변수는 소문자로 작성됩니다.)

이 연구의 목적은 이러한 DV가 IV 변수에 의해 어떻게 영향을 받는지 알아내는 것입니다. 다음과 같은 다변량 다중 회귀 (MMR) 모델을 제안했습니다.

my.model <- lm(cbind(A, B) ~ c + d + e + f + g + H + I)

결과를 해석하기 위해 다음 두 문장을 호출합니다.

  1. summary(manova(my.model))
  2. Manova(my.model)

두 통화의 출력은 아래에 붙여져 있으며 크게 다릅니다. 누군가 MMR의 결과를 올바르게 요약하기 위해 두 가지 중 어떤 진술을 선택해야하는지 설명 할 수 있습니까? 어떤 제안이라도 대단히 감사하겠습니다.

summary(manova(my.model))명령문을 사용한 출력 :

> summary(manova(my.model))
           Df   Pillai approx F num Df den Df    Pr(>F)    
c           1 0.105295   5.8255      2     99  0.004057 ** 
d           1 0.085131   4.6061      2     99  0.012225 *  
e           1 0.007886   0.3935      2     99  0.675773    
f           1 0.036121   1.8550      2     99  0.161854    
g           1 0.002103   0.1043      2     99  0.901049    
H           1 0.228766  14.6828      2     99 2.605e-06 ***
I           1 0.011752   0.5887      2     99  0.556999    
Residuals 100                                              
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Manova(my.model)명령문을 사용한 출력 :

> library(car)
> Manova(my.model)

Type II MANOVA Tests: Pillai test statistic
  Df test stat approx F num Df den Df    Pr(>F)    
c  1  0.030928   1.5798      2     99   0.21117    
d  1  0.079422   4.2706      2     99   0.01663 *  
e  1  0.003067   0.1523      2     99   0.85893    
f  1  0.029812   1.5210      2     99   0.22355    
g  1  0.004331   0.2153      2     99   0.80668    
H  1  0.229303  14.7276      2     99 2.516e-06 ***
I  1  0.011752   0.5887      2     99   0.55700    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

답변:


78

기본-R의가 있기 때문에 간단히 언급이는 manova(lm())사각형의 소위 유형 I에 대한 합계 순차적 모델 비교를 사용하는 반면, carManova()기본 사각형의 유형 II에 대한 합계 모델 비교를 사용하여.

ANOVA 또는 회귀 분석에 대한 모델 비교 접근법에 익숙하다고 가정합니다. 이 접근 방식은 제한된 모델 (널 가설에 해당)을 제한되지 않은 모델 (대체 가설에 해당)과 비교하여 이러한 테스트를 정의합니다. 이 아이디어에 익숙하지 않다면 Maxwell & Delaney의 우수한 "실험 설계 및 데이터 분석"(2004)을 권장합니다.

유형 I SS의 경우 첫 번째 예측 변수에 대한 회귀 분석의 제한된 모델 c은 절대 항만 사용하는 null 모델입니다. lm(Y ~ 1)여기서는 Y로 정의 된 다변량 DV cbind(A, B)입니다. 제한되지 않은 모델은 예측을 추가 c, 즉 lm(Y ~ c + 1).

유형 II SS의 경우 첫 번째 예측 변수에 대한 회귀 분석의 제한없는 모델은 c상호 작용을 제외한 모든 예측 변수가 포함 된 전체 모델입니다 lm(Y ~ c + d + e + f + g + H + I). 제한된 모형은 예측 c되지 않은 모형에서 예측 변수 를 제거합니다 ( 예 :) lm(Y ~ d + e + f + g + H + I).

두 기능이 서로 다른 모델 비교에 의존하기 때문에 결과가 다릅니다. 어느 것이 더 바람직한 지에 대한 대답은 어렵습니다-그것은 실제로 당신의 가설에 달려 있습니다.

다음은 Pillai-Bartlett Trace와 같은 다변량 테스트 통계가 널 모델, 전체 모델 및 제한된 제한되지 않은 모델 쌍을 기반으로 계산되는 방법에 익숙하다고 가정합니다. 간단히 말해서, 난 단지 예측을 고려 c하고 H, 그리고 만 테스트 c.

N <- 100                             # generate some data: number of subjects
c <- rbinom(N, 1, 0.2)               # dichotomous predictor c
H <- rnorm(N, -10, 2)                # metric predictor H
A <- -1.4*c + 0.6*H + rnorm(N, 0, 3) # DV A
B <-  1.4*c - 0.6*H + rnorm(N, 0, 3) # DV B
Y <- cbind(A, B)                     # DV matrix
my.model <- lm(Y ~ c + H)            # the multivariate model
summary(manova(my.model))            # from base-R: SS type I
#           Df  Pillai approx F num Df den Df  Pr(>F)    
# c          1 0.06835   3.5213      2     96 0.03344 *  
# H          1 0.32664  23.2842      2     96 5.7e-09 ***
# Residuals 97                                           

비교를 위해 SS 유형 II를 사용한 carManova()기능 결과입니다 .

library(car)                           # for Manova()
Manova(my.model, type="II")
# Type II MANOVA Tests: Pillai test statistic
#   Df test stat approx F num Df den Df  Pr(>F)    
# c  1   0.05904   3.0119      2     96 0.05387 .  
# H  1   0.32664  23.2842      2     96 5.7e-09 ***

이제 두 결과를 모두 수동으로 확인하십시오. 디자인 행렬 먼저 작성하고 R의 디자인 행렬과 비교하십시오.X

X  <- cbind(1, c, H)
XR <- model.matrix(~ c + H)
all.equal(X, XR, check.attributes=FALSE)
# [1] TRUE

이제 전체 모형에 대한 직교 투영법을 정의하십시오 모든 예측 변수를 사용하여 ). 이것은 우리에게 행렬 줍니다.Pf=X(XX)1XW=Y(IPf)Y

Pf  <- X %*% solve(t(X) %*% X) %*% t(X)
Id  <- diag(N)
WW  <- t(Y) %*% (Id - Pf) %*% Y

SS 유형 I에 대한 제한 및 무제한 모델과 투영 및 행렬 집니다.PrIPuIBI=Y(PuIPPrI)Y

XrI <- X[ , 1]
PrI <- XrI %*% solve(t(XrI) %*% XrI) %*% t(XrI)
XuI <- X[ , c(1, 2)]
PuI <- XuI %*% solve(t(XuI) %*% XuI) %*% t(XuI)
Bi  <- t(Y) %*% (PuI - PrI) %*% Y

SS 유형 II에 대한 제한 및 무제한 모델과 투영 및 행렬 집니다.PrIPuIIBII=Y(PuIIPPrII)Y

XrII <- X[ , -2]
PrII <- XrII %*% solve(t(XrII) %*% XrII) %*% t(XrII)
PuII <- Pf
Bii  <- t(Y) %*% (PuII - PrII) %*% Y

두 유형의 SS에 대한 Pillai-Bartlett 추적 : 추적 .(B+W)1B

(PBTi  <- sum(diag(solve(Bi  + WW) %*% Bi)))   # SS type I
# [1] 0.0683467

(PBTii <- sum(diag(solve(Bii + WW) %*% Bii)))  # SS type II
# [1] 0.05904288

직교 투영법에 대한 계산은 수학 공식을 모방하지만 수치 적으로 나쁜 생각입니다. 실제로 QR 분해 또는 SVD를 crossprod()대신 사용해야 합니다.


3
이 잘 설명 된 답변에 대한 나의 매우 큰 +1.
chl

lm함수를 사용하지만 함수 내에 하나 이상의 respose 변수를 지정하여 다변량 회귀 를 수행 하는 것이 궁금합니다 lm. lm내 데이터가 실제로 다변량 일 때 함수 를 사용 하면 표준 오류에 대해 잘못된 결과를 얻을 수 있다는 것을 배웠습니다 . 그러나이 경우 표준 오차 my.model <- lm(cbind(A, B) ~ c + d + e + f + g + H + I);vcov(my.model )과소 평가하거나 lm종속 변수 간의 상관 관계를 지능적으로 조정합니까?
사용자 31466

6

글쎄, 나는 여전히 이전 답변에 대해 언급 할 점이 충분하지 않으므로 별도의 답변으로 작성하는 이유는 무엇입니까? (가능한 경우 50 점을 넘겨주십시오.)

여기에 2cents가 있습니다. 유형 I, II 및 III 오류 테스트는 데이터의 불균형으로 인해 본질적으로 변형입니다. (균형 불균형 : 각 지층에서 동일한 수의 관측치가 없음). 데이터의 균형이 Type I, II 및 III 인 경우에도 동일한 결과가 나타납니다.

데이터가 불균형하면 어떻게됩니까?

두 가지 요인 A와 B를 포함하는 모형을 고려하십시오. 따라서 두 가지 주요 효과와 상호 작용 AB가 있습니다. SS (A, B, AB)는 전체 모델을 나타냅니다. SS (A, B)는 상호 작용이없는 모델을 나타냅니다. SS (B, AB)는 요인 A의 영향 등을 고려하지 않는 모형을 나타냅니다.

이 표기법은 이제 의미가 있습니다. 명심하십시오.

SS(AB | A, B) = SS(A, B, AB) - SS(A, B)

SS(A | B, AB) = SS(A, B, AB) - SS(B, AB)

SS(B | A, AB) = SS(A, B, AB) - SS(A, AB)

SS(A | B)     = SS(A, B) - SS(B)

SS(B | A)     = SS(A, B) - SS(A)

"순차"제곱합이라고도하는 유형 I :

1) SS(A) for factor A.

2) SS(B | A) for factor B.

삼) SS(AB | B, A) for interaction AB.

따라서 A의 주요 효과, A의 B의 효과, A와 B의 상호 작용 AB를 추정합니다 (이 부분은 불균형 한 데이터가있을 때 차이가납니다. "시퀀스"에서의 상호 작용)

타입 II :

1) SS(A | B) for factor A.

2) SS(B | A) for factor B.

타입 II는 B 이후 A와 A 이후 B의 주요 효과의 중요성을 테스트합니다. 왜 SS (AB | B, A)가 없습니까? 주의 사항은 유형 II 방법은 상호 작용이 중요하지 않은 것으로 이미 테스트 한 경우에만 사용할 수 있다는 것입니다. 상호 작용이없는 경우 (SS (AB | B, A)는 중요하지 않음) 유형 II 테스트는 유형 III보다 전력이 더 우수합니다.

유형 III :

1) SS(A | B, AB) for factor A.

2) SS(B | A, AB) for factor B.

따라서 우리는 유형 II 동안 상호 작용을 테스트했으며 상호 작용이 중요했습니다. 이제 상호 작용 항을 고려할 때 유형 III을 사용해야합니다.

@caracal이 이미 말했듯이 데이터가 균형을 이루면 요인이 직교하며 유형 I, II 및 III은 모두 동일한 결과를 제공합니다. 이게 도움이 되길 바란다 !

공개 : 대부분은 내 작품이 아닙니다. 나는이 우수한 페이지가 연결되어 있고 더 간단하게 만들기 위해 더 끓는 것처럼 느꼈습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.