R語言|路徑分析SEM的構建、解釋以及實際應用

2022-02-07 通往學術之路

    路徑分析(The path analysis,也是結構方程模型的一種形式,具體信息,請參見見前文:這可能是結構方程模型最詳細的文章了。

 直接上例子:

上圖中,作者構建了:不同土壤P庫與P肥料應用之間關係的路徑圖,Errors代表每個變量的方差。圖中的Fertiliser P為磷肥,注意其箭頭指向,它是能直接影響土壤中不同形態P的直接原因。作者根據已有研究和知識體系認為:有機磷(OP)、Fe-Al bound P,Ca-bound P和殘餘P是影響不穩定磷含量的原因(即它們指向Labile P),其餘的箭頭指向也是根據知識體系來做解釋。記住,這個是觀念模型,作者也對這個模型進行了相應的調整。

  對於建立路徑分析模型的理由,作者是這樣描述的:Path analysis has been shown to be a valuable tool to evaluate the cause-and-effect interrelations between P pools in different soil types and under a variety of management regimes。(參考譯文:路徑分析已被證明是一種有價值的工具,可以評估不同土壤類型和各種管理制度下的P庫之間的因果關係)。

    對於結論部分,作者對路徑模型再一次進行解釋:Path analysis uses the data generated by the P fractionation technique in a theoretical model to differentiate between direct and indirect effects from one variable on others.These
interrelations are evaluated as partial correlations between the variables
but, unlike routine multiple regression analysis in which a single dependent variable is considered, path analysis conducts a multivariate multiple regression analysis where several dependent variables are subjected to regression analysis simultaneously on one or more independent variable.(參考譯文:路徑分析使用理論模型中由P區分技術生成的數據來區分一個變量對其他變量的直接和間接影響,這些相互關係被評估為變量之間的偏相關性,但是,與考慮單個因變量的常規多元回歸分析不同,路徑分析進行了多元多元回歸分析,其中多個因變量同時對一個或多個因變量進行回歸分析)。這段話其實很難懂,不懂也不影響,其實最主要的是看作者如何建模和做出解釋的即可。結論部分該文(見參考文獻)對路徑分析的結果並結合實際P形態轉化做了大量闡述,感興趣的可以仔細閱讀該文。其實在我看來,在披露了路徑係數、檢驗p值以及模型擬合度後,結合具體問題進行描述一下即可。方式也和R語言|PLS-PM結構方程模型構建及解釋 的解釋類似,這裡不再重複。

  接下來再來看一例:

    對於這個路徑分析模型,作者的目的是:挑選的5個變量來預測Langmuir P sorption maxima,即S(max)。單箭頭上的係數P(ij)代表路徑係數(變量與預測變量間),雙向箭頭上的係數r(ij)代表簡單相關係數(變量間)。這裡與前一個例子不同的是:作者假定5個變量間還存在相互作用,互為因果。此外,作者還闡述了變量間相互關係的r值求法,不過這個對於現在的我們來說,借鑑意義不太大了。

總結一下:路徑分析建模其實也相對簡單,根據已有知識體系構建影響模型即可,該引用參考文獻的就引用,該自己推斷下定義的就下定義,這點與PLS-PM建模步奏幾乎一致。對於結果,直接描述看到的影響路徑正負方向即可。而最重要的是如何構建這個路徑分析模型,下面介紹採用lavaan包在R中實現路徑分析模型構建。

本文中涉及的包為plspl包,數據集以vegan內置數據varechem為例。

本文中模型建模篩選步奏如下:首先計算各變量間的相關係數,根據相關性正負來決定箭頭所指方向。

library(vegan)library(PerformanceAnalytics)#加載包,沒有的話需要安裝data("varechem")chart.Correlation(varechem, histogram=TRUE, pch=19)#計算相關係數並出圖

如果覺得上圖不好看變量關係,那麼換一個R包出個圖:

install.packages("ggcorrplot")library(ggcorrplot)#加載包# 計算相關性M <- cor(varechem,method = "spearman")
ggcorrplot(M, method = "square", #設置相關性圖展示類型 show.legend = T, #設置是否展示圖例 legend.title = "Corr", #設置圖例的標題 type = "lower", #設置只展示定部panel colors = c("#6D9EC1", "white", "#E46726"), #設置相關性圖的顏色 lab = T, #設置是否顯示顯關係數           hc.order = T)

圖如下:

接下來看著相關係數值構建初始模型,取一個方向看,設定絕對值大於0.5的變量進行建模,低於這個值的則捨去。構建的初始模型如下(本文僅做單向箭頭示例,雙向箭頭大家自行嘗試):

注意:上圖只是我人為定義的箭頭指向關係,規定反方向作用無效,並不代表實際情況如此,並沒有實際意義,這裡只是作為例子進行說明而已,且為了省事,比如變量S與K的關係我並沒有進行標註,並且數據是否滿足多元正態性也並沒檢驗,這裡只是為了說明一個理念而已,不必當真。

下面開始在R中建模:

#假定模型建模model <-'Mn ~ Mg+S+P+K+Ca+Humdepth+ Zn         Ca ~  P+K+Mg+S+Zn'library(vegan)library(lavaan)mypath <- sem(model = model, data = varechem, se = 'bootstrap', bootstrap = 100)#上面這步如果是筆記本的話會很慢,臺式機無壓力,等一會就好,論電腦好壞的重要性mypath #查看簡單結果

summary(mypath, standardized = TRUE, fit.measures = TRUE, rsquare = TRUE)

結果很多,從上到下,取通常關注的幾個數來做解釋,Estimator為
ML代表估計方法使用最大似然估計法;P-value (Chi-square)的值與0.5作比較,如果低於0.5,則表明模型有待提升;Comparative Fit Index (CFI)為擬合度的指標,值在0-1之間,大於0.9的值是「良好」模型擬合的標準,越接近1越好;Akaike (AIC)值通常越低越好,不過需要在有改進模型的情況下進行比較才有用;Regressions下代表了各項回歸係數與p值。
fitmeasures(mypath, c('chisq', 'rmsea', 'cfi', 'aic'))#查看模型擬合度library(semPlot) #沒有這個包則需要安裝
semPaths(mypath, what = 'std', layout = 'tree', residuals = FALSE, edge.label.cex = 1)

CFI指數為1,rmsea指數為0,chisq為0.731,說明這個模型達到「非常好」的程度。但需要指出的是,由於變量已經進行挑選,存在人為確定的因素,一些被捨去的因子是否更重要且不能丟失,選取的指標是否具有現實意義等問題,需要數據分析的人去做取捨,因為數學方法是死的,它只會按照按照你給定的步奏進行輸出,是否需要考慮重新建模,增添指標,還是要根據實際研究情況來進行分析取捨。

如果想要改進模型,那麼可以使用 modificationindices()命令來計算模型的MI值,排序後進行挑選改進模型,變量的MI值越大,說明越需要將該變量加入模型中,但並非添加得越多越好,完全擬合的模型還不如不要,畢竟還是要回到解釋模型背後隱藏的實際意義,因此還是要結合專業背景知識進行取捨。

mf <- modificationindices(mypath)mf <- mf[order(mf$mi, decreasing = TRUE), ]head(mf)

說明:上圖表示了「可以添加Ca和Humdepth和Mn之間的關係」,用以改進模型。大家可以嘗試一下。

#加載包,導入數據,計算相關性,篩選建模變量library(vegan)library(PerformanceAnalytics)#加載包,沒有的話需要安裝data("varechem")chart.Correlation(varechem, histogram=TRUE, pch=19)#計算相關係數並出圖    install.packages("ggcorrplot")library(ggcorrplot)#加載包# 計算相關性M <- cor(varechem,method = "spearman")
ggcorrplot(M, method = "square", #設置相關性圖展示類型 show.legend = T, #設置是否展示圖例 legend.title = "Corr", #設置圖例的標題 type = "lower", #設置只展示定部panel colors = c("#6D9EC1", "white", "#E46726"), #設置相關性圖的顏色 lab = T, #設置是否顯示顯關係數 hc.order = T)#假定模型建模model <-'Mn ~ Mg+S+P+K+Ca+Humdepth+ Zn Ca ~ P+K+Mg+S+Zn'library(vegan)library(lavaan)mypath <- sem(model = model, data = varechem, se = 'bootstrap', bootstrap = 100)#上面這步如果是筆記本的話會很慢,臺式機無壓力,等一會就好,論電腦好壞的重要性mypath #查看簡單結果summary(mypath, standardized = TRUE, fit.measures = TRUE, rsquare = TRUE)#直接提取模型擬合度信息並出圖fitmeasures(mypath, c('chisq', 'rmsea', 'cfi', 'aic'))#查看模型擬合度library(semPlot) #沒有這個包則需要安裝
semPaths(mypath, what = 'std', layout = 'tree', residuals = FALSE, edge.label.cex = 1)mf <- modificationindices(mypath)mf <- mf[order(mf$mi, decreasing = TRUE), ]head(mf)#查看MI值排序

參考文章:

1.González Jiménez, J.L,  Healy M G ,  Daly K . Effects of fertiliser on phosphorus pools in soils with contrasting organic matter content: A fractionation and path analysis study[J]. Geoderma, 2018, 338:128-135.

2.Kang J ,  D  Hesterberg,  Osmond D L . Soil Organic Matter Effects on Phosphorus Sorption: A Path Analysis[J]. Soil Science Society of America Journal, 2009, 73(2):360-366.

3.Assessing linkage between soil phosphorus forms in contrasting tillage systems by path analysis[J]. Soil & Tillage Research, 2018.



R計算:

 均值和方差

R數據分析:

一行代碼做相關分析

單因素方差分析

雙因素方差分析

NMDS分析

方差分解分析

結構方程SEM詳解



相關焦點

  • 初見|-PCA分析原理及R語言實現
    接下來,降維的思想的表達就是,選取適當的整數m的主成分(1≤m<n),將m以後的主成分忽略不計,最終的最前面代表所有事物所有指標的矩陣X(如下圖)就可以表示成為其他的式子。換句話說,在分析整個問題用後者代替前者,這樣對事物的基本信息不會損失太多。至此,PCA的計算過程就解釋完畢。那麼,在分析過程中,有兩個重要的衡量指標需要注意:首先是,第i個主成分的貢獻率,代表的是主成分對事物(例如所有採樣得到的魚)的解釋程度。
  • 【R語言】遙感影像Theil Sen趨勢分析MK檢驗
    01按以下形式將影像預處理好,起名字可以根據自己的需要,但是你要是不了解R語言,就按我的格式改名字吧
  • R語言數據科學工具包:creditmodel-1.3版本發布
    2 開源creditmodel包的動機和意義creditmodel是一個免費開源的R語言數據科學工具包,旨在幫助沒有數據科學背景的人能夠在短時間內完成建模和數據分析工作,讓他們更多地關注業務問題本身,並將更多的時間分配給制定決策。
  • sem是什麼意思?
    sem是什麼意思?因為sem包含競價,所以很多人把sem叫做sem競價;因為其是網絡營銷方式的一種,所以很多人也把它叫做sem營銷。嚴格來講,我們以最簡單的稱謂即可,另外一方面,sem的標準解釋是:搜尋引擎營銷。相對於seo,其範圍更加寬泛。什麼是sem?公式說明如下:SEM=SEO(自然排名)+競價(付費排名與其他付費位置)+付費收錄(此項可忽略)。
  • R語言 | 回歸分析(四)
    R: The R Project for Statistical Computinghttps://www.r-project.org/RStudio:https://rstudio.com/今天是我們最後一期R語言入門系列。從去年11月份到今天,中間也因學業停更了很久,好在堅持了下來。
  • R語言數據實戰 | 文本分析
    我們學習語言的最開始就是認「字」,這也是文本的基礎。進而是詞語,每一個詞語都可視為簡單文本。所以,要想分析好文本數據,首先需要能夠得心應手地處理最基本的字詞。這一節,我們以一個網絡小數的數據集,向大家展示簡單文本的分析方法。最近幾年,躥紅速度最快的應該就是各類層出不窮的網絡劇了。
  • 科學家提出色氨酸構建分子骨架新路徑—新聞—科學網
    近日,揚州大學生物科學與技術學院副教授王喜慶課題組、美國史丹福大學博士白文舉以及生物科學與技術學院副教授李求春共同合作在《應用化學雜誌》發表論文,提出色氨酸構建分子骨架新路徑
  • 詹姆斯馬奧尼:路徑依賴、制度理論與比較歷史分析
    通過對馬奧尼本人的深度訪談和對話,我們不但可以對他的學術歷程、思想來源和研究取向有較好的把握,而且可以藉此機會釐清比較、歸納、演繹、機制、路徑依賴、關鍵時點等概念,還可以一窺比較歷史分析與制度分析的學術脈絡、哲學根基、邊界劃分、前景展望,把以馬奧尼為領軍人物的比較歷史分析置於相關的學術背景中,並啟發我們對質性和量化研究的分歧以及社會科學和歷史學之間的關係進行思考。
  • 復旦桂韜:當NLP邂逅Social Media——構建計算機與網絡語言的橋梁
    報告內容:社交媒體已經深入到了我們生活的方方面面,網絡語言在社交領域的溝通中得到了越來越廣泛的應用,但是非規範化的社交語言會給我們常用的自然語言處理(NLP)算法帶來性能上的下降。報告主要內容聚焦於社交媒體與NLP的結合領域,以及如何構建計算機與網絡語言的橋梁。
  • 大數據場景中語言虛擬機的應用和挑戰
    其中,為Java提供的Java虛擬機(Java virtual machine,JVM)和為.NET提供的公共語言運行時(common language runtime,CLR)是大數據處理系統的主要選擇,其中JVM廣泛用於開源的大數據系統,而CLR則主要部署於微軟公司的實際生產系統中。語言虛擬機在為大數據應用開發提供便利的同時,也帶來了一系列挑戰。
  • 用哪種程式語言寫的應用漏洞最嚴重 Java還是Python
    用哪種程式語言寫的應用漏洞最嚴重 Java還是Python 機器之心 發表於 2021-01-06 16:19:26 靜態代碼分析安全公司 Veracode 近日發布了一份應用程式分析報告,結果發現比起 JavaScript
  • 主成分分析(PCA)在R 及 Python中的實戰指南
    統計技術,比如,因子分析,主成分分析有助於解決這樣的困難。在本文中,我詳細地解釋了主成分分析的概念。我一直保持說明簡要而詳實。為了操作上的理解,我也演示了在R使用這個技術並帶有解釋。注意:要理解本文的內容,需要有統計學的知識。 什麼是主成分分析?
  • 一文探討可解釋深度學習技術在醫療圖像診斷中的應用
    但是,這些方法都沒有在醫學領域中得以廣泛推廣,除了計算成本高、訓練樣本數據缺乏等因素外,深度學習方法本身的黑盒特性是阻礙其應用的主要原因。儘管深度學習方法有著比較完備的數學統計原理,但對於給定任務的知識表徵學習尚缺乏明確解釋。深度學習的黑盒特性以及檢查黑盒模型行為工具的缺乏影響了其在眾多領域中的應用,比如醫學領域以及金融領域、自動駕駛領域等。
  • 四大觸點,教你從「用戶視角」構建數據分析體系
    轉化率:功能價值和用戶體驗的表現, 代表流程的轉化是否順暢,關注下一步/上一步的到達情況以及到達人數等。 用戶路徑:用戶的行為會比較發散,需要產品裡的哪條路徑是產品經理規劃的最主要路徑,主路徑流失的分支用戶從主路徑引走。
  • 高中地理核心素養培育的基本路徑與實踐策略
    任務4: 利用大氣受熱過程的原理,解釋青藏高原的天氣和氣候特徵。 [知識構建] 用圖式歸納本課所學知識。 (二)案例學習 案例學習是指學生通過教師創設的教學情境,將教學內容與實際問題聯繫起來。案例學習有助於提高學生利用理論知識解決實際問題的能力。 地理學科「人文地理」模塊側重基本社會經濟活動的空間特點和區位分析,強調結合典型實例歸納地理原理、規律,掌握分析人文地理問題的思路和方法。
  • 知識小科普:五行的源起以及應用
    而五行理論則是研究五行的概念內涵、特性、事物五行屬性歸類及其相互關係,並用以解釋宇宙萬物之間廣泛聯繫的古代世界觀和方法論,是古人認識宇宙萬物相互聯繫,揭示事物內在規律的哲學理念。《黃帝內經》在構建其醫學理論時,全面地運用了這一哲學概念及相關理論構建自己的生命科學知識體系。
  • 教科書評價標準建構:功能、路徑與展望
    早期演繹路徑下產生的學科通用理論模型,由於構建的指標分類相對簡單,缺乏深刻性和指向性,因此實踐性往往並不是很強。隨著研究的深入發展,人們不再滿足於提出簡單的概念分類,而是追求更加明確的概念定義以及操作方法,使評價者能夠準確把握評價指標的內涵和實際指向,大大增強了這類模型的實用可能性。
  • 明略科技黃代恆:數位化未來趨勢與路徑
    近日,36氪在北京舉辦WISE2020新經濟之王大會,通過十年演講、十年對談、十年圓桌、十年榜單以及新經濟十年白皮書等內容,對新經濟的過去十年進行盤點和對未來十年進行展望。本次大會邀請了超170位新經濟代表進行分享,明略科技副總裁黃代恆圍繞《數位化未來趨勢與路徑》主題發表了演講。
  • 韓志華:聚焦應用場景 構建智能商用車全生態系統
    經濟日報-中國商用汽車網7月1日訊(記者:龔磊)「在智能商用車發展路徑方面,應聚焦應用場景,構建車輛+硬體+軟體+運維的智能商用車全生態系統,通過開放合作、眾創共享,實現產品技術快速迭代、規模化的運營測試、打造靈活多樣的商業模式,加速智能商用車產業落地。」
  • 北京語言大學喜獲5項2020年度國家語委科研項目
    劉利教授的「中文國際傳播能力研究」本項目將從「政策-理論-實踐-案例」四個維度,全面梳理全球中文國際傳播發展的歷程和現狀,聚焦中文國際傳播的重點問題,分區域國別對新時代中文國際傳播內容、路徑、能力提升策略、影響等進行多維度、有針對性的深入探討,著力於將中文國際傳播能力與孔子學院建設、中文納入所在國教育體系、傳播評估體系、後疫情時代輿論策略等相結合