SPSS Win  勝手にFAQ  クラスタ分析編


[Q13-] 旧バージョンで作成したシンタックスがエラーになって動かない。
[A] 13からは微妙にシンタックスに変更が加えられているらしい。
たとえば,複数のクラスタ数を表示したり,所属クラスタ番号を保存する場合
SPSS12まででは
CLUSTER
::::
/PRINT SCHEDULE CLUSTER(3:4)
/SAVE CLUSTER(3:4) .
(3クラスタと4クラスタを求めてその結果を表示,保存する)

のように:で区切られていたが
SPSS13からは
CLUSTER
::::
/PRINT SCHEDULE CLUSTER(3,4)
/SAVE CLUSTER(3,4) .

とカンマ(,)で区切ることになった
他にも細かい仕様変更があったかもしれないが,不明

[Q] 階層的クラスタ分析でケース番号を「ケースのラベル」に変数指定できない
[A] 「文字型」変数しか投入できない。データエディタで該当する変数名上でダブルクリックして「変数の定義」-「型」を選び文字型変数に型を定義する

[Q 8.0/11.5] 欠損値を含むデータで 保存した所属クラスタ番号やデンドログラムのケースラベルと,データエディタ上のケース(行)番号が合わない。
ケースのラベルを指定すると,デンドログラムでのデータラベルとケース番号の対応がズレたり,データエディタに生成される変数の所属クラスタ番号がズレてしまう
[A] 8.0では既知のバグ。ケースラベルを使用しないで分析する。
11.5では,デンドログラムでCASE欄に表示される番号は,欠損値を含むケースを飛ばしたケースを上から順次数えたえた番号。よってデータエディタの行番号(左端のグレーの数字)とは一致しない。よって計算時に「ケースのラベル」を指定した上で,デンドログラムのLabel欄の数字を見てケースを特定した方がよい。

[Q 9.0/10.0J] 標準化したクラスタ分析を行うと
「入力行列ファイルでケース数が順番に並んでいないため,SAVEを実行できません」(9.0)
あるいは
「MATRIX IN および ID 変数と共にSAVE サブコマンド機能を使用することは現在できません。(10.0J)
という警告が出て,クラスタ番号を保存できない。ケース番号を示すラベル変数は順番に並んでおり,この変数が欠損値を持つケースは投入されてない。
[A] 9.0および10.0Jそれぞれのバグ。
/SAVEのみまたは/ID=変数 のみならば問題は発生しない
回避策
メニューの「方法-値の変換-標準化-z得点」ないしはコマンドシンタックスでproximitiesを用いないようにする。
メニューの場合は,次の手順
  1. 分析-記述統計-記述統計でクラスタ分析に投入する変数を指定。 「標準化された値を変数として保存」にチェックして,「貼り付け」
  2. 生成されたシンタックスにMISSING=LISTWISEを付加して実行
    (この処理を行わず,メニューから直接実行すると欠損値をリスト単位で除去する操作が行えないため,よくない)
  3. データエディタ上に標準化された変数(元変数名の前にzがつく)が生成される
  4. 分析-分類-階層クラスタで,上で保存された標準得点を投入変数として指定し,「方法-値の変換-標準化-なし」に設定する

【シンタックス例】(標準化からクラスタ分析まで一回でやってしまう例)
DESCRIPTIVES
VARIABLES= a1 to a5/SAVE
/STATISTICS=MEAN/MISSING=LISTWISE.

CLUSTER za1 to za5  注:←標準得点を用いるので,変数名の先頭にzがつく!
/METHOD WARD
/ID=no
/PRINT SCHEDULE CLUSTER(4)
/PLOT DENDROGRAM
/SAVE CLUSTER(4) .


[Q 9.0] デンドログラムをHTM形式でエクスポートするとブラウザ上で化ける
[A] ブラウザのフォントを「シフトJIS」にする
(IE4:表示-フォント NN4:表示-文字コードセット)
ただし,罫線ではなく「・・・」で表示される。SPSSの出力ビューアでは独自仕様のフォントを使っているため,HTMLでの完全な表示は無理とのこと
[Q27] 「所属クラスタ」の左端の数字や「樹形図」(デンドログラム)の[ケース]が何を指しているのか分からない。
[A]具体的な表記が何もないので分かりにくが,下図のようになっているらしい。
ここでケースラベルとはメニューの「ケースのラベル」(コマンドシンタックスでID=)で指定したケースを特定する変数のこと。
また「ケース番号」とはデータ並び順に機械的に割り当てられたケースの番号のこと。
欠損値として除外されたケースについてはケースラベル側の列に「ケース番号」が表示されるためややこしい。
樹形図では,「ケースのラベル」と隣の「ケース番号」は対応が付いているとは限らない。確かな対応関係は「所属クラスタ」で確認する必要がある。
また「樹形図」と「所属クラスタ」では,「ケースのラベル」と「ケース番号」の並び順が逆になっているので要注意。

 



[Q] 階層的クラスタ分析で,ユーザ欠損値を欠損値ではなく「数値」として扱いたい

[A] コマンドシンタックスで/missing=includeを指定する
変数の標準化を行う場合は,proximitiesとclusterの両方にこのオプションを指定する必要がある
(なおシステム欠損値を含むケースはスキップされる)
この指定を行うと,ユーザ欠損値として指定されている値が,(欠損値としてではなく)数値とみなされデータに含めてとして計算される
例)
PROXIMITIES x1 to x10
/MATRIX OUT ('C:\tmp\spssclus.tmp')
/MISSING=INCLUDE
/VIEW= CASE
/MEASURE= CORRELATION
/PRINT NONE
/ID=no
/STANDARDIZE= VARIABLE Z .

CLUSTER
/MATRIX IN ('C:\tmp\spssclus.tmp')
/METHOD BAVERAGE
/MISSING=INCLUDE
/PRINT SCHEDULE
/PLOT DENDROGRAM
/ID=no
. ERASE FILE= 'C:\tmp\spssclus.tmp'.

[Q] 階層的クラスタ分析でクラスタ内平方和増分を表示・計算したい
[A] 計算されない。またクラスタ間距離からも計算できない
デンドログラムの横軸単位は,クラスタ結合の際の距離の縮尺
(クラスタ凝集経過工程テーブルに係数として距離が示されている)

[Q] 階層的クラスタ分析でクラスタ凝集経過工程での距離係数とデンドログラムのRescaled Distance Cluster Combine軸の値はどういう関係か?
[A] デンドログラムの軸は距離係数を最小1,最大25の比率に変換した値

戻る| トップへ