症状网络笔记 · 互动页

样本变少时,症状网络和中心性排名会怎么变

这一页用一份 500 人、16 个症状的模拟数据,从中抽出不同人数后重新估计网络。人数越少,网络上留下的边越少:抽 100 人时,200 次抽样有 139 次一条边也估不出来。中心性排名的变化更隐蔽:抽 300 人时,整体排序已经和 500 人的结果高度相关,排第一的症状却还在换。

200 人

这一批人估出来的网络

500 人的网络里也有 这一批多出来的 500 人有、这一批没有 呼吸困难 端坐呼吸

线越粗,两个症状的偏相关绝对值越大;圆越大,症状的强度越高。点一条线或一个症状可以看数字。

强度排名,和 500 人相比

右侧写的是这个症状比 500 人时的名次上升或下降了几位。强度为 0 的症状并列,不写名次变化。

每种人数抽 200 次,排第一的是谁

500 人时排第一的是呼吸困难(强度 0.646),端坐呼吸只差 0.010(0.636)。点一行可以切换到那个人数。

呼吸困难 端坐呼吸 其他症状 一条边也没有,无所谓第一
看 200 次抽样的具体数字

CS 系数是怎么算出来的

深色线是相关系数的平均值。浅色带的下沿表示 95% 的抽样都高于它,下沿还没有低于 0.7 的最后一档,就对应 CS 系数。一条边也没有的抽样算不出相关系数,按没有达到 0.7 计算,所以人少时下沿会掉出图外。点图上任意位置可以看那一档的数字。

人数少时,为什么边会变少

EBICglasso 会把证据不足的边压成 0。人越少,证据越少,被压掉的边就越多。这份数据的 500 人网络有 24 条边,抽 300 人时平均留下 12.4 条,约为一半;抽 400 人时平均留下 19.9 条。所以样本小时看到的稀疏网络,不一定说明症状之间的关系少,也可能是证据不够。

CS 系数达标,第一名也可能换人

CS 系数看的是全部症状的强度和原网络的相关,不看某一名是否换人。抽 300 人时,200 次里有 199 次相关系数达到 0.7,但排第一的症状有 133 次是端坐呼吸,63 次是呼吸困难,而 500 人的网络里排第一的是呼吸困难。这两个症状的强度只差 0.010,名次本来就容易互换。因此 CS 系数达标后,还要看排在前面的症状原始强度差多少,再看差异检验,才能判断第一名是否真的领先。CS 系数达标也不等于边留得住:这份数据的 CS 系数对应保留约 242 人,而抽 200 人和抽 300 人时,500 人网络的边平均只留下 24% 和 52%。

同一份数据,CS 系数也可能不一样

同一份数据、同样的设置,只换随机种子连续跑 8 次,有 5 次是 0.516,3 次是 0.438,一边高于 0.5,一边低于 0.5。原因是 bootnet 默认只检查 10 档人数,1000 次抽样分到每一档只有约 100 次,把握接近 95% 的那一档就可能这次过、下次不过。所以 CS 系数刚好高于或低于 0.5 时,不宜看成两种性质不同的结果,论文里应写明 bootstrap 次数。上面那张图来自另外一次运行,读数也是 0.516。

这里的人数不能直接用到你的研究上

这是模拟数据,网络的强弱和症状多少不同,结果也会不同。每批人都从同一份 500 人的数据里抽取,人数越接近 500,和完整样本重叠越多,所以 400 人留下的边会偏多。500 人的网络也只是一次估计,并不等于真实网络。要估计自己的研究需要多少人,应当根据预期网络做样本量模拟。

接着读

算法:EBICglasso,相关矩阵用 cor_auto,gamma 取 0.5,每种人数不放回抽 200 次,页面可翻其中 20 批;CS 系数用 bootnet 1.9.1 个案剔除 1000 次。数据是模拟的,不来自真实患者。
CS 系数的定义和 0.25、0.5 两个参考值出自 Epskamp S, Borsboom D, Fried EI. Estimating psychological networks and their accuracy: A tutorial paper. Behavior Research Methods, 2018, 50(1): 195-212。原文说明这两个参考值有一定随意性。