R 在大型数据集上应用ks.test
我想做一个ks.test来比较两个分布。因此,我是这样做的:R 在大型数据集上应用ks.test,r,R,我想做一个ks.test来比较两个分布。因此,我是这样做的: 我从一个文件中加载了vec1,length(vec1)=720642:这是一个太大的数据集 我应用了fitdire(vec1,“lognormal”)->这里我得到了最适合meanlog=1.69和sdlog=1.02的vec1 当我申请时: ks.测试(vec1,“plnorm”,1.69,1.02) 我得到:D=0.1429,p-value
vec1
,length(vec1)=720642
:这是一个太大的数据集fitdire(vec1,“lognormal”)
->这里我得到了最适合meanlog=1.69
和sdlog=1.02
的vec1
ks.测试(vec1,“plnorm”,1.69,1.02)
我得到:D=0.1429
,p-value<2.2e-16
替代假设:双边有人有解决办法吗?是因为我从文件中加载了一个巨大的数据集吗?对于大数据集,由于大数据集的大功率,您将始终拒绝H0(具有任何指定的参考分布)。如果样本量很大,ks测试将发现与假设分布的偏差非常小。此外,
?ks.test
指出,“如果使用单个样本测试,则必须预先指定…中指定的参数,而不是根据数据进行估计。对于带有估计参数的ks测试,有一些更精确的分布理论(见Durbin,1973),但在ks.test中没有实现。”@罗兰:这意味着ks.test无法通过大量样本得出准确的结果?你说:在…中指定的参数。。。必须预先指定,而不是根据数据进行估计。实际上,我尝试了ks.test(vec1,vec2),使得vec2遵循对数正态分布,其参数为引用的meanlog和sdlog,其大小与vec1相同,但结果始终相同。。。有什么帮助吗?谢谢。我建议用这样一个统计问题来回答这个问题:“我想测试一个大样本是否来自对数正态分布<代码>?ks.测试显示。。。最好的方法是什么?(多做点准备,先做些研究。)然后把它贴在上面。