付費限定

使用R語言跑多層次模型:Random intercepts model with level-2 predictor

更新 發佈閱讀 8 分鐘

介紹

多層次模型中的 Random intercepts model with level-2 predictor 是一種層級 2 預測變量預測層級 1 結果變量的模型。又稱為截距作為結果模型(Intercepts as outcomes model)。因為在Level 2來看其加入一個或多個層次 2 預測變項來解釋截距。


以下是 模型的一般方程式:

Level 1:
層級 1 結果變量 = β0 + e
Level 2:
β0 = β00 + β1 * 層級 2 預測變量 + e00

Combined:
層級 1 結果變量 = β00 + β1 * 層級 2 預測變量 + e00 + e​

其中:

  • β00 是層級 2截距,表示當層級 2 預測變量的斜率(β1 )為0時,所有群組的層級 1 結果變量的平均值。固定效果。
  • β1 是層級 2斜率係數,表示層級 2 預測變量在層級 1 結果變量中每增加一個單位時的平均變化。固定效果。
  • e00 是層級 2截距的隨機效應,表示層級 2群組間截距的變異量。隨機效果。
  • e 是residual,層級 1變異量。隨機效果。
  • e 和e00 必須是不相關的才符合前提假設
  • e 和e00 必須是常態分配才符合前提假設

如下圖,截距具有隨機效果就是認為截距會因為學校不同而有變化,所以每條線起點有差異。

raw-image


範例

# 載入相關套件
library(lme4)

# 生成數據
set.seed(1234)

# 層級 1 結果變量
math_score <- rnorm(1000, mean = 50, sd = 10)

# 層級 2 預測變量
school_ses <- rnorm(50, mean = 50, sd = 10)

# 合併數據,並命名為df
df <- data.frame(math_score, school_ses)

# 跑模型
model <- lmer(math_score ~ school_ses + (1|school_ses), data = df)

# 檢視模型結果
summary(model)

以下是這個模型的 R 語言程式碼的詳細解釋:

  • library(lme4):載入 lme4 套件,該套件用於擬合多層次模型。
  • set.seed(1234):設定隨機種子,以便每次生成數據時得到相同的結果。
  • math_score <- rnorm(1000, mean = 50, sd = 10):生成 1000 個學生級數學成就數據,平均值為 50,標準差為 10。
  • school_ses <- rnorm(50, mean = 50, sd = 10):生成 50 個學校級 SES 數據,平均值為 50,標準差為 10。
  • df <- data.frame(math_score, school_ses):合併層級 1 和層級 2 數據。
  • model <- lmer(math_score ~ school_ses + (1|school_ses), data = df):擬合Random intercepts model with level-2 predictor 模型。
  • summary(model):檢視模型結果。


範例中我們合併數據,並命名為df,df 資料是隨機生成的數據,包含 1000 個觀察值的數據庫,其中包含兩個變量:

  • math_score:學生數學成就(層級 1 結果變量)是連續變量,其值範圍為 0 到 100。
  • school_ses:學校社會經濟地位SES(層次2預測變項)也是連續變量,其值範圍為 0 到 100。層級 2 預測變量代表,同個學校內具有一樣的社會經濟地位。
  • 同時呢,我們也把school_ses當作學校ID,因為它只有50個不同的數字,也可以代表50間不同的學校ID。

可以使用 head() 函數來查看 df 資料的前幾個觀察:

math_score school_ses
1 47.2676 48.5566
2 52.7324 51.4434
3 54.2072 52.3302
4 49.2428 49.5266
5 51.7176 50.4134
...

接下來model <- lmer(math_score ~ school_ses + (1|school_ses), data = df) 跑模型​的結果如下:

Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: math_score ~ school_ses + (1 | school_ses)
Data: df

REML criterion at convergence: 7441.3

Scaled residuals:
Min 1Q Median 3Q Max
-3.3469 -0.6451 -0.0023 0.6410 3.2528

Random effects:
Groups Name Variance Std.Dev.
school_ses (Intercept) 0.00 0.000
Residual 99.48 9.974
Number of obs: 1000, groups: school_ses, 50

Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 48.27024 1.56857 998.00000 30.774 <2e-16 ***
school_ses 0.03043 0.03194 998.00000 0.953 0.341
---

從模型結果中可以看到,層級 2 預測變量 school_ses 的斜率係數為 0.030,顯著性水平未達顯著。這表明,學校級 SES 與學生級數學成就之間沒有顯著關聯。另外我們發現school_ses (Intercept)為0.00,代表<.01的意思,可見學校的Random effects非常小,幾乎沒有忽略,這也難怪,畢竟這是隨機生成的資料。

若不想使用REML估計法可以改用ML估計法: lmer(前面一樣..., REML = F)

最重要的是,我們能從上面數據代入Random intercepts model with level-2 predictor 模型公式:

Level 1:
math_score = β0 + 99.48
Level 2:
β0 = 48.27024 + 0.03043 * school_ses + (<.01)

Combined:
math_score = 48.27024 + 0.03043 * school_ses + (<.01) + 99.48


接下來畫一張圖來看


# 載入相關套件
library(ggplot2)
# 繪製圖形
ggplot(df, aes(school_ses, math_score)) +
geom_point() +
geom_line(aes(school_ses, fitted(model))) +
labs(x = "School SES", y = "Math scores")

跑出來就是下圖,X軸表示學校級 SES,Y軸表示學生級數學成就。黑色線是模型的預測線,果然兩者關聯很小。每個學生都是一個黑點,可以看出來同樣的學校級 SES,但在數學成就相差很大,所以呈現[I]分散形狀。

您的研究遇到了統計分析的困難嗎?您需要專業的統計諮詢和代跑服務嗎?請點我看提供的服務
raw-image
以行動支持創作者!付費即可解鎖
本篇內容共 3284 字、1 則留言,僅發佈於統計分析 × 學術生涯你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
留言
avatar-img
教育心理博士的筆記本
265會員
139內容數
文章內容以圖像式和步驟化方式,教您如何在各種統計軟體中(例如:SPSS、R和Mplus),執行多種統計方法。
2025/04/15
Random Coefficients Model一種包含隨機截距和隨機斜率的多層線性模型 。它用於建模具有層次結構的數據。本文將介紹該模型之公式、R語言分析、視覺化。
Thumbnail
2025/04/15
Random Coefficients Model一種包含隨機截距和隨機斜率的多層線性模型 。它用於建模具有層次結構的數據。本文將介紹該模型之公式、R語言分析、視覺化。
Thumbnail
2025/03/28
多層次模型中的 Random intercepts model with level-1 predictor 是層級 1 預測變量預測層級 1 結果變量的模型。本文將介紹該模型的一般方程式,並實際用R語言進行分析。最後介紹ML和REML估計法選擇。
Thumbnail
2025/03/28
多層次模型中的 Random intercepts model with level-1 predictor 是層級 1 預測變量預測層級 1 結果變量的模型。本文將介紹該模型的一般方程式,並實際用R語言進行分析。最後介紹ML和REML估計法選擇。
Thumbnail
2025/01/14
本文介紹了 R 包中的 multilevLCA 進行多層次潛在類別模型的估計和繪圖的方法,該工具能有效分析多階層資料,進行分類誤差校正,以及半自動選擇出最佳組數。文中提供了實際操作的詳細步驟、報表及模型可視化。
Thumbnail
2025/01/14
本文介紹了 R 包中的 multilevLCA 進行多層次潛在類別模型的估計和繪圖的方法,該工具能有效分析多階層資料,進行分類誤差校正,以及半自動選擇出最佳組數。文中提供了實際操作的詳細步驟、報表及模型可視化。
Thumbnail
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
高中數學主題練習—二階行列式
Thumbnail
高中數學主題練習—二階行列式
Thumbnail
高中數學主題練習—二階行列式
Thumbnail
高中數學主題練習—二階行列式
Thumbnail
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Thumbnail
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Thumbnail
在進行多層次線性模型(MLM)當中,有時候我們不只會加入層次1的預測變項。我們也會想加入層次2預測變項。本文將介紹加入層次2預測變項的各種模型,並解釋其公式和R語言操作方法。因為內容比較多,所以篇幅比較長。 多層次線性模型(MLM),截距是表示所有學校的平均值。斜率是指模型中自變量的係數,表
Thumbnail
在進行多層次線性模型(MLM)當中,有時候我們不只會加入層次1的預測變項。我們也會想加入層次2預測變項。本文將介紹加入層次2預測變項的各種模型,並解釋其公式和R語言操作方法。因為內容比較多,所以篇幅比較長。 多層次線性模型(MLM),截距是表示所有學校的平均值。斜率是指模型中自變量的係數,表
Thumbnail
以下內容是我閱讀Probabilistic Graphical Model, Koller 2009一書的讀書筆記,未來將不定期新增內容,此技術屬AI人工智慧範疇。 1.2 Structured Probabilistic Models 既然要融入Uncertainty和Probability
Thumbnail
以下內容是我閱讀Probabilistic Graphical Model, Koller 2009一書的讀書筆記,未來將不定期新增內容,此技術屬AI人工智慧範疇。 1.2 Structured Probabilistic Models 既然要融入Uncertainty和Probability
Thumbnail
在上一篇中,我們在模型探討隨機截距交叉延宕在Extension 3:Multiple indicators定義。本文為實作部分,將說明Multiple indicators的依序四個步驟的Mplus語法。 ,
Thumbnail
在上一篇中,我們在模型探討隨機截距交叉延宕在Extension 3:Multiple indicators定義。本文為實作部分,將說明Multiple indicators的依序四個步驟的Mplus語法。 ,
Thumbnail
在上一篇中,我們在模型探討隨機截距交叉延宕模式加入為預測或結果變量。而在Extension 2中,可以使用的分類變量進行Multiple group分析。這種方法常用在探討調節效果是否成立,本文將簡介其意義和語法。
Thumbnail
在上一篇中,我們在模型探討隨機截距交叉延宕模式加入為預測或結果變量。而在Extension 2中,可以使用的分類變量進行Multiple group分析。這種方法常用在探討調節效果是否成立,本文將簡介其意義和語法。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News