Changeset 8473 for trunk/sources/HeuristicLab.Tests/HeuristicLab.Algorithms.DataAnalysis-3.4/GaussianProcessFunctionsTest.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/GaussianProcessFunctionsTest.cs
r8463 r8473 254 254 } 255 255 256 [TestMethod] 257 public void CovRQIsoTest() { 258 TestCovarianceFunction(new CovarianceRQiso(), 0, 259 new double[,] 260 { 261 { 0.6452, 0.6190, 0.8662, 0.6338, 0.7802, 0.5893, 0.7102, 0.7753, 0.7037, 0.8331}, 262 { 0.6771, 0.7392, 0.7442, 0.6630, 0.7603, 0.6144, 0.7145, 0.8346, 0.7492, 0.8200}, 263 { 0.7963, 0.7777, 0.8574, 0.7266, 0.6362, 0.8060, 0.8519, 0.7084, 0.7810, 0.8459}, 264 { 0.7988, 0.6268, 0.8004, 0.7500, 0.5583, 0.6524, 0.8968, 0.8864, 0.8739, 0.8382}, 265 { 0.8902, 0.6571, 0.7919, 0.9030, 0.5304, 0.5727, 0.8079, 0.9232, 0.9117, 0.8733}, 266 { 0.8819, 0.7639, 0.7387, 0.8449, 0.5785, 0.6563, 0.8783, 0.9519, 0.9535, 0.8742}, 267 { 0.6716, 0.7814, 0.7590, 0.6437, 0.8797, 0.6366, 0.7012, 0.6810, 0.7090, 0.8339}, 268 { 0.6702, 0.6823, 0.8268, 0.6250, 0.7456, 0.6782, 0.7331, 0.6205, 0.6786, 0.8033}, 269 { 0.6910, 0.7332, 0.8750, 0.6697, 0.8119, 0.6608, 0.7235, 0.7261, 0.7142, 0.8595}, 270 { 0.6467, 0.7493, 0.6821, 0.6133, 0.6857, 0.6692, 0.7265, 0.8252, 0.7259, 0.7506}, 271 }, 272 new double[][,] 273 { 274 new double[,] { 275 { 0.4578, 0.4717, 0.2318, 0.4642, 0.3430, 0.4841, 0.4117, 0.3485, 0.4170, 0.2781}, 276 { 0.4373, 0.3856, 0.3808, 0.4468, 0.3645, 0.4738, 0.4080, 0.2761, 0.3758, 0.2952}, 277 { 0.3244, 0.3458, 0.2445, 0.3973, 0.4629, 0.3127, 0.2524, 0.4132, 0.3421, 0.2607}, 278 { 0.3214, 0.4679, 0.3195, 0.3750, 0.4932, 0.4535, 0.1851, 0.2015, 0.2204, 0.2712}, 279 { 0.1955, 0.4507, 0.3295, 0.1752, 0.4981, 0.4894, 0.3104, 0.1418, 0.1610, 0.2213}, 280 { 0.2084, 0.3607, 0.3861, 0.2621, 0.4877, 0.4512, 0.2138, 0.0915, 0.0887, 0.2199}, 281 { 0.4411, 0.3416, 0.3658, 0.4587, 0.2116, 0.4627, 0.4191, 0.4345, 0.4127, 0.2770}, 282 { 0.4421, 0.4335, 0.2864, 0.4687, 0.3793, 0.4365, 0.3913, 0.4710, 0.4362, 0.3160}, 283 { 0.4270, 0.3912, 0.2187, 0.4424, 0.3054, 0.4483, 0.4001, 0.3977, 0.4082, 0.2415}, 284 { 0.4570, 0.3757, 0.4337, 0.4743, 0.4310, 0.4427, 0.3974, 0.2885, 0.3980, 0.3744}, 285 }, 286 new double[,] { 287 { 1.2905, 1.2380, 1.7324, 1.2677, 1.5604, 1.1785, 1.4203, 1.5505, 1.4074, 1.6661}, 288 { 1.3541, 1.4784, 1.4883, 1.3260, 1.5205, 1.2287, 1.4290, 1.6691, 1.4983, 1.6400}, 289 { 1.5926, 1.5553, 1.7148, 1.4532, 1.2723, 1.6120, 1.7037, 1.4168, 1.5620, 1.6918}, 290 { 1.5976, 1.2535, 1.6008, 1.5000, 1.1166, 1.3049, 1.7936, 1.7727, 1.7478, 1.6765}, 291 { 1.7803, 1.3141, 1.5839, 1.8060, 1.0609, 1.1453, 1.6157, 1.8464, 1.8234, 1.7466}, 292 { 1.7637, 1.5278, 1.4774, 1.6898, 1.1570, 1.3125, 1.7566, 1.9039, 1.9070, 1.7485}, 293 { 1.3433, 1.5628, 1.5180, 1.2873, 1.7594, 1.2733, 1.4024, 1.3619, 1.4179, 1.6679}, 294 { 1.3404, 1.3646, 1.6537, 1.2501, 1.4913, 1.3564, 1.4662, 1.2410, 1.3572, 1.6066}, 295 { 1.3820, 1.4665, 1.7501, 1.3395, 1.6239, 1.3216, 1.4470, 1.4522, 1.4285, 1.7190}, 296 { 1.2934, 1.4986, 1.3642, 1.2267, 1.3714, 1.3384, 1.4531, 1.6503, 1.4517, 1.5012}, 297 }, 298 new double[,] { 299 { -0.0538, -0.0611, -0.0085, -0.0569, -0.0222, -0.0696, -0.0372, -0.0231, -0.0388, -0.0131}, 300 { -0.0454, -0.0306, -0.0295, -0.0490, -0.0261, -0.0624, -0.0362, -0.0129, -0.0284, -0.0151}, 301 { -0.0192, -0.0226, -0.0096, -0.0334, -0.0563, -0.0175, -0.0104, -0.0377, -0.0220, -0.0112}, 302 { -0.0187, -0.0589, -0.0184, -0.0283, -0.0788, -0.0519, -0.0051, -0.0062, -0.0076, -0.0123}, 303 { -0.0058, -0.0506, -0.0200, -0.0045, -0.0873, -0.0745, -0.0171, -0.0029, -0.0038, -0.0077}, 304 { -0.0067, -0.0254, -0.0307, -0.0114, -0.0728, -0.0508, -0.0071, -0.0011, -0.0011, -0.0076}, 305 { -0.0468, -0.0219, -0.0264, -0.0542, -0.0069, -0.0561, -0.0394, -0.0444, -0.0375, -0.0130}, 306 { -0.0472, -0.0441, -0.0140, -0.0594, -0.0292, -0.0451, -0.0319, -0.0606, -0.0450, -0.0179}, 307 { -0.0419, -0.0319, -0.0075, -0.0473, -0.0165, -0.0496, -0.0341, -0.0335, -0.0363, -0.0094}, 308 { -0.0534, -0.0284, -0.0441, -0.0627, -0.0432, -0.0474, -0.0334, -0.0143, -0.0336, -0.0281}, 309 } 310 } 311 ); 312 TestCovarianceFunction(new CovarianceRQiso(), 1, 313 new double[,] 314 { 315 { 6.8660, 6.8070, 7.2367, 6.8409, 7.1145, 6.7347, 6.9959, 7.1068, 6.9839, 7.1923}, 316 { 6.9324, 7.0474, 7.0559, 6.9038, 7.0827, 6.7961, 7.0038, 7.1944, 7.0644, 7.1739}, 317 { 7.1392, 7.1106, 7.2253, 7.0255, 6.8461, 7.1536, 7.2179, 6.9926, 7.1158, 7.2099}, 318 { 7.1429, 6.8249, 7.1453, 7.0658, 6.6525, 6.8816, 7.2752, 7.2623, 7.2467, 7.1995}, 319 { 7.2671, 6.8913, 7.1326, 7.2827, 6.5716, 6.6915, 7.1564, 7.3065, 7.2931, 7.2459}, 320 { 7.2567, 7.0886, 7.0466, 7.2086, 6.7069, 6.8897, 7.2522, 7.3388, 7.3405, 7.2471}, 321 { 6.9215, 7.1164, 7.0807, 6.8626, 7.2540, 6.8471, 6.9792, 6.9401, 6.9937, 7.1935}, 322 { 6.9185, 6.9428, 7.1836, 6.8210, 7.0584, 6.9346, 7.0369, 6.8105, 6.9354, 7.1496}, 323 { 6.9598, 7.0372, 7.2481, 6.9176, 7.1623, 6.8992, 7.0200, 7.0247, 7.0033, 7.2280}, 324 { 6.8692, 7.0646, 6.9424, 6.7937, 6.9495, 6.9165, 7.0254, 7.1813, 7.0242, 7.0668}, 325 }, 326 new double[][,] 327 { 328 new double[,] { 329 { 0.9946, 1.1004, 0.3003, 1.0398, 0.5350, 1.2280, 0.7575, 0.5497, 0.7796, 0.3863}, 330 { 0.8743, 0.6614, 0.6455, 0.9263, 0.5952, 1.1197, 0.7428, 0.3823, 0.6297, 0.4217}, 331 { 0.4881, 0.5425, 0.3225, 0.7023, 1.0304, 0.4606, 0.3369, 0.7635, 0.5326, 0.3523}, 332 { 0.4810, 1.0684, 0.4764, 0.6270, 1.3705, 0.9666, 0.2253, 0.2504, 0.2810, 0.3725}, 333 { 0.2412, 0.9489, 0.5007, 0.2106, 1.5081, 1.3031, 0.4553, 0.1639, 0.1902, 0.2825}, 334 { 0.2614, 0.5840, 0.6630, 0.3549, 1.2764, 0.9519, 0.2702, 0.1000, 0.0967, 0.2802}, 335 { 0.8941, 0.5314, 0.5990, 1.0007, 0.2666, 1.0286, 0.7883, 0.8600, 0.7615, 0.3839}, 336 { 0.8995, 0.8552, 0.4030, 1.0754, 0.6409, 0.8701, 0.6811, 1.0941, 0.8687, 0.4682}, 337 { 0.8240, 0.6807, 0.2782, 0.9012, 0.4439, 0.9346, 0.7126, 0.7040, 0.7436, 0.3172}, 338 { 0.9889, 0.6293, 0.8560, 1.1240, 0.8429, 0.9031, 0.7025, 0.4076, 0.7048, 0.6252}, 339 }, 340 new double[,] { 341 { 13.7321, 13.6139, 14.4735, 13.6818, 14.2291, 13.4693, 13.9917, 14.2135, 13.9678, 14.3846}, 342 { 13.8647, 14.0949, 14.1118, 13.8076, 14.1654, 13.5922, 14.0076, 14.3888, 14.1287, 14.3478}, 343 { 14.2784, 14.2211, 14.4506, 14.0511, 13.6922, 14.3072, 14.4358, 13.9852, 14.2316, 14.4199}, 344 { 14.2859, 13.6498, 14.2906, 14.1315, 13.3049, 13.7631, 14.5504, 14.5247, 14.4933, 14.3990}, 345 { 14.5341, 13.7827, 14.2652, 14.5654, 13.1433, 13.3830, 14.3128, 14.6130, 14.5862, 14.4918}, 346 { 14.5134, 14.1773, 14.0932, 14.4172, 13.4138, 13.7793, 14.5045, 14.6776, 14.6810, 14.4942}, 347 { 13.8429, 14.2328, 14.1613, 13.7253, 14.5081, 13.6943, 13.9583, 13.8803, 13.9873, 14.3871}, 348 { 13.8370, 13.8855, 14.3672, 13.6420, 14.1168, 13.8693, 14.0738, 13.6210, 13.8709, 14.2993}, 349 { 13.9195, 14.0743, 14.4962, 13.8352, 14.3246, 13.7985, 14.0400, 14.0493, 14.0067, 14.4561}, 350 { 13.7384, 14.1291, 13.8847, 13.5873, 13.8990, 13.8331, 14.0508, 14.3625, 14.0484, 14.1335}, 351 }, 352 new double[,] { 353 { -0.0067, -0.0083, -0.0006, -0.0074, -0.0019, -0.0105, -0.0038, -0.0020, -0.0041, -0.0010}, 354 { -0.0051, -0.0029, -0.0027, -0.0058, -0.0023, -0.0087, -0.0037, -0.0009, -0.0026, -0.0011}, 355 { -0.0015, -0.0019, -0.0007, -0.0033, -0.0073, -0.0014, -0.0007, -0.0039, -0.0019, -0.0008}, 356 { -0.0015, -0.0078, -0.0015, -0.0026, -0.0133, -0.0064, -0.0003, -0.0004, -0.0005, -0.0009}, 357 { -0.0004, -0.0061, -0.0016, -0.0003, -0.0164, -0.0120, -0.0013, -0.0002, -0.0002, -0.0005}, 358 { -0.0004, -0.0022, -0.0029, -0.0008, -0.0114, -0.0062, -0.0005, -0.0001, -0.0001, -0.0005}, 359 { -0.0054, -0.0018, -0.0024, -0.0068, -0.0005, -0.0072, -0.0042, -0.0050, -0.0039, -0.0009}, 360 { -0.0055, -0.0049, -0.0010, -0.0080, -0.0027, -0.0051, -0.0031, -0.0082, -0.0051, -0.0014}, 361 { -0.0046, -0.0031, -0.0005, -0.0055, -0.0013, -0.0059, -0.0034, -0.0033, -0.0037, -0.0006}, 362 { -0.0067, -0.0026, -0.0049, -0.0087, -0.0048, -0.0055, -0.0033, -0.0011, -0.0033, -0.0026}, 363 } 364 } 365 ); 366 } 367 256 368 257 369 [TestMethod] … … 335 447 }, 336 448 } 337 );449 , 5e-3); 338 450 TestCovarianceFunction(new CovariancePeriodic(), 1, 339 451 new double[,] … … 393 505 }, 394 506 } 395 );507 , 5e-3); 396 508 } 397 509 … … 781 893 }, 782 894 } 783 );784 } 785 786 787 private void TestCovarianceFunction(ICovarianceFunction cf, double hypValue, double[,] expectedCov, double[][,] expectedGradients ) {895 , 5e-3); 896 } 897 898 899 private void TestCovarianceFunction(ICovarianceFunction cf, double hypValue, double[,] expectedCov, double[][,] expectedGradients, double delta = 1E-3) { 788 900 var x = GetData(); 789 901 var xt = GetDataTest(); … … 801 913 actualCov[i, j] = cf.GetCovariance(i, j); 802 914 803 AssertEqual(expectedCov, actualCov );915 AssertEqual(expectedCov, actualCov, delta); 804 916 805 917 for (int i = 0; i < rows0; i++) 806 918 for (int j = 0; j < rows1; j++) { 807 919 for (int k = 0; k < nHyp; k++) 808 Assert.AreEqual(expectedGradients[k][i, j], cf.GetGradient(i, j, k), 5E-3);920 Assert.AreEqual(expectedGradients[k][i, j], cf.GetGradient(i, j, k), delta); 809 921 } 810 922 } … … 836 948 Assert.AreEqual(expected[i], actual[i], 1E-3); 837 949 } 838 private void AssertEqual(double[,] expected, double[,] actual ) {950 private void AssertEqual(double[,] expected, double[,] actual, double delta = 5e-3) { 839 951 Assert.AreEqual(expected.Length, actual.Length); 840 952 for (int i = 0; i < expected.GetLength(0); i++) 841 953 for (int j = 0; j < expected.GetLength(1); j++) 842 Assert.AreEqual(expected[i, j], actual[i, j], 5E-3);954 Assert.AreEqual(expected[i, j], actual[i, j], delta); 843 955 } 844 956
Note: See TracChangeset
for help on using the changeset viewer.