Хорошо, давайте посмотрим на вашу ситуацию. У вас в основном две регрессии (APD = переднезадний диаметр, NOL = назо-затылочная длина, HL = длина плеча):
- А ПD = β0 , 1+ β1 , 1⋅ NO L
- ЧАСL = β0 , 2+ β1 , 2⋅ NO L
Чтобы проверить гипотезу , вы можете сделать следующее:β1 , 1= β1 , 2
- Yn e w
- Иксn e w
- D
- Yn e wИксn e wD
Давайте посмотрим на пример с подготовленными данными (в R
):
# Create artificial data
library(nlme) # needed for the generalized least squares
set.seed(1500)
NOL <- rnorm(10000,100,12)
APD <- 10 + 15*NOL+ rnorm(10000,0,2)
HL <- - 2 - 5*NOL+ rnorm(10000,0,3)
mod1 <- lm(APD~NOL)
mod1
Coefficients:
(Intercept) NOL
10.11 15.00
mod2 <- lm(HL~NOL)
mod2
Coefficients:
(Intercept) NOL
-1.96 -5.00
# Combine the dependent variables and duplicate the independent variable
y.new <- c(APD, HL)
x.new <- c(NOL, NOL)
# Create a dummy variable that is 0 if the data are from the first data set (APD) and 1 if they are from the second dataset (HL)
dummy.var <- c(rep(0, length(APD)), rep(1, length(HL)))
# Generalized least squares model allowing for differend residual SDs for each regression (strata of dummy.var)
gls.mod3 <- gls(y.new~x.new*dummy.var, weights=varIdent(form=~1|dummy.var))
Variance function:
Structure: Different standard deviations per stratum
Formula: ~1 | dummy.var
Parameter estimates:
0 1
1.000000 1.481274
Coefficients:
Value Std.Error t-value p-value
(Intercept) 10.10886 0.17049120 59.293 0
x.new 14.99877 0.00169164 8866.430 0
dummy.var -12.06858 0.30470618 -39.607 0
x.new:dummy.var -19.99917 0.00302333 -6614.939 0
Иксn e wdummy.var
x.new:dummy.var
βх . n e w- βх . n e w × dу м м у, v г15−20=−520
Предупреждение: Это работает, только если переднезадний диаметр и назо-затылочная длина (две зависимые переменные) независимы. Иначе это может стать очень сложным.
РЕДАКТИРОВАТЬ
Эти два поста на сайте касаются одного и того же вопроса: первый и второй .