2014-06-21 23 views
-4

拟合优度测试允许我们测试变量(这里是城市规模)的经验分布是否遵循已知的理论分布(这里是帕累托分布)。通过使用R Langauge的Kolmogorov-Smirnov测试的拟合优度

城市规模数据为this link。 这个测试的零假设是假设的分布是可以接受的,而另一种假设是数据不遵循这个分布。一般结构可见here

我想用R语言编程。我想进行蒙特卡罗模拟来检查我的数据的适合度,这个数据由美国的城市规模组成。

我在这里的经验分布是美国城市规模。我想测试我的数据是否符合帕累托分布。在上面给出的图像中,为计算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

一些言论:首先,我beleive你的问题是题外话了StackOverflow上,可能更适合于[交叉验证(HTTP://stats.stackexchange。 COM)。其次,在问之前,你应该做一些研究; R是一个伟大的软件,但它需要一些艰苦的工作来使用它;我建议你找一个好的R教程(我个人的建议:[Quick-R](http://statmethods.net))。 – Barranka

+0

第三:在询问之前,您可以谷歌搜索一些答案。两个推荐读物:[用R拟合分布](http://cran.r-project.org/doc/contrib/Ricci-distributions-en.pdf)和前面提到的[快速R教程](http:// statmethods .net)...和[这个其他文章](http://whathaveyoutried.com) – Barranka

+0

感谢您的回复..我已经在stackflow上搜索它。但这个问题尚未在stackflow上讨论过。如果你能帮助,那么请。 。 – Shah

回答

2

首先,了解ks.test()功能是如何工作的。 Read the reference for ks.test()

所以,让我们说你装到一个名为datadata.frame的数据,要在一个名为​​列进行KS检验,和你想测试你阉数据由帕累托分布拟合。请注意,actuar包中包含双参数pareto分布。当然,你需要估计这些参数的价值(我把它留给你)。

现在,只要做到这一点:

library(actuar) 
library(stats) 
ks.test(data$population, 'ppareto', shape=yourShapeEstimate, scale=yourScaleEstimate) 
+0

单样本Kolmogorov-Smirnov检验 数据:数据$人口 d = 0.8335,p值<2.2E-16 替代假设:双面 我得到了以下结果。其中显示这些数据不遵循pareto分布,而在研究文章中使用相同的数据并得出结论,这些数据遵循帕累托分布。所以我有点迷惑,我是以正确的方式还是错误的方式去做。 – Shah

+0

虽然我认为以前有关您的问题的一些评论有些苛刻,但有关结果的问题可能属于stats.stackexchange.com。 –

+0

是的,答案很严厉,我认为如果人们不想帮忙,那么他们就没有权利羞辱提问人。我的贴子已经在stats.stackexchange.com上转移了,但是我收到了同样无用的评论。 – Shah