我想对地理数据进行聚类,以对我所在地区的景观类型进行分类。
我的数据由规则网格的每个字段的五个变量(温度、温度幅度、降水、海拔和土壤类型)组成。我有超过 100 万个字段(=数据框中的行)。
其中四个变量是数字,土壤类型是描述为数字的分类变量。(数值数据已经标准化。)我决定计算 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)到每个块矩阵添加两个额外的行,其中变量的最大值和最小值作为距离分析的每个变量范围的“描述”,(3)使用gower.dist函数计算每个块的相异矩阵,(4)删除额外的行和(5)将所有块相异矩阵合并为一个大相异矩阵。
您认为这是一种正确且有效的方式吗?您对如何处理此问题有任何其他建议吗?
在相异矩阵上执行 PCA 是否正确?