統計ER

統計ソフトRの使い方を中心に、統計解析方法の解説をするブログ。ありそうでなかなか見つからないサンプルサイズ計算などニッチな方法について紹介しています。

多次元尺度構成法とは? - KH Coderでテキストマイニング

Toukei Consul Banner

KH Coder Consul Banner

多次元尺度構成法は、多次元尺度法 Multi-Dimensional Scaling, MDS とも言われる。

テキストマイニングソフト KH Coderでは、出現パターンが似ている抽出語がどれなのかが一目でわかる散布図が描かれる。

多次元尺度構成法とはどんな方法か?KH Coderではどのような図が得られるか?

KH Coderとは?

toukeier.hatenablog.com

多次元尺度構成法には4つ方法がある

KH Coderに準備されている方法は4つある。

  1. Classical: 連続量(計量値、metric)を扱うベーシックな方法。
  2. Kruskal: 非連続量(非計量値、non-metric)を扱う方法。もっとも広く使われてきた。
  3. Sammon: 近い位置に語が密集するのを避けるような重み付けをする方法。
  4. SMACOF: Scaling by MAjorizing a COmplicated Function 複雑な関数を、より簡単で扱いやすい関数に変換して計算することをmajorizationと呼ぶ。Majorizationを用いた多次元尺構成法で、近年評価が高い。

クラスカル Kruskal の非計量多次元尺度構成法とは?

非計量値を扱う多次元尺度構成法としてもっとも広く使われてきているKruskalの方法とはどういうものか?

Kruskalの方法は、以下の式の値(Stress ストレスと呼ぶ)を最小化する f(x) (新しい軸の値)を見つける方法だ。ここでdは、抽出語同士の「距離」を表している。

f(x)を見つけるには繰り返し計算が必要になる。最適な値に近づくとStressの値の変化が小さくなり、その値を答えとする方法だ。

Stress =  \displaystyle \sqrt{\frac{\sum (f(x) - d)^{2}}{\sum d^{2}}}

多次元尺度構成法に使う距離には3種類ある

KH Coderで選択できる抽出語同士の「距離」計算の方法は3つある。おすすめはJaccard係数だ。

  1. Jaccard: 一つ一つの文書がそれほど長くなく、いわゆるコメント程度の文書の場合に適している。二つの抽出語が共通に登場した文書が多ければ、「近い」抽出語同士と表現される。
  2. Cosine: 一つ一つの文書が長く、出現回数が重要な場合。
  3. Euclid: 一つ一つの文書が長く、出現回数が重要な場合。抽出語ごとに出現頻度が標準がされる。これは、絶対的な回数ではなく、出現パターンを距離に表現するため。

Jaccard係数とは?

toukeier.hatenablog.com

多次元尺度構成法の結果を見やすくするクラスター化

KH Coderには、多次元尺度構成法の結果を見やすくするオプションがついている。

Jaccard係数を計算し、Kruskalの非計量多次元尺度構成法を実行するだけだと、結果の散布図の解釈が難しい。

KH Coderでは、隣接クラスターオプションをON(チェックボックスにチェックがついた状態)にしておけば、散布図の座標を用いて、クラスター分析を行ってくれる(距離はユークリッド距離で、クラスター化の手法はWard法)。

ユークリッド距離とは?

toukeier.hatenablog.com

Ward法とは?

toukeier.hatenablog.com

隣接クラスターをONにしておくと、近くにプロットされた抽出語が同じクラスターに分類される。同じクラスターは同じ色に塗られる。

そして、クラスター同士が近傍にある場合は、似たような出現パターンをとっていることを意味する。

以下が、Tweetからの抽出語を二次元の多次元尺度構成法を実施した結果。

f:id:toukeier:20190818202733p:plain

三次元を指定すれば、以下のような三次元の結果を得られる。三次元の結果は色分けはできない。

f:id:toukeier:20190818202748p:plain

多次元尺度構成法のオプションを調整するにはどうやる?

KH Coderで多次元尺度構成法の各オプションはどのように設定するか?

方法、距離、次元、クラスター化と色分けなどは、以下の画面右半分で調整する。

f:id:toukeier:20190818202813p:plain

KH Coderのメニューバーから「ツール」→「抽出語」→「多次元尺度構成法」を選ぶと、ウィンドが開く。

解析に使う抽出語の調整

多次元尺度構成法の結果を見て、結果に登場する抽出語が多すぎるとか、全部のコメントに現れる言葉や記号はいらないとか、調整したくなることがある。

抽出語の限定の方法として、先ほどのオプション画面の左半分の「最大出現数」を絞る方法がある。

f:id:toukeier:20190818202838p:plain

抽出語リストで確認してみると、頻度が300を超える4つの語はいずれも意味のない語で、TwitterTweetRetweetに必ずついている記号類である。これらを除外するために最大出現語を300にした。このような調整も必要になることがある。

f:id:toukeier:20190818202852p:plain

まとめ

テキストマイニングソフト KH Coder で多次元尺度構成法の実行方法を見てみた。

基本は、Jaccard係数で抽出語間の距離を計算し、Kruskalの方法で最適な新しい尺度値を算出する。

結果をプロットして、さらには隣接した抽出語はクラスター化して、「近い」語と「遠い」語から全体の傾向をつかみ、解釈する。