KHcoder 23. 共起ネットワーク(共起パターンの変化を探る)

KHcoder 23. 共起ネットワーク(共起パターンの変化を探る)

テキストマイニングツール「KHcoder」の活用メモ
開発者である樋口先生に感謝!
【今回の分析対象テキストはこちらからコピーできます】

新機能 共起パターンの変化を探る

3.Alpha.16f

KHcoder 共起ネットワーク KHcoderの新バージョン「3.Alpha.16f」をみていると、共起ネットワークのなかに「共起パターンの変化を探る(相関)」という機能が抽出語・コーディングの両方に追加されています。
 「共起パターンの変化を探る(相関)をチェックして「対象とする数値変数」はデフォルトのまま「出現位置」でOKします。

色使いに注目

KHcoder 共起パターンの変化を探る(相関) 「共起パターンの変化を探る(相関)をチェックしないときと比較すると、プロット位置、サイズ、線、表示される係数はすべて同じです。

 異なるところは色です。共起ネットワーク図から色相グラデーションは「Correlation」によって決定されることがわかります。「Correlation」を和訳すると「相関」、では「相関」とは何か?何と何の相関なのか?0.4とか-0.4と表示されている数値は具体的に何なのでしょうか。

Rで確認

「対象とする数値変数」とは
> dr
    サーモン サバ イカ  サンマ 好き 苦手  嫌い まぐろ イクラ 海老 食べる khvar_
1         1    0    0      0    1    0    0      1      1    0      0      1
2         1    0    1      0    0    1    0      1      1    0      0      2
3         0    0    0      0    0    0    1      1      1    1      0      3
4         1    0    0      0    0    0    0      0      1    0      0      4
5         0    1    0      0    1    0    1      1      1    0      0      5
6         0    0    0      0    1    0    0      1      0    1      0      6
7         0    1    1      0    1    1    0      0      0    1      0      7
8         0    0    0      0    0    0    0      1      0    0      0      8
9         0    0    0      0    0    0    0      1      0    0      1      9
10        0    0    1      0    1    0    0      1      0    0      1     10
11        0    1    0      1    0    0    0      0      0    0      0     11
12        1    1    0      1    0    1    0      0      0    0      0     12

 行(row)が「段」、列(col)のサーモン~食べるまでが「語」です。数値はそれぞれの「段」に出現する「語」の出現回数です。Rへ送られているデータは、サーモンから食べるまでの列です。R内で最終列「khvar_」が追加されます。「khvar_」は数値(値)です。

 この「khvar_」が「対象とする数値変数」のことです。今回は「対象とする数値変数」を「出現位置」に設定しました。「出現位置」とは分析対象テキストの1段目、2段目、3段目のような、いわゆる「段」番号です。「段」番号はIDですから基本的には数値(値)ではありません。受験番号のようなユニークな記号です。数字ではなく、アルファベットでもい・ろ・はでも構いません。相関係数を算出するためには番号を「khvar_」という数値(値)へ変換します。

相関とはPearson相関係数
> cor(dr,method="pearson")
           サーモン       サバ        イカ     サンマ        好き
サーモン  1.0000000 -0.1250000  0.00000000  0.1581139 -0.23904572
サバ     -0.1250000  1.0000000  0.00000000  0.6324555  0.11952286
イカ      0.0000000  0.0000000  1.00000000 -0.2581989  0.29277002
サンマ    0.1581139  0.6324555 -0.25819889  1.0000000 -0.37796447
好き     -0.2390457  0.1195229  0.29277002 -0.3779645  1.00000000
苦手      0.4082483  0.4082483  0.55555556  0.2581989 -0.09759001
嫌い     -0.3162278  0.1581139 -0.25819889 -0.2000000  0.07559289
まぐろ   -0.2500000 -0.6250000  0.00000000 -0.6324555  0.23904572
イクラ    0.4780914 -0.2390457 -0.09759001 -0.3779645 -0.02857143
海老     -0.4082483  0.0000000  0.11111111 -0.2581989  0.29277002
食べる   -0.3162278 -0.3162278  0.25819889 -0.2000000  0.07559289
khvar_   -0.3584641  0.4608824 -0.02787473  0.6477503 -0.17137861
                苦手        嫌い     まぐろ      イクラ        海老
サーモン  0.40824829 -0.31622777 -0.2500000  0.47809144 -0.40824829
サバ      0.40824829  0.15811388 -0.6250000 -0.23904572  0.00000000
イカ      0.55555556 -0.25819889  0.0000000 -0.09759001  0.11111111
サンマ    0.25819889 -0.20000000 -0.6324555 -0.37796447 -0.25819889
好き     -0.09759001  0.07559289  0.2390457 -0.02857143  0.29277002
苦手      1.00000000 -0.25819889 -0.4082483 -0.09759001  0.11111111
嫌い     -0.25819889  1.00000000  0.3162278  0.52915026  0.25819889
まぐろ   -0.40824829  0.31622777  1.0000000  0.23904572  0.00000000
イクラ   -0.09759001  0.52915026  0.2390457  1.00000000 -0.09759001
海老      0.11111111  0.25819889  0.0000000 -0.09759001  1.00000000
食べる   -0.25819889 -0.20000000  0.3162278 -0.37796447 -0.25819889
khvar_    0.08362420 -0.32387514 -0.4096732 -0.85689307 -0.19512314
              食べる      khvar_
サーモン -0.31622777 -0.35846409
サバ     -0.31622777  0.46088240
イカ      0.25819889 -0.02787473
サンマ   -0.20000000  0.64775028
好き      0.07559289 -0.17137861
苦手     -0.25819889  0.08362420
嫌い     -0.20000000 -0.32387514
まぐろ    0.31622777 -0.40967325
イクラ   -0.37796447 -0.85689307
海老     -0.25819889 -0.19512314
食べる    1.00000000  0.38865017
khvar_    0.38865017  1.00000000

 RでPearson相関係数を算出します。関数は「cor」です。計算結果の最終列「khvar_」列の数値がサーモン~食べるまでの「語」と「khvar_」とのPearson相関係数です。これが共起ネットワーク図の色(「Correlation」)です。
 つまり「Correlation」(相関)というのは、「語」と「khvar_」との相関をあらわします。「khvar_」=「出現位置」だから「語」と出現位置との相関です。

外部変数でやってみる

外部変数が数値のとき

KHcoder 分析対象テキストID昇順 分析対象テキストには「外部変数」として「ID」があります。先ほどは「対象とする数値変数」を「出現位置」に設定しましたが、今度は「ID」に設定します。
KHcoder 共起パターンの変化を探る(相関) 「出現位置」と同じ結果になります。「出現位置」=「段」番号=「ID」ですから当然です。

外部変数が文字列のとき

 「外部変数」が文字列のときは計算できません。「対象とする数値変数」ですから文字列は不可です。
 数値のときでも計算できない場合があります。数値は必ずユニークでなければなりません。

外部変数の数値を降順にすると

KHcoder 共起パターンの変化を探る(相関)エラー 「外部変数」の「ID」を降順へ変更するとどうなるのでしょうか。

> dr
     サーモン サバ イカ  サンマ  好き 苦手 嫌い  まぐろ イクラ 海老   食べる khvar_
1         1    0    0      0    1    0    0      1      1    0      0     12
2         1    0    1      0    0    1    0      1      1    0      0     11
3         0    0    0      0    0    0    1      1      1    1      0     10
4         1    0    0      0    0    0    0      0      1    0      0      9
5         0    1    0      0    1    0    1      1      1    0      0      8
6         0    0    0      0    1    0    0      1      0    1      0      7
7         0    1    1      0    1    1    0      0      0    1      0      6
8         0    0    0      0    0    0    0      1      0    0      0      5
9         0    0    0      0    0    0    0      1      0    0      1      4
10        0    0    1      0    1    0    0      1      0    0      1      3
11        0    1    0      1    0    0    0      0      0    0      0      2
12        1    1    0      1    0    1    0      0      0    0      0      1

 もちろん「khvar_」は「ID」に合わせて降順になります。
KHcoder 共起パターンの変化を探る(相関) プロットは全く同じですが色が逆転します。赤色の「サンマ」が青色へ、青色の「イクラ」が赤色になりました。これは計算結果であるPearson相関係数のプラスとマイナスが逆転したことを意味します。

	昇順	khvar_	        降順	khvar_
サーモン		-0.358464		0.358464
サバ		0.460882		-0.460882
イカ		-0.027875		0.027875
サンマ		0.647750		-0.647750
好き		-0.171379		0.171379
苦手		0.083624		-0.083624
嫌い		-0.323875		0.323875
まぐろ		-0.409673		0.409673
イクラ		-0.856893		0.856893
海老		-0.195123		0.195123
食べる		0.388650		-0.388650
khvar_		1.000000		1.000000

 色相はPearson相関係数がプラス1に近づくほど赤く、マイナス1に近づくほど青くなります。従って昇順のときプラス値が最も高いサンマが最も赤くなったのに対し、降順では最もマイナスになるから青くなります。

色(Pearson相関)が意味すること

Pearson相関係数

 Pearson相関係数は「khvar_」と「語」が出現する回数との相関係数です。
① 「khvar_」の数値(値)が小さい、に対して「語」の出現回数が多いということは
 一方の数値が小さく、一方の数値が大きいから負の相関(いわゆる反比例)になるからPearson相関係数はマイナス1に近づく。
② 「khvar_」の数値(値)が大きい、に対して「語」の出現回数が多いということは
 一方の数値が大きくく、もう一方の数値も大きいから正の相関(いわゆる正比例)になるからPearson相関係数はプラス1に近づく。

色でわかること

Pearoson相関と色 仮に「khvar_」=「出現位置」だとすると。プロットが青い「語」は分析対象テキストの前半に多く出現する「語」である。プロットが赤い「語」は分析対象テキストの後半に多く出現する「語」である。
 プロットが中間色の「語」は分析対象テキストの真ん中あたりに多く出現する「語」である。
>KHcoder22. 共起ネットワーク(第3回) タブローでネットワーク図