# 2.4: What Are Good Models?

- Page ID
- 7775

\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

\( \newcommand{\Span}{\mathrm{span}}\)

\( \newcommand{\id}{\mathrm{id}}\)

\( \newcommand{\Span}{\mathrm{span}}\)

\( \newcommand{\kernel}{\mathrm{null}\,}\)

\( \newcommand{\range}{\mathrm{range}\,}\)

\( \newcommand{\RealPart}{\mathrm{Re}}\)

\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

\( \newcommand{\Argument}{\mathrm{Arg}}\)

\( \newcommand{\norm}[1]{\| #1 \|}\)

\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)

\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)

\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

\( \newcommand{\vectorC}[1]{\textbf{#1}} \)

\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

You can create various kinds of models for a system, but useful ones have several important properties. Here is a very brief summary of what a good model should look like:

A good model is simple, valid, and robust.

*Simplicity* of a model is really the key essence of what modeling is all about. The main reason why we want to build a model is that we want to have a shorter, simpler description of reality. As the famous principle of *Occam’s razor* says, if you have two models with equal predictive power, you should choose the simpler one. This is not a theorem or any logically proven fact, but it is a commonly accepted practice in science. Parsimony is good because it is economical (e.g., we can store more models within the limited capacity of our brain if they are simpler) and also insightful (e.g., we may find useful patterns or applications in the models if they are simple). If you can eliminate any parameters, variables, or assumptions from your model without losing its characteristic behavior, you should.

V*alidity* of a model is how closely the model’s prediction agrees with the observed reality. This is of utmost importance from a practical viewpoint. If your model’s prediction doesn’t reasonably match the observation, the model is not representing reality and is probably useless. It is also very important to check the validity of not only the predictions of the model but also the assumptions it uses, i.e., whether each of the assumptions used in your model makes sense *at its face value*, in view of the existing knowledge as well as our common sense. Sometimes this “*face validity*” is more important in complex systems modeling, because there are many situations where we simply can’t conduct a quantitative comparison between the model prediction and the observational data. Even if this is the case, you should at least check the face validity of your model assumptions based on your understanding about the system and/or the phenomena.

Note that there is often a trade-off between trying to achieve simplicity and validity of a model. If you increase the model complexity, you may be able to achieve a better fit to the observed data, but the model’s simplicity is lost and you also have the risk of *overfitting*— that is, the model prediction may become adjusted too closely to a specific observation at the cost of generalizability to other cases. You need to strike the right balance between those two criteria.

Finally, *robustness* of a model is how insensitive the model’s prediction is to minor variations of model assumptions and/or parameter settings. This is important because there are always errors when we create assumptions about,or measure parameter values from,the real world. If the prediction made by your model is sensitive to their minor variations, then the conclusion derived from it is probably not reliable. But if your model is robust, the conclusion will hold under minor variations of model assumptions and parameters, therefore it will more likely apply to reality, and we can put more trust in it.

Humanity has created a number of models of the solar system in its history. Some of them are summarized below:

• Ptolemy’s geocentric model (which assumes that the Sun and other planets are revolving around the Earth)

• Copernicus ’heliocentric model (which assumes that the Earth and other planets are revolving around the Sun in concentric circular orbits)

• Kepler’s laws of planetary motion (which assumes that the Earth and other planets are revolving in elliptic orbits, at one of whose foci is the Sun, and that the area swept by a line connecting a planet and the Sun during a unit time period is always the same)

• Newton’s law of gravity (which assumes that a gravitational force between two objects is proportional to their masses and inversely proportional to their distance squared)

Investigate these models, and compare them in terms of simplicity, validity and robustness.