2017-01-12 3 views
2

私は火花のためのHypothesisTestingKolmogorovSmirnovTestExample.scalaの例を見ていて、CDFの面を理解できないようです。Spark mllib.stat.Statistics - kolmogorovSmirnovTest CDF

彼らの例:

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) 

これが返されます。

Very strong presumption against null hypothesis: Sample follows theoretical distribution. 

これは理にかなって - 私はそれがヌルを拒否いないしようとしていないときに何をするかは、次のとおりです。

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) 

このALSOは返品します:

Very strong presumption against null hypothesis: Sample follows theoretical distribution. 

何が得られますか? CDFとデータはまったく同じ分布ですが、そうではありませんか?なぜNullが拒否されるのでしょうか?私は何を間違っていると仮定していますか?シナリオである、あなたはKSテストを使用することができますどのような

答えて

0

KSテストデータのフィット配布後に実行される善フィットテストの一つです。

このテストでは、データの識別された配信が正しいかどうかがわかります。これをp値で検証する必要があります。

p値が0.05より大きい場合は、データ用に設定した分布が良好です。 p値が< 0.05である場合、異なる分布の適合データが必要です。

nullを拒否すると、p値は<となります。0.05:データが指定したディストリビューションに適合しません。

関連する問題