回答:
ブログの記事形式を好むなら、階層線形モデルと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濃度); ただし、勾配は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
。
かなり近い!