# クラスタ分析
## クラスタ分析の目的
**データの中の群構造の発見、あるいは分類の生成**
データの中に複数の群を発見したり、分類基準を生成することをクラスタリング(クラスタ化)といいます。1つ以上の変数からなり、測定単位が揃っているデータの中に、群構造を見出す手法です。
この目的で用いられる分析手法はクラスタ分析、離散混合分布、潜在クラス分析、潜在プロファイル分析などがあります。
|モデル|群の名前|境界線|
|---|---|---|
|クラスタ分析|クラスタ、群|あり|
|混合分布|コンポーネント(分布)、分布|なし|
|潜在クラス分析|潜在クラス|なし|
|潜在プロファイル分析|潜在プロファイル|なし|
混合分布と潜在プロファイル分析は同じです。潜在クラス分析は「ほぼ」同じとも、「かなり」違うとも言えます。
## 階層クラスタリング
階層クラスタリングは次のように、近いもの同士をまとめていく、ボトムアップ的なクラスタ分析手法です。下からまとめて行きます。次の図は、寿司ネタの選好データに基づいてネタ間の距離を算出して、それを元にクラスタ分析した例です。
[](https://www.macromill.com/service/data_analysis/cluster-analysis.html)
このグラフをデンドログラムと言います。階層クラスタ分析は必ず、デンドログラムを用いて行います。デンドログラムの最下部には必ず、対象を識別する文字、番号、ラベルなどを記します。そのため、あまり多くの対象がある場合には向きません。
対象同士の距離は普通に定義できても、一旦、小さな群にまとめた後で群と個との距離、また群と群との距離の定義が幾つかあります。
* 最小距離法
* 最大距離法
* 重心距離法(群平均法)
* Ward法
例えば人が点在していて、近くにいる人同士でグループが繋がっていく場合など、2群の中のもっとも近い点同士の距離が群間の繋がりに影響する場合は最小距離を用いることが考えられます。そうではなく、健康指標などを分析している場合には、最小距離や最大距離に意味がある状況とは限りません。
そのため、重心距離法またはWard法を用いるのが通例となっています。
さて、デンドログラムを用いたクラスタ分析は、デンドログラムを上から見る方向と、下から見る方向の二つから成ります。
デンドログラムを下から見て、どのような対象が近くなるように並んでいるかを確認します。イクラ、数の子、ウニはいずれも卵です。魚でないネタも近くに集まっています。甲殻類と貝類の中のホタテが近いです。マグロ同士も近いです。青魚は貝類と近いのでしょうかね。
次に上から見て、クラスタに分けて行きます。例えば距離を1.58で切ると、赤線で切った左右の2群に分かれます。1.32で切ると、6群に分かれます。どこで止めるかは、各クラスタに属する対象の意味ある分類となるかを検討して決めます。
## 非階層クラスタリング
### k平均法
k平均法(k-meansクラスタリング)が代表的な手法です。次のグラフは、選好度の個表データから、人のクラスタ分析を行った結果です。好みの異なる5群に分かれています。

もちろん階層クラスタリングと同様に、寿司ネタのクラスタ分析も可能です。
### 正規混合分布
データが複数の正規分布からなっている、とするモデルです。潜在クラス分析と考え方は同じです。ただし複数の正規分布には、幾つかの種類があります。

これは像を飲んだうわばみと同じ形です。

でもこんな場合もあります。

混合分布を構成する分布は、平均だけでなく分散も異なっていいのです。データの分布が赤、推定されたクラスタが青と緑のとき、クラスタ間の境界をどこで引きますか?
ただし正規混合分布の場合、AICやBICなどのモデル選択基準を用いて、最適な分布の数を選択することがあります。
### 潜在クラス分析
潜在クラス分析も、混合分布を推定する分析です。
[](https://its.tos.co.jp/products/latentgold/about-latentclass)
通常は測定値などの数値の変数を含まず、順序尺度や名義尺度などの離散変数のみからなるデータを扱います。
[](https://www.macromill.com/service/data_analysis/latent-class-analysis.html)
このデータに潜在クラス分析を行って見出すのが、潜在クラスです。原理は正規混合分布と似ていますが、分布の表現に離散データならではの工夫があります。クラス数はAICなどで定めます。

潜在クラス分析は、各対象がそれぞれのクラスに所属する確率(ベクトル)も出力してくれます。

各対象を、この確率が最も高い潜在クラスに分類します。この結果は他のクラスタ分析と同じなので、クラスタごとの特徴をみて行きます。

## クラスタリングの用い方
単に分類するだけなら、クラスタリングを実行するだけで終わりです。しかし、生成したクラスタ(群)の特徴の把握が分析目的の場合には、大変です。
1. クラスタ数(クラス数, プロファイル数)を最も小さい値に設定します。
2. クラスタ分析を行います。
3. 生成したクラスタの特徴を考察します。
4. クラスタ数を1増やして、2に戻ります。2に戻らずに終了するのは、意味のあるクラスタが得られた時です。
これを、情報量基準などで端折って、次の3ステップで終わらせてもいいです。
1. クラスタ数(クラス数, プロファイル数)を最適になるように設定して、
2. クラスタ分析を行います。
3. 生成したクラスタの特徴を考察します。
ただし、特徴を掴む変数がクラスタ分析に用いられていない場合は、これはだめです。
## 外れ値
分析に用いたモデルから大きく外れているデータを、取り出して別扱いにします。回帰分析、主成分分析、因子分析などの多変量解析の手法には、外れ値の基準が開発されていることが多いです。