R資料分析:結構方程模型(SEM)介紹
全文包括:
SEM簡介:功能、優點、缺點
分析軟體簡介
統計知識回顧:矩陣標量向量、多元迴歸分析、估計方法
SEM的六大步驟
路徑追蹤規則(Path tracing rules)
R codes
一、SEM簡介
強大的功能:
融合了因子分析(Factor Analysis)、方差分析(如ANOVA, ANCOVA, MANOVA, MANCOVA)、多重回歸(multiple regression)等:
可以分析有多個因變數的模型(multiple dependent variables)
可以分析複雜的中介模型(complex mediating mechanisms)
可以估算潛在變數以解釋測量誤差(estimate latent variables)
可以估算二分變數(binary) /序級變數(ordinal)的潛在因子
可以測試跨組的模型不變性(test invariance of models across groups)
可以建模重複測量的資料的發展軌跡(growth trajectories of repeated measures)
不勝列舉的優點們:
可以一次性完成對一個複雜模型的分析,而不用將模型拆分
適用於各種資料(不同分佈的資料-非正態分佈,不同型別的資料-非連續資料)
對長期資料,可以測試個體的穩定性
以及不足:
建了個太太太複雜的模型,以致於啥都說明不了(比如把各種變數一股腦塞進模型,偏離了理論)—— 所以在建模specification/re-specification時,一定要明確自己在做什麼,讓模型保持精簡。
難以判斷模型是否正好擬合(fit)資料 —— 要依據理論再參考一些fit index,將模型不斷最佳化,在過度適合和適合不足中找到平衡點。
可能有不同模型恰好一樣地擬合數據
沒有明確參考標準來確定合適的樣本大小——……樣本量越大越好
和其他分析一樣,SEM無法修正由於取樣或測量導致的誤差——好好設計和實施實驗讓資料質量高一些
哲學盲點:SEM使用”證據的缺失(absent of evidence)作為支援假設模型的證據 —— 沒有證據證明其存在可以證明其不存嗎?(例一:研製新藥,如果沒有證據顯示新藥有療效,是不是就能說明新藥沒有療效了呢?例二:尋找某物種,如果找不到這個物種的生物,是不是就說明該物種已經滅絕了餓呢?)
二、應用軟體
常用軟體:
Amos
(繪製路徑圖,簡易模型分析,想發表文章的話還是用後兩個分析吧)、
Mplus
(程式碼簡潔好上手)、
R(一般用
lavaan package,還有別的包可以用比如semTools有一些補充功能比如求
測量不變性 measurementInvariance()
,semplot/lavaanplot可以用來繪圖,還有openMX、sem等)。
除此以外,還有
Python
(學好程式設計啥問題都能解決)、
LISREL
(輸入input是矩陣而非原資料!Coursera上有港中文大學Kit Tai Hau 侯傑泰教授的免費公開課程“Structural Equation Model and its Applications | 結構方程模型及其應用 (普通話/粵語))、
EQS
(多變數分析軟體)
、SPSS
(也得自己碼程式碼syntax,點點點滑鼠是點不出來這些比較高階的功能的)。
三、統計知識回顧
矩陣代數(Matrix Algebra)
標量(scalars):
實數,只有大小,沒有方向。
*a是一個標量,b也是一個標量。
矩陣(matrix)
:雙序排列的標量,行(rows)+列(columns)。
*表示矩陣的字母一般大寫、加粗。
矩陣排序:
下標前面的數字代表行i,後面的數字代表列j,記作aij。
矩陣轉置(Transpose):
把矩陣A(r×c)的行和列互相交換,得到矩陣A’(c×r)。
對稱矩陣(Symmetric Matrices):
A = A’。
對角矩陣(diagonal matrix):
特殊的對稱矩陣,主對角線之外的元素皆為0的矩陣。
單位矩陣(Identity Matrix):
特殊的對角矩陣,主對角線為1,主對角線之外的元素皆為0的矩陣。
向量(Vector):
僅有一列/一行的矩陣。
*代表向量的字母一般小寫加粗。
矩陣的加減乘除
(我省略了)
但要注意的是,
計算標量時,ab=ba,計算矩陣時,ab ≠ ba因為乘法要考慮順序。
實際上沒有矩陣除法,透過乘以逆矩陣(
A-1
)完成。
行列式(Determinant)
矩陣
S
的行列式記作
|S|
僅正方形的矩陣可以求行列式,比如相關性、協變數矩陣。
行列式為0的矩陣不可逆(inverted),這樣的矩陣是非正定矩陣(non-positive definite, NPD),而SEM計算中通常需要求逆矩陣,所以行列式為0的矩陣為導致執行錯誤(例如“psi matrix is not positive definite” )
多元迴歸分析(Multiple Regression)
迴歸分析(regression)可以看作是SEM的一種形式。
廣泛應用於社會、行為、健康科學中的強大、靈活的分析方法。
因變數需要時正態分佈的連續資料,對自變數沒要求。
可以分析互動作用、中介作用等。
估計方法
最小二乘估計(Least Squares Estimation, LSE)
選擇可以
最小
化殘差的平方和(sum of squared residuals)的引數
最大似然估計(Maximum Likelihood Estimation, MLE)
頻率學派(Frequentist)的點估計法,根據樣本資料不斷嘗試,選出能
最優
描述實際機率分佈(likelihood)的引數。
最大後驗估計(Maximum A Posteriori Estimate, MAP)
提到了頻率學派,就插入一下貝葉斯學派(Bayesian)的最大後驗估計MAP。MAP融合了預估計量的先驗分佈資訊(Prior distribution),對未觀測點做估計,可以看作是正則化(regularized)的最大似然估計。
四、SEM操作步驟
1。 Specification 明確模型
自變數(independent variable)是什麼?因變數(dependent variable)是什麼?有沒有調節變數(mediator)?有沒有中介變數(moderator)?變數間是什麼關係(relationship)?
1.1 路徑圖(path diagram)
繪圖比較好用易上手的軟體:Amos (分析基於SPSS,要獲得分析結果的話要同時下載SPSS)(Amos全名其實就是Analysis of moment structures)
繪製正確的話,路徑圖完全可以表達(等同於)構建的方程式/模型
優點:視覺化模型隱含的
矩陣結構
(model-implied
moment structure
) 【
moment
指的是變數組(sets of variables)的均值(mean)、方差(variances)、 協方差(covariances),就是均值矩陣/(協)方差矩陣】。
路徑圖中圖形的含義
長方形/正方形:
測量變數(measured variable)
圓形:
未測量變數(unmeasured variable), 如殘差(residuals)、潛在變數(latent variables)
單向直線箭頭:
迴歸方程的引數(regression coefficient)/因子分析的因子負荷(factor loadings)
雙向曲線箭頭
:方差(variance)/協方差(covariance)
三角形:
均值(mean)/截距(intercept)的常數(constant)。在分析模型時,統計軟體會自動將一行常數設定成1。
1.2 矩陣結構(Moment Structures)
總體矩陣(Population moments) 記作Σ和μ
樣本矩陣(sample moments)記作S和 m
總體隱含矩陣(Population model implied moments)記作Σ (θ) 和μ (θ)
樣本隱含矩陣(Sample model implied moments)記作 Σ (θ hat)和μ (θ hat)
如下圖,以總體矩陣為例:對於單個因變數和q個自變數的迴歸模型,有一個總體的協方差矩陣
Σ
和總體均值向量
μ。
2。 Identification模型的辨識性
就像每個人都有個身份證號一樣,一個模型需要具有辨識度。模型辨識度指的在有足夠的已知資訊來推斷未知引數的程度。
Model identification refers to the extent to which there is sufficient known information to infer unknown values
過度識別(Over-identified)
:模型包含了冗餘資訊,需要修改 ——未知引數個數<獨立方程式個數(方程式有解,但沒有唯一精確解)。
許多路徑分析和幾乎所有SEM模型存在這個問題。
正好識別(Just-identified)
:觀察到的資訊 = 所需估計的引數數量 ——未知引數個數=獨立方程式個數(方程式有唯一精確解)。
所有多元迴歸模型都是恰好識別。
識別不足(Under-identified)
:觀察到有用資訊不足——未知引數個數>獨立方程式個數(方程無解)。
大問題!無法得到有效結果,下面講到的路徑追蹤規則(path tracing rules)對解決這個問題有用。
3。 Estimate 模型引數估計
從樣本資料中得到係數的過程。
3。1 最常用的是上述ML(最大似然法maximum likelihood),其具有
3個特點:
a.無偏的
:雖然每次都有抽樣誤差(sampling error), 但無限次重複實驗後,樣本估值的平均值將等於總體的真實值
unbiased: if we were to repeat our study an infinite number of times, the mean of the sample estimates would equal the population value
b.一致性:
當樣本量無限接近於總人群量時,樣本估值也無限接近群體值
consistent: as the sample size approaches infinity, the sample estimate approaches the population value
c.有效性:
引數估值的誤差最小
efficient: no other estimator has a smaller sampling error for the parameter estimate
3.2 兩種方式:
a. 充分統計最大似然值估計
(Sufficient-statistic maximum likelihood estimation,SSML)僅僅基於觀測到的協方差矩陣和均值向量,前提是有完整資料 (complete-case data)和正態分佈的因變數(normally distributed DVs)
b. 完全資訊最大似然值估計
(Full information maximum likelihood estimator,FIML) 基於任何從個體觀察到的資料。允許部分缺失的資料(partially missing data)和用於處理非正態分佈(non-normal distribution)和巢狀資料結構( nested data structures)的替代方法
*對於完整的正態分佈的資料,SSML 和FIML 一樣。
3.3 優點:
適用於各種模型
無偏、一致、最大化有效性。
估值漸近正態分佈(Estimates are asymptotically normally distributed),為推理測試(inference test)提供依據
可以透過卡方檢驗比較不同模型的相對擬合度的優劣
FIML適用於有缺失值和非正態分佈的資料。
3.4 步驟
初始值(start value):選擇引數估計的初始值
迭代(iteration):計算似然值,更新引數估計值
收斂(converge):不斷計算似然值,直到前後兩個似然值之間的差異足夠小為止
從最後一步保留擬合值(Fit statistics)、引數估值(parameter estimates)和標準誤差(standard errors )
*如果模型太複雜有可能出現模型不收斂“failed to converge”的問題。
4。 Evaluation 模型評估
模型擬合程度如何?根據模型擬合指數作判斷(Model fit index)
5。 Potential re-specification可能需要模型再明確
如果模型不夠好,怎麼修改?參考理論,根據修正指數(Modification indices)調整模型。
6。 Interpretation 解讀
哪個結果顯著?結果是否有意義?
通常關注點在:
原始的引數估值(Raw parameter estimates)
標準化的引數估值(Standardized parameter estimates)
決定係數R2 , (explained variance in outcomes),即模型可解釋的變異量
五、路徑追蹤規則(Path Tracing Rules):
Sewall Wright在 19世紀20年代和30年代發明。
1。一旦開始用了單項箭頭,就不能再往回/用雙向箭頭了4 前進了不能再後退, 但可以先後退再前進
Rule 1: if you begin a trace forward from a variable using a singleheaded arrow, you can proceed forward any number of times; but once you start forward you may not move backwards or span a double-headed arrow
圖片來源 p67 《結構方程模式理論與實務:圖解AMOS取向》作者: 李茂能
2。每一條路徑,最多僅可涉及一個未分析到的相關係數(僅能透過雙箭頭部分一次)
Rule 2: If you begin a trace backward from a variable using a single headed arrow, you can proceed backward any number of times; upon reaching a variable, you can do one of two things:
a。 span a double-headed arrow and stop
b。 span a double-headed arrow and proceed the trace forward
圖片來源 p68 《結構方程模式理論與實務:圖解AMOS取向》作者: 李茂能
3。一個變數只能被經過一次,無迴路(no loop)
Rule 3: for each trace you can only pass through a variable once ; no loops are allowed
圖片來源 p67 《結構方程模式理論與實務:圖解AMOS取向》作者: 李茂能
六、R code
#下載lavaan包
install。packages(“lavaan”, dependencies=TRUE)
#執行lavaan包
library(lavaan)
#建模:x是因,y是果
model <- ‘y ~ x’
#選擇用sem分析模型,指定資料
fit <- sem(model, data = data)
#顯示結果
summary(fit) #顯示原始引數
summary(fit, standardized = TRUE) #顯示標準化引數
summary(fit, std。nox = TRUE, rsquare = TRUE) #顯示基於觀測變數和潛在變數的標準化引數和R方
小結
本文原創作者使用者名稱HAO,請支援原創!
感謝大家耐心看完,自己的文章都寫的很細,程式碼都在原文中,希望大家都可以自己做一做,請關注後私信回覆“資料鏈接”獲取所有資料和本人收集的學習資料。如果對您有用請先收藏,再點贊轉發。
也歡迎大家的意見和建議,大家想了解什麼統計方法都可以在文章下留言,說不定我看見了就會給你寫教程哦。
如果你是一個大學本科生或研究生,如果你正在因為你的統計作業、資料分析、論文、報告、考試等發愁,如果你在使用SPSS,R,Python,Mplus, Excel中遇到任何問題,都可以聯絡我。因為我可以給您提供好的,詳細和耐心的資料分析服務。
如果你對Z檢驗,t檢驗,方差分析,多元方差分析,迴歸,卡方檢驗,相關,多水平模型,結構方程模型,中介調節,量表信效度等等統計技巧有任何問題,請私信我,獲取詳細和耐心的指導。
If you are a student and you are worried about you statistical #Assignments, #Data #Analysis, #Thesis, #reports, #composing, #Quizzes, Exams。。 And if you are facing problem in #SPSS, #R-Programming, #Excel, Mplus, then contact me。 Because I could provide you the best services for your Data Analysis。
Are you confused with statistical Techniques like z-test, t-test, ANOVA, MANOVA, Regression, Logistic Regression, Chi-Square, Correlation, Association, SEM, multilevel model, mediation and moderation etc。 for your Data Analysis。。。??
Then Contact Me。 I will solve your Problem。。。
加油吧,打工人!
猜你喜歡
文獻解析:結構方程模型的基礎知識
R資料分析:結構方程模型畫圖以及模型比較,例項操練
Mplus教程:如何做潛在類別分析LCA
Mplus資料分析:潛在類別分析(LCA)流程(詳細版)