Mark White의 유용한 의견을 듣고 편집 함 (감사합니다!)
하나의 옵션은 단일 모델에서 두 관계 (A와 B1 및 A와 B2)를 계산하여 이들 간의 차이를 추정하는 것입니다. 여러 회귀 분석 을 통해 쉽게 수행 할 수 있습니다. A를 종속 변수로 사용하여 모델을 실행 한 다음, B1 및 B2에 대한 모든 점수를 가진 연속 변수 하나를 사용하여 변수가 어느 변수 (B1 또는 B2)인지를 나타내는 범주 형 변수와 이들 간의 상호 작용을 나타냅니다. r에서 :
> set.seed(24601)
>
> library(tidyverse)
> library(mvtnorm)
> cov <- matrix(c(1, .4, .16,.4, 1, .4, .16, .4, 1), ncol=3, byrow=TRUE)
> mydata <- rmvnorm(n=100, sigma = cov)
> colnames(mydata) = c("A", "B1", "B2")
> head(mydata)
A B1 B2
[1,] -0.1046382 0.6031253 0.5641158
[2,] -1.9303293 -0.7663828 -0.7921836
[3,] 0.1244192 -0.4413581 -1.2376256
[4,] -3.2822601 -1.2512055 -0.5586773
[5,] -0.9543368 -0.1743740 1.1884185
[6,] -0.4843183 -0.2612668 -0.7161938
다음은 내가 생성 한 데이터와의 상관 관계입니다.
> cor(mydata)
A B1 B2
A 1.0000000 0.4726093 0.3043496
B1 0.4726093 1.0000000 0.3779376
B2 0.3043496 0.3779376 1.0000000
>
모델의 요구에 맞게 데이터 형식 변경 ( "long"으로 다시 포맷) :
> mydata <- as.data.frame(mydata) %>%
+ gather("var", "value", B1, B2)
>
모델은 다음과 같습니다.
요약 (lm (A ~ value * var, data = mydata))
Call:
lm(formula = A ~ value * var, data = mydata)
Residuals:
Min 1Q Median 3Q Max
-2.89310 -0.52638 0.02998 0.64424 2.85747
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.09699 0.09014 -1.076 0.283
value 0.47445 0.09305 5.099 8.03e-07 ***
varB2 -0.10117 0.12711 -0.796 0.427
value:varB2 -0.13256 0.13965 -0.949 0.344
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.891 on 196 degrees of freedom
Multiple R-squared: 0.158, Adjusted R-squared: 0.1451
F-statistic: 12.26 on 3 and 196 DF, p-value: 2.194e-07
여기 (내 구성 데이터로부터의) 결과는 B1과 A ( "값"계수의 테스트, B1이 "var"계수에 대한 참조 그룹이므로) 사이에는 유의 한 관계가 있지만 그 차이는 A와의 B1 관계와 A와의 B2 관계 사이의 관계는 중요하지 않다 ( "값 : varB2"계수의 테스트).
회귀 계수가 아닌 상관 관계 측면에서 생각하고 싶다면 모델을 실행하기 전에 모든 변수 (A, B1 및 B2)를 표준화하면 얻을 수있는 회귀 계수가 표준화됩니다. 0 차 상관 관계이지만 해석 측면에서 훨씬 더 가깝습니다).
또한 이로 인해 분석이 B1과 B2 가 모두 있는 사례로만 제한됩니다 ( 목록 삭제). )로 제한됩니다. 그것이 부족할 정도로 충분한 데이터를 남겨두고 누락 된 데이터가 무작위로 누락되지 않는 한 (또는 무작위로 누락되지 않은 경우에도 중요하지 않은 전체 데이터의 작은 비율), 괜찮습니다.
B1과 B2에 대한 효과를 추정하기 위해 분석을 동일한 데이터 세트로 제한한다는 사실은 (실패 패턴에 따라 약간 다른 데이터 세트를 사용하는 대신) 상관 관계의 차이를 약간 해석하는 이점이 있습니다. 더 간단합니다. 각각에 대해 별도로 상관 관계 를 계산 한 다음 그 차이를 테스트 하는 경우 기본 데이터가 각 경우마다 약간 다르다는 문제가 발생합니다 .- 차이는 샘플 차이로 인해 발생할 수 있습니다 변수 사이의 실제 관계에서.