Skip to content

Commit

Permalink
Slides on calibration in OpenTURNS for User's Day 2024
Browse files Browse the repository at this point in the history
  • Loading branch information
mbaudin47 authored and jschueller committed Jun 17, 2024
1 parent 9b3128b commit eb5e03d
Show file tree
Hide file tree
Showing 9 changed files with 1,295 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ OpenTURNS Presentations

- `Release highlights <https://github.com/openturns/openturns.github.io/blob/master/presentation/master/userday2024relhi.pdf>`_
- `Automotive Reliability Engineering with OpenTURNS : the Phimeca product for Renault : StaRe (STAtistical REliability) <https://github.com/openturns/openturns.github.io/blob/master/presentation/master/ud2024-stare.pdf>`_
- `Overview of calibration <https://github.com/openturns/openturns.github.io/blob/master/presentation/master/calibration2024.pdf>`_

- Uncecomp 2023

Expand Down
2 changes: 2 additions & 0 deletions userday2024/calibration2024/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
calibration2024.run.xml
calibration2024.bcf
129 changes: 129 additions & 0 deletions userday2024/calibration2024/calibration2024.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
@inproceedings{Baudin2021,
title={Linear algebra of linear and nonlinear {Bayesian} calibration},
author={Baudin, Michaël and Lebrun, Régis},
year={2021},
booktitle = {UNCECOMP 2021},
pages = {339--353},
organization = "4th ECCOMAS Thematic Conference on Uncertainty Quantification in Computational Sciences and Engineering M. Papadrakakis, V. Papadopoulos, G. Stefanou (eds.) Streamed from Athens, Greece, 28-30 June 2021",
}
@Book{Bjorck1996,
author = {Ake Björck},
title = {Numerical Methods for Least Squares Problems},
publisher = {Society for Industrial Applied Mathematics},
year = {1996},
}
@INPROCEEDINGS{Hansen00thelcurve,
author = {P. C. Hansen},
title = {The {L}-Curve and its Use in the Numerical Treatment of Inverse Problems},
booktitle = {in Computational Inverse Problems in Electrocardiology, ed. P. Johnston, Advances in Computational Bioengineering},
year = {2000},
pages = {119--142},
publisher = {WIT Press}
}
@article{trucano2006calibration,
title={Calibration, validation, and sensitivity analysis: What's what},
author={Trucano, Timothy G and Swiler, Laura Painton and Igusa, Takera and Oberkampf, William L and Pilch, Martin},
journal={Reliability Engineering \& System Safety},
volume={91},
number={10-11},
pages={1331--1357},
year={2006},
publisher={Elsevier}
}
@techreport{Blanchard2020,
author = {Jean-Baptiste Blanchard and Guillaume Damblin and Michaël Baudin},
title = {Introduction aux problèmes de calibration de paramètres.},
year = {2020},
institution = {I3P, EDF R\&D et CEA},
}
@book{Evensen2009,
title = {Data Assimilation - The Ensemble {Kalman} Filter},
author = {Geir Evensen},
year = {2009},
publisher = {SIAM}
}
@book{Tarantola2005,
author = "Albert Tarantola",
title = "Inverse problem theory",
year = "2005",
publisher = "SIAM",
}
@book{Asch2016,
title={Data assimilation. Methods, algorithms and applications.},
author={Asch, Mark and Bocquet, Marc and Nodet, Maëlle},
year={2016},
publisher={SIAM}
}
@Inbook{Baudin2016,
author="Baudin, Micha{\"e}l and Dutfoy, Anne and Iooss, Bertrand and Popelin, Anne-Laure",
title="{OpenTURNS}: An Industrial Software for Uncertainty Quantification in Simulation. In: Ghanem R., Higdon D., Owhadi H. (eds) Handbook of Uncertainty Quantification.",
year="2016",
publisher="Springer International Publishing",
address="Cham",
pages="1--38",
isbn="978-3-319-11259-6",
doi="10.1007/978-3-319-11259-6_64-1",
url="https://doi.org/10.1007/978-3-319-11259-6_64-1"
}
@techreport{BaudinMethodes2020,
author = {Michaël Baudin and Régis Lebrun},
title = {Méthodes de calage : algorithmes mathématiques et implémentation dans {OpenTURNS}.},
year = {2020},
institution = {EDF R\&D},
number={6125-3119-2020-02448-FR}
}
@techreport{BaudinMethodes2022,
author = {Michaël Baudin},
title = {Méthodes de calage : algorithmes mathématiques avancés et implémentation dans {OpenTURNS}.},
year = {2022},
institution = {EDF R\&D},
number={6125-3119-2022-00175-FR}
}
@techreport{garbow1980implementation,
title={Implementation guide for {MINPACK}-1.},
author={Garbow, Burton S. and Hillstrom, Kenneth E. and More, Jorge J.},
year={1980},
institution={Argonne National Lab., IL (USA)}
}
@book{kern2016methodes,
title={M{\'e}thodes num{\'e}riques pour les problemes inverses},
author={Kern, Michel},
year={2016},
publisher={ISTE Group}
}
@book{lawson1995solving,
title={Solving least squares problems},
author={Lawson, Charles L. and Hanson, Richard J.},
year={1995},
publisher={SIAM}
}
@book{idier2013bayesian,
title={Bayesian approach to inverse problems},
author={Idier, J{\'e}r{\^o}me},
year={2013},
publisher={John Wiley \& Sons}
}
@book{hansen2013least,
title={Least squares data fitting with applications},
author={Hansen, Per Christian and Pereyra, Victor and Scherer, Godela},
year={2013},
publisher={JHU Press}
}
149 changes: 149 additions & 0 deletions userday2024/calibration2024/calibration2024.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
% Copyright (C) 2024 - Michaël Baudin

\documentclass[9pt]{beamer}

%\setbeameroption{hide notes}
%\setbeameroption{show notes}
%\setbeameroption{show only notes}

\input{macros}

\title[Calibration in OpenTURNS]{Overview of calibration features in OpenTURNS}

\author[M. Baudin]{
Michaël Baudin \inst{1}
}

\institute[EDF]{
\inst{1} EDF R\&D. 6, quai Watier, 78401, Chatou Cedex - France, [email protected]
}


\date[]{June 19th 2024, Palaiseau, France}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\titlepage

\begin{center}
\includegraphics[height=0.15\textheight]{figures/edf.jpg}
\end{center}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Introduction}

Calibration is the step B' of the generic methodology\footnote{See\cite{Baudin2016, BaudinMethodes2020}.}.

\begin{figure}
\begin{center}
\includegraphics[width=0.7\textwidth]{MethodologieIncertitude-EN.pdf}
\end{center}
\caption{The step B' brings the observed predictions from the model
closer to the observed outputs to calibrate the parameters.}
\end{figure}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Introduction}

We have:
\begin{itemize}
\item a dataset,
\item a parametric model with unknown parameters.
\end{itemize}

We search for:
\begin{itemize}
\item parameter values,
\item such that the predictions of the model are as close as possible to the data.
\end{itemize}

Since the dataset is random, we want the distribution of the parameters.

From there, we can compute confidence intervals of the parameters.

\begin{figure}
\begin{center}
\includegraphics[width=0.5\textwidth]{flooding_before_calibration.pdf}
\end{center}
\caption{Observations compared to the predictions of a model.}
\end{figure}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}[fragile]
\section{Overview}
\frametitle{Overview}

In OpenTURNS, we have several calibration features:
\begin{itemize}
\item \href{https://openturns.github.io/openturns/latest/theory/data_analysis/data_analysis.html#calibration}{theory help pages}
\item \href{https://openturns.github.io/openturns/latest/user_manual/calibration.html}{API help pages}
\item \href{https://openturns.github.io/openturns/latest/auto_calibration/index.html}{examples}.
\end{itemize}


There are two types of features :
\begin{itemize}
\item linear and non linear least squares, Gaussian linear and non linear calibration : \pyvar{*Calibration} classes. These classes compute the \textbf{posterior distribution of the parameters}.
\item Monte Carlo Markov Chain (MCMC) algorithms : \pyvar{*MetropolisHastings}, etc. These classes \textbf{generate a sample from the posterior distribution of the parameters}.
\end{itemize}

The simplest example is \href{https://openturns.github.io/openturns/latest/auto_calibration/least_squares_and_gaussian_calibration/plot_calibration_quickstart.html#sphx-glr-auto-calibration-least-squares-and-gaussian-calibration-plot-calibration-quickstart-py}{Calibrate a parametric model: a quick-start guide to calibration}

Here, we are going to review the \href{https://openturns.github.io/openturns/latest/auto_calibration/least_squares_and_gaussian_calibration/plot_calibration_flooding.html#sphx-glr-auto-calibration-least-squares-and-gaussian-calibration-plot-calibration-flooding-py}{Calibration of the flooding model}
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}[fragile]
\section{Conclusion}
\frametitle{Conclusion}

Other tools :
\begin{itemize}
\item Calibration methods are also available in \href{https://persalys.fr}{Persalys} : linear and non linear least squares, Gaussian linear and non linear calibration.
\end{itemize}

Perspectives:
\begin{itemize}
\item provide bounds to the optimization algorithms (return truncated normal distribution if necessary);
\item unify the \pyvar{ParametricFunction} in \pyvar{*Calibration} and \pyvar{*MetropolisHastings} classes (exchange the roles of $x$ and $\theta$);
\item calibrate parametric functions with field output more easily;
\item provide algorithms to automatically compute finite difference steps (not specific to calibration);
\item provide the covariance matrix of the parameters as a diagonal matrix when possible;
\item scale the parameters to calibrate (not specific to calibration);
\item implement \pyvar{CalibrationResult.isBayesian()} (see \href{https://github.com/openturns/openturns/issues/2560}{2560});
\item implement a \pyvar{CalibrationResult} structure for M.-H. classes.
\end{itemize}
\end{frame}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{References}
\begin{frame}[allowframebreaks]
\frametitle{Références}
\nocite{*}
\bibliographystyle{apalike}
\bibliography{calibration2024}
\end{frame}

\end{document}
Binary file not shown.
Loading

0 comments on commit eb5e03d

Please sign in to comment.