Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kolmogorov-Smirnov还是分布的卡方检验?_R_Statistics - Fatal编程技术网

Kolmogorov-Smirnov还是分布的卡方检验?

Kolmogorov-Smirnov还是分布的卡方检验?,r,statistics,R,Statistics,我使用模型拟合将负二项分布拟合到我的离散数据中。最后一步,我似乎需要执行Kolmogrov-Smirnov测试,以确定模型是否适合数据。我能找到的所有参考文献都在谈论使用正常分布连续数据的测试。有人能告诉我,对于非正态分布和离散的数据,这是否可以在R中实现?(我猜,即使是卡方检验也可以,但如果我错了,请纠正我。) 更新: 因此,我发现vcd软件包包含一个功能goodfit,可通过以下方式用于此目的: library(vcd) # Define the data data <- c(67,

我使用模型拟合将负二项分布拟合到我的离散数据中。最后一步,我似乎需要执行Kolmogrov-Smirnov测试,以确定模型是否适合数据。我能找到的所有参考文献都在谈论使用正常分布连续数据的测试。有人能告诉我,对于非正态分布和离散的数据,这是否可以在R中实现?(我猜,即使是卡方检验也可以,但如果我错了,请纠正我。)

更新:

因此,我发现
vcd
软件包包含一个功能
goodfit
,可通过以下方式用于此目的:

library(vcd)

# Define the data
data <- c(67, 81, 93, 65, 18, 44, 31, 103, 64, 19, 27, 57, 63, 25, 22, 150,
          31, 58, 93, 6, 86, 43, 17, 9, 78, 23, 75, 28, 37, 23, 108, 14, 137,
          69, 58, 81, 62, 25, 54, 57, 65, 72, 17, 22, 170, 95, 38, 33, 34, 68,
          38, 117, 28, 17, 19, 25, 24, 15, 103, 31, 33, 77, 38, 8, 48, 32, 48,
          26, 63, 16, 70, 87, 31, 36, 31, 38, 91, 117, 16, 40, 7, 26, 15, 89,
          67, 7, 39, 33, 58)

gf <- goodfit(data, type = "nbinomial", method = "MinChisq") 
plot(gf)
当我说
plot
时,它会抱怨:

Error in xy.coords(x, y, xlabel, ylabel, log) : 
  'x' is a list, but does not have components 'x' and 'y'
我不确定发生了什么,因为如果我将
数据设置为以下内容:

data <- <- rnbinom(200, size = 1.5, prob = 0.8)

dataKS测试仅适用于连续变量,此外,您必须完全指定测试所针对的分布。如果您仍然想这样做,它将如下所示:

ks.test(data, pnbinom, size=100, prob=0.8)
它将
数据的经验累积分布函数与指定的函数进行比较(这是否合理可能取决于您的数据)。您必须根据理论考虑为
size
prob
选择参数,如果您根据数据估计这些参数,则测试无效

您的
goodfit()
问题可能与您的数据有关,您确定这些是计数吗<代码>条形图(表(数据))
看起来并不是近似于负二项分布,例如,与
条形图(表(rnbinom(200,大小=1.5,概率=0.8))进行比较。

最后,我不确定拟合后进行零假设检验的方法是否合适。您可能希望研究超出/基于$\chi^2$的定量拟合度量,其中有许多(RMSEA、SRMR等)。

属于绘图(gf)工作(R 2.12.0,vcd版本1.2-9)。使用选项(warn=2,error=recover)将警告转换为错误,然后在warn/error上启动浏览器。在拟合过程中的某个时刻,R试图使NB‘prob’参数为负。。。F
ks.test(data, pnbinom, size=100, prob=0.8)