拓端tecdat|R语言GGPLOT2绘制KOLMOGOROV-SMIRNOV KS检验图ECDF经验累积分布函数曲线可视化

原文链接:http://tecdat.cn/?p=24925 

原文出处:拓端数据部落公众号

Kolmogorov-Smirnov是比较一个频率分布f(x)与理论分布g(x)或者两个观测值分布的检验方法。其原假设H0:两个数据分布一致或者数据符合理论分布。D=max| f(x)- g(x)|,当实际观测值D>D(n,α)则拒绝H0,否则则接受H0假设。
KS检验与t-检验之类的其他方法不同是KS检验不需要知道数据的分布情况,可以算是一种非参数检验方法。当然这样方便的代价就是当检验的数据分布符合特定的分布事,KS检验的灵敏度没有相应的检验来的高。在样本量比较小的时候,KS检验最为非参数检验在分析两组数据之间是否不同时相当常用。

Kolmogorov-Smirnov检验优点和缺点

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

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

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

绘制Kolmogorov-Smirnov检验的ECDF曲线

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

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

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

  1.  
     
  2.  
    ggplot +
  3.  
    #geom_line
  4.  
    geom_segment +
  5.  
    geom_point+
  6.  
    geom_point+

非 ggplot 绘图示例 

  1.  
    ######################### 非 ggplot 示例
  2.  
     
  3.  
    ##交替,使用ecdf的标准R图
  4.  
    #plot
  5.  
    #lines

  1.  
    ## 替代,向下到 x 轴
  2.  
    #segments

最受欢迎的见解

1.Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型

2.基于R语言的疾病制图中自适应核密度估计的阈值选择方法

3.WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较

4.R语言回归中的hosmer-lemeshow拟合优度检验

5.matlab实现MCMC的马尔可夫切换ARMA – GARCH模型估计

6.R语言区间数据回归分析

7.R语言WALD检验 VS 似然比检验

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

posted @ 2022-02-01 11:16  拓端tecdat  阅读(209)  评论(0)    收藏  举报