답변:
블로그 기사 형식을 선호하는 경우 계층 적 선형 모델 및 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 athletes15 racesamino acid AAAA
모델은 다음과 같습니다 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 noisesd = 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.
상당히 가까이!