R语言分布的卡方拟合优度检验

Python018

R语言分布的卡方拟合优度检验,第1张

卡方拟合优度检验,用于衡量观测频数与期望频数之间的差异

一般地,假设总体分r类 ,分布假设检验问题

在原假设下, 期望频数

假设从总体中随机抽取n个样本,并记 为样本中分到类中的个数,称为 观测频数

K.Pearson在原假设 成立下:

因此,在显著性水平 下,拒绝域为

p-value = 0.9254>0.05,则不应拒绝原假设,孟德尔的结论是成立的。

同理,可以先计算出

某美发店上半年各月顾客数量如下,请问该店各月顾客数是否为均匀分布?

我们用R语言来模拟一下实际操作

R语言实验结果与示例完全相同。

首先可以利用fitdistr函数求得weibull分布的形状参数和尺寸参数,假设数据为x:

library(MASS) #fitdistr需要利用MASS包

fitdistr(x, densfun = "weibull",lower=0)

得到形状参数shape与尺度参数scale

然后利用ks.test进行检验:

ks.test(jitter(x),"pweibull",shape,scale)

上边的jitter用来做小扰动,因为如果x中有重复数据的话ks.test会报错,如果x中没有重复数据则不需要jitter。shape是得到的形状参数,scale是得到的尺度参数。

ks.test得到两个结果,一个是D,越小越好,一个是p-value,这个值要大于0.05