R语言ggplot2绘制Kolmogorov-Smirnov KS检验图ECDF经验累积分布函数曲线可视化

Kolmogorov-Smirnov是比较一个频率分布f(x)与理论分布g(x)或者两个观测值分布的检验方法。

由Kaizong Ye,Sherry Deng撰写

其原假设H0:两个数据分布一致或者数据符合理论分布。D=max| f(x)- g(x)|,当实际观测值D>D(n,α)则拒绝H0,否则则接受H0假设。

KS检验与t-检验之类的其他方法不同是KS检验不需要知道数据的分布情况,可以算是一种非参数检验方法。

当然这样方便的代价就是当检验的数据分布符合特定的分布事,KS检验的灵敏度没有相应的检验来的高。

在样本量比较小的时候,KS检验最为非参数检验在分析两组数据之间是否不同时相当常用。


课程

R语言数据分析挖掘必知必会

从数据获取和清理开始,有目的的进行探索性分析与可视化。让数据从生涩的资料,摇身成为有温度的故事。

立即参加

Kolmogorov-Smirnov检验优点和缺点

两样本K-S检验由于对两样本的经验分布函数的位置和形状参数的差异都敏感而成为比较两样本的最有用且常规的非参数方法之一。

优点:该检验不依赖于要测试的累积分布函数,相比于卡方拟合检验(卡方检验需要50个以上的样本),不需要大量的样本。

缺点:只适用于连续分布;在分布中间敏感,在两端不够敏感;最大的局限在于整个分布需要完全确定,如果位置,形状等参数都是从数据中估计的,判定区间不再有效,因此这些参数一般只能通过模拟得到。

绘制Kolmogorov-Smirnov检验的ECDF曲线

绘制Kolmogorov-Smirnov检验的ECDF曲线以及分布之间的最大距离(D)的一个快速R例子。使用ggplot2和基础R绘图的例子

require(ggplot2)
# 模拟两个分布 - 您的数据放在这里!
norm(10000, 10, 5)
dat <- data.frame
# 创建数据的 ECDF
cdf1 <- ecdf
cdf2 <- ecdf
# 找到最小和最大统计数据以在距离最大的点之间画线
mnax <- seq              
x0 <- minMax\[which

你也可以嵌入绘图,例如。

ggplot +
     #geom_line
     geom_segment  +
     geom_point+
     geom_point+

非 ggplot 绘图示例 

######################### 非 ggplot 示例

##交替,使用ecdf的标准R图
#plot
#lines

R语言使用蒙特卡洛模拟进行正态性检验及可视化

阅读文章



随时关注您喜欢的主题


plot( 
plot
#plot
#lines

## 替代,向下到 x 轴

points
segments



可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds