From 3cac0f2ef79f4ddd00a12a048c446a87b3f42216 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 29 Mar 2022 00:06:31 +0200 Subject: [PATCH] bug5694: re-trained the models after automatically making the aggregates monotonic regarding zero std mean --- ...& Wind estimation Import from 8888).launch | 559 +++++++++--------- ...ingleDimensionAggregatesPlottingFrame.java | 3 +- .../model/SimpleModelsTrainingPart1.java | 2 +- .../model/ZeroMeanSigmaSmoothening.java | 15 + ...sedTwdTransitionRegressorFrom0.0To10.0.clf | Bin 2232 -> 2232 bytes ...dTwdTransitionRegressorFrom10.0To912.0.clf | Bin 2274 -> 2274 bytes ...TransitionRegressorFrom1368.0ToMaximum.clf | Bin 2274 -> 2274 bytes ...wdTransitionRegressorFrom912.0To1368.0.clf | Bin 2274 -> 2274 bytes ...asedTwdTransitionRegressorFrom0.0To1.0.clf | Bin 2232 -> 2232 bytes ...edTwdTransitionRegressorFrom1.0To140.0.clf | Bin 2274 -> 2274 bytes ...wdTransitionRegressorFrom140.0To5394.0.clf | Bin 2274 -> 2274 bytes ...TransitionRegressorFrom5394.0ToMaximum.clf | Bin 2274 -> 2274 bytes 12 files changed, 295 insertions(+), 284 deletions(-) create mode 100644 java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/model/ZeroMeanSigmaSmoothening.java diff --git a/java/com.sap.sailing.server/SailingServer (Proxy, Jetty on 8889, Polar & Wind estimation Import from 8888).launch b/java/com.sap.sailing.server/SailingServer (Proxy, Jetty on 8889, Polar & Wind estimation Import from 8888).launch index 6f15ee687de..3d1efac2582 100755 --- a/java/com.sap.sailing.server/SailingServer (Proxy, Jetty on 8889, Polar & Wind estimation Import from 8888).launch +++ b/java/com.sap.sailing.server/SailingServer (Proxy, Jetty on 8889, Polar & Wind estimation Import from 8888).launch @@ -1,285 +1,280 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/datavisualization/SingleDimensionAggregatesPlottingFrame.java b/java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/datavisualization/SingleDimensionAggregatesPlottingFrame.java index eb4abbeae26..8b30f903315 100644 --- a/java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/datavisualization/SingleDimensionAggregatesPlottingFrame.java +++ b/java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/datavisualization/SingleDimensionAggregatesPlottingFrame.java @@ -176,7 +176,8 @@ public class SingleDimensionAggregatesPlottingFrame extends JFrame { dataset.addSeries(q3Series); dataset.addSeries(p1Series); dataset.addSeries(p99Series); - dataset.addSeries(stdSeries); + // Uncomment the following to see the standard deviation; it overlaps the zeroMeanStdSeries, so usually we don't want to see it + // dataset.addSeries(stdSeries); dataset.addSeries(zeroMeanStdSeries); return dataset; } diff --git a/java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/model/SimpleModelsTrainingPart1.java b/java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/model/SimpleModelsTrainingPart1.java index 3305370a7dc..7dd82446112 100644 --- a/java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/model/SimpleModelsTrainingPart1.java +++ b/java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/model/SimpleModelsTrainingPart1.java @@ -122,7 +122,7 @@ public class SimpleModelsTrainingPart1 { LoggingUtil.logInfo("Model training finished. You can upload the generated file to a server instance."); } - private static void enforceMonotonicZeroMeanSigmaGrowth(AggregatedSingleDimensionType dimensionType) throws UnknownHostException, JsonDeserializationException, ParseException { + static void enforceMonotonicZeroMeanSigmaGrowth(AggregatedSingleDimensionType dimensionType) throws UnknownHostException, JsonDeserializationException, ParseException { final AggregatedSingleDimensionBasedTwdTransitionPersistenceManager persistenceManager = new AggregatedSingleDimensionBasedTwdTransitionPersistenceManager(dimensionType); final List allAggregatedElements = persistenceManager.getAllElements(); Collections.sort(allAggregatedElements, (ae1, ae2)->Double.compare(ae1.getDimensionValue(), ae2.getDimensionValue())); diff --git a/java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/model/ZeroMeanSigmaSmoothening.java b/java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/model/ZeroMeanSigmaSmoothening.java new file mode 100644 index 00000000000..f212dfad6b6 --- /dev/null +++ b/java/com.sap.sailing.windestimation.lab/src/com/sap/sailing/windestimation/model/ZeroMeanSigmaSmoothening.java @@ -0,0 +1,15 @@ +package com.sap.sailing.windestimation.model; + +import java.net.UnknownHostException; + +import org.json.simple.parser.ParseException; + +import com.sap.sailing.windestimation.data.persistence.twdtransition.AggregatedSingleDimensionBasedTwdTransitionPersistenceManager.AggregatedSingleDimensionType; +import com.sap.sse.shared.json.JsonDeserializationException; + +public class ZeroMeanSigmaSmoothening { + public static void main(String[] args) throws JsonDeserializationException, UnknownHostException, ParseException { + SimpleModelsTrainingPart1.enforceMonotonicZeroMeanSigmaGrowth(AggregatedSingleDimensionType.DISTANCE); + SimpleModelsTrainingPart1.enforceMonotonicZeroMeanSigmaGrowth(AggregatedSingleDimensionType.DURATION); + } +} diff --git a/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDistanceBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DistanceBasedTwdTransitionRegressorFrom0.0To10.0.clf b/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDistanceBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DistanceBasedTwdTransitionRegressorFrom0.0To10.0.clf index c706c6bb99b56746d1331192a5627e0851c9cdfd..d168301e0a32f54a2cfb17242814d83b9a6ad2af 100644 GIT binary patch delta 27 jcmdlXxI=KmNp|*c7fx1$XhcuG!2Xau@v>|h6P{$w(WHP}-9JQMJCdYAPO0yx!B~Lr+7ZrHQ;o*ft9M|lh0ss+QC|Cdh delta 120 zcmaDP_(*WWJ4Qif``fDB$9^eYfzg})Gah2)7qL7Ow(7Zu{nX2IT9#gjn|y&iQ>Dv0Mn&~40Q~$KqeDR#L*};WpW%xrZh8>ocj}IzZu__IXv(Pyg04B9smU7DoX$W diff --git a/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDistanceBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DistanceBasedTwdTransitionRegressorFrom1368.0ToMaximum.clf b/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDistanceBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DistanceBasedTwdTransitionRegressorFrom1368.0ToMaximum.clf index 449a6411f4538f7b129fdfa5acbabe0489e09813..02c6b57e40e2773898f9ea89f6a00759053e5dc6 100644 GIT binary patch delta 123 zcmaDP_(*WWJ4QiH2ZcZPg+7M_!RXEZ84t1YJMZh)Z<^9&FS+!uK!m`&$rso&HIx{@ zz|m=%1&C2v$WX^13uG|CM4U<*snS6mgQ$vCQ z3>@_ZPJtMug$#8JvOoqCOvEWpzsL5=fys#+Y0_*6X@?T~v`uPD|2xidpWRZs)e8WL Ca4Qc0 diff --git a/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDistanceBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DistanceBasedTwdTransitionRegressorFrom912.0To1368.0.clf b/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDistanceBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DistanceBasedTwdTransitionRegressorFrom912.0To1368.0.clf index 9cc7936629bd9e113dd7b89c2d66d9fc531b5d03..07dbb46b5b3f7f9f2e27ffd009ef5c8f4aa802ca 100644 GIT binary patch delta 65 zcmaDP_(*WW2S$GDx$K|5hTO7+(wqM?9%ALUW?U|7y^_JcAlD?Y<4D8i3+&8{{Qgt8 S-@N&G#^K}I?~fP{sR97kk{(?E delta 65 zcmaDP_(*WW2S$F+DLh6ibZ**0>COKc53%wat*u?--^yTL5&!4xzT*s=FR(KMRhF5Y Qm~>Cf;my+bf$F~J0FTKWUH||9 diff --git a/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDurationBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DurationBasedTwdTransitionRegressorFrom0.0To1.0.clf b/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDurationBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DurationBasedTwdTransitionRegressorFrom0.0To1.0.clf index ed6d0bdb3755591b45ec0ff74f8af683d46e2f50..79888948b00b38673212fbf3d56eaa25b743edd0 100644 GIT binary patch delta 27 dcmdlXxI=KmNp^PSR-OCz7=$KYV1Ec>0|1#13bFtI delta 27 ccmdlXxI=KmNp^OX*&zZ360DOius?*c0fP$&OaK4? diff --git a/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDurationBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DurationBasedTwdTransitionRegressorFrom1.0To140.0.clf b/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDurationBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DurationBasedTwdTransitionRegressorFrom1.0To140.0.clf index 07c2c4d8af1a575f663a937cc71de8f0279709b7..79dda0de4c1bfa877c740eee95da9b4076b0ad24 100644 GIT binary patch delta 65 zcmaDP_(*WW2S)xkJjD^3J$d#}dh>tAL#+HN6UA+_@4DE(@o>+osn^(ift{I=KlNhv R?vD0t4!u8TxOT@J1OS6B91s8i delta 65 zcmaDP_(*WW2S)zaPWw4t#@@1r(wqM?9%AKJU7xA!Vspj*b%*GLaOn%1FR(K+@~72o RZ_r;V=g_xaby@K74gmDl9cBOk diff --git a/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDurationBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DurationBasedTwdTransitionRegressorFrom140.0To5394.0.clf b/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDurationBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DurationBasedTwdTransitionRegressorFrom140.0To5394.0.clf index bd814a6a48f22f340c69411c119090b94edca37f..9402edb5019bd32079de0de50aa7cc018d0ffd51 100644 GIT binary patch delta 63 zcmaDP_(*WW2S)w}D}0KWt{k?9(wqM?9%khW+~0lb$2COKc53};E6U(km)3+};vsupgde7zy>@19Y31WKd P|A#p$NFEni>L&sKXC4`g diff --git a/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDurationBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DurationBasedTwdTransitionRegressorFrom5394.0ToMaximum.clf b/java/com.sap.sailing.windestimation.test/resources/trained_wind_estimation_models/SERIALIZATION.modelForDurationBasedTwdDeltaStdRegressor.IncrementalSingleDimensionPolynomialRegressor.DurationBasedTwdTransitionRegressorFrom5394.0ToMaximum.clf index 47f2e44ea5d6dc755d10b5ed77303dfc76804fde..354ab2ab6b334fe46f371bb6a8df4f41bbbd2b60 100644 GIT binary patch delta 122 zcmaDP_(*WWJ4Qh^2ZNS5v8w8;VD#qyjE7kHO=6GwxwIMBCuXjf*#6sM@&)!xbqNMA zaQGb;0AiFDGSo510vSv&5yxjC^R6aLPT)wFWCOKc53%w)pF3Y*&X;BH{CU3F=N~?kFR*8-3ow9z z!=Hm6K#bBthB^jWAcF}e;>6%4Z~S9&0!O+u3zBTk(OXl0Ot|Kl%)_xRdK)_cMI|d?