拓端tecdat|拓端tecdat|R语言混合图形模型MGM的网络可预测性分析
原文链接:http://tecdat.cn/?p=18279
网络模型已经成为抽象复杂系统,是深入了解许多科学领域中观测变量之间的关系模式的流行方法。这些应用程序大多数集中于分析网络的结构。但是,如果不是直接观察网络,而是_根据_数据进行_估算_(如:吸烟与癌症之间存在关联),则除了网络结构外,我们还可以分析网络中节点的可预测性。也就是说:网络中的所有其余节点如何预测网络中的给定节点?
可预测性有趣,有几个原因:
- 它给我们提供了一个关于边的_实用性_的想法:如果节点A连接到许多其他节点,但是这些仅说明(假设)其方差的1%,那么边的连接会是怎样的?
- 它告诉我们网络的不同部分在多大程度上是_由_网络中_的其他因素决定的_
载入资料 我们加载提供的数据:
data <- as.matrix(data)p <- ncol(data)dim(data)
``````
## \[1\] 31217
数据集包含对344人的17种PTSD症状的完整反应。症状强度的答案类别范围从1“没有”到5“非常强”。
估计网络模型 我们估计了混合图形模型,其中我们将所有变量都视为连续高斯变量。因此,我们将所有变量的类型设置为,
type = 'g'
并将每个变量的类别数设置为1:fit_obj <- (data = https://www.it610.com/article/data,
type = rep('g', p),
level = rep(1, p),
lambdaSel = 'CV',
ruleReg = 'OR',
pbar = FALSE)
计算节点的可预测性 估计网络模型后,我们准备计算每个节点的可预测性。由于可以通过依次获取每个节点并对其上的所有其他节点进行回归来估计该图,因此可以轻松地计算节点的可预测性)。作为可预测性的度量,我们选择解释的方差的比例:0表示当前节点根本没有被节点中的其他节点解释,1表示完美的预测。我们在估算之前将所有变量中心化,以消除截距的影响。
有关如何计算预测和选择可预测性度量的详细说明,请查看本文。如果网络中还有其他变量类型(例如分类),我们可以为这些变量选择适当的度量。
pred\_obj <- predict(object = fit\_obj,
data = https://www.it610.com/article/datapred_obj$error
``````
##VariableR2
## 1intrusion 0.639
## 2dreams 0.661
## 3flash 0.601
## 4upset 0.636
## 5physior 0.627
## 6avoidth 0.686
## 7avoidact 0.681
## 8amnesia 0.410
## 9lossint 0.520
## 10distant 0.498
## 11numb 0.451
## 12future 0.540
## 13sleep 0.565
## 14anger 0.562
## 15concen 0.638
## 16hyper 0.676
## 17startle 0.626
我们计算了网络中每个节点的解释方差(R2)的百分比。接下来,我们将估计的网络可视化,并讨论与解释方差有关的结构。
可视化网络和可预测性 我们根据估计的加权邻接矩阵和节点的可预测性度量作为参数,进行网络可视化:
graph(fit_obj$pairwise$wadj, # 加权邻接矩阵作为输入
layout = 'spring',
pie = pred_obj$error\[,2\], # 误差作为饼图的输入
文章图片
有关早期研究不同心理障碍症状可预测性的文章,请参见本文。
文章图片
最受欢迎的见解
1.采用spss-modeler的web复杂网络对所有腧穴进行分析
2.用R语言和python进行社交网络中的社区检测
3.R语言文本挖掘NASA数据网络分析,tf-idf和主题建模
4.在R语言中使用航空公司复杂网络对疫情进行建模
5.python隶属关系图模型 基于模型的网络中密集重叠社区检测
6.使用Python和SAS Viya分析社交网络
7.关联网络分析:已迁离北京外来人口的数据画像
8.情感语义网络:游记数据感知旅游目的地形象
【拓端tecdat|拓端tecdat|R语言混合图形模型MGM的网络可预测性分析】9.用关联规则数据挖掘探索药物配伍中的规律
文章图片
推荐阅读
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- C语言解方程的根和判断是否是闰年
- C语言的版本比较
- 【C】题目|【C语言】题集 of ⑥
- echart|echart 双轴图开发