Changeset 8473 for trunk/sources/HeuristicLab.Tests/HeuristicLab.Algorithms.DataAnalysis-3.4/GaussianProcessModelTest.cs
- Timestamp:
- 08/10/12 20:42:30 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Tests/HeuristicLab.Algorithms.DataAnalysis-3.4/GaussianProcessModelTest.cs
r8463 r8473 56 56 57 57 var dHyp = model.GetHyperparameterGradients(); 58 Assert.AreEqual(-2.0171e+003, dHyp[0], 1); 59 Assert.AreEqual(-248.7932, dHyp[1], 1E-2); 58 Assert.AreEqual(-248.7932, dHyp[0], 1E-2); 60 59 var dHypCovExpected = new double[] { -0.5550e4, -5.5533e4, -0.2511e4, -2.7625e4, -1.3033e4, 0.0289e4, -2.7625e4 }; 61 AssertEqual(dHypCovExpected, dHyp.Skip(2).ToArray(), 1); 60 AssertEqual(dHypCovExpected, dHyp.Skip(1).Take(7).ToArray(), 1); 61 Assert.AreEqual(-2.0171e+003, dHyp.Last(), 1); 62 62 63 63 64 var predTrain = model.GetEstimatedValues(problemData.Dataset, new int[] { 0, 400 }).ToArray(); 64 65 Assert.AreEqual(310.5930, predTrain[0], 1e-3); 65 66 Assert.AreEqual(347.9993, predTrain[1], 1e-3); 67 68 var predTrainVar = model.GetEstimatedVariance(problemData.Dataset, problemData.TrainingIndices).ToArray(); 66 69 } 67 70 68 71 { 69 var hyp = new double[] { 0. 716427415979145, 0.029973094285941, 0.455535210579926, 3.438647883940457, 1.464114485889487, 3.001788584487478, 3.815289323309630, 4.374914122810222, 3.001788584487478};72 var hyp = new double[] { 0.029973094285941, 0.455535210579926, 3.438647883940457, 1.464114485889487, 3.001788584487478, 3.815289323309630, 4.374914122810222, 3.001788584487478, 0.716427415979145 }; 70 73 var model = new GaussianProcessModel(problemData.Dataset, targetVariable, allowedInputVariables, rows, hyp, 71 74 meanFunction, … … 74 77 75 78 var dHyp = model.GetHyperparameterGradients(); 76 Assert.AreEqual(0.8621, dHyp[0], 1e-3); 77 Assert.AreEqual(-0.0046, dHyp[1], 1e-3); 79 Assert.AreEqual(-0.0046, dHyp[0], 1e-3); 78 80 var dHypCovExpected = new double[] { 0.2652, -0.2386, 0.1706, -0.1744, 0.0000, 0.0000, -0.1744 }; 79 AssertEqual(dHypCovExpected, dHyp.Skip(2).ToArray(), 1e-3); 81 AssertEqual(dHypCovExpected, dHyp.Skip(1).Take(7).ToArray(), 1e-3); 82 Assert.AreEqual(0.8621, dHyp.Last(), 1e-3); 80 83 81 84 var predTrain = model.GetEstimatedValues(problemData.Dataset, new int[] { 0, 400 }).ToArray(); … … 83 86 Assert.AreEqual(356.6076, predTrain[1], 1e-3); 84 87 } 88 89 /* 90 { 91 // example from GPML book 92 var hyp = new double[] { 93 341.0, // mean 341 ppm 94 // SE iso (long term trend) 95 Math.Log(67.0 / 45.0), // length scale 67 years 96 Math.Log(Math.Sqrt(66)), // magnitude 66ppm 97 98 // product of SEiso and periodic 99 Math.Log(90.0 / 45.0), // decay-time 90 years 100 Math.Log(Math.Sqrt(2.4)), // magnitude 2.4ppm 101 102 Math.Log(1.3), // smoothness 103 Math.Log(1), // period 1 year 104 Math.Log(Math.Sqrt(2.4)), // magnitude 2.4ppm 105 106 // short term variation 107 Math.Log(1.2 / 45.0), // typical length 1.2 years 108 Math.Log(Math.Sqrt(0.66)), // magnitude 0.66ppm 109 Math.Log(0.78), // shape (very small) 110 111 // SEiso (correlated noise) 112 Math.Log(1.6 / 45.0 / 12.0), // 1.6 months 113 Math.Log(Math.Sqrt(0.18)), // amplitude of correlated noise 0.18ppm 114 Math.Log(Math.Sqrt(0.19)), // theta11 0.19ppm noise 115 }; 116 117 covarianceFunction.Terms.Add(new CovarianceRQiso()); 118 covarianceFunction.Terms.Add(new CovarianceSEiso()); // correlated noise 119 var model = new GaussianProcessModel(problemData.Dataset, targetVariable, allowedInputVariables, Enumerable.Range(0, 545), hyp, 120 new MeanConst(), 121 covarianceFunction); 122 Assert.AreEqual(-108.5, model.NegativeLogLikelihood, 1); 123 } 124 */ 85 125 } 86 126
Note: See TracChangeset
for help on using the changeset viewer.