What factors influence the result of the optimization problem?

4 ビュー (過去 30 日間)
Behrooz Daneshian
Behrooz Daneshian 2022 年 11 月 15 日
回答済み: William Rose 2022 年 11 月 15 日
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]);

回答 (1 件)

William Rose
William Rose 2022 年 11 月 15 日
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.

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by