Re: コーディング結果を使っての、文書のクラスター分析 (HIGUCHI Koichi) KH Coder 旧掲示板
[ツリー表示] [留意事項] [ワード検索] [過去ログ]

  [No.1034] Re: コーディング結果を使っての、文書のクラスター分析 投稿者:HIGUCHI Koichi  投稿日:2012/08/22(Wed) 01:00:12

こんにちは、樋口です。書き込みありがとうございます。

分析結果が出ましたようでなによりです。

ただ、ひとつお詫びなのですが、先ほどのコマンドでは、非常に汎用的な標準
化を文書ごとに行ってしまいました。先ほどのコマンドを実行後に「fd」と入
力してエンターを押していただきますと、標準化後の値、すなわちクラスター
分析に使われたデータがでます。どの行(文書)も、すべてのコードの値を足
すと、0になるという形で(平均0に)標準化してしまっています。

これは非常に汎用的に使われる方法で、私もさきほどうっかり使ってしまいま
した。しかし文章データでは「データ100語あたり」とか「データ1000語あた
り」何回出現しているか、という標準化がより多く使用されているように思い
ます。
※「○語あたり」の箇所が100でも1000でも、今回の分析結果は変わりません。

ただしコーディングでは、条件に合致する文の数を数えていますから、今回の
場合は「100文あたりいくつの文に『てもらう』が含まれるか」といった数値
に標準化することになります。この形で標準化して分析するコマンドは以下の
ようになります。

#---------------------------------------------------------------------
# クラスター分析
library(amap)
std <- d
for (i in 1:nrow(std)){
std[i,] <- std[i,] / table(v)[i] * 100
}
cluster <- hcluster( std, method="euclid", link="ward")

# プロット
par( mai=c(0,0,0,0), mar=c(1,2,1,0), omi=c(0,0,0,0), oma=c(0,0,0,0) )
plot(cluster,ann=0,hang=-1)
#---------------------------------------------------------------------

もしも標準化を行わずに、条件に合致した文の数をそのまま使って分析する場
合には、コマンドは以下のようになります。この場合には、長い文書(小説)
では数値が全体に大きめになるでしょうから、長い文書同士、短い文書同士が
同じクラスターに入りやすくなります。標準化を行わない場合、文書の長さも
クラスター化の基準になるということです。

#---------------------------------------------------------------------
# クラスター分析
library(amap)
cluster <- hcluster( d, method="euclid", link="ward")

# プロット
par( mai=c(0,0,0,0), mar=c(1,2,1,0), omi=c(0,0,0,0), oma=c(0,0,0,0) )
plot(cluster,ann=0,hang=-1)
#---------------------------------------------------------------------

先の書き込みの汎用的な標準化よりも、上記の「100文あたり...」という標準
化の方が、もしかすると、より実感に近いクラスターが得られる可能性があり
ます。適宜、お試しいただけましたら幸いです。

こちらも暑いのですが、そちらもさぞやと存じます。御身おいといの上、ご活
躍くださいますよう祈念申し上げます。


- 関連一覧ツリー (■ をクリックするとツリー全体を一括表示します)