4

地理データでクラスタリングを実行して、自分の地域内の風景のタイプを分類したいと考えています。

私のデータは、通常のグリッドの各フィールドの 5 つの変数 (気温、気温の振幅、降水量、高度、および土壌の種類) で構成されています。100 万を少し超えるフィールド (= データ フレーム内の行) があります。

変数のうち 4 つは数値であり、土壌タイプは数値で表されるカテゴリ変数です。(数値データは既に標準化されています。) Gower 距離非類似度行列をカウントし、この行列に対して PCA と階層的クラスタリングを実行することにしました。ただし、データが大きすぎます。

   SOIL  PREC     TEMP     ALT      AMP
0  6     1.000    1.146    0.157   -0.579
1  6     0.948    1.224    0.154   -0.579
2  5     1.000    1.146    0.201   -0.662
3  6     1.078    1.093    0.177   -0.620
4  6     1.000    1.146    0.182   -0.620
5  6     1.000    1.146    0.186   -0.599

変数は勾配にあるため、サンプリングしたくありません。小さいデータで周波数を数えてガワー距離を実行しようとしましたが、それでも大きすぎます。

(1) 大きなデータセットを手動でチャンクし、(2) 各チャンク マトリックスに、距離分析の各変数の範囲の「説明」として変数の最大値と最小値を含む 2 つの行を追加し、(3) gower.dist関数を使用して各チャンクの非類似度行列をカウントし、(4) 余分な行を削除し、(5) すべてのチャンク非類似度行列を 1 つの大きな非類似度行列にマージします。

これは正しく機能する方法だと思いますか?この問題に対処する方法について他に何か提案はありますか?

非類似度行列で PCA を実行するのは正しいですか?

4

0 に答える 0