使用R语言通过Kolmogorov-Smirnov测试的拟合优度

时间:2014-06-21 21:22:26

标签: r

拟合优度检验允许我们测试变量(这里是城市规模)的经验分布是否遵循已知的理论分布(这里是帕累托分布)。

城市规模数据为this link。 该测试的零假设是假定的分布是可接受的,而备选假设是数据不遵循这种分布。可以看到一般结构here

我想用R语言编程。我想做蒙特卡罗模拟以检查我的数据的适合度,其中包括美国城市规模。

我的经验分布是美国城市规模。我想测试我的数据是否符合Pareto分布。在上面给出的图像中,定义了用于计算P.value的所有函数。我知道有一个名为"dgof"的包,运行Kolmogorov-Smirnow测试的命令是ks.test(x, y,alternative = c("two.sided", "less", "greater")),但我不知道如何将它应用于上述情况。

data<-read.csv("C:/Users/Shah/Desktop/US data 452 cities 2000.csv") 
attach(data) 
y<-Population 
require(dgof) 
x<-rlnorm(100,5,1) 
ks.test(x, y,alternative = c("two.sided", "less", "greater"), 
   exact = NULL, tol=1e-8, simulate.p.value=TRUE, B=1000)

1 个答案:

答案 0 :(得分:2)

首先,了解ks.test()函数的工作原理。 Read the reference for ks.test()

因此,假设您已将数据加载到名为data.frame的{​​{1}},并且您希望对名为data的列执行KS测试,并且您想要测试您的数据由帕累托分布拟合。请注意,population包中包含双参数帕累托分布。当然,您需要估计这些参数的值(我留给您)。

现在,只需这样做:

actuar