大数据上的高尔距离

use*_*530 5 r distance bigdata distance-matrix

我想对地理数据进行聚类,以对我所在区域内的景观类型进行分类。

我的数据由规则网格每个字段的五个变量(温度、温度幅度、降水量、海拔和土壤类型)组成。我有超过 100 万个字段(=数据框中的行)。

其中四个变量是数字,土壤类型是用数字描述的分类变量。(数值数据已经标准化。)我决定计算高尔距离相异矩阵,并在此矩阵上执行 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
Run Code Online (Sandbox Code Playgroud)

我不想采样,因为变量是梯度的。我尝试计算频率并对较小的数据执行高尔距离,但它仍然太大。

我想我可能(1)手动对大数据集进行分块,(2)向每个分块矩阵添加两行额外的行,其中变量的最大值和最小值作为距离分析的每个变量范围的“描述”,(3)使用gower.dist函数计算每个块的相异矩阵,(4) 删除多余的行,(5) 将所有块相异矩阵合并为一个大相异矩阵。

您认为这是正确且可行的方式吗?您对如何处理这个问题还有其他建议吗?

对相异矩阵进行 PCA 是否正确?