データ解析は、現代のビジネスや科学の世界において不可欠なスキルとなりました。多くの情報がデジタルフォーマットで蓄積され、これからの意思決定や洞察を導く際には、その情報から価値ある知見を引き出す能力が重要です。その中でも、クラスタリング、主成分分析、潜在クラス分析といった高度なデータ解析手法は、複雑なデータセットから隠れたパターンや構造を浮き彫りにする鍵となります。
クラスタリングについて
クラスタリングは、類似した特性を持つデータポイントをグループに分けるための手法になります。例えばウェブサイトを訪れているユーザーを機械的にグルーピングしたい場合に利用し、「1.直帰グループ」・「2.短時間でたくさんの記事を読んでいるグループ」・「3.長時間じっくり記事を読んでいるグループ」のように施策に繋がる集団を作成可能になります。
クラスタリングと一括りに言っても、「ハードクラスタリング」と「ソフトクラスタリング」と大きく分けることが出来ます。
「ハードクラスタリング」は、データポイントを厳密に1つのクラスタに割り当てるクラスタリング手法です。各データポイントはどれか1つのクラスタにのみ所属し、クラスタ間の境界が明確になります。また、ハードクラスタリングも「非階層クラスタリング」と「階層クラスタリング」とさらに手法を分けることが出来ます。
階層クラスタリングは、データポイントを階層的に結合してクラスタを形成する手法です。クラスタ間の類似度や距離を評価しながら、データポイントや小さなクラスタから始まり、逐次的にクラスタを結合していきます。よくデンドログラムで描画する方法は階層クラスタリングになります。階層クラスタリングでは、クラスタ数を事前に指定する必要がありません。代わりに、デンドログラムを観察して適切なクラスタ数を選択することができます。
一方で非階層クラスタリングは、事前に指定したクラスタ数に基づいてデータポイントをあるアルゴリズムに基づいて直接クラスタに分割する手法です。代表的な非階層クラスタリング手法には、k-meansやDBSCANなどがあります。一般的に非階層クラスタリングは、計算効率が高いため、大規模データセットに適しています。
「ソフトクラスタリング」は、データポイントを複数のクラスタに柔軟に割り当てる手法です。各データポイントは複数のクラスタに所属し、所属度を確率などで表現します。ソフトクラスタリングの代表的な手法には混合ガウス分布モデルやファジィクラスタリングがあります。これらの手法は、クラスタ間の境界が曖昧な場合やデータポイントの所属が不確かな場合に有用です。
実業務ではk-meansでほとんど事足りてしまっていたのですが、最近はソフトクラスタリングでユーザーなどを複数のグループに所属させる方が現実問題に適しているかなと思うので個人的には好みです。(女性趣向の男性がいたり、男性趣向の女性がいる場合でもデータで表現してあげたいという思いがあります。クラスタ数を増やせば出現する可能性はありますが 笑)
クラスタリングについてはexawizardsさんの機械学習におけるクラスタリング~その仕組みや種類、注意点を解説~という記事が参考になりました。
主成分分析 (PCA)について
主成分分析(PCA)は、多次元データをより少ない次元で表現するための手法です。高次元データの中での変動を最大限に捉える新しい軸(主成分)を見つけ出し、データの構造を保持しつつ次元を削減します。
高次元のデータは可視化が難しいのですが、PCAによって2次元や3次元などの低次元空間にデータを射影することによってデータの構造やパターンを視覚的に理解しやすくなります。
また単純に次元数が減るのでノイズの軽減・計算コストの低下・モデルの複雑さの軽減などに繋がりより効率的なデータ処理が可能となります。
主成分分析による次元削減は、元の特徴量の一部を選択して新しい特徴空間を構築する一種の特徴選択や特徴抽出とも捉えることができます。選択された主成分は元の特徴量の線形結合であり、データのパターンを抽出します。
主成分分析に関しては、NTTコムオンラインさんの主成分分析とは? 例を使って活用方法とメリットをわかりやすく解説記事が分かりやすかったです。
潜在クラス分析(LCA)について
潜在クラス分析は、データの背後に存在する隠れた潜在的なクラスやカテゴリをモデル化する手法です。各データポイントは、複数のクラスに属する確率的なモデルを持ちます。主に統計モデリングの文脈で使用され、EMアルゴリズムなどを使用してモデルのパラメータを推定します。
ソフトクラスタリングと似ていますね 笑 日本マーケティングリサーチ機構さんの記事を引用すると、潜在クラス分析は質的データも扱えて統計に基づきグルーピングをしてくれるという点がソフトクラスタリングと異なるようです。
潜在クラス分析が、数値データだけでなく質的データを含む様々なデータを変数とするのに対して、クラスター分析は、数値データを変数として個々の距離に基づき分類を行います。また、分析において潜在クラス分析は統計を基にしてセグメントへの所属確率というかたちで結果を出しますが、クラスター分析では特定のセグメントに分かれるまで分類を行いその分析結果は統計学的な意味は持たないという違いがあります。
引用: https://jmro.co.jp/amr00029/
潜在クラス分析はデータを把握するのにかなり良さげですね。
昔、とあるコンペの中間発表会に参加したときに他の分析者の方が潜在クラス分析をした結果を発表していたのを思い出しました。
潜在クラス分析に関しては、マクロミルさんの潜在クラス分析記事が実例に近く参考になりました。
まとめ
クラスタリング、主成分分析、潜在クラス分析についてまとめてみました。
実際、何かしらのデータに対して適用し結果をみてみないと比較しづらいですね。
次回から色々試していきたいと思います。