我正在处理一个非常大的数据集,其中有132,019个18变量的观测值。我已使用clusterSim
包计算使用Kohonen
SOM创建的群集上的伪 F 统计信息。我试图用 p - 值来评估各种簇大小(例如,4,6,9个簇),但我得到了奇怪的结果而我没有具有统计学意义,足以了解正在发生的事情。
我使用以下代码来获取伪 F 。
library(clusterSim)
psF6 <- index.G1(yelpInfScale, cl = som.6$unit.classif)
psF6
[1] 48783.4
然后我使用以下代码来获取p值。当我lower.tail = T
时,我得到1
,当我lower.tail = F
时,我得到0
。
k6 = 6
pf(q = psF6, df1 = k6 - 1, df2 = n - k6, lower.tail = FALSE)
[1] 0
我想我不期待一个整数,所以我对如何解释结果感到困惑。无论我评估哪个簇大小,我都会得到完全相同的结果。我在某个地方读到了关于在计算中反转df1
和df2
的内容,但这看起来很奇怪。此外,我使用的参考文本(Larose&#39;&#34;数据挖掘和预测分析&#34;)使用它来评估k-means集群,所以我想知道问题是否是我正在使用Kohonen集群。
答案 0 :(得分:1)
我会检查你的数据,但不是不可能得到p值为0或1.在你的情况下,假设你的数据是正确的,它表明你的数据是严重偏差的创造了理想的契合度。因此,当您执行lower.tail = FALSE时,p值为零表示您的样本被分类为100%准确度并且不存在错误的可能性。 lower.tail = TRUE给出1表示您聚类彼此非常接近。换句话说,您的观察结果彼此远离聚集,在双尾测试中具有0,但是聚类的中心点足够接近,在一个尾部测试中给出p值为1。如果我是你,我会尝试使用不同距离参数'w'的'K-means拆分'变量来查看数据是如何拟合的。如果对某些'w'它适合簇的非常低的p值,我认为不像SOM那样复杂的模型是真的必要。