What factors influence the result of the optimization problem?
1 view (last 30 days)
Show older comments
Hi all
I developed a physically-based model in Matlab predicting a parameter of soil. The model has 6 variables that need to be optimized so that model results match the observed values of that parameter in the laboratory. The model output is noisy(i.e. the results would vary with a fixed set of variables since two of the model's variable are mean and stanard deviation of a lognormal distribution from which sampling is done in a random way). I have used the GA toolbox to minimize the defined objective function (Mean Absolute Error between predicted and observed values); however, it did not lead to a good match. I want to know what factors can influence my final population?
Can the objective function defined as Mean Absolute Error be the main problem? Do I need to define an objective function which considers the noisy nature of my model?
options=gaoptimset('PopulationSize',100,'Generations',300,'plotFcns',{@gaplotbestf,@gaplotstopping},'StallGenLimit',200,'Initialpopulation',[0.9646 0.0738 -1.3441 5.7990 0.0944 8.1287e-6]);
0 Comments
Answers (1)
William Rose
on 15 Nov 2022
Usually a model makeas a specific prediciton, and the difference between the model prediction and the experimental observation is attributed to "noise". You say "The model output is noisy (i.e. the results would vary with a fixed set of variables since two of the model's variable are mean and stanard deviation of a lognormal distribution from which sampling is done in a random way)." I suspect the random component of the model output is why the genetic algorithm is not anble to find a satisfactory solution. As the algorithm attempts to converge on a good solution, the random noise that is added to the model output (if I understand your model correctly) prevents the minimizaiton algorithm from converging. Therefore, if I were you, I would reconsider the addition of a random component to the model output. Perhaps you could remove that random component, and see how the model performs.
You asked if choosing to minimize the sum of the absolute error is a good idea. When optimizing parameters, a common goal is to maximize the likelihood, or the log likelihood (which will lead to the same solution). To do this requires knowing the probability distribution of the measurement errors. Minimizing the summed absolute error will give a maximum likelihood estimate of parameters, IF the measurement errors have a Laplace distribution. You said that you add "noise" with a lognormal distribution to the model output. If the measurement errors also have a lognormal distribution (which seems unlikely, but you know your system), then the function which you should try to minimize, if you want a maximum likelihood estimate, is given here.
Good luck with your geotechnical research.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!