Changeset 16610 for branches/2925_AutoDiffForDynamicalModels/AutoDiffForDynamicalModelsTest/TestOdeIdentification.cs
- Timestamp:
- 02/16/19 06:53:44 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2925_AutoDiffForDynamicalModels/AutoDiffForDynamicalModelsTest/TestOdeIdentification.cs
r16602 r16610 42 42 Assert.AreEqual(6.8350792038369173E-20, ((DoubleValue)alg.Results["SNMSE"].Value).Value, 1E-8); 43 43 } 44 [TestMethod] 45 public void RunOdeIdentificationMultipleEpisodes() { 46 var alg = new OdeParameterIdentification(); 47 var dynProb = new Problem(); 48 var parser = new HeuristicLab.Problems.Instances.DataAnalysis.TableFileParser(); 49 // var fileName = @"C:\reps\HEAL\EuroCAST - Kronberger\DataGeneration\test.csv"; 50 var fileName = @"C:\reps\HEAL\EuroCAST - Kronberger\DataGeneration\s-system.csv"; 51 parser.Parse(fileName, true); 52 var prov = new HeuristicLab.Problems.Instances.DataAnalysis.RegressionCSVInstanceProvider(); 53 var regressionProblemData = prov.ImportData(fileName); 54 regressionProblemData.TrainingPartition.Start = 0; 55 regressionProblemData.TrainingPartition.End = 61; 56 regressionProblemData.TestPartition.Start = 61; 57 var allowedInputs = new List<string>(); // empty 58 var targets = new List<string>(new[] { "y1", "y2", "y3", "y4", "y5" }); 59 foreach (var checkedItem in regressionProblemData.InputVariables) { 60 regressionProblemData.InputVariables.SetItemCheckedState(checkedItem, allowedInputs.Contains(checkedItem.Value)); 61 } 62 dynProb.Load(regressionProblemData); 63 64 foreach (var checkedItem in dynProb.TargetVariables) { 65 dynProb.TargetVariables.SetItemCheckedState(checkedItem, targets.Contains(checkedItem.Value)); 66 } 67 68 dynProb.TrainingEpisodesParameter.Value.Add(new IntRange(0, 30)); 69 dynProb.TrainingEpisodesParameter.Value.Add(new IntRange(30, 61)); 70 dynProb.NumericIntegrationStepsParameter.Value.Value = 1; 71 72 var rand = new FastRandom(1234); 73 var expressions = new string[] { 74 "1.0*(y3*exp(log(y5)*0.1)) + 1.0*(y1*y1)", 75 "1.0*(y1*y1) + 1.0*(y2*y2)", 76 "1.0*exp(log(y2)*0.1) + 1.0*exp(log(y2)*0.1)*(y3*y3)", 77 "1.0*(y1*y1)*exp(log(y5)*0.1) + 1.0*(y4*y4)", 78 "1.0*(y4*y4)+1.0*(y5*y5)" 79 }; 80 81 alg.CreateSolution(dynProb, expressions, 200, rand); 82 Assert.AreEqual(0.0, ((DoubleValue)alg.Results["SNMSE"].Value).Value, 1E-8); 83 } 44 84 } 45 85 }
Note: See TracChangeset
for help on using the changeset viewer.