library("qgraph")
library("bootnet")
library("summarytools")
library("readxl")
library("huge")
library("NetworkComparisonTest")
library("OpenMx")
ネットワークの安定性,ネットワーク間比較,再現可能性
ネットワークの安定性,ネットワーク間比較,そして再現可能性のレッスンにようこそ。問題に備えて,まずは以下のパッケージを読み込もう。(訳註;自分の環境にない場合は,それぞれinstall.packages
関数でインストールする必要がある。依存パッケージも多く,準備に少し時間がかかる。)
以下の問題では,既存の2種類のデータセットを用いる。これらはhttps://psycnet.apa.org/record/2019-27235-003Faelens et al. (2019)によるものである。第一のデータセットは,研究計画を事前登録する前に収集されたものであり,第二のデータセットは,ネットワークが再現されるかを検討するため事前登録後に収集されたものである。data1.xlsx と data2.xlsxファイルをダウンロードして,Rにファイルを読み込もう。
# あらかじめ,data1とdata2という2種類のデータセットが保存されている場所にワーキングディレクトリを設定しておこう
<- read_excel("data1.xlsx")
data1 <- data1[,c(98:108)]
data1 <- read_excel("data2.xlsx")
data2 <- data2[,c(100:110)]
data2
# 訳注)summarytoolsパッケージでデータフレームの要約を表示する
dfSummary(data1)
Data Frame Summary
data1
Dimensions: 207 x 11
Duplicates: 0
----------------------------------------------------------------------------------------------------------------
No Variable Stats / Values Freqs (% of Valid) Graph Valid Missing
---- ----------------- ------------------------- -------------------- --------------------- ---------- ---------
1 FBI Mean (sd) : 19.5 (6.1) 24 distinct values : 207 0
[numeric] min < med < max: . : (100.0%) (0.0%)
6 < 20 < 30 . : : : : .
IQR (CV) : 9 (0.3) . : : : : : : : :
: : : : : : : : : :
2 MSFUP Mean (sd) : 14.4 (5.5) 25 distinct values : 207 0
[numeric] min < med < max: : : : . (100.0%) (0.0%)
4 < 14 < 28 : : : :
IQR (CV) : 8 (0.4) : : : : : : . :
: : : : : : : : : :
3 MSFUaprivate Mean (sd) : 9.1 (3.7) 13 distinct values . : 207 0
[numeric] min < med < max: : : (100.0%) (0.0%)
2 < 10 < 14 : : : :
IQR (CV) : 6 (0.4) : : : : . : : :
: : . : : : : : : :
4 MSFUapublic Mean (sd) : 8.5 (4.5) 19 distinct values : 207 0
[numeric] min < med < max: . : (100.0%) (0.0%)
3 < 7 < 21 : : .
IQR (CV) : 7 (0.5) : : : : :
: : : : : . : : .
5 COMF Mean (sd) : 35.7 (9.2) 41 distinct values : 207 0
[numeric] min < med < max: : : (100.0%) (0.0%)
11 < 38 < 54 : : :
IQR (CV) : 11 (0.3) : : : :
: . : : : : : : .
6 CSS Mean (sd) : 51.2 (9.2) 42 distinct values : 207 0
[numeric] min < med < max: : : (100.0%) (0.0%)
26 < 51 < 74 : : : : :
IQR (CV) : 13 (0.2) : : : : : :
. : : : : : : : .
7 RSES Mean (sd) : 17.8 (6.7) 29 distinct values : 207 0
[numeric] min < med < max: : (100.0%) (0.0%)
0 < 18 < 30 . : :
IQR (CV) : 9 (0.4) : : : :
: : : : : :
8 RRS Mean (sd) : 47.4 (13.6) 55 distinct values : 207 0
[numeric] min < med < max: . : . (100.0%) (0.0%)
22 < 47 < 88 : : :
IQR (CV) : 19 (0.3) : : : : :
: : : : : .
9 DASS_stress Mean (sd) : 6.8 (4.8) 21 distinct values : 207 0
[numeric] min < med < max: : . : . (100.0%) (0.0%)
0 < 6 < 20 : : : : . .
IQR (CV) : 7 (0.7) : : : : : :
: : : : : : : : :
10 DASS_anxiety Mean (sd) : 4.3 (4.5) 19 distinct values : 207 0
[numeric] min < med < max: : (100.0%) (0.0%)
0 < 3 < 20 :
IQR (CV) : 6 (1) : .
: : : : . . .
11 DASS_depression Mean (sd) : 6.4 (5.5) 22 distinct values : 207 0
[numeric] min < med < max: : (100.0%) (0.0%)
0 < 5 < 21 :
IQR (CV) : 9 (0.9) : . : .
: : : : : : : . . .
----------------------------------------------------------------------------------------------------------------
dfSummary(data2)
Data Frame Summary
data2
Dimensions: 468 x 11
Duplicates: 0
---------------------------------------------------------------------------------------------------------------
No Variable Stats / Values Freqs (% of Valid) Graph Valid Missing
---- ----------------- ------------------------ -------------------- --------------------- ---------- ---------
1 FBI Mean (sd) : 20.4 (5.6) 25 distinct values . : 468 0
[numeric] min < med < max: . : : (100.0%) (0.0%)
6 < 21 < 30 : : : : :
IQR (CV) : 7 (0.3) : : : : : : : :
. : : : : : : : : :
2 MSFUP Mean (sd) : 14.6 (5) 25 distinct values : 468 0
[numeric] min < med < max: . . : . (100.0%) (0.0%)
4 < 14 < 28 : : : :
IQR (CV) : 7 (0.3) : : : : : : .
: : : : : : : : : .
3 MSFUaprivate Mean (sd) : 9.6 (3.6) 13 distinct values : 468 0
[numeric] min < med < max: . : (100.0%) (0.0%)
2 < 10 < 14 : : . :
IQR (CV) : 6 (0.4) . . : : : :
: : . : : . : : : :
4 MSFUapublic Mean (sd) : 8.4 (4) 19 distinct values : 468 0
[numeric] min < med < max: : (100.0%) (0.0%)
3 < 7 < 21 . : .
IQR (CV) : 5.2 (0.5) : : : : . :
: : : : : : : . .
5 COMF Mean (sd) : 34.7 (8.6) 43 distinct values . : : 468 0
[numeric] min < med < max: . : : : (100.0%) (0.0%)
11 < 36 < 55 : : : :
IQR (CV) : 11 (0.2) . : : : : .
. : : : : : : : .
6 CSS Mean (sd) : 50.8 (9) 49 distinct values : : 468 0
[numeric] min < med < max: : : : (100.0%) (0.0%)
21 < 50 < 75 : : : :
IQR (CV) : 12 (0.2) : : : : :
. : : : : : : : .
7 RSES Mean (sd) : 17.1 (6) 31 distinct values : 468 0
[numeric] min < med < max: : (100.0%) (0.0%)
0 < 18 < 30 . :
IQR (CV) : 8 (0.3) . : : :
. : : : : :
8 RRS Mean (sd) : 47.2 (14) 62 distinct values . : 468 0
[numeric] min < med < max: . . : : : (100.0%) (0.0%)
22 < 47 < 83 : : : : : : :
IQR (CV) : 20 (0.3) : : : : : : : .
: : : : : : : : : :
9 DASS_stress Mean (sd) : 7.1 (4.8) 21 distinct values : : 468 0
[numeric] min < med < max: : : . . (100.0%) (0.0%)
0 < 7 < 21 : : : : : :
IQR (CV) : 8 (0.7) : : : : : : :
: : : : : : : : . .
10 DASS_anxiety Mean (sd) : 4.7 (4.4) 19 distinct values : 468 0
[numeric] min < med < max: : (100.0%) (0.0%)
0 < 4 < 19 : : .
IQR (CV) : 6.2 (0.9) : : : : . .
: : : : : : . .
11 DASS_depression Mean (sd) : 6.4 (5.7) 22 distinct values : 468 0
[numeric] min < med < max: : (100.0%) (0.0%)
0 < 5 < 21 :
IQR (CV) : 9 (0.9) : . . . .
: : : : : : : . . .
---------------------------------------------------------------------------------------------------------------
# 変数3, 4, 10, 11は,分布が極端で頭痛がしてくる。\\ 以下のようにして変換してみよう:
# 訳註)huge.npnはhugeパッケージのNPN変換(Nonparanormal Transformation)関数で,
# 多変量正規モデルに近づける変換を行うもの。
c(3,4,10:11)] <- huge.npn(data1[, c(3,4,10:11)]) data1[,
Conducting the nonparanormal (npn) transformation via shrunkun ECDF....done.
c(3,4,10:11)] <- huge.npn(data2[, c(3,4,10:11)]) data2[,
Conducting the nonparanormal (npn) transformation via shrunkun ECDF....done.
安定性
データセット1において,パラメーターの推定値に関する安定性を推定したい。
Question 1
まず,EBICglassoアルゴリズムを用い,data1からGGMを推定しよう。
Exercise 2
第8章で議論した4種類の安定性指標(エッジの重みのCI,エッジの重みの差分検定,中心性の安定性係数,中心性の差分検定)を計算しよう。
Exercise 3
このネットワークは,総体的にみてどの程度安定的だといえるだろうか。
比較
ここからは,data1とdata2のネットワークを比較するとともに,関連する指標を比較していこう。
Exercise 4
data2
からGGMを推定しよう。そのうえで,data1
とdata2
両方のネットワークを並べてプロットし,data1
とdata2
の隣接行列の相関を求めよう。
Exercise 5
各ネットワークについてノード強度を推定し,2つのネットワーク間での順位相関を求めよう。
Exercise 6
ネットワーク同士が異なっているかどうかを判断するために,ネットワーク比較検定 (network comparison test: NCT) を用いて,a) ネットワーク構造,b) 個別のエッジ,c) 接続性のそれぞれについて探索的分析を実施しよう(つまりここでは,ネットワーク同士がどの程度異なっているかという点について,事前に明確な仮説を持っていないということになる)。
Exercise 7
ここまでをまとめると,ネットワーク間の差異についてどのような結論が導かれるだろうか。