新浪博客

单一样本柯尔莫哥洛夫-斯米尔诺夫适合度检定(OneSampleKolmogorov-SmirnovGoodnessoffittest)

2018-05-21 02:57阅读:
单一样本柯尔莫哥洛夫-斯米尔诺夫适合度检定
(One Sample Kolmogorov-Smirnov Goodness of fit test)

1. 使用时机: 单一样本柯尔莫哥洛夫-斯米尔诺夫适合度检定用来分析数据之分布型(distribution)

2. 分析类型: 无母数分析(non-parametric analysis)

3. 单一样本柯尔莫哥洛夫-斯米尔诺夫检定前提假设: 无。

4. 范例数据: 某研究在一棵25公尺高的树干的不同高度(m)观察到某种蛾。资料如下:
r>
编号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
高度
1.4
2.6
3.3
4.2
4.7
5.6
6.4
7.7
9.3
10.6
11.5
12.4
18.6
22.3
蛾数
1
1
1
1
1
2
1
1
1
1
1
1
1
1
试问蛾在树上不同高度的分布是否为均匀分布(uniform distribution)?
H0: 蛾在树上不同高度的分布是均匀分布。HA: 蛾在树上不同高度的分布不是均匀分布。

5. 使用R计算单一样本柯尔莫哥洛夫-斯米尔诺夫检定,方法一:
第一步: 安装EnvStats程序套件。
第二步: 呼叫EnvStats程序套件备用。
library(EnvStats)
第三步: 输入建立数据。
y <- c(1.4, 2.6, 3.3, 4.2, 4.7, 5.6, 6.4, 7.7, 9.3, 10.6, 11.5, 12.4, 18.6, 22.3)
第四步: 使用EnvStats程序套件的gofTest函数代入y计算柯尔莫哥洛夫-斯米尔诺夫检定
gofTest(y~1, test = 'ks', distribution = 'unif', alternative = 'two.sided')
# y~1只有一组样本(one-sample test)
# test = 'ks' 执行柯尔莫哥洛夫-斯米尔诺夫检定
# distribution = 'unif' 检定的是资料是否为均匀分布(uniform distribution)
第五步: 判读结果。
Results of Goodness-of-Fit Test
-------------------------------
Test Method: Kolmogorov-Smirnov GOF
Hypothesized Distribution: Uniform
Estimated Parameter(s): min = 1.4
max = 22.3
Estimation Method: mle
Data: y
Sample Size: 14
Test Statistic: ks = 0.3308271
Test Statistic Parameter: n = 14
P-value: 0.07241889
Alternative Hypothesis: True cdf does not equal the Uniform Distribution.
Warning message:
In ksGofTest(x = c(1.4, 2.6, 3.3, 4.2, 4.7, 5.6, 6.4, 7.7, 9.3, :
The standard Kolmogorov-Smirnov test is very conservative (Type I error smaller than assumed; high Type II error) for testing departures from the Uniform distribution when you have to estimate the distribution parameters.
# P-value < 0.05H0: 蛾在树上不同高度的分布是均匀分布,不成立。
# P-value > 0.05H0: 蛾在树上不同高度的分布是均匀分布,成立。

6. 使用R计算单一样本柯尔莫哥洛夫-斯米尔诺夫检定,方法二:
第一步: 安装dgof程序套件。
第二步: 呼叫dgof程序套件备用。
library(dgof)
第三步: 输入建立数据。
x <- c(1.4, 2.6, 3.3, 4.2, 4.7, 5.6, 6.4, 7.7, 9.3, 10.6, 11.5, 12.4, 18.6, 22.3)
第四步: 使用dgof程序套件的ks.test函数代入y计算柯尔莫哥洛夫-斯米尔诺夫检定
dgof::ks.test(x, punif, alternative = 'two.sided', exact = TRUE, tol = 1e-8,
simulate.p.value = TRUE, B = 2000)
# dgof::ks.test 基本模块(base)也有ks.test函数,为了区别,再函数名称前加程序套件dgof::
# x只有一组样本(one-sample test)
# punif 检定的是资料是否为均匀分布(uniform distribution)
# exact = TRUE, simulate.p.value = TRUE, B = 2000估计p值。
第五步: 判读结果。
One-sample Kolmogorov-Smirnov test
data: x
D = 1, p-value < 2.2e-16
alternative hypothesis: two-sided
# p < 0.05H0: 蛾在树上不同高度的分布是均匀分布,不成立。
# p > 0.05H0: 蛾在树上不同高度的分布是均匀分布,成立。

7. 使用R计算单一样本柯尔莫哥洛夫-斯米尔诺夫检定,方法三:
第一步: 安装kolmim程序套件。
第二步: 呼叫kolmim程序套件备用。
library(kolmim)
第三步: 输入建立数据。
x <- c(1.4, 2.6, 3.3, 4.2, 4.7, 5.6, 6.4, 7.7, 9.3, 10.6, 11.5, 12.4, 18.6, 22.3)
第四步: 使用kolmim程序套件的ks.test.imp函数代入x计算柯尔莫哥洛夫-斯米尔诺夫检定
ks.test.imp(x, punif)
# x只有一组样本(one-sample test)
# punif 检定的是资料是否为均匀分布(uniform distribution)
第五步: 判读结果。
One-sample two-sided exact Kolmogorov-Smirnov test
data: x
D = 1, p-value = 2.22e-16
alternative hypothesis: two-sided
# p < 0.05H0: 蛾在树上不同高度的分布是均匀分布,不成立。
# p > 0.05H0: 蛾在树上不同高度的分布是均匀分布,成立。

8. 使用R计算单一样本柯尔莫哥洛夫-斯米尔诺夫检定,方法四:
第一步: 输入建立数据。
x <- c(1.4, 2.6, 3.3, 4.2, 4.7, 5.6, 6.4, 7.7, 9.3, 10.6, 11.5, 12.4, 18.6, 22.3)
第二步: 使用基本模块(base)中的ks.test函数代入x计算柯尔莫哥洛夫-斯米尔诺夫检定
stats::ks.test(x, punif, alternative = 'two.sided', exact = TRUE)
# x只有一组样本(one-sample test)
# punif 检定的是资料是否为均匀分布(uniform distribution)
# exact = TRUE估计p
第三步: 判读结果。
One-sample Kolmogorov-Smirnov test
data: x
D = 1, p-value < 2.2e-16
alternative hypothesis: two-sided
# p < 0.05H0: 蛾在树上不同高度的分布是均匀分布,不成立。
# p > 0.05H0: 蛾在树上不同高度的分布是均匀分布,成立。

来劲了吗? 想知道更多?? 补充资料(链接):
1. 关于Andrey Kolmogorov (https://en.wikipedia.org/wiki/Andrey_Kolmogorov)
2. 关于Nikolai Smirnov (https://en.wikipedia.org/wiki/Nikolai_Smirnov_(mathematician))
3. 关于Goodness of fit (https://en.wikipedia.org/wiki/Goodness_of_fit)
4. 柯尔莫哥洛夫-斯米尔诺夫检验计算公式 (https://en.wikipedia.org/wiki/Kolmogorov–Smirnov_test)
5. 关于R基础,R绘图及统计快速入门:
a. R Tutorial: https://www.tutorialspoint.com/r/index.htm
b. Cookbook for R: http://www.cookbook-r.com/
c. Quick-R: https://www.statmethods.net/
d. Statistical tools for high-throughput data analysis (STHDA): http://www.sthda.com/english/
e. The Handbook of Biological Statistics: http://www.biostathandbook.com/
f. An R Companion for the Handbook of Biological Statistics: http://rcompanion.org/rcompanion/index.html
6. Zar, JH. 2010. Biostatistical Analysis, Fifth Edition, Pearson.

我的更多文章

下载客户端阅读体验更佳

APP专享