我正在尝试使用分布 [6,6] 在 SCALA 中计算 de kolmogorov Smirnov 检验,假设在原始的所有值中相同的 P(6) = 1。这就是我尝试的方式:
val data: RDD[Double] = sc.parallelize(Seq(6, 6))
val myCDF = Map(6 -> 1)
val testResult2 = Statistics.kolmogorovSmirnovTest(data, myCDF)
println(testResult2)
这是我得到的错误:
notebook:3: error: overloaded method value kolmogorovSmirnovTest with alternatives: (data: org.apache.spark.api.java.JavaDoubleRDD,distName: String,params: Double*)org.apache.spark.mllib.stat.test.KolmogorovSmirnovTestResult <and> (data: org.apache.spark.rdd.RDD[Double],distName: String,params: Double*)org.apache.spark.mllib.stat.test.KolmogorovSmirnovTestResult <and> (data: org.apache.spark.rdd.RDD[Double],cdf: Double => Double)org.apache.spark.mllib.stat.test.KolmogorovSmirnovTestResult cannot be applied to (org.apache.spark.rdd.RDD[Double], scala.collection.immutable.Map[Int,Int]) val testResult2 = Statistics.kolmogorovSmirnovTest(data, myCDF)
有谁知道为什么它不起作用?另外,您知道是否可以在 PySpark 中做到这一点?或者我必须从 PySpark 执行 SCALA 代码?谢谢!