これをネットワークデータで使用する予定です。
私のネットワークには 2 種類のエッジがあります。どのように見えるかを確認するために、これら 2 つのエッジ タイプの次数を個別に返す関数を作成しました。
Node G_obs R_obs
1 N1 3 2
2 N2 1 0
3 N3 9 0
4 N4 1 4
5 N5 1 0
...
そして、ネットワーク エッジをサンプリングする別の関数を作成しました。この後は次のようになります。
Node G_obs R_obs
1 N1 4 1
2 N2 1 0
3 N3 3 6
4 N4 3 2
5 N5 1 0
...
G_obs+R_obs、つまりノードの次数は同じままであることに注意してください。
G_obs と R_obs の間で最初に観察された次数分割を持つ各ノードの pValue を知りたいです。
編集: 申し訳ありませんが、これは少しわかりにくかったようです。観測された分布の行ごとの確率は必要ありません。観測されたG_obs、R_obs がノードごとに分割される確率が必要です。ここで、sample(G_obs) + sample(R_obs) は以前と同じノードの合計を保持しています。次回は英語のネイティブ スピーカーに相談して、より適切な言葉遣いをしてもらう必要があります。問題をより明確に説明できればと思います :(
編集2
観察:
Node G_obs R_obs
1 N1 3 2
2 N2 1 0
3 N3 9 0
4 N4 1 4
5 N5 1 0
ご覧のとおり、N1 には 5 つのインエッジがあります。そのうちの 3 つは緑 (G_obs)、2 つは赤 (R_obs) です。
表示されている 5 つのノードの場合、合計 15 個の緑のエッジと合計 6 個の赤のエッジがあります。ここで、すべての緑とすべての赤のエッジを「サンプリング」します。別名、それらを割り当てられた列に再分配しますが、同時に、N1 にはまだ 5 つのエッジがあります。(上記のサンプリングの例を参照してください。
Node G_obs R_obs
1 N1 4 1
...
私はすでに「サンプリング」を正しく提供する関数を持っており (これのプレースホルダー: mySample(graph)
)、mySample を取得し、それをたとえば 1000 回使用し、各ノードの元の観察の可能性を計算する関数が必要です。
助けていただければ幸いです