class: center, middle, inverse, title-slide .title[ #
TWS-007:「心理ネットワークアプローチ入門」
] .subtitle[ ## 横断的心理ネットワーク分析:応用編 ] .author[ ### 竹林 由武 (福島県立医科大学) ] .institute[ ### 日本心理学会2022 ] .date[ ### 2022-09-02 ] --- ## 配布資料 ### スライド <img src="fig/qrcode.png" width="50%" height="50%" style="display: block; margin: auto;" /> --- class: left # Topic ## - ブリッジ中心性 ## - ネットワークの群間比較 --- class: middle, inverse ## ブリッジ中心性 (bridge centrality) 橋: コミュニティとコミュニティをつなぐもの <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/58/%E5%8D%81%E5%8B%9D%E5%A4%A7%E6%A9%8B%EF%BC%88Tokachiohhashi%EF%BC%89_-_panoramio.jpg/1024px-%E5%8D%81%E5%8B%9D%E5%A4%A7%E6%A9%8B%EF%BC%88Tokachiohhashi%EF%BC%89_-_panoramio.jpg" width="600px" height="300px" style="position:right; right:10px; top:100px;"> .footnote[[<font color="white">十勝大橋wikipediaより</font>](https://upload.wikimedia.org/wikipedia/commons/thumb/5/58/%E5%8D%81%E5%8B%9D%E5%A4%A7%E6%A9%8B%EF%BC%88Tokachiohhashi%EF%BC%89_-_panoramio.jpg/1024px-%E5%8D%81%E5%8B%9D%E5%A4%A7%E6%A9%8B%EF%BC%88Tokachiohhashi%EF%BC%89_-_panoramio.jpg)] --- class: left ### コミュニティ #### (community) .pull-left[ - 各項目が所属するカテゴリー - カテゴリーは理論的に規定* - 黄色は不安(GAD7)、青は抑うつ(PHQ9) ##### ### ブリッジ中心性 #### (bridge centrality) - コミュニティ間の橋渡しにおける中心性 - 合併症のメカニズムの理解に役立つ .footnote[[*] ブリッジ中心性の算出においては、コミュニティは理論ドリブンに設定することが想定されているが、探索的な解析に基づいてコミュニティ抽出してから中心性を算出している論文も報告されている] ] .pull-right[ ![](PsychNetwork_files/figure-html/unnamed-chunk-2-1.png)<!-- --> ] --- class: left ## ブリッジ中心性指標 #### <a name=cite-jonesBridgeCentralityNetwork2021></a>([Jones, Ma, and McNally, 2021](https://doi.org/10.1080/00273171.2019.1614898)) ### - bridge strength ### - bridge betweeness ### - bridge closeness ### - bridge expected influence --- ## ブリッジ中心性指標 .pull-left[ <font size=5><B>Bridge strength</B></font> - 当該のノードが他のコミュニティに接続する合計。 - 当該のノードが他のコミュニティのノードと接続している**エッジの絶対値の合計**。 - 当該ノードの所属外コミュニティへの影響力。 `$$bridge \space strength = \sum_{b\ni N(a)-C} |w_{ab}|.$$` ] .pull-right[ <font size=5><B>Bridge expected influence </B></font> - 当該のノードが他のコミュニティに接続する合計。 - 当該のノードが他のコミュニティのノードと接続しているエッジの絶対値ではなく**そのままの値**を合計。 - 当該ノードの所属外コミュニティへの**正負の**影響力。 `$$\small bridge \space expected \space influence = \sum_{b\ni N(a)-C} w_{ab}.$$` ] --- class: left ## ブリッジ中心性指標 .pull-left[ <font size =5><B>Bridge betweeness</B></font> - 2つの異なるコミュニティからの任意の2つのノード間の最短経路上に当該のノードがある回数。 - 当該のノードがコミュニティ間をどのくらい媒介しているのか。 `\begin{equation} \small x = \begin{cases} \small 0.5, \rm{if} \space a \in P_{ij} \\ \small 0, \rm{otherwise}\end{cases} \end{equation}` $$\small bridge \space betweeness = \sum_{i\in V}x_i. $$ ] .pull-right[ <font size =5><B>Bridge closeness</B></font> - 当該のノードから、他のコミュニティのすべてのノードまでの平均距離。 - 距離はエッジの重みの逆数(重みの大きいエッジは、より「近い」ノード)。 - より高い値がより近いノードを表す指標となるよう平均距離の逆数をとる。 - 当該のノードが,どのくらい他のコミュニティに(距離が)近いのか。 `$$\small bridge \space closeness = \\ \small \frac{|V-C|}{\sum_{b\in(V-C)} \sum_{e_k\in E(P_{ab})\frac{1}{w_{k}}}}.$$` ] --- class: inverse, middle # Rでブリッジ中心性を計算 --- ### 使用パッケージの読み込み #### データ整形系 #### ```r library(tidyverse) library(foreign) library(kableExtra) ``` #### ネットワーク解析系 #### ```r library(bootnet) library(qgraph) library(psychonetrics) library(NetworkComparisonTest) ``` --- class: left ### データの読み込み #### Jordan et al.(2017)のデータをダウンロードして,読み込む。 ```r download.file("https://doi.org/10.1371/journal.pone.0182162.s004", "pone.0182162.s004.sav") data <- read.spss("pone.0182162.s004.sav",to.data.frame=TRUE) ``` ### 使用変数の抽出 #### PHQ9とGAD7のみ使用変数として抽出 ```r data %>% select_if(grepl("PHQ9|GAD7", names(.))) ->usedata cns1<-colnames(usedata) v_names<-chartr("1-9","a-i",c(1:9)) cns2<-c(paste0("gad7",v_names[1:7]), paste0("phq9",v_names)) cols<-setNames(cns1, cns2) usedata %>% rename_(.dots=cols) -> usedata ``` --- ### ネットワークの推定 #### EBICglassoで正則化モデルで推定 ```r library(bootnet) results <- estimateNetwork(usedata, default = "EBICglasso", corMethod = "cor_auto") ``` - bootnetパッケージのestimateNetwork()関数を使って,EBICでモデル選択して,パラメータ調整をするGLASSOを使う (**default=EBICglasso**) --- ### プロット ```r results_bridge<-plot(results, theme = "colorblind", cut = 0,layout = "spring",labels = TRUE, groups=list("GAD7"=c(1:7),"PHQ9"=c(8:16))) ``` <img src="PsychNetwork_files/figure-html/unnamed-chunk-8-1.png" width="400px" height="350px" style="display: block; margin: auto;" /> **groups=list("GAD7"=c(1:7),"PHQ9"=c(8:16))**でコミュニティを指定 --- ### ブリッジ中心性指標の算出 ```r library(networktools) bridge_centrality <- bridge(results_bridge, communities=c(rep(1,7),rep(2,9))) plot(bridge_centrality) ``` <img src="PsychNetwork_files/figure-html/unnamed-chunk-9-1.png" width="750px" height="300px" style="display: block; margin: auto;" /> - bridge expected influenceが高いのはノード5,9 - bridge strengthが高いのはノード4,15 --- ### ブリッジ中心性指標の安定性 ```r bridge_stability <- bootnet(results, nBoots = 2500, type = "case", nCores =4, statistics = c("bridgeStrength", "bridgeCloseness", "bridgeBetweenness"), communities = list("GAD7"=c(1:7), "PHQ9"=c(8:16))) ``` - bootnetパッケージのbootnet()関数を使う. - 「type = ”case”」でケースドロップ時の安定性を推定。 - **statistics = "bridgeStrength", "bridgeCloseness", "bridgeBetweenness"**で 指定する。 - bridge expected influenceは非対応 - **communities = list("GAD7"=c(1:7),"PHQ9"=c(8:16))**でコミュニティを指定 --- ### ブリッジ中心性指標の安定性 ```r corStability(bridge_stability) ``` ``` bridgeBetweenness: 0.594 - For more accuracy, run bootnet(..., caseMin = 0.517, caseMax = 0.672) bridgeCloseness: 0.439 - For more accuracy, run bootnet(..., caseMin = 0.361, caseMax = 0.517) bridgeStrength: 0.672 - For more accuracy, run bootnet(..., caseMin = 0.594, caseMax = 0.75) Accuracy can also be increased by increasing both 'nBoots' and 'caseN'. ``` bridge closenessはCS係数が.50をきっており不安定、解釈を控える --- ### ブリッジ中心性指標の安定性のプロット ```r plot(bridge_stability, c("bridgeStrength","bridgeCloseness", "bridgeBetweenness")) ``` <img src="PsychNetwork_files/figure-html/unnamed-chunk-14-1.png" width="600px" height="400px" style="display: block; margin: auto;" /> ブリッジ中心性指標は、サンプルをかなり減らしても,オリジナルとの相関が高い。 --- ### ブリッジ中心性指標の弱み #### <a name=cite-christensenWhatBridgeCentrality2021></a>[Christensen, Garrido, and Golino (2021)](https://doi.org/10.31234/osf.io/a8svr) - コミュニティが3以上の場合に, どのコミュニティを区別した影響性を検討できない - A -> B より A ->C の影響性が強いのかわからない - 研究間で比較が難しい - 指標に効果の大きさを判断する基準がない #### <a name=cite-christensenEquivalencyFactorNetwork2021></a>[Christensen and Golino (2021)](https://doi.org/10.3758/s13428-020-01500-6) - ネットワーク負荷量(network loadings)の活用を推奨 - コミュニティが3以上の場合に個々のコミュニティへの影響性を評価できる - 標準化指標なので、研究間の比較がしやすい - 効果の大きさを判断する基準があり - `EGAnet package`の`net.loads`関数で推定可能 - ブリッジ中心性はネットワーク負荷量の総和に等しいので、情報量のより多いネットワーク負荷量の活用がよい --- class: middle, inverse # ネットワークの群間比較 ネットワークの構造が群間で異なるのか推測したい ![](fig/NCT.png) --- class: left ## ネットワーク比較検定 #### Network Comparison Test <a name=cite-vanborkuloComparingNetworkStructures2022></a>[van Borkulo, van Bork, Boschloo, Kossakowski, Tio, Schoevers, Borsboom, and Waldorp (2022)](https://doi.org/10.1037/met0000476) - Step1: 観察データを群ごとにネット分析し、群間差の指標を計算 - Step2: 観測データからリサンプリングしたデータでStep1の計算を繰り返し、群間差指標の参照分布を得る - Step3: Step1で計算された群間差指標の値と参照分布を比較し、観察データの逸脱度を評価(統計的有意性) <img src="fig/NCT2.png" width="40%" height="40%" style="display: block; margin: auto;" /> --- class: center ## ネットワーク比較検定 <img src="fig/NCT3.png" width="80%" height="80%" style="display: block; margin: auto;" /> [<font size=3> https://cvborkulo.files.wordpress.com/2014/09/workshop-summer-school-3-parts.pdf </font> ](https://cvborkulo.files.wordpress.com/2014/09/workshop-summer-school-3-parts.pdf) --- class: left ## ネットワーク比較検定 ### - Network invariance test ### - Global strength invariance test ### - Edge invariance test ### - Centrality invariance test --- class: left ### ネットワーク比較検定 #### 1. Network structure invariance hypothesis - ネットワーク構造が群間で完全に等しい - 個々のエッジの群間の差(の絶対値)の最大値 #### 2.Global strength invariance hypothesis* - 群間で全体の連結レベルが等しい - エッジの絶対値の総和(Global Strength)の差 #### 3. Edge strength invariance hypothesis - 特定のエッジが群間で等しい - 特定のエッジの群間差 .footnote[[*]個々の中心性指標、ブリッジ中心性指標についても比較可能] --- class: left ### ネットワーク比較検定 <img src="fig/NCT4.png" width="100%" height="100%" style="display: block; margin: auto;" /> [<font size=3> https://cvborkulo.files.wordpress.com/2014/09/workshop-summer-school-3-parts.pdf </font> ](https://cvborkulo.files.wordpress.com/2014/09/workshop-summer-school-3-parts.pdf) --- class: middle,inverse # Rでネットワーク比較検定 --- class: left ### 群間比較の準備 #### 性別変数を**usedata**に追加し、性別ごとのデータセットを抽出 ```r usedata$gender<-data$gender usedata %>% filter(gender=="Weiblich")->women usedata %>% filter(gender=="Männlich")->men ``` #### 性別ごとのデータセットでネットワーク分析を実施 ```r network_male <- estimateNetwork(women, default = "EBICglasso", corMethod = "cor_auto") network_female <- estimateNetwork(men, default = "EBICglasso", corMethod = "cor_auto") ``` --- ### 群ごとのネットワークのプロット #### 群間でレイアウトが一致するように調整 - 2群のネットワークの平均をとって比較するプロットのノードの位置を固定 (**averageLayout**) - 両群のエッジの中から最大値をとって、比較するプロットのエッジの最大値を固定 (**maximum=Max**) ```r L <- averageLayout(network_male, network_female) Max <- max(abs(c(getWmat(network_male), getWmat(network_female)))) layout(t(1:2)) plot(network_male, layout = L, title = "Males", maximum = Max) plot(network_female, layout = L, title = "Females", maximum = Max) ``` --- ### 群ごとのネットワークのプロット <img src="PsychNetwork_files/figure-html/unnamed-chunk-21-1.png" width="750px" height="450px" style="display: block; margin: auto;" /> --- ### ネットワーク比較検定 - データから欠測値を削除 - **test.edges=TRUE**で個々のエッジが群間で異なるか比較 - **test.centrality=TRUE**で個々のノードの中心性が群間で異なるか - 2値データはlsing, 連続データはEBICglassoで推定 - 検討可能な中心性指標 - "**closeness**", "**betweenness**", "**strength**", "**expectedInfluence**", "**bridgeStrength**", "**bridgeCloseness**", "**bridgeBetweenness**", "**bridgeExpectedInfluence**" ```r library(NetworkComparisonTest) results_NCT<-NCT(na.omit(women[,-17]),na.omit(men[,-17]), test.edges=TRUE, test.centrality=TRUE, centrality=c("expectedInfluence","bridgeStrength"), communities=c(rep(1,7),rep(2,9)), progressbar=F) ``` --- ### ネットワーク比較検定結果 ```r summary(results_NCT) ``` ``` NETWORK INVARIANCE TEST Test statistic M: 0.1185867 p-value 0.34 GLOBAL STRENGTH INVARIANCE TEST Global strength per group: 7.298997 7.196549 Test statistic S: 0.1024473 p-value 0.55 ``` いずれの指標においても群間差は示されず --- ### ネットワーク比較検定結果 (プロット) .pull-left[ Network invariance ```r plot(results_NCT, what="network") ``` ![](PsychNetwork_files/figure-html/unnamed-chunk-24-1.png)<!-- --> ] .pull-right[ Global strength invariance ```r plot(results_NCT, what="strength") ``` ![](PsychNetwork_files/figure-html/unnamed-chunk-25-1.png)<!-- --> ] いずれの指標においても群間差は示されず --- ### ネットワーク比較検定結果 Edge strength invariance test ```r results_NCT$einv.pvals%>% kbl(.) %>% kable_styling() ``` <table class="table" style="margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> </th> <th style="text-align:left;"> Var1 </th> <th style="text-align:left;"> Var2 </th> <th style="text-align:right;"> p-value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 17 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:right;"> 0.96 </td> </tr> <tr> <td style="text-align:left;"> 33 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:right;"> 0.69 </td> </tr> <tr> <td style="text-align:left;"> 34 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:right;"> 0.71 </td> </tr> <tr> <td style="text-align:left;"> 49 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:right;"> 0.56 </td> </tr> <tr> <td style="text-align:left;"> 50 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:right;"> 0.80 </td> </tr> <tr> <td style="text-align:left;"> 51 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:right;"> 0.81 </td> </tr> <tr> <td style="text-align:left;"> 65 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:right;"> 0.02 </td> </tr> <tr> <td style="text-align:left;"> 66 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:right;"> 0.82 </td> </tr> <tr> <td style="text-align:left;"> 67 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 68 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:right;"> 0.85 </td> </tr> <tr> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:right;"> 0.39 </td> </tr> <tr> <td style="text-align:left;"> 82 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:right;"> 0.11 </td> </tr> <tr> <td style="text-align:left;"> 83 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:right;"> 0.83 </td> </tr> <tr> <td style="text-align:left;"> 84 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:right;"> 0.38 </td> </tr> <tr> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:right;"> 0.85 </td> </tr> <tr> <td style="text-align:left;"> 97 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:right;"> 0.57 </td> </tr> <tr> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:right;"> 0.22 </td> </tr> <tr> <td style="text-align:left;"> 99 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:right;"> 0.26 </td> </tr> <tr> <td style="text-align:left;"> 100 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:right;"> 0.76 </td> </tr> <tr> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:right;"> 0.61 </td> </tr> <tr> <td style="text-align:left;"> 102 </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:right;"> 0.21 </td> </tr> <tr> <td style="text-align:left;"> 113 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:right;"> 0.73 </td> </tr> <tr> <td style="text-align:left;"> 114 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:right;"> 0.25 </td> </tr> <tr> <td style="text-align:left;"> 115 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:right;"> 0.67 </td> </tr> <tr> <td style="text-align:left;"> 116 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:right;"> 0.66 </td> </tr> <tr> <td style="text-align:left;"> 117 </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:right;"> 0.35 </td> </tr> <tr> <td style="text-align:left;"> 118 </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:right;"> 0.25 </td> </tr> <tr> <td style="text-align:left;"> 119 </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 129 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:right;"> 0.19 </td> </tr> <tr> <td style="text-align:left;"> 130 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:right;"> 0.57 </td> </tr> <tr> <td style="text-align:left;"> 131 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:right;"> 0.78 </td> </tr> <tr> <td style="text-align:left;"> 132 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:right;"> 0.60 </td> </tr> <tr> <td style="text-align:left;"> 133 </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:right;"> 0.87 </td> </tr> <tr> <td style="text-align:left;"> 134 </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:right;"> 0.44 </td> </tr> <tr> <td style="text-align:left;"> 135 </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:right;"> 0.93 </td> </tr> <tr> <td style="text-align:left;"> 136 </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:right;"> 0.00 </td> </tr> <tr> <td style="text-align:left;"> 145 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:right;"> 0.23 </td> </tr> <tr> <td style="text-align:left;"> 146 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:right;"> 0.01 </td> </tr> <tr> <td style="text-align:left;"> 147 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:right;"> 0.52 </td> </tr> <tr> <td style="text-align:left;"> 148 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:right;"> 0.89 </td> </tr> <tr> <td style="text-align:left;"> 149 </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:right;"> 0.42 </td> </tr> <tr> <td style="text-align:left;"> 150 </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 151 </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:right;"> 0.30 </td> </tr> <tr> <td style="text-align:left;"> 152 </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:right;"> 0.27 </td> </tr> <tr> <td style="text-align:left;"> 153 </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:right;"> 0.90 </td> </tr> <tr> <td style="text-align:left;"> 161 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:right;"> 0.11 </td> </tr> <tr> <td style="text-align:left;"> 162 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 163 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:right;"> 0.62 </td> </tr> <tr> <td style="text-align:left;"> 164 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:right;"> 0.58 </td> </tr> <tr> <td style="text-align:left;"> 165 </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:right;"> 0.03 </td> </tr> <tr> <td style="text-align:left;"> 166 </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:right;"> 0.33 </td> </tr> <tr> <td style="text-align:left;"> 167 </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 168 </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:right;"> 0.76 </td> </tr> <tr> <td style="text-align:left;"> 169 </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:right;"> 0.97 </td> </tr> <tr> <td style="text-align:left;"> 170 </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:right;"> 0.95 </td> </tr> <tr> <td style="text-align:left;"> 177 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 0.10 </td> </tr> <tr> <td style="text-align:left;"> 178 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 179 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 0.24 </td> </tr> <tr> <td style="text-align:left;"> 180 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 0.62 </td> </tr> <tr> <td style="text-align:left;"> 181 </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 0.59 </td> </tr> <tr> <td style="text-align:left;"> 182 </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 0.50 </td> </tr> <tr> <td style="text-align:left;"> 183 </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 0.08 </td> </tr> <tr> <td style="text-align:left;"> 184 </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 0.43 </td> </tr> <tr> <td style="text-align:left;"> 185 </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 186 </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 0.62 </td> </tr> <tr> <td style="text-align:left;"> 187 </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 0.78 </td> </tr> <tr> <td style="text-align:left;"> 193 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 194 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 195 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 0.10 </td> </tr> <tr> <td style="text-align:left;"> 196 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 0.09 </td> </tr> <tr> <td style="text-align:left;"> 197 </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 0.09 </td> </tr> <tr> <td style="text-align:left;"> 198 </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 0.46 </td> </tr> <tr> <td style="text-align:left;"> 199 </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 0.69 </td> </tr> <tr> <td style="text-align:left;"> 200 </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 0.77 </td> </tr> <tr> <td style="text-align:left;"> 201 </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 0.26 </td> </tr> <tr> <td style="text-align:left;"> 202 </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 203 </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 0.61 </td> </tr> <tr> <td style="text-align:left;"> 204 </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 0.01 </td> </tr> <tr> <td style="text-align:left;"> 209 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.71 </td> </tr> <tr> <td style="text-align:left;"> 210 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.58 </td> </tr> <tr> <td style="text-align:left;"> 211 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.29 </td> </tr> <tr> <td style="text-align:left;"> 212 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.70 </td> </tr> <tr> <td style="text-align:left;"> 213 </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.75 </td> </tr> <tr> <td style="text-align:left;"> 214 </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.68 </td> </tr> <tr> <td style="text-align:left;"> 215 </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.80 </td> </tr> <tr> <td style="text-align:left;"> 216 </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.97 </td> </tr> <tr> <td style="text-align:left;"> 217 </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.22 </td> </tr> <tr> <td style="text-align:left;"> 218 </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.93 </td> </tr> <tr> <td style="text-align:left;"> 219 </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.28 </td> </tr> <tr> <td style="text-align:left;"> 220 </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.89 </td> </tr> <tr> <td style="text-align:left;"> 221 </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.92 </td> </tr> <tr> <td style="text-align:left;"> 225 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.62 </td> </tr> <tr> <td style="text-align:left;"> 226 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 227 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.47 </td> </tr> <tr> <td style="text-align:left;"> 228 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.50 </td> </tr> <tr> <td style="text-align:left;"> 229 </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.12 </td> </tr> <tr> <td style="text-align:left;"> 230 </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.05 </td> </tr> <tr> <td style="text-align:left;"> 231 </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.61 </td> </tr> <tr> <td style="text-align:left;"> 232 </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.92 </td> </tr> <tr> <td style="text-align:left;"> 233 </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.51 </td> </tr> <tr> <td style="text-align:left;"> 234 </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 235 </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.38 </td> </tr> <tr> <td style="text-align:left;"> 236 </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.89 </td> </tr> <tr> <td style="text-align:left;"> 237 </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.74 </td> </tr> <tr> <td style="text-align:left;"> 238 </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.88 </td> </tr> <tr> <td style="text-align:left;"> 241 </td> <td style="text-align:left;"> gad7a </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 242 </td> <td style="text-align:left;"> gad7b </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.59 </td> </tr> <tr> <td style="text-align:left;"> 243 </td> <td style="text-align:left;"> gad7c </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 244 </td> <td style="text-align:left;"> gad7d </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 245 </td> <td style="text-align:left;"> gad7e </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.90 </td> </tr> <tr> <td style="text-align:left;"> 246 </td> <td style="text-align:left;"> gad7f </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 1.00 </td> </tr> <tr> <td style="text-align:left;"> 247 </td> <td style="text-align:left;"> gad7g </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.10 </td> </tr> <tr> <td style="text-align:left;"> 248 </td> <td style="text-align:left;"> phq9a </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.72 </td> </tr> <tr> <td style="text-align:left;"> 249 </td> <td style="text-align:left;"> phq9b </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.33 </td> </tr> <tr> <td style="text-align:left;"> 250 </td> <td style="text-align:left;"> phq9c </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.60 </td> </tr> <tr> <td style="text-align:left;"> 251 </td> <td style="text-align:left;"> phq9d </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.17 </td> </tr> <tr> <td style="text-align:left;"> 252 </td> <td style="text-align:left;"> phq9e </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.29 </td> </tr> <tr> <td style="text-align:left;"> 253 </td> <td style="text-align:left;"> phq9f </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.81 </td> </tr> <tr> <td style="text-align:left;"> 254 </td> <td style="text-align:left;"> phq9g </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.63 </td> </tr> <tr> <td style="text-align:left;"> 255 </td> <td style="text-align:left;"> phq9h </td> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.86 </td> </tr> </tbody> </table> --- ### ネットワーク比較検定結果 Centrality invariance test ```r results_NCT$diffcen.pval %>% kbl(.) %>% kable_styling() ``` <table class="table" style="margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> </th> <th style="text-align:right;"> expectedInfluence </th> <th style="text-align:right;"> bridgeStrength </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> gad7a </td> <td style="text-align:right;"> 0.16 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> gad7b </td> <td style="text-align:right;"> 0.34 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> gad7c </td> <td style="text-align:right;"> 0.85 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> gad7d </td> <td style="text-align:right;"> 0.27 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> gad7e </td> <td style="text-align:right;"> 0.03 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> gad7f </td> <td style="text-align:right;"> 0.82 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> gad7g </td> <td style="text-align:right;"> 0.33 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> phq9a </td> <td style="text-align:right;"> 0.69 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> phq9b </td> <td style="text-align:right;"> 0.27 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> phq9c </td> <td style="text-align:right;"> 0.76 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> phq9d </td> <td style="text-align:right;"> 0.75 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> phq9e </td> <td style="text-align:right;"> 0.69 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> phq9f </td> <td style="text-align:right;"> 0.19 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> phq9g </td> <td style="text-align:right;"> 0.90 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> phq9h </td> <td style="text-align:right;"> 0.88 </td> <td style="text-align:right;"> 1 </td> </tr> <tr> <td style="text-align:left;"> phq9i </td> <td style="text-align:right;"> 0.24 </td> <td style="text-align:right;"> 1 </td> </tr> </tbody> </table> --- class: left ## ネットワーク比較検定の弱み #### <a name=cite-williamsBayesianEstimationGaussian2021></a>[Williams (2021)](https://doi.org/10.1080/00273171.2021.1894412) - 複数群間での差を検討できない - エッジの群間差の不確実性を評価できない - permutation testのリサンプリングは計算効率が悪い #### [Williams (2021)](https://doi.org/10.1080/00273171.2021.1894412) - ネットワーク構造をベイズ推定 - 事後分布や事後予測分布に基づいて、効率よく群間差を推定可能 - `BGGM` package で推定可能 - 詳細は、認知・行動療法学会で!! --- class: left ## まとめ #### - 合併症等のコミュニティ間の接続メカニズムの検討にブリッジ中心性が有用 #### - `networktools` package で容易に推定可能 #### - 算出したブリッジ中心性指標は他の中心性指標と同様に安定性を評価 #### - ネットワークの群間比較には、ネットワーク比較検定が有用 #### - `NeworkComparisonTest` package で容易に推定可能 #### - 全体的なネットワーク構造の群間差、個々のエッジの群間差、中心性指標の群間差が検討可能 --- #### References <a name=bib-vanborkuloComparingNetworkStructures2022></a>[Borkulo, C. D. van, R. van Bork, L. Boschloo, et al.](#cite-vanborkuloComparingNetworkStructures2022) (2022). "Comparing network structures on three aspects: A permutation test". In: _Psychological Methods_. Place: US Publisher: American Psychological Association, pp. No Pagination Specified-No Pagination Specified. ISSN: 1939-1463. DOI: [10.1037/met0000476](https://doi.org/10.1037%2Fmet0000476). <a name=bib-christensenEquivalencyFactorNetwork2021></a>[Christensen, A. P. and H. Golino](#cite-christensenEquivalencyFactorNetwork2021) (2021). "On the equivalency of factor and network loadings". En. In: _Behavior Research Methods_ 53.4, pp. 1563-1580. ISSN: 1554-3528. DOI: [10.3758/s13428-020-01500-6](https://doi.org/10.3758%2Fs13428-020-01500-6). URL: [https://doi.org/10.3758/s13428-020-01500-6](https://doi.org/10.3758/s13428-020-01500-6) (visited on 8. 28, 2022). <a name=bib-christensenWhatBridgeCentrality2021></a>[Christensen, A., L. E. Garrido, and H. Golino](#cite-christensenWhatBridgeCentrality2021) (2021). _What is bridge centrality? A comment on Jones, Ma, and McNally (2019_. Type: article. DOI: [10.31234/osf.io/a8svr](https://doi.org/10.31234%2Fosf.io%2Fa8svr). URL: [https://doi.org/10.31234/osf.io/a8svr](https://doi.org/10.31234/osf.io/a8svr) (visited on 8. 28, 2022). <a name=bib-jonesBridgeCentralityNetwork2021></a>[Jones, P. J., R. Ma, and R. J. McNally](#cite-jonesBridgeCentralityNetwork2021) (2021). "Bridge Centrality: A Network Approach to Understanding Comorbidity". In: _Multivariate Behavioral Research_ 56.2. Publisher: Routledge \_ eprint: https://doi.org/10.1080/00273171.2019.1614898, pp. 353-367. ISSN: 0027-3171. DOI: [10.1080/00273171.2019.1614898](https://doi.org/10.1080%2F00273171.2019.1614898). URL: [https://doi.org/10.1080/00273171.2019.1614898](https://doi.org/10.1080/00273171.2019.1614898) (visited on 8. 28, 2022). <a name=bib-williamsBayesianEstimationGaussian2021></a>[Williams, D. R.](#cite-williamsBayesianEstimationGaussian2021) (2021). "Bayesian Estimation for Gaussian Graphical Models: Structure Learning, Predictability, and Network Comparisons". In: _Multivariate Behavioral Research_ 56.2. Publisher: Routledge \_ eprint: https://doi.org/10.1080/00273171.2021.1894412, pp. 336-352. ISSN: 0027-3171. DOI: [10.1080/00273171.2021.1894412](https://doi.org/10.1080%2F00273171.2021.1894412). URL: [https://doi.org/10.1080/00273171.2021.1894412](https://doi.org/10.1080/00273171.2021.1894412) (visited on 8. 29, 2022). --- class: center, middle # Enjoy! ## ytake2[at]fmu.ac.jp