首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spark mllib.stat.Statistics - kolmogorovSmirnovTest CDF

Spark mllib.stat.Statistics - kolmogorovSmirnovTest CDF
EN

Stack Overflow用户
提问于 2017-01-13 00:28:23
回答 1查看 536关注 0票数 2

我正在查看spark的示例HypothesisTestingKolmogorovSmirnovTestExample.scala,但似乎无法弄清楚CDF方面。

他们的例子:

代码语言:javascript
复制
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.mllib.stat.Statistics
import org.apache.spark.rdd.RDD

val data: RDD[Double] = sc.parallelize(Seq(0.1, 0.15, 0.2, 0.3, 0.25))  // an RDD of sample data
val myCDF = Map(0.1 -> 0.2, 0.15 -> 0.6, 0.2 -> 0.05, 0.3 -> 0.05, 0.25 -> 0.1)
val testResult2 = Statistics.kolmogorovSmirnovTest(data, myCDF)
println(testResult2)

这将返回:

代码语言:javascript
复制
Very strong presumption against null hypothesis: Sample follows theoretical distribution.

这是有意义的-当我试图让它不拒绝Null时,这是有意义的:

代码语言:javascript
复制
val data: RDD[Double] = sc.parallelize(Seq(0.1, 0.15, 0.2, 0.3, 0.25))  // an RDD of sample data
val myCDF = Map(0.1 -> 0.1, 0.15 -> 0.15, 0.2 -> 0.2, 0.3 -> 0.3, 0.25 -> 0.25)  //CDF matching the data distribution
val testResult2 = Statistics.kolmogorovSmirnovTest(data, myCDF)
println(testResult2)

这也会返回:

代码语言:javascript
复制
Very strong presumption against null hypothesis: Sample follows theoretical distribution.

怎么回事?CDF和数据是完全相同的分布,不是吗?为什么Null会被拒绝?我假设/做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-01-11 22:21:59

在什么场景下,您可以使用KS测试:

KS检验是对数据进行拟合分布后要进行的优度拟合检验之一。

这个测试将告诉你数据的识别分布是否正确。我们需要用p值来验证这一点。

如果p值> 0.05,那么您为数据设置的分布就很好。P值小于0.05,则需要用不同的分布来拟合数据。

拒绝Null意味着,p值< 0.05:数据不适合给定的分布

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41618289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档