여러 종속 변수를 사용한 회귀?


61

둘 이상의 종속 변수가있는 (복수) 회귀 방정식을 가질 수 있습니까? 물론, 각 DV마다 하나씩 두 개의 개별 회귀 방정식을 실행할 수 있지만 두 DV 사이의 관계를 포착하지 못하는 것 같습니까?


SUR 또는 3SLS에서와 같이?
바다에있는 노인.

답변:


35

네 가능합니다. 관심있는 것은 "다변량 다중 회귀"또는 "다변량 회귀"입니다. 사용중인 소프트웨어를 모르지만 R에서이 작업을 수행 할 수 있습니다.

다음은 예제를 제공하는 링크입니다.

http://www.public.iastate.edu/~maitra/stat501/lectures/MultivariateRegression.pdf


2
회귀 분석 (regression)을 맞추는 것은 실제로 종속 변수의 행렬을 가진 다변량 공식과 동등하다고 덧붙일 수 있습니다. 패키지 mvtnorm이 설치된 R (1 차 : 다변량 모델, 2 차 : 별도의 일 변량 모델) : library (mvtnorm); X <-rmvnorm (100, c (1, 2), 매트릭스 (c (4, 2, 2, 3), ncol = 2)); Y <-X % * % 매트릭스 (1 : 4, ncol = 2) + rmvnorm (100, c (0, 0), diag (c (20, 30))); lm (Y ~ X [, 1] + X [, 2]); lm (Y [, 1] ~ X [, 1] + X [, 2]); lm (Y [, 2] ~ X [, 1] + X [, 2])
caracal 12

3
동등한 경우 목적은 무엇입니까?
Joshua Rosenberg

1
@JoshuaRosenberg 단일 종속 변수를 사용하여 개별 회귀 분석에 대해 다변량 회귀 분석을 실행하는 한 가지 이유는 여러 결과 변수에 대해 계수 테스트를 수행 할 수 있다는 것입니다. 예를 들어 F- 검정을 수행하여 예측 변수가 한 결과 변수에 다른 결과 변수와 동일한 영향을 미치는지 확인할 수 있습니다.
AlexK

10

@Brett의 응답은 괜찮습니다.

2 블록 구조를 설명하려는 경우 PLS 회귀를 사용할 수도 있습니다 . 기본적으로 회귀 프레임 워크는 공분산이 최대가되도록 각 블록에 속하는 변수의 연속적인 (직교) 선형 조합을 만드는 아이디어에 의존합니다. 여기서 우리는 하나의 블록 가 설명 변수를 포함하고 다른 블록 Y 는 다음과 같이 변수를 응답 한다고 생각 합니다.엑스Y

대체 텍스트

우리는 블록에 포함 된 최대 정보 (선형 적 방식) 를 설명하면서 최소한의 오류로 Y 블록 을 예측할 수있는 "잠재적 변수"를 찾습니다 . U의 JV의 j는 각각의 차원에 관련된 부하 (즉, 선형 결합)이다. 최적화 기준은 다음과 같습니다.XYujv제이

최대h∣ =1,Vh∣ =1코브(엑스h1h,와이Vh)(최대코브(ξh,ωh))

여기서 접힌 (즉, residualized) 용 스탠드 X의 블록은 이후 시간 회귀.엑스h1엑스h

첫 번째 차원 ( ω 1 )의 계승 점수 간의 상관 관계 는 X - Y 링크 의 크기를 반영합니다 .ξ1ω1엑스와이


나는 multipleX-multipleY PLS가 본질적으로 다중 "multipleX-singleY"PLS를 수행한다고 생각합니다. 따라서 Y 변수 간의 관계는 다루지 않습니다.
lanselibai

4

다변량 회귀는 SPLM에서 GLM- 다변량 옵션을 사용하여 수행됩니다.

모든 결과 (DV)를 결과 상자에, 모든 연속 예측 변수를 공변량 상자에 넣습니다. 요인 상자에는 아무것도 필요하지 않습니다. 다변량 검정을보십시오. 일 변량 검정은 개별 다중 회귀 분석과 동일합니다.

다른 사람이 말했듯이 이것을 구조 방정식 모델로 지정할 수도 있지만 테스트는 동일합니다.

(흥미롭게도, 흥미로운 점은 이것에 약간의 영국-미국 차이가 있다는 것입니다. 영국에서 다중 회귀는 일반적으로 다변량 기법으로 간주되지 않으므로 다변량 회귀는 다중 결과 / DV가있을 때만 다변량입니다. )



2

먼저 회귀 변수를 PCA 계산 변수로 변환 한 다음 PCA 계산 변수를 사용하여 회귀 분석을 수행합니다. 물론 분류하려는 새 인스턴스가있을 때 해당 pca 값을 계산할 수 있도록 고유 벡터를 저장합니다.


2
이것은 위의 답변과 개념적으로 다른 것 같습니다. 변수를 PCA 계수로 변환하여 2+ 종속 변수를 회귀시키는 방법에 대해서는 아직 확실하지 않습니다.
Jeff

@Jeff이 대답은 실제로 개념적으로 다변량 회귀와 유사합니다. 여기서 제안은 두 개의 개별 단계를 순서대로 수행하는 것입니다 (즉, 가중 선형 복합 변수를 찾은 후 회귀). 다변량 회귀는 두 단계를 동시에 수행합니다 . 다변량 회귀는 WLCV가 회귀를 최대화하도록 형성되므로 더욱 강력합니다. 그러나, 2 단계 절차는 프로세스에 대해보다 명확성을 제공 할 수 있거나, 그렇지 않으면 연구원에게 바람직 할 수있다.
gung-복직 모니카

1
@ gung Hmm 종속 변수에 대해 PCA를 수행하고 첫 번째 주요 구성 요소에서만 회귀하는 경우 이러한 종류의 의미가 있습니다 ...하지만 여전히 많은 변화를 겪고 있습니다.
Jeff

1
@ 제프, PC는 직교입니다. 각각에 대해 독립적 인 회귀 분석을 실행할 수 있습니다. 그러나 이것은 분해가 거의 동일하지 않은 b / c에서 덜 강력하며, 다변량 회귀 테스트는 실제로 PC에 대한 일련의 정규식이 아닙니다.
gung-복직 모니카

@gung 네, N 독립 회귀를 실행할 수는 있지만 N 세트의 베타 계수로 끝납니다. 문제가 어떻게 해결되는지 이해할 수 없습니까?
Jeff

1

caracal에서 언급했듯이 R에서 mvtnorm 패키지를 사용할 수 있습니다. 다음과 같이 lm 모델 ( "model")을 만들었다 고 가정합니다. 의 응답 중 하나 의 다변량 예측 분포를 얻는 방법은 다음과 같습니다. 행렬 형식 Y로 저장된 여러 응답 "resp1", "resp2", "resp3"

library(mvtnorm)
model = lm(resp1~1+x+x1+x2,datas) #this is only a fake model to get
                                  #the X matrix out of it
Y = as.matrix(datas[,c("resp1","resp2","resp3")])
X =  model.matrix(delete.response(terms(model)), 
           data, model$contrasts)
XprimeX  = t(X) %*% X
XprimeXinv = solve(xprimex)
hatB =  xprimexinv %*% t(X) %*% Y
A = t(Y - X%*%hatB)%*% (Y-X%*%hatB)
F = ncol(X)
M = ncol(Y)
N = nrow(Y)
nu= N-(M+F)+1 #nu must be positive
C_1 =  c(1  + x0 %*% xprimexinv %*% t(x0)) #for a prediction of the factor setting x0 (a vector of size F=ncol(X))
varY = A/(nu) 
postmean = x0 %*% hatB
nsim = 2000
ysim = rmvt(n=nsim,delta=postmux0,C_1*varY,df=nu) 

이제 ysim의 Quantile은 예측 분포로부터의 베타 기대치 허용 오차 간격입니다. 물론 표본 분포를 직접 사용하여 원하는대로 할 수 있습니다.

Andrew F.에 답하기 위해 자유도는 nu = N- (M + F) +1 ... N은 관측치 수, M은 반응 수, F는 방정식 모델 당 매개 변수 수입니다. nu는 양수 여야합니다.

(이 문서 에서 내 작업을 읽고 싶을 수도 있습니다 :-))


0

이미 "정규 상관"이라는 용어를 접했습니까? 거기에는 독립 측과 종속 측에 변수 세트가 있습니다. 그러나 아마도 더 현대적인 개념이있을 수 있습니다. 내가 가지고있는 설명은 80 년대 / 90 년대 모두입니다 ...


1
정식 상관은 CCA 또는 PLS와 같이 2 블록 구조에서 계산 된 요인 점수 간의 상관 관계입니다. 변수가 비대칭적인 역할을 할 때 PLS가 CCA보다 더 적합하지만 이것은 내 응답 (PLS 회귀)에서 설명한 것과 똑같습니다. 비대칭 디플레이션 프로세스가 있고 공분산을 대신 사용하기 때문입니다 (CCA를 사용하면 두 블록을 동시에 수축하고 공분산 대신 상관 관계를 최대화하려고합니다).
chl

@chl : upps- today (1 월 말) 11 월 중순에이 질문 / 대화로 돌아 왔습니다 .... 죄송합니다. 일찍 확인하지 않았습니다. 과정에 문제가 있었으며 stat.exchange를 잊었습니다. .. 내가 뭔가 가치가 있다면 다음날 다시 올 것이다.
Gottfried Helms

-3

이것을 구조 방정식 모델 또는 동시 방정식 모델이라고합니다.


3
나는 틀릴 수 있지만 이것이 같은 것이라고 생각하지 않습니다. 내가 본 SEM 그래프에서 SEM은 다중 회귀 방정식을 사용하여 잠재 요인의 값을 결정한 다음 해당 잠재 요인의 값에 대해 또 다른 회귀를 실행하여 고차 요인을 결정하는 것처럼 보입니다. 어쩌면 이것이 잘못되었을 수도 있지만 여러 IV를 여러 DV에 연결하는 SEM 그래프를 본 적이 없습니다. 모든 것이 계층 적입니다.
Jeff

이 백서의 그림 8 : biomedcentral.com/1471-2288/3/27 할 수는 있지만 거의 의미가 없습니다. MANOVA와 동일합니다.
Jeremy Miles
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.