有调节网络的应用实例

文摘   2024-12-31 09:23   广东  


Vol.1

前言


有调节的网络分析有两种实现方式,其中一种是基于Haslbeck 等人 (2019) 开发的mgm包 ,另一种是swanson (2020) 开发的modnets包。截至2024年12月26日,引用Haslbeck等人(2019)的文献共计129篇;引用swanson(2020)的文献共计5篇。本数据来源于谷歌学术检索,仅作参考。


在前几期推文,我们已经详细的介绍过两种有调节网络。但只对Halbeck等人的有调节网络进行了全流程的分享,并且结合文献复现了Haslbeck等人的有调节网络,但目前还未结合文献对swanson的有调节网络进行复现。本期推文的目的是结合文献对swanson提出的有调节网络进行全流程复现。


Vol.2

代码实操

我们先来看文献的方法部分是如何描述使用swanson的modnets包构建有调节网络。

上述两篇文献的第一步都是基于modnets包中的Varselect函数进行变量的选择。

# install.packages('modnets')

library(modnets)

#### load data ####

data1 <- bfiDat

#### varselect ####

vars1 <- varSelect(data1, criterion = 'BIC', method = 'subset')

fit1 <- fitNetwork(data1, type = vars1)


vars2 <- varSelect(data1, criterion = 'CV', method = 'glmnet')

fit2 <- fitNetwork(data1, type = vars2)


vars3 <- varSelect(data1,  criterion = 'EBIC', gamma = .5,method = 'glmnet')

fit3 <- fitNetwork(data1, type = vars3)


vars4 <- varSelect(data1,m = 'gender',criterion = 'cv',method = 'glinternet',varSeed = 2024)

fit4 <- fitNetwork(data1,moderators = 'gender',type = vars4)


vars5 <- varSelect(data1,m = 'gender',criterion = 'EBIC',method = 'glinternet',varSeed = 2024)

fit5 <- fitNetwork(data1,moderators = 'gender',type = vars5)


vars6 <- varSelect(data1,m = 'gender',criterion = 'BIC',method = 'glinternet',varSeed = 2024)

fit6 <- fitNetwork(data1,moderators = 'gender',type = vars6)


# 构建列表进行比较

fits <- list(fit1 = fit1, fit2 = fit2, fit3 = fit3, fit4 = fit4, fit5 = fit5

             , fit6 = fit6)

modTable(fits)

# $LRT

# net0 net1     Chisq Df   pval decision

# 1  fit1 fit2    2.5896  2 0.2739     fit1

# 2  fit3 fit1   97.3243  3 0.0000     fit1

# 3  fit1 fit4 2562.0339  9 0.0000     fit4

# 4  fit1 fit5 2546.2187  0 0.0000     fit5

# 5  fit1 fit6 2546.2248  1 0.0000     fit6

# 6  fit3 fit2   99.9139  5 0.0000     fit2

# 7  fit2 fit4 2559.4442  7 0.0000     fit4

# 8  fit5 fit2 2543.6291  2 0.0000     fit5

# 9  fit6 fit2 2543.6351  1 0.0000     fit6

# 10 fit3 fit4 2659.3582 12 0.0000     fit4

# 11 fit3 fit5 2643.5430  3 0.0000     fit5

# 12 fit3 fit6 2643.5490  4 0.0000     fit6

# 13 fit5 fit4   15.8151  9 0.0708     fit5

# 14 fit6 fit4   15.8091  8 0.0452     fit4

# 15 fit5 fit6    0.0060  1 0.9382     fit5

# $omnibus

# LL df      AIC      BIC LRT

# fit5 -13960.31 33 27986.62 28228.24   5

# fit4 -13952.40 42 27988.80 28296.32   4

# fit6 -13960.31 34 27988.61 28237.56   3

# fit1 -15233.42 33 30532.84 30780.48   2

# fit2 -15232.12 35 30534.25 30796.89   1

# fit3 -15282.08 30 30624.16 30849.29   0

# attr(,"alpha")

# [1] 0.05

最终确定的最优模型是fit5,即基于EBIC的hierarchical lasso。

接下来我们回到文献里的结果部分,看前人是如何报告该结果。


第一部分,变量的选择。

modnets::selected(object = fit5)

# Variable selection results through varSelect function under the condition 

# that the moderator was gender


第二部分,变量之间的关系,包含偏相关关系和调节效应。

modnets::plotCoefs(fit5) 

# Plot or dataframe showing the point estimates from each model, along with 

# confidence intervals based on the estimated standard errors.

modnets::intsPlot(fit5)

# The 95% confidence intervals of all interactions when the moderating variable 

# was gender.


第三部分,偏相关矩阵和调节效应的矩阵。

modnets::net(fit5,threshold = TRUE)

# The nodewise regression matrix for network model (p < .05).

modnets::netInts(fit5,threshold = TRUE)

# The matrix of interaction terms associated with moderated network (p < .05).


第四部分,调节网络图

plot(fit5,threshold = TRUE,mnet = TRUE,

     names = TRUE,elabs = TRUE,rule = 'AND',mlty = TRUE,

     colors=c(rep('lightblue',5),'pink'))


第五部分,调节效应图。

由于本文所用的数据是二分类数据,因此本文参考了另一篇文章 (zhang et al., 2024) 的二分类调节效应图。

modnets::condPlot(fit5,to = 'E', from = 'A')


我们再回到前人研究 (Tao et al., 2023) 的方法部分

这一部分其实我们在变量选择的时候就已经计算了,即我们最终所选的模型fit5。

这一部分主要是描述了绘制网络模型的参数,实际上我们刚刚在讲述结果的时候就已经将这些参数进行了设置。

最后一步对模型进行稳定性检验,这些内容在我们前几期已经介绍过了,这里不再赘述。

此外,研究者还对中心性指标进行了估计,这一部分相对简单,我们不再赘述。

值得注意的是,上述文章都是针对纵向数据的分析,有两个时间点的数据。研究者都通过LRT对两个时间点的数据进行了比较。

modnets::modLL(fit5.1,fit5.2,all = TRUE)

由于本次数据是横断面数据,因此只针对性别进行了检验。

最后,我们再回到文章的结果部分,发现研究者还绘制了多个调节网络。

# 多图绘制

fit5.1 <- fitNetwork(data1,moderators = 'gender',type = vars5,mval = 0)

fit5.2 <- fitNetwork(data1,moderators = 'gender',type = vars5,mval = 1)


fits2 <- list(fit5.1, fit5.2)


modnets::plotMods(nets = fits2,threshold = TRUE,predict = TRUE,con = 'R2',

                  names = TRUE,elabs = TRUE,rule = 'AND',mlty = TRUE,

                  colors=rep('lightblue',5))








参考文献

Swanson, T. J. (2020). Modeling moderators in psychological networks. University of Kansas.


Tao, Y., Tang, Q., Zou, X., Wang, S., Ma, Z., Zhang, L., & Liu, X. (2023). Effects of attention to negative information on the bidirectional relationship between fear of missing out (FoMO), depression and smartphone addiction among secondary school students: Evidence from a two-wave moderation network analysis. Computers in Human Behavior, 148, 107920.


Zhang, W., Qiao, L., Wang, M., Liu, Z., Chi, P., & Lin, X. (2024). Bidirectional relation of self-regulation with oppositional defiant disorder symptom networks and moderating role of gender. Development and psychopathology, 1–12. Advance online publication. https://doi.org/10.1017/S095457942400172X




小结

上述内容涵盖了swanson提出的有调节网络的大部分内容。尽管有些部分没有进行详述,但大家只要明白网络分析的基本逻辑即可进行复现。本次分享的内容对应于前人文献的行文顺序,如果有哪些不清晰的部分,大家可以直接对应文献相应的部分。

今天的内容就到此为止了,欢迎评论区交流探讨。



PSYCH统计实验室

通知公告

网络分析课程目前开放视频课啦!


单次课200元/讲(学生),250元/讲(非学生)
共有四讲内容
①横断面网络分析简介与基础
②网络分析与因子分析
③交叉滞后网络分析
④时间序列网络分析


购买后开放视频权限14天,可多次申请。
并赠送所有课程相关资料(无PPT)
如果想申请购买,请联系M18812507626



更多资讯

关注我们


文稿:Ns

排版:Peruere
责编:Wink
审核:摘星

本文由“Psych统计自习室”课题组原创,欢迎转发至朋友圈。如需转载请联系后台,征得作者同意后方可转载。



Psych统计自习室
大家好,我们是由来自北京师范大学,西南大学,天津医科大学等高校在读硕士、博士研究生组成的一个科研团队——Psych统计自习室。Psych统计自习室旨在关注心理学、精神病学领域的最前沿的系列研究,并做前沿统计知识的分享。
 最新文章