★ クラスター分析 ★

3985. クラスター分析 ハルナ 2004/08/18 (水) 14:40
└3986. Re: クラスター分析 Shimp 2004/08/18 (水) 18:27
 └3989. Re^2: クラスター分析 青木繁伸 2004/08/18 (水) 21:30
  └3990. Re^3: クラスター分析 Shimp 2004/08/18 (水) 22:31


3985. クラスター分析 ハルナ  2004/08/18 (水) 14:40
作成した相関係数行列をもとにクラスター分析を行い,樹状図を作成したいのですが,実際これを行うときにどのようなツールを使用すればいいのでしょうか。ご存知なかた,または関連知識のあるかた,ぜひお教えください。

     [このページのトップへ]


3986. Re: クラスター分析 Shimp  2004/08/18 (水) 18:27
「R」を使って似たような事をしたことがあります。

step1. 階層的クラスタ分析は,距離行列を出発点にして演算を始めるため,元々の行列をどうにかして距離行列と見なせる形に加工して,

step2. Rに,例えば
x <- read.table("test.txt",sep="\t", header=TRUE, row.names=1) #タブ区切り,ヘッダ行あり,行ラベルありの場合
 と読み込ませて

step3. 距離行列として扱ってもらうために
x <- as.dist(x)
 とやってから,

step4. 階層的クラスタ分析にかけて樹状図を作成するために
plot(hclust(x,"ave"))
 とやりました。

 問題はstep1で,相関係数行列から,数学的に根拠のある方法で距離行列を得るところじゃないかと思います。

 私は,数学的根拠無しに逆数を取りました。
 得られた結果が,まずまず理解しうる形になっていたので,とりあえず良しとしましたが,未だに不安には思っています。

 以前この掲示板にお世話になったので,可能な限りお手伝いしたいと考えていますが,step1の部分だけは,ごめんなさい,あてにしないで下さい...

     [このページのトップへ]


3989. Re^2: クラスター分析 青木繁伸  2004/08/18 (水) 21:30
Shimp さん,フォローありがとうございます。

ステップ1については,相関係数 r を自乗距離 r^2 に変換する公式
d^2=2(1-r)
を使うといいのではないかと思います。
http://aoki2.si.gunma-u.ac.jp/lecture/misc/clustan.html

今後ともよろしくお引き立てのほど,お願い申し上げます。

     [このページのトップへ]


3990. Re^3: クラスター分析 Shimp  2004/08/18 (水) 22:31
青木 様,有り難う御座いました。

 ハルナ さん,これはもう,Rを使うしかないでしょう...(笑)
 相関係数行列をタブ区切りテキストにしておいて,Rをダウンロード/インストールして,
x <- read.table("test.txt",sep="\t", header=TRUE, row.names=1)
plot(hclust(as.dist(sqrt(2*(1-x))),"ave"))
 の2行をコンソールにペーストするだけで,それらしい樹状図が表示されちゃうと思います。

 加えてRのヘルプでhclustの"average"以外のオプションを試していけば,雰囲気がつかめてくるんじゃないでしょうか。

 いったんRに行列を読み込ませてしまいさえすれば,例えば相関係数行列を類似度行列に見たてて,例えば主座標分析とか数量化IV類とか掛けてみたり出来ちゃうので,もしかすると面白い発見があるかもしれません。
 是非お試し下さい→R

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 030 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る