拓端tecdat|R語言結(jié)構(gòu)方程模型SEM、路徑分析房價和犯罪率數(shù)據(jù)、預測智力影響因素可視
原文鏈接:http://tecdat.cn/?p=25044
原文出處:拓端數(shù)據(jù)部落公眾號
1 簡介
在本文,我們將考慮觀察/顯示所有變量的模型,以及具有潛在變量的模型。第一種有時稱為“路徑分析”,而后者有時稱為“測量模型”。
2 進行簡單的多元回歸
SEM 在很大程度上是回歸的多元擴展,我們可以在其中一次檢查許多預測變量和結(jié)果。SEM 還提供了檢查潛在結(jié)構(gòu)(即未觀察到某些變量的地方)的創(chuàng)新。更具體地說,“結(jié)構(gòu)方程”的概念是指我們有不止一個方程表示協(xié)方差結(jié)構(gòu)模型,其中我們(通常)有多個標準變量和多個預測變量。
讓我們從簡單的演示開始,即 SEM 中的路徑模型可以概括簡單的單預測變量-單結(jié)果回歸。我們將檢查人口普查中的房價數(shù)據(jù),以回顧相關(guān)和回歸中的重要概念。這是一個很好的回歸數(shù)據(jù)集,因為有許多相互依賴的變量:犯罪,污染物,財產(chǎn)的年齡,等等。
這是上面的單預測回歸,作為路徑模型運行?:

為了比較,輸出?

回歸系數(shù)是相同的(好?。?。有一點需要注意的是,我們在輸出中沒有截距。這突出了一個重要的區(qū)別,基本的SEM經(jīng)常關(guān)注數(shù)據(jù)的協(xié)方差結(jié)構(gòu)。我們也可以包括均值,但通常只有當它與我們的科學問題有關(guān)時才會包括。例如,男性和女性在抑郁癥潛在因素的平均水平上是否有差異?
2.1 平均結(jié)構(gòu)
在這種情況下,我們可以要求在模型中包含平均值(截距)??:

2.2 模型參數(shù)詳情
"參數(shù) "表提供了模型中哪些參數(shù)是必須被估計,以及用戶在模型語法中要求哪些參數(shù)的重要摘要。
?

在這里,'user' 指的是我們在語法中明確請求的參數(shù),'free' 列的非零值表示模型自由估計的參數(shù)。
請注意,我們也可以得到標準化的估計值?。這是 SEM 中更復雜的主題,因為我們可以僅針對潛在變量()或觀察變量和潛在變量(
)進行標準化。后者通常是 SEM 論文中作為標準化估計報告的內(nèi)容。
2.3 標準化估計

3 住房數(shù)據(jù)的路徑分析
讓我們看一些更有趣的東西。如果我們認為一氧化氮 (?) 水平也可以預測房價和犯罪率,那會怎樣?我們可以將其添加為標準多元回歸中的預測變量。
此外,我們假設(shè)房屋靠近大型高速公路()預測一氧化氮的濃度,從而預測較低的房價?
模型語法可以指定為:
模型看起來像這樣

這是文本輸出:

需要注意的幾點:
請注意警告:“一些觀察到的差異(至少)是其他差異的 1000 倍。”?
我們的假設(shè)似乎都得到了支持。
模型卡方非常顯著,表明全局模型擬合不佳。
3.1 調(diào)整
當模型中變量的方差顯著不同(數(shù)量級)時,參數(shù)估計可能會遇到困難。鑒于上述警告,讓我們來看看。

看起來nox的比例要比其他預測因素小得多,可能是因為它的單位是千萬分之一!我們可以通過乘以常數(shù)來重新調(diào)整變量的比例。在這種情況下,我們可以通過乘以一個常數(shù)來重新劃分變量的尺度。這對模型的擬合或解釋沒有影響--我們只需要回憶一下新單位代表什么。另外,如果重要的話,你可以隨時從參數(shù)估計中除掉常數(shù)來恢復原來的單位。
?

3.2 模型擬合指數(shù)
您可以在模型摘要輸出中使用更詳細的全局擬合指數(shù)。

您還可以使用以下方法獲取適合的度量(包括其他統(tǒng)計信息)

?

這些看起來很差:CFI < .95(甚至遠低于 0.9),而 RMSEA 遠高于我們認為“還可以”的 0.08 水平。
3.3 模型診斷
這表明需要更詳細地檢查擬合。首先,我們可以查看模型隱含和觀察到的協(xié)方差矩陣之間的不匹配。
從概念上講,結(jié)構(gòu)方程建模 (SEM) 的目標是測試變量間協(xié)方差的理論動機模型是否提供了數(shù)據(jù)的良好近似。
更具體地說,我們試圖測試一個解析模型(由測量和/或結(jié)構(gòu)成分組成)對觀察到的協(xié)方差矩陣的再現(xiàn)程度。從形式上看,我們正在尋求建立一個模型,其模型隱含的協(xié)方差矩陣接近于樣本(觀測)協(xié)方差矩陣。
SXX≈Σ (θ ^)
我們可以從中獲得這些信息,?進一步診斷模型不匹配。
首先,模型隱含的協(xié)方差矩陣:

我們也許可以用相關(guān)(標準化)單位更容易地解釋這一點。也就是說,變量之間的模型隱含相關(guān)性是什么?可以訪問許多模型詳細信息,包括:

這與觀察到的相關(guān)性相比如何?

特別是,獲得雙變量關(guān)聯(lián)的不匹配。在這里,我們要求相關(guān)單位中的殘差,這比處理未標準化的協(xié)方差更直觀。請注意,這是上面觀察到的模型隱含矩陣的減法。大的正值表明模型低估了相關(guān)性;大的負值表明相關(guān)性的過度預測。通常值 |r>.1|值得仔細考慮。

因此,該模型顯著低估了??和?
之間的?關(guān)聯(lián)?。
我們也可以將問題可視化:

3.4 修改指數(shù)
讓我們看一下修改索引,看看我們是否可以通過釋放一個或多個路徑來修復不匹配,特別是? 和?
之間的?關(guān)系?。

在這里,我們看到如果我們允許??預測?,模型擬合會大大提高
。這是否具有理論上的意義是另一回事(而且可能更重要)。出于演示目的,讓我們接受需要自由估計這條路徑。

?

這在擬合方面看起來好多了。?犯罪與我們之前錯過的氮氧化物水平之間存在強烈的正相關(guān)關(guān)系。從概念上講,這表明犯罪與房價之間的關(guān)系部分是由犯罪對污染物水平的影響所調(diào)節(jié)的。相比之下,靠近高速公路對房價的影響似乎完全由污染物水平調(diào)節(jié)(正如這條路徑?jīng)]有大的修正指數(shù)所示)。
4 檢驗調(diào)解
如果支持上述模型并且我們對測試中介特別感興趣,我們通常希望 1)專門檢驗間接效應(yīng),以及 2)使用一種方法對提供可信?p值的中介效應(yīng)進行顯著性檢驗。正如前段時間所指出的(例如,MacKinnon 等人,2007 年),在 SEM 框架中對中介的適當檢驗是基于??構(gòu)成中介的成分路徑的乘積。在這里,我們在兩個中介鏈中只有兩條路徑:
radlog_crim→nox→cmedv→nox→cmedvrad→nox→cmedvlog_crim→nox→cmedv
為了具體測試這些,我們需要在 模型中定義新參數(shù),這些參數(shù)是各個路徑的產(chǎn)物。這可以使用??運算符('定義為')來完成。請注意,這確實會改變模型中自由參數(shù)的數(shù)量,因為這些只是現(xiàn)有參數(shù)的乘積。為了看哪個估計要相乘,我們必須通過將變量預乘以任意標簽來使用“參數(shù)標簽”。在這里,我將“a1”和“a2”用于 X -> M 路徑,將“b1”用于 M -> Y 路徑。
這看起來很有希望,但正如我上面提到的,這種用于測試中介的“delta 方法”眾所周知是有問題的,因為間接路徑乘積項的抽樣分布不正常。Bootstrapping 是解決這種問題的一種常見解決方法,它不會對感興趣系數(shù)的分布(即兩個中介路徑的采樣分布)做出強有力的假設(shè)。我們可以使用參數(shù)來實現(xiàn)這一點?。默認情況下,這將使用 1000 個非參數(shù)引導樣本重新估計參數(shù)估計的標準誤差。您可以使用
?參數(shù)更改引導樣本的數(shù)量?
?
正如我們所懷疑的,這兩種間接途徑都很重要,表明了調(diào)節(jié)的證據(jù)。
5 帶有潛在變量的 SEM
當我們對測試有潛變量的模型感興趣時,怎么辦?通常,這將是一個 "反映性潛變量 "模型,我們認為一個假定的潛變量是由幾個(通常是3個以上)顯性指標來衡量的。這樣的變量通常被稱為 "因子 "或 "潛在特質(zhì)"。在SEM世界中,確認性因子分析是最常見的反映性潛變量模型。
這樣的模型中使用=~操作符('測量的')來指定。
讓我們以 衡量智力為例,其中有 9 個項目可以衡量智力的不同方面:視覺、文本和速度。觀察到的變量是?。
這是一個“經(jīng)典”數(shù)據(jù)集,用于許多關(guān)于結(jié)構(gòu)方程建模 (SEM) 的論文和書籍,包括一些商業(yè) SEM 軟件包的手冊。數(shù)據(jù)包括來自兩所不同學校的七年級和八年級兒童的心理能力測試成績。在我們的數(shù)據(jù)集版本中,僅包含原始 26 個測試中的 9 個。通常針對這 9 個變量提出的 CFA 模型由三個潛在變量(或因子)組成,每個潛在變量具有三個指標:
由 3 個變量測量的?視覺?因子?
:?
?和?
由 3 個變量測量的?文本?因子?
:?
?和?
由 3 個變量測量的?速度?因子?
:?
?和?
一個 3 因素 CFA 示例
5.1 指定因子模型
指定此模型的相應(yīng) 語法如下:
在此示例中,模型語法僅包含三個“潛在變量定義”。
5.2 典型 CFA 輸出
默認情況下,第一個指標具有 1 的固定負載以縮放基礎(chǔ)因子(“單位負載標識”)。讓我們來看看:
?
?
?
5.3 CFA 的修正指數(shù)
修正指數(shù)表明??可能會加載?
?因子,或者?
?可能?
?具有唯一的殘差相關(guān)性。這又是一個理論上的問題,但我們可以測試修改后的模型以進行演示。我們使用?
?運算符來指定模型中的(殘差)方差或協(xié)方差項。
仍然不是很好。我們可以重新檢查修改指數(shù)
現(xiàn)在是時候咨詢你關(guān)于潛在結(jié)構(gòu)應(yīng)該是什么的預測或理論了。這是一個模型構(gòu)建和模型比較問題,很大程度上超出了本教程的范圍。然而,我們至少可以測試這些模型之間的全局擬合差異。這些是嵌套模型(因為??在更簡單的模型中殘差協(xié)方差為 0),這允許我們使用似然比檢驗(也稱為模型卡方差):

該??函數(shù)將使用 LRT 方法測試整體擬合差異。LRT 的自由度是自由參數(shù)數(shù)量的差異(此處為 1)。
5.4 詳細看模型
我們可以查看自由參數(shù)在矩陣規(guī)范中的位置。自由參數(shù)被編號(按順序),零表示可能的參數(shù),固定為零(即不估計)。
?

?

我們還可以看到矩陣形式的參數(shù)估計:


5.5 結(jié)構(gòu)模型呢?
上面的 CFA 只包含一個測量模型——一個具有因子之間相關(guān)性的三因子模型。如果我們還想看看學校的年級在多大程度上可以預測智力因素(視覺、文本、速度)的水平,該怎么辦?




正如人們所預料的那樣,高年級的孩子在潛在智力因素上得分更高。
最后,如果我們想在結(jié)構(gòu)模型中使用一般與特定(殘差)方差怎么辦?為了讓它們在相同的參數(shù)矩陣中適當?shù)匕l(fā)揮作用,我們?yōu)楦信d趣的項目殘差創(chuàng)建了一個單指標潛在變量。

?

?


這里沒有骰子,但你明白了。
6 分類數(shù)據(jù)
支持使用閾值結(jié)構(gòu)來正式處理內(nèi)生的分類數(shù)據(jù)。這源于這樣的觀點:一個項目的基本分布是連續(xù)的(高斯),但我們的離散化(如二元或多態(tài))在特定的點上降低了這個維度。
?

我們有4個級別的變量(1、2、3、4),但只有三個閾值--每個閾值指定兩個相鄰級別(錨)之間的邊界。如果我們有動力來說明這個結(jié)構(gòu),這些閾值可以被指定為模型中的自由參數(shù)。這實質(zhì)上是在估計ττ參數(shù)沿著連續(xù)體的落點;它們不需要均勻分布
如果我們對一個項目有5個以上的錨,我們也許可以把它當作連續(xù)的,而不會出現(xiàn)重大的錯誤。請注意,這就是我們在最初的CFA中所做的事情--我們將X1-x9視為正態(tài)/連續(xù)分布。事實證明,它們是(即不是高度離散的)。
?

但是,如果我們有具有 2、3 或 4 個值的數(shù)據(jù),將變量視為連續(xù)變量通常是不合適的,并且可能導致有偏差、不準確的結(jié)果。
通常,具有閾值結(jié)構(gòu)的模型是使用“加權(quán)最小二乘”(WLS)估計器而不是最大似然(ML;SEM 中的典型估計器)估計的。均值和協(xié)方差調(diào)整的 WLS(又名“WLSMV”)通常是可行的方法,因為它可以比典型的 WLS 更好地處理多元分布的非正態(tài)性。
6.1 CFA分類數(shù)據(jù)演示
這是一個快速演示——如果我們的每個智力測試項目只有三分法怎么辦?

我們用有序參數(shù)告訴R哪些項目是有序分類的。



?
請注意,我們現(xiàn)在對每個項目都有閾值估計,其中較高的數(shù)值表示對一個類別和下一個類別之間的邊界有較高的估計,而這個潛在的連續(xù)體據(jù)說是該項目的基礎(chǔ)。
7 估計
最后, 可以用許多不同的算法來估計模型中的參數(shù)。“ML”是連續(xù)數(shù)據(jù)的默認值,“WLS”是(部分)分類數(shù)據(jù)的默認值。
這些估計器的'穩(wěn)健'通常會在整個模型的卡方檢驗和標準誤差的層面上對非正態(tài)性(以及潛在的其他東西,如聚類)進行穩(wěn)健處理,因此,顯著性檢驗。讓你的統(tǒng)計數(shù)據(jù)對非正態(tài)性具有魯棒性通常是一件好事......因此,許多人將使用 "MLR "作為他們對連續(xù)數(shù)據(jù)的首選,而 "WLSMV "則用于分類數(shù)據(jù)。
可以使用??參數(shù)指定它。
?
?
我們現(xiàn)在有一列“穩(wěn)健”的全局擬合指數(shù),并注意標準誤差是使用 Huber-White 估計器估計的(對非正態(tài)性和聚類穩(wěn)?。?。
8 缺失數(shù)據(jù)
默認情況下,?通常會刪除缺少任何變量的樣本。但是您可能會丟失大量數(shù)據(jù),并且因為它可能會給數(shù)據(jù)帶來偏差。雖然遠遠超出了本教程,但通常最好在數(shù)據(jù)隨機缺失的假設(shè)下使用所謂的全信息最大似然 (FIML),即給定變量的缺失可能與其他變量相關(guān),但是而不是變量本身。使用 FIML,估計嘗試根據(jù)具有可用數(shù)據(jù)的案例來估計所有參數(shù)。
以下是默認情況下發(fā)生的情況:
?
?
注意輸出:
結(jié)果不理想。
好的,下面是FIML
?


?


這更讓人放心:

同樣,關(guān)于缺失數(shù)據(jù)的理論和正式方法超出了本教程的范圍,但我希望這能讓大家了解到如何在sem中處理缺失問題。

最受歡迎的見解
1.R語言多元Logistic邏輯回歸 應(yīng)用案例
2.面板平滑轉(zhuǎn)移回歸(PSTR)分析案例實現(xiàn)
3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)
4.R語言泊松Poisson回歸模型分析案例
5.R語言混合效應(yīng)邏輯回歸Logistic模型分析肺癌
6.r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實現(xiàn)
7.R語言邏輯回歸、Naive Bayes貝葉斯、決策樹、隨機森林算法預測心臟病
8.python用線性回歸預測股票價格
9.R語言用邏輯回歸、決策樹和隨機森林對信貸數(shù)據(jù)集進行分類預測