R和SAS:聚类分析的不同结果

R和SAS:聚类分析的不同结果,r,sas,cluster-analysis,R,Sas,Cluster Analysis,我正在用R和SAS做一个聚类分析,结果真的不同 我知道结果是随机的,所以一点差异是正常的,但差异是巨大的 我使用SAS的著名汽车数据集进行测试 对于R,我这样做: kmeans(CARS[,c(8,10)],5) proc fastclus data=sashelp.cars maxclusters=5 ; var EngineSize Horsepower ; run; 结果:(介于/SS/total=93.2%之间) 使用SAS,我可以做到: kmeans(CARS[,c(8,10)]

我正在用R和SAS做一个聚类分析,结果真的不同

我知道结果是随机的,所以一点差异是正常的,但差异是巨大的

我使用SAS的著名汽车数据集进行测试

对于R,我这样做:

kmeans(CARS[,c(8,10)],5)
proc fastclus data=sashelp.cars maxclusters=5 ; var EngineSize 
Horsepower ; run;
结果:(介于/SS/total=93.2%之间)

使用SAS,我可以做到:

kmeans(CARS[,c(8,10)],5)
proc fastclus data=sashelp.cars maxclusters=5 ; var EngineSize 
Horsepower ; run;
结果:所有R平方的近似预期值=0.96079

差异较小,但仍然存在差异。 我做了几次测试,结果还是一样的


这种差异从何而来?

从文档中可以肯定:

  • R:
  • SAS:

它们依赖于不同的算法。SAS文档模糊地描述了“最近质心排序”的方法。我对这一点基本上一无所知,但也许可以研究其他集群函数(如
hclust
)或其他包,以找到类似的东西。

没有代码,没有数据。很抱歉,这个问题在目前的表格中无法回答。你如何在R中进行聚类分析?你为什么期待同样的结果?您认为R和SAS函数使用相同的算法吗?默认值是否相同,或者您是否明确设置了参数?此外,同一算法的不同实现甚至可能产生差异。对不起,我忘了写我在R中使用的函数。我不改变参数。数据如下:您知道为什么SAS使用术语“所有R平方的近似预期值”而不是R平方吗?因为可能差异来自于这个近似,但我不知道如何用SAS找到平方和内的值。我支持“尝试其他聚类函数”。不过,我不知道你是否会得到完全相同的结果;聚类分析不是一门精确的科学。