R 在大型数据集上应用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

我想做一个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<2.2e-16
    替代假设:双边

  • 所以测试失败了,就好像我没有处理对数正态分布


    有人有解决办法吗?是因为我从文件中加载了一个巨大的数据集吗?

    对于大数据集,由于大数据集的大功率,您将始终拒绝H0(具有任何指定的参考分布)。

    如果样本量很大,ks测试将发现与假设分布的偏差非常小。此外,
    ?ks.test
    指出,“如果使用单个样本测试,则必须预先指定…中指定的参数,而不是根据数据进行估计。对于带有估计参数的ks测试,有一些更精确的分布理论(见Durbin,1973),但在ks.test中没有实现。”@罗兰:这意味着ks.test无法通过大量样本得出准确的结果?你说:在…中指定的参数。。。必须预先指定,而不是根据数据进行估计。实际上,我尝试了ks.test(vec1,vec2),使得vec2遵循对数正态分布,其参数为引用的meanlog和sdlog,其大小与vec1相同,但结果始终相同。。。有什么帮助吗?谢谢。我建议用这样一个统计问题来回答这个问题:“我想测试一个大样本是否来自对数正态分布<代码>?ks.测试显示。。。最好的方法是什么?(多做点准备,先做些研究。)然后把它贴在上面。