电竞比分网-中国电竞赛事及体育赛事平台

分享

在R語(yǔ)言中實(shí)現(xiàn)sem進(jìn)行結(jié)構(gòu)方程建模和路徑圖可視化

 拓端數(shù)據(jù) 2021-08-09

原文鏈接: http:///?p=23312

引言

結(jié)構(gòu)方程模型是一個(gè)線性模型框架,它對(duì)潛變量同時(shí)進(jìn)行回歸方程建模。 諸如線性回歸、多元回歸、路徑分析、確認(rèn)性因子分析和結(jié)構(gòu)回歸等模型都可以被認(rèn)為是SEM的特例。在SEM中可能存在以下關(guān)系。

  • 觀察到的變量與觀察到的變量之間的關(guān)系(γ,如回歸)。

  • 潛變量與觀察變量(λ,如確認(rèn)性因子分析)。

  • 潛變量與潛變量(γ,β,如結(jié)構(gòu)回歸)。

SEM獨(dú)特地包含了測(cè)量和結(jié)構(gòu)模型。測(cè)量模型將觀測(cè)變量與潛變量聯(lián)系起來(lái),結(jié)構(gòu)模型將潛變量與潛變量聯(lián)系起來(lái)。目前有多種軟件處理SEM模型,包括Mplus、EQS、SAS PROC CALIS、Stata的sem和最近的R的lavaan。R的好處是它是開源的,可以免費(fèi)使用,而且相對(duì)容易使用。

本文將介紹屬于SEM框架的最常見的模型,包括

  • 簡(jiǎn)單回歸

  • 多元回歸

  • 多變量回歸

  • 路徑分析

  • 確認(rèn)性因素分析

  • 結(jié)構(gòu)回歸

目的是在每個(gè)模型中介紹其

  • 矩陣表述

  • 路徑圖

  • lavaan語(yǔ)法

  • 參數(shù)和輸出

在這次訓(xùn)練結(jié)束時(shí),你應(yīng)該能夠理解這些概念,足以正確識(shí)別模型,認(rèn)識(shí)矩陣表述中的每個(gè)參數(shù),并解釋每個(gè)模型的輸出。

語(yǔ)法簡(jiǎn)介

語(yǔ)法一:f3~f1+f2(路徑模型)

結(jié)構(gòu)方程模型的路徑部分可以看作是一個(gè)回歸方程。而在R中,回歸方程可以表示為y~ax1+bx2+c,“~”的左邊的因變量,右邊是自變量,“+”把多個(gè)自變量組合在一起。那么把y看作是內(nèi)生潛變量,把x看作是外生潛變量,略去截距,就構(gòu)成了語(yǔ)法一。

語(yǔ)法二:f1 =~ item1 + item2 + item3(測(cè)量模型)

"=~"的左邊是潛變量,右邊是觀測(cè)變量,整句理解為潛變量f1由觀測(cè)變量item1、item2和item3表現(xiàn)。

語(yǔ)法三:item1 item1 , item1 item2

"~~"的兩邊相同,表示該變量的方差,不同的話表示兩者的協(xié)方差

語(yǔ)法四:f1 ~ 1

表示截距

基礎(chǔ)知識(shí)

加載數(shù)據(jù)

在這種情況下,我們將模擬數(shù)據(jù)。

y ~ .5*f  #有外部標(biāo)準(zhǔn)的回歸強(qiáng)度


f =~ .8\*x1 + .8\*x2 + .8\*x3 + .8\*x4 + .8*x5  #定義因子f,在5個(gè)項(xiàng)目上的載荷。


x1 ~~ (1-.8^2)*x1 #殘差。請(qǐng)注意,通過(guò)使用1平方的載荷,我們?cè)诿總€(gè)指標(biāo)中實(shí)現(xiàn)了1.0的總變異性(標(biāo)準(zhǔn)化的)。
......

#產(chǎn)生數(shù)據(jù);注意,標(biāo)準(zhǔn)化的lv是默認(rèn)的
simData 

#看一下數(shù)據(jù)
describe(simData)\[,1:4\]

指定模型

y ~ f # "~回歸"
f =~ x1+ x2 + x3 + x4 + x5 # "=~被測(cè)量的是"
x1 ~~ x1 # 方差
x2 ~~ x2 #方差
x3~~x3 #變量
x4~~x4 #變量
x5~~x5 #變量
#x4~~x5將是協(xié)方差的一個(gè)例子

擬合模型

summary(model_m)

inspect(model_m)

Paths

路徑分析

與上述步驟相同,但主要側(cè)重于回歸路徑。值得注意的是這種方法對(duì)調(diào)節(jié)分析的效用。

##加載數(shù)據(jù)
set.seed(1234)

Data <- data.frame(X = XY = YM = M)

指定模型

 # 直接效應(yīng)
             Y ~ c*X #使用字符來(lái)命名回歸路徑
           # 調(diào)節(jié)變量
             M ~ a*X
             Y ~ b*M
           # 間接效應(yīng)(a*b)
             ab := a*b #定義新參數(shù)
           # 總效應(yīng)
             total := c + (a*b) #使用":="定義新參數(shù)

擬合模型

summary(model_m)

Paths(model)

間接效應(yīng)的Bootstrapping置信區(qū)間

除了指定對(duì)5000個(gè)樣本的標(biāo)準(zhǔn)誤差進(jìn)行bootstrapping外,下面的語(yǔ)法還指出標(biāo)準(zhǔn)誤差應(yīng)進(jìn)行偏差校正(但不是accelearted)。這種方法將產(chǎn)生與SPSS中的PROCESS宏程序類似的結(jié)果,即對(duì)標(biāo)準(zhǔn)誤差進(jìn)行偏差修正。

sem(medmodel,se = "bootstrap")

確認(rèn)性因素分析

加載數(shù)據(jù)

我們將使用例子中的相同數(shù)據(jù)

指定模型

'
=x1 + x2 + x3 +x4 + x5
x1~~x1
x2~~x2
x3~~x3
x4~~x4
x5~~x5
'

擬合模型

sem(fit, simData)

Paths(fit)

anova

正如各模型的LRT所示,sem()和cfa()是具有相同默認(rèn)值的軟件包。CFA可以很容易地使用cfa()或sem()完成 結(jié)構(gòu)方程模型

加載數(shù)據(jù)

在這種情況下,我將模擬數(shù)據(jù)。

#結(jié)構(gòu)成分
y ~ .5\*f1 + .7\*f2 #用外部標(biāo)準(zhǔn)回歸的強(qiáng)度


#測(cè)量部分
f1 =~ .8\*x1 + .6\*x2 + .7\*x3 + .8\*x4 + .75*x5 #定義因子f,在5個(gè)項(xiàng)目上的載荷。

x1 ~~ (1-.8^2)*x1 #殘差。注意,通過(guò)使用1平方的載荷,我們實(shí)現(xiàn)了每個(gè)指標(biāo)的總變異性為1.0(標(biāo)準(zhǔn)化)。
...

#生成數(shù)據(jù);注意,標(biāo)準(zhǔn)化的lv是默認(rèn)的
sim <- sim(tosim)

#看一下數(shù)據(jù)
describe(sim )

  

指定模型

測(cè)試正確的模型

#結(jié)構(gòu)性
y ~ f1+ f2
#測(cè)量
f1 =x1 + x2 + x3 + x4 + x5 
f2 =x6 + x7

測(cè)試不正確的模型。假設(shè)我們錯(cuò)誤地認(rèn)為X4和X5負(fù)載于因子2。

incorrect
#結(jié)構(gòu)性
y ~ f1+ f2
#測(cè)量
f1 =x1 + x2 + x3 
f2 =x6 + x7 + x4 + x5

擬合模型

正確的模型

summary(model_m)

不正確的模型

summary(incorrectmodel_m, fit.measures = TRUE)

比較模型

正確模型

 不正確模型

Paths(incorrec)

anova

除了不正確模型的整體擬合指數(shù)較差--如CFI<0.95,RMSEA>0.06,SRMR>0.08和Chi-square test<0.05所示,正確模型也優(yōu)于不正確模型,如正確模型的AIC和BIC低得多所示。


    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多