No.22765 Re: hclust()の距離行列とメソッドの指定 【青木繁伸】 2019/06/29(Sat) 12:05
川端さんが具体的にどのように説明されているのか分かりませんが,私の理解は
http://aoki2.si.gunma-u.ac.jp/lecture/misc/clustan.html
に 示してあります。これは奥野忠一らの多変量解析,多変量解析入門にあったものだと思います。まだパソコンなんてものがなく,コンピュータは FORTRAN,COBOLでプログラムするという時代のものです。もともとは,CLUSTAN というプログラムのアルゴリズムの説明にあるものです。実際,私もこれに基づいてクラスター分析のプログラムを書いて使っていました。
当初の R には今の ward.D が ward として実装されていました。推測するに,「バグ」だったのだと思います。
私 の書いた本でも,「ウォード法と重心法を採用する場合にはユークリッド平方距離を使うべきである。ユークリッド平方距離を選択できるオプションがないの で,後述の hclust の第 1 引数としてユークリッド距離を二乗したものを指定することを忘れないようにしよう。」と書きました。
その後指摘があったかなんかで,本来あるべき ward.D2 が実装されましたが,過去のしがらみを捨てきれなくて(バグだったとも言えなくて)両方を残したのだと邪推しています。
No.22769 Re: hclust()の距離行列とメソッドの指定 【波音】 2019/07/01(Mon) 10:41
ご回答ありがとうございます。
たしかに青木先生の本にも「hclust の第 1 引数としてユークリッド距離を二乗したものを指定」と書かれており,それ以前にもこのように教わっていたので,私の中ではある意味ルール的にd^2としていましたが,,,
やはり(使う人の立場によっては程度問題ではあると思いますが)アルゴリズムを理解しておくことは重要だと感じさせられました。
少し話はそれてしまいますが,誰でも使えるものというのは「考えなくても(理解していなくても)使えるもの」ともいえるので,ただでさえ色々と誤解の多い統計話題は今後さらに注意しないといけないと思いました。
※パッケージ文化に恵まれた我々は特に注意せねばならないのかもしれません。
● 「統計学関連なんでもあり」の過去ログ--- 048 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る