繁体   English   中英

根据R中的伪F计算p值

[英]Calculating p-value from pseudo-F in R

我正在使用一个非常大的数据集,其中包含18个变量的132,019个观察值。 我已经使用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

我想我期望的不是整数,所以我对如何解释结果感到困惑。 无论我评估哪个集群大小,我都可以获得完全相同的结果。 我在计算中读到了一些关于反转df1df2的信息,但这似乎很奇怪。 另外,我正在使用的参考文本(Larose的“数据挖掘和预测分析”)使用它来评估k均值聚类,因此我想知道问题是否出在我正在使用Kohonen聚类。

我会检查您的数据,但并非不可能将p值设为0或1。在您的情况下,假设您的数据正确无误,则表明您的数据严重偏斜,并且创建的群集处于完美契合。 因此,当您执行lower.tail = FALSE时,p值零表示您的样本被分类为100%准确度,并且没有出错的机会。 lower.tail = TRUE给出1表示您彼此非常接近地聚集。 换句话说,您的观察结果彼此簇聚得很远,在两个尾部测试中为0,但是簇的中心点足够接近,从而在一次尾部测试中ap值为1。 如果您是我,请尝试使用具有不同距离参数“ w”的“ K均值分裂”变体,以查看数据的拟合度。 如果某些“ w”适合群集的非常低的p值,我认为没有必要像SOM这样复杂的模型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM