[英]Fixed effect and random intercept models using "lavaan" in R: advice on coding
[英]Equatiomatic notation includes fixed effect slope in the distribution of a random effect intercept
{equatiomatic} 的小插圖包括以下示例( 此處):
library(lme4)
library(equatiomatic)
lev1_long <- lmer(score ~ wave + (1|sid) + (1|school) + (1|district),
data = sim_longitudinal)
extract_eq(lev1_long)
這導致了結果符號:
不同的隨機截距分別在各自的行中表示(我認為暗示它們被加在一起以生成組合截距?)並且wave
的固定斜率,表示為 $\beta_1$,包含在第一行中,在結果變量score
的分布中。 我可以成功重現這個例子。
但是,當我處理一些我認為具有非常相似結構的數據時,我會得到不同的符號。 這是一個帶有虛擬數據集的可重現示例:
library(tidyverse)
library(lme4)
library(equatiomatic)
mock_df <- tibble(
outcome = 1:10,
oID = c('D', 'A', 'B', 'C', 'B', 'B', 'E', 'B', 'A', 'C'),
treatment = rep(c(0, 1), each = 5),
pID = c('P1', 'P1', 'P2', 'P2', 'P2', 'P3', 'P3', 'P3', 'P4', 'P4'))
model <- lmer(outcome ~ 1 + treatment + (1|pID) + (1|oID), data = mock_df)
extract_eq(model)
當然,模型對於虛構的數據是完全不合適的,但暫時忽略它。 {等式} 輸出為:
就像在小插圖示例中一樣,我們有多個隨機截距和一個固定斜率。 但方程式看起來完全不同。 斜率已移至第三行,進入pID
的隨機截距分布。
我真的不明白這種符號差異的原因,或者,就此而言,為什么斜率進入pID
截距而不是oID
截距的分布。 小插圖中的示例和我制作的虛構示例之間的模型結構是否存在一些實際的根本差異,這證明了符號的差異?
這說明了為什么lmer
公式不足以指定混合效應模型。 對於每個固定的預測變量,我們還必須說明它是描述個人還是群體。
請注意,在您的模擬數據處理中,pID 內的處理方式是如何變化的,因為處理分配給了 pID,而不是個人; 所有具有相同 pID 標簽的個體都具有相同的待遇。
mock_df
#> # A tibble: 10 × 4
#> outcome oID treatment pID
#> <int> <chr> <dbl> <chr>
#> 1 1 D 0 P1
#> 2 2 A 0 P1
#> 3 3 B 0 P2
#> 4 4 C 0 P2
#> 5 5 B 0 P2
#> 6 6 B 1 P3
#> 7 7 E 1 P3
#> 8 8 B 1 P3
#> 9 9 A 1 P4
#> 10 10 C 1 P4
我們可以通過按 pID 計算治療分配來總結這一觀察結果。 為了比較,我們還按 oID 計算治療分配。
treatment_by_group <- function(df, group) {
df %>%
count(treatment, {{ group }}) %>%
pivot_wider(
names_from = treatment,
values_from = n,
values_fill = 0L
)
}
treatment_by_group(mock_df, pID)
#> # A tibble: 4 × 3
#> pID `0` `1`
#> <chr> <int> <int>
#> 1 P1 2 0
#> 2 P2 3 0
#> 3 P3 0 3
#> 4 P4 0 2
treatment_by_group(mock_df, oID)
#> # A tibble: 5 × 3
#> oID `0` `1`
#> <chr> <int> <int>
#> 1 A 1 1
#> 2 B 2 2
#> 3 C 1 1
#> 4 D 1 0
#> 5 E 0 1
由於治療分配在 pID 內沒有變化,我們無法通過比較 pID 內的個體來了解治療之間的差異。 我們必須比較 pID。
pID 中個體的這種嵌套使模型具有層次結構。 實際上,該模型有兩個組成部分:每個 pID 的回歸,然后是給定其 pID 的每個觀察值的回歸。 這正是您在等式模型規范中看到的。
將 pID 分組與 oID 分組進行對比。 我們可以通過比較 oID 中的個體(更准確地說,通過比較A
、 B
和C
oID 中的個體)來估計治療之間的差異。
PS:我寫了一個更長的解釋,更多的公式,以回應這個交叉驗證問題: 寫數學方程(混合效應模型)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.