多層模型

**等級線性模型**，廣義化啲嘅可以叫**多層模型**，係一種進階嘅統計模型，能夠一次過考慮晒唔同層面嘅變數之間嘅關係。譬如依家要做教育學方面嘅研究，由幾間學校嗰度各抽咗若干位教師嚟訪問，每間學校下都有若干個教師做分析樣本中嘅個案。好似噉嘅情況，喺各種社會科學裡便都好常見。

多層模型可以同時考慮唔同層級之間嘅變異，例如員工隸屬喺企業之內（管理學研究有機會用到）、病人隸屬喺醫院之內（醫學研究）或者重複測量隸屬於一位位嘅受試者之內。多層模型廣泛應用於教育學、管理學同醫學等嘅領域，特別適合用嚟處理傳統迴歸模型難以應付嘅數據集構造。

數學化啲講，多層模型條思路，可以想像成**分層建模、逐層代入**：建立多層模型，重點查實就係首先建立模型，描述微觀層面嘅情況，解釋應變數點樣受截距、斜率同微觀層嘅自變數影響；然後分析者要喺宏觀層面建立宏觀模型，用宏觀層變數同埋隨機效應去解釋微觀層嘅截距同斜率；最後，佢哋就要將宏觀模型代入去微觀模型度，得出**結合模型**，用一條式模擬晒唔同自變數預測應變數嘅能力。唔同類嘅多層模型，本質上都係跟返呢條思路，不過層次結構或者隨機部份有所不同噉解。

## 背景概念

喺現實世界，研究緊嘅個體（或者**數據點**）好多時都成等級結構。想像好似以下噉嘅 dataset：
:
喺上面例子中，學校係第二層（屬於非隨機嘅分類）而個體學生係第一層。呢種情況顯示啲數據點有顯著嘅分層結構。好多現實統計上遇到嘅數據，都必然具備等級結構，例如教育學數據（若干個學生，一部份嚟自 A 校一部份嚟自 B 校）、醫療數據（若干個病人，一部份住喺 A 醫院一部份住喺 B 醫院）同埋係空間數據等等。假如喺分析過程中忽視咗呢一點，就有可能導致統計推論出現錯誤，產生生態謬誤等嘅問題。

此外，人力物力嘅限制亦可能會令到數據有噉嘅特性：喺實際研究，尤其係教育學、心理學或者其他社會科學範疇，研究者好多時都焗住要用便利抽樣，即係話佢哋要揀容易接觸到嘅個體，用呢啲個體做樣本，例如某兩間學校嘅學生、某兩個社區嘅居民呀噉。呢類樣本收集起上嚟方便，但往往會呈現群組結構，好似係上面個例子噉。

為咗解決呢個問題，研究者會用到多層模型。呢啲統計模型重點特徵係建模嗰陣，會考慮埋呢啲分層結構，唔單只提高模型嘅真確度，仲可以分析唔同層次之間點樣互相影響。教育學同公共衛生等領域上成日都會用到呢種分析工具。

## 基本模型

多層模型嘅基礎係迴歸模型：好似簡單迴歸分析噉嘅統計模型，好多時都假設咗啲受試者彼此之間係統計上獨立嘅，但如果樣本入邊啲受試者有明顯分組，呢個假設就唔成立：例如想像做緊社科研究，想睇吓 500 位中學生學英文學得有幾好，班學生嚟自 5 間唔同嘅中學，一般認為嚟自同一間學校嘅學生由於喺同一環境下學習，所以佢哋喺各種特性上難免有一定嘅統計相關，所以研究者唔可以當同一間學校嘅學生嘅學習成效係彼此獨立嘅。

搵個簡單例子說明，呢種分析方法會用類似以下噉嘅數學方程式，將唔同層面嘅變數擺入去同一條式入便。想像而家數據分兩層，**微觀層次**條式係
:Y_{ij} = \beta_{0j} + \beta_{1j}X_{ij} + e_{ij}
假想依家研究者想用學生屋企嘅收入（*ij*）去預測佢哋嘅整體成績（*ij*）， 表示個體學生， 代表班級。條式當中 0*j* 係第  班嘅截距，1*j* 呢個斜率反映佢掕住嗰個自變數（*ij*）有幾預測得到應變數，而 *ij* 就係反映殘差，代表個模型未能解釋嘅變異，一般會假設呢個殘差成平均值為 0 嘅常態分佈：
:e_{ij} \sim \mathcal{N}(0,\sigma_e^2)
為咗解釋唔同班級之間嘅差異，研究者可以用班級層嘅變數（例如該班啲老師嘅平均教學經驗 *j*）去預測 0*j*。**宏觀層次**條式係
:\beta_{0j} = \gamma_{00} + \gamma_{01}W_j + u_{0j}
當中，00 係整體平均，01 就係 *j* 對 0*j* 有幾大「影響」。0*j* 係殘差項。*j* 會係一啲宏觀層嘅變數，常見嘅例子有政策特性、環境特性、群體嘅平均值（例如某社區嘅居民嘅平均入息）... 呀噉。然後，想像將宏觀層次條式代入去微觀層次度，就得出好似以下噉嘅**結合模型**：
:Y_{ij} = \gamma_{00} + \gamma_{01}W_j + u_{0j} + \beta_{1j}X_{ij} + e_{ij}
上述呢個數學模型，達致同時考慮個體層（*ij*）同埋班級層（*j*）嘅自變數嚟預測應變數，當中微觀模型個截距設咗做隨機變數，是謂**隨機截距**。進階啲嘅模型，仲可以考慮唔同班級啲斜率數值可能唔同（**隨機斜率模型**）或者考慮唔同層次因素之間嘅調節作用。

假想有一班教育心理學嘅研究者，佢哋攞咗數據返嚟然後做分析：佢哋由數據估計啲  同  嘅數值；如果數據反映（例如）學生嘅家庭收入比起老師嘅教學經驗更能夠預測成績（簡單講即係 1*j* 明顯大過 01）嘅話，噉佢就發現咗有用嘅資訊，可以將佢嘅研究成果喺相關學科嘅期刊度公佈。

## 進階模型
多層模型仲有得細分做好多種。做研究嘅人要按照自己嘅研究問題，選擇最啱用嗰種模型。

### 隨機斜率

**隨機斜率模型**係多層模型嘅一種擴展，概念上係探討微觀變數同宏觀變數之間嘅交互作用。喺呢種模型入邊，微觀自變數對微觀應變數嘅影響（由斜率反映）唔再假設係所有群組都一樣，個模型俾斜率隨住群組嘅宏觀特性而改變。想像以下噉嘅兩層模型，第一層（微觀）條式係：
:y_{ij} = \beta_{0j} + \beta_{1j} x_{ij} + e_{ij}，當中：
*y_{ij}：第 j 個群組入面第 i 個觀察值嘅應變數；
*x_{ij}：第 j 個群組入面第 i 個觀察值嘅低層自變數；
*\beta_{0j}：第 j 個群組嘅截距；
*\beta_{1j}：第 j 個群組嘅斜率，係低層變數 x_{ij} 嘅效應；
*e_{ij}：殘差
齋睇呢條式嘅話，同一般嘅多層模型冇咩分別。但假想依家個微觀模型唔淨只截距可以受宏觀變數影響，連啲斜率都可以受宏觀變數影響。第二層（宏觀）條式如下：
:\beta_{0j} = \gamma_{00} + \gamma_{01} w_j + u_{0j}
:\beta_{1j} = \gamma_{10} + \gamma_{11} w_j + u_{1j}
當中：
*w_j：第 j 個群組嘅宏觀自變數（一個生態變數）；
*\gamma_{00}：微觀模型截距嘅整體平均；
*\gamma_{01}：反映宏觀變數 w_j 對微觀模型個截距嘅影響；
*\gamma_{10}：微觀模型斜率嘅整體平均；
*\gamma_{11}：反映宏觀變數 w_j 對微觀模型個斜率嘅影響；
*u_{0j}、u_{1j}：殘差
將宏觀模型代入去微觀模型嗰度，得出結合模型，會得出：
:y_{ij} = \gamma_{00} + \gamma_{01} w_j + u_{0j} + (\gamma_{10} + \gamma_{11} w_j + u_{1j}) x_{ij} + e_{ij}
由於 *ij* 同 *j* 喺同一條式入便相乘，所以可以直接測試宏觀變數會唔會影響微觀變數 *ij* 對應變數嘅作用有幾強，是謂調節效應。舉個具體嘅教育學例子：假設研究者想探知學生每日花幾多時間做功課（微觀自變數）對測驗成績（微觀應變數）有乜嘢影響，關注呢股影響會唔會因為間學校嘅資源水平（宏觀變數）而唔同咗；假想資源水平高嘅學校，功課時間對成績嘅正面影響較大，而資源水平低嘅學校，影響就較細，噉就表示用功課時間嚟預測成績，對資源少嘅學校嚟講冇咁有效。

### 重覆量度

受試內設計係一種常見嘅實驗設計，指研究者對每一位受試者進行多次觀察。

譬如係管理學研究，學者想研究團隊嘅領導風格會點樣影響員工做嘢嗰陣嘅投入感；研究者要求員工連續七日，每日填一次短嘅問卷，報告佢哋感受到嘅領導行為（例如嚟自經理嘅鼓勵）同埋當日嘅投入程度。呢種設計有助研究者掌握日與日之間嘅變化趨勢，以及相同個體喺唔同情況下表現有咩差異。喺呢種情況下，數據中每個人都有多個時點嘅數據，即係類似噉：
:
呢啲數據自然噉形成分層結構：每間**公司**下有若干個**員工**，每個員工下有若干個**時點量度**。因此，呢種情況都可以用多層模型嚟分析。好似以下噉嘅模型：
:y_{ij} = \beta_0 + \beta_1 x_{ij} + u_{0j} + u_{1j} x_{ij} + \varepsilon_{ij}
當中：
* y_{ij} 係第 j 個人喺第 i 次觀察時嘅應變數，例如當日嘅工作投入感；
* x_{ij} 係第 j 個人喺第 i 次觀察時嘅自變數，例如當日感受到嘅領導風格；
* \beta_0 同 \beta_1 係固定效應，表示整體平均截距同斜率；
* u_{0j} 同 u_{1j} 係第 j 個人嘅隨機效應，反映每人嘅基線同效應強度可能有差異；
* \varepsilon_{ij} 係殘差。
條式嘅意思係：每日嘅工作投入感（*ij*）會受當日領導風格（*ij*）影響，而呢種影響（即係斜率 1）同起始水平（即係截距 0）唔一定喺每人身上都一樣，所以加咗 0*j* 同 1*j* 去反映人與人之間嘅變化。

不過喺好多情況下，受試內設計用嘅唔會係普通嘅多層模型，噉係因為同一個人，佢喺唔同時點嘅數值，啲值之間實會有固定先後次序，而且個值仲有可能會隨時間增長或減退－喺後者嗰種情況下，就要將時間 *ij* 納入個微觀模型內，相比之下，同一個組入便唔同嘅人，通常唔會有乜嘢固定先後次序可言。

有關變數點樣隨時間變化，亦可以睇吓自迴歸模型。

### 交叉分類

**交叉分類**係講緊「非一脈相承」（唔係一層包一層）嘅數據。基本多層模型假設咗啲數據係成**嵌套**形嘅，譬如**學生**歸屬喺**學校**之下，而學校又歸屬喺（例如）**社區**之下，層層相扣。但有陣時數據唔係噉嘅結構，譬如想像好多學生，屋企喺一個社區，但返學會返遠啲，返同屋企唔同區嘅學校，噉就表示**學生**會歸屬喺**學校**之下，又會歸屬喺**屋企社區**之下。好似噉：
:
學校同屋企社區之間唔成嵌套關係。學校唔可以歸屬喺**某某學生所住社區**之下，但可以歸屬喺**學校所屬社區**之下：
:
喺上述例子中，交叉分類模型嘅宏觀模型會有學校層面嘅自變數（例如師資水平、平均班級人數）又會有社區層面嘅自變數（例如貧困率、平均嘅家長教育程度），兩者各自獨立處理，加上殘差項。然後就可以照樣將宏觀模型代入去微觀模型裡便。

### 廣義模型

基礎教科書介紹親多層模型，通常都係搵線性模型做例子。但係同迴歸模型一樣嘅係，多層模型唔淨只限於線性形式，自變數同應變數之間嘅關係可以呈好多唔同形狀。研究者可以按數據類型同研究需要，將唔同嘅函數形式擺入模型裡便，形成**多層廣義線性模型**。譬如若果應變數係二元嘅，可以考慮使用 Sigmoid 函數或者類似嘅做法，而且多層模型仲可以有非線性項，好似係二次項等就可以用嚟捕捉曲線關係。

## 事前準備

成功攞到數據，郁手行多層模型之前，研究者大把事前準備要做。

研究者有必要估計吓分析嘅統計功效。喺實際應用上，R 程式語言等嘅架生都有齊晒套件，可以自動化噉用電腦模擬嚟檢查統計功效。標準誤差都可以用模擬方法嚟計算。

多層模型嘅自由度計法有啲複雜。因為同一組嘅個案之間實有關聯，同組個案之間一定唔係獨立，所以一拃有分組結構嘅數據同埋一拃隨機抽樣得返嚟嘅數據，前者擁有嘅資訊量冇咁多，**有效樣本**冇表面睇到嘅樣本大細咁大。

有陣時亦有可能出現一種情況，研究者做咗分析之後先發覺有必要行多層模型：假如手上嘅數據有群組結構，但係研究者冇考慮呢點就建立統計模型，模型嘅殘差往往會出現異樣，同一組嘅個案，啲殘差會「齊齊高咗」或者「齊齊低咗」，而標準誤差會被錯估，提高第一型錯誤嘅危險；研究者見到殘差噉嘅樣，就好可能會決定行多層模型。

### 模型假設

多層模型會作以下呢啲假設：
*線性：最簡單嗰種多層模型，假設啲變數之間嘅關係成線性。
*等分散性：多層模型好多時會假設唔同組嘅變異數一樣。因此郁手分析前，要檢查吓啲實際變異數係點。
*常態分佈：一般線性多層模型假設應變數同殘差跟常態分佈，所以對於啲變數，研究者要 check 吓佢哋嘅偏度同峰度先。
如果有啲假設唔成立但研究者照用多層模型，就容易出現錯誤嘅推論。

### 組內相關

研究者亦好可能要檢查吓數據集入便存有嘅組內相關（）。組內相關係用嚟檢驗應變數嘅變異之中，有幾多可以用群組之間嘅差異去解釋。組內相關嘅現代常用定義係：假設總變異由
*群組層變異 \sigma^2_{\text{zou2 gaan1}}
*個體層變異 \sigma^2_{\text{zou2 noi6}} 
所組成，噉組內相關值就等於：
:\mathrm{ICC} \;=\; \frac{\sigma^2_{\text{zou2 gaan1}}}{\sigma^2_{\text{zou2 gaan1}} \;+\; \sigma^2_{\text{zou2 noi6}}}
組內相關愈接近 0，就愈表示大部份嘅變異嚟自個體層，群組間冇咩明顯差異；組內相關接近 1，就代表大部份嘅變異嚟自群組層，唔同群組爭好遠。一般嚟講，組內相關愈高，就愈表示需要用多層模型嚟去處理，以正確捕捉群組層面變數嘅影響。

## 睇埋
*適合度指標：建立咗多層模型之後要留意嘅嘢。
*計量經濟學
*標準誤差
*虛擬變數
*雜訊
*創發

## 引咗
喺二十一世紀初，多層模型同相關嘅概念有多個嗌法：
***多層模型**，
***等級線性模型**，
*混合模型，
*隨機效應同固定效應， 同 
等等。

引用咗嘅文獻同網頁：

## 註釋

## 資源
有唔少多層模型相關嘅文獻，對象係有志攻讀統計或者用多層模型做研究嘅學生：

*Arcaya M, Brewster M, Zigler CM, Subramanian SV. Area variations in health: A spatial multilevel modeling approach. *Health & place*. 2012 Jul 1;18(4):824-31.
*Gelman, A., & Hill, J. (2007). *Data analysis using regression and multilevel/hierarchical models*. Cambridge university press，**2A** 同 **2B** 有詳細講多層模型。佢哋用咗**可變截距**（varying intercept）同埋**可變斜率**（varying slope）依兩個詞彙，嚟指唔同種嘅多層模型。
*Holodinsky, J. K., Austin, P. C., & Williamson, T. S. (2020). An introduction to clustered data and multilevel analyses. *Family Practice*, 37(5), 719-722.
*Snijders, Tom A.B. Fixed and Random Effects. In: B.S. Everitt and D.C. Howell (eds.), *Encyclopedia of Statistics in Behavioral Science*. Volume 2, 664-665. Chicester (etc.): Wiley, 2005，呢篇有講應該用邊個自變數嚟做高層變數（有別於例如性別或者年紀等嘅控制變數）。呢點涉及研究設計嘅考量，以及係對殘差特性嘅觀察。

其他連去相關資源嘅拎：
* lme4，R 程式語言有套件可以用嚟行多層模型。
* MLwiN，專門整嚟行多層模型嘅電腦軟件