답변:
블로그 기사 형식을 선호하는 경우 계층 적 선형 모델 및 lmer 는 임의의 기울기와 절편이있는 시뮬레이션 기능을 갖춘 기사입니다. 내가 사용한 시뮬레이션 코드는 다음과 같습니다.
rm(list = ls())
set.seed(2345)
N <- 30
unit.df <- data.frame(unit = c(1:N), a = rnorm(N))
head(unit.df, 3)
unit.df <- within(unit.df, {
E.alpha.given.a <- 1 - 0.15 * a
E.beta.given.a <- 3 + 0.3 * a
})
head(unit.df, 3)
library(mvtnorm)
q = 0.2
r = 0.9
s = 0.5
cov.matrix <- matrix(c(q^2, r * q * s, r * q * s, s^2), nrow = 2,
byrow = TRUE)
random.effects <- rmvnorm(N, mean = c(0, 0), sigma = cov.matrix)
unit.df$alpha <- unit.df$E.alpha.given.a + random.effects[, 1]
unit.df$beta <- unit.df$E.beta.given.a + random.effects[, 2]
head(unit.df, 3)
J <- 30
M = J * N #Total number of observations
x.grid = seq(-4, 4, by = 8/J)[0:30]
within.unit.df <- data.frame(unit = sort(rep(c(1:N), J)), j = rep(c(1:J),
N), x =rep(x.grid, N))
flat.df = merge(unit.df, within.unit.df)
flat.df <- within(flat.df, y <- alpha + x * beta + 0.75 * rnorm(n = M))
simple.df <- flat.df[, c("unit", "a", "x", "y")]
head(simple.df, 3)
library(lme4)
my.lmer <- lmer(y ~ x + (1 + x | unit), data = simple.df)
cat("AIC =", AIC(my.lmer))
my.lmer <- lmer(y ~ x + a + x * a + (1 + x | unit), data = simple.df)
summary(my.lmer)
데이터는 완전히 허구이며 데이터를 생성하는 데 사용한 코드는 여기 에서 찾을 수 있습니다 .
아이디어는 우리 가이 운동 선수의 혈액에서 구성 농도 ( )와 관련 하여 완료시 glucose concentrations
그룹에 대해 측정한다는 것입니다 .30
athletes
15
races
amino acid A
AAA
모델은 다음과 같습니다 lmer(glucose ~ AAA + (1 + AAA | athletes)
고정 효과 기울기가 있습니다 (포도당 ~ 아미노산 A 농도). 그러나, 경사면은 또한 서로 다른 선수 사이에서 변화 mean = 0
와 sd = 0.5
다른 선수에 대한 도청 주위 임의의 효과를 전파하는 동안, 0
로 sd = 0.2
. 또한 같은 선수 내에서 요격과 0.8 사이의 상관 관계가 있습니다.
이 임의의 효과는 intercept = 1
고정 효과 를 위해 선택한 것과에 추가됩니다 slope = 2
.
포도당의 농도의 값으로서 산출 된 alpha + AAA * beta + 0.75 * rnorm(observations)
각 선수 (즉위한 절편 의미 1 + random effects changes in the intercept
) 아미노산의 농도를, 모든 선수 (즉 대한 기울기 ) ( 우리는을 갖도록 설정) .AAA
+ ϵ2 + random effect changes in slopes for each athlete
noise
sd = 0.75
따라서 데이터는 다음과 같습니다.
athletes races AAA glucose
1 1 1 51.79364 104.26708
2 1 2 49.94477 101.72392
3 1 3 45.29675 92.49860
4 1 4 49.42087 100.53029
5 1 5 45.92516 92.54637
6 1 6 51.21132 103.97573
...
비현실적인 수준의 포도당이지만 여전히 ...
요약은 다음을 반환합니다.
Random effects:
Groups Name Variance Std.Dev. Corr
athletes (Intercept) 0.006045 0.07775
AAA 0.204471 0.45218 1.00
Residual 0.545651 0.73868
Number of obs: 450, groups: athletes, 30
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 1.31146 0.35845 401.90000 3.659 0.000287 ***
AAA 1.93785 0.08286 29.00000 23.386 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
랜덤 효과 상관 관계는 1
대신에 사용 0.8
됩니다. sd = 2
차단에 임의의 변화에 대한이로 해석됩니다 0.07775
. 0.5
선수들 사이의 경사 변화에 대한 표준 편차 는로 계산됩니다 0.45218
. 표준 편차 0.75
로 설정된 노이즈 는로 반환되었습니다 0.73868
.
고정 효과의 절편은 예상대로 1
되었고 우리는 얻었습니다 1.31146
. 기울기에 2
대한 것으로 추정되었고 추정했다 1.93785
.
상당히 가까이!