複数の変数があるデータについて、 クラスター分析 をして、個々のサンプルのクラスターを求め、そのクラスターの名前をカテゴリにした質的変数にして使う方法を、 ベクトル量子化 と言います。
ベクトル量子化ラベル分類というのは、適当な名前が世の中にないようなので、筆者が付けました。 ベクトル量子化をした説明変数と、目的変数の関係を分析する方法です。
判別分析 や ロジスティック回帰分析 と類似の分析です。
上のようなデータがあったとします。
Yが1と0の2つあり、X01、X02という変数があります。
Yが1は、2つの領域に分かれていて、Yが0は、その間にあります。
Yを抜いたX01とX02の2つの説明変数だけで、クラスタリングをします。
この例では、混合分布法で3つの領域に分かれました。
クラスター毎にYの値の平均値を計算します。
1と0しかない変数なので、平均値は、1の割合(確率)として計算されます。
このモデルはいまいちで、クラスター3のサンプルはきれいに分離できているのですが、クラスター1と2はあいまいな分離になっています。
この例の場合は、説明変数が2個なので、例えば散布図の位置がクラスター2のあたりにあるサンプルは、Yを1と予測する確率が0.31なので、予測値は0です。
説明変数が複数ある時に、新しいサンプルがどのクラスターになるのかを調べる方法は、 クラスターの予測の分析 になります。
このページでは、クラスター分析を2値分類に使いますが、これは クラスター多次元化ロジスティック回帰分析 と、ほぼ同じです。 このページは、表の集計だけで予測ができるので、クラスター多次元化ロジスティック回帰分析よりもシンプルです。
例えば、上のような3値の場合は、分析は下の表になります。
2値の場合は、平均値を計算します。 目的変数が量的変数の場合に、この方法はそのまま使えます。
下記は、左が元データで、右が予測値です。
クラスターが同じだと、予測値が同じなので、結果的に粗い予測値になっています。
それぞれのクラスターの中で、説明変数に応じた傾きがある場合は、ただの平均値では精度が悪いです。 このような場合は、 クラスター高次元化回帰分析 が良いです。
ちなみに、この違いは、 一般的な 回帰木 と モデル木 の違いと同じです。
ベクトル量子化ラベル分類の使い道として、一番有望なのは予測です。 複雑な分布でも対応できます。
ベクトル量子化ラベル分類は、複雑な分布でも予測精度が高い方法ですが、 説明可能性・解釈可能性 がないので、因果推論 には使えないです。こうした特徴は、 k近傍法 と似ています。 ちなみに、ベクトル量子化ラベル分類は、全部のサンプル間の距離を調べないので、計算はk近傍法よりも早いです。
別の使い道としては、データの偏りの分析があります。
例えば、2種類の分布があって、左のように2値が均等に混ざっている感じの場合(Data1)と、右のように領域がだいたい分かれている場合(Data2)があったとします。
この場合、クラスター毎の平均値をヒストグラムにすると、下図のようになります。
偏りがないと、0.5付近が多く、偏りがあると、0や1に近い値が増える様子がわかります。
こうした偏りは3次元までなら、グラフを見ればわかりますが、高次元の場合は、ベクトル量子化ラベル分類が良いようです。
下のグラフは、左から順に、元データ、クラスター、予測値です。
クラスターは100個作っています。
こういう複雑な分布でも、ベクトル量子化ラベル分類は、完璧に予測できることがわかります。
Rの実施例は、 Rによるベクトル量子化ラベル分類 のページがあります。
「機械学習のための特徴量エンジニアリング」 Alice Zheng・Amanda Casari 著 オライリー・ジャパン 2019
この本では、k-means法とロジスティック回帰分析を組み合わせることで、複雑な分布になっているラベル分類をシンプルに解く方法として紹介しています。
このページの「ベクトル量子化ラベル分類」という方法は、この本を読んだ後で、「ロジスティック回帰分析を使わずに、もっとシンプルにできる」ということに
筆者が気付いてまとめたものです。
探せば、世の中に同じ方法があるかもしれないです。
順路
次は
外れたサンプルの探索