You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by ra...@apache.org on 2017/02/24 13:37:18 UTC
mahout git commit: MAHOUT-1924 Add Unit Test for DurbinWatson Test
closes apache/mahout#282
Repository: mahout
Updated Branches:
refs/heads/master 5afdc68e0 -> ba37a8aa2
MAHOUT-1924 Add Unit Test for DurbinWatson Test closes apache/mahout#282
Project: http://git-wip-us.apache.org/repos/asf/mahout/repo
Commit: http://git-wip-us.apache.org/repos/asf/mahout/commit/ba37a8aa
Tree: http://git-wip-us.apache.org/repos/asf/mahout/tree/ba37a8aa
Diff: http://git-wip-us.apache.org/repos/asf/mahout/diff/ba37a8aa
Branch: refs/heads/master
Commit: ba37a8aa20d0969d2db5d810ecd6d68f7ea57978
Parents: 5afdc68
Author: rawkintrevo <tr...@gmail.com>
Authored: Fri Feb 24 07:37:06 2017 -0600
Committer: rawkintrevo <tr...@gmail.com>
Committed: Fri Feb 24 07:37:06 2017 -0600
----------------------------------------------------------------------
.../algorithms/RegressionTestsSuiteBase.scala | 22 ++++++++++++++++++++
1 file changed, 22 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mahout/blob/ba37a8aa/math-scala/src/test/scala/org/apache/mahout/math/algorithms/RegressionTestsSuiteBase.scala
----------------------------------------------------------------------
diff --git a/math-scala/src/test/scala/org/apache/mahout/math/algorithms/RegressionTestsSuiteBase.scala b/math-scala/src/test/scala/org/apache/mahout/math/algorithms/RegressionTestsSuiteBase.scala
index 1178a9b..55967e1 100644
--- a/math-scala/src/test/scala/org/apache/mahout/math/algorithms/RegressionTestsSuiteBase.scala
+++ b/math-scala/src/test/scala/org/apache/mahout/math/algorithms/RegressionTestsSuiteBase.scala
@@ -20,6 +20,7 @@
package org.apache.mahout.math.algorithms
import org.apache.mahout.math.algorithms.regression.OrdinaryLeastSquares
+import org.apache.mahout.math.algorithms.regression.tests._
import org.apache.mahout.math.drm.drmParallelize
import org.apache.mahout.math.drm.RLikeDrmOps._
import org.apache.mahout.math.scalabindings.{`::`, dense}
@@ -84,4 +85,25 @@ trait RegressionTestsSuiteBase extends DistributedMahoutSuite with Matchers {
}
+ test("durbinWatsonTest test") {
+ /**
+ * R Prototype
+ *
+ * library(car)
+ * residuals <- seq(0, 4.9, 0.1)
+ * ## perform Durbin-Watson test
+ * durbinWatsonTest(residuals)
+ */
+
+ val correctAnswer = 0.001212121
+ val err1 = drmParallelize( dense((0.0 until 5.0 by 0.1).toArray) ).t
+ val drmX = drmParallelize( dense((0 until 50).toArray.map( t => Math.pow(-1.0, t)) ) ).t
+ val drmY = drmX + err1 + 1
+ var model = new OrdinaryLeastSquares[Int]().fit(drmX, drmY)
+ val syntheticResiduals = err1
+ model = AutocorrelationTests.DurbinWatson(model, syntheticResiduals)
+ val myAnswer: Double = model.testResults.getOrElse('durbinWatsonTestStatistic, -1.0).asInstanceOf[Double]
+ (myAnswer - correctAnswer) should be < epsilon
+ }
+
}