Close this search box.

MCalibration Fitness Functions


MCalibration compares experimental data and model predictions using a “fitness function”, also called a error function. The fitness function returns a scalar value that is minimized during parameter optimization. The following fitness functions are supported. Note that each load case calculates its own fitness value. The final fitness value is the average of all load cases. The equations below use the following symbols:

  • e is the vector of experimental stress values (or if strain control, the vector of experimental strain values)
  • p is the vector of predicted stress values (or if strain control, the vector of predicted strain values)
  • | . | is the absolute value of the provided vector components
  • < . > is the average of the provided vector
  • n is the total number of points

MCalibration is based on the algorithm shown in Figure 1. As part of the iterative loop the experimental data needs to be compared to the model predictions. That comparison is performed using the fitness function. For a strain-control led experiment the fitness is based on the stress values, and for a stress-controlled experiment the fitness is based on the strain values.

Figure 1. Fitness function definitions.

Normalized Mean Absolute Difference (NMAD)

The Normalized Mean Absolute Difference (NMAD) fitness value represents the average error in percent between the experimental data and the model predictions. This error message tend to emphasis values with larger magnitudes. The NMAD value is defined by:

\(\text{NMAD }= 100 \cdot \displaystyle\frac{\langle| \mathbf{e} – \mathbf{p}| \rangle}{\text{max}( \langle| \mathbf{e}| \rangle, \langle|\mathbf{p}|\rangle)}\).

Mean Square Difference (MSD)

The Mean Square Difference (MSD) is defined by:

\(\text{MSD}=\frac{1}{n}\displaystyle\sum_{i=1}^n \left( e_i – p_i\right)^2\).

Coefficient of Determination (R2)

The Coefficient of Determination (R2) is defined by:

\(R^2 = 1- \displaystyle\frac{\sum_i \left(e_i – p_i\right)^2}{\left( e_i – e_m\right)^2}\).

Relative Error (RE)

The Relative Error is the average relative error (in %) between each experimental data point and the corresponding predicted point. Points where \(e_i=p_i=0\) are ignored. This error message has the same weight for all data points.

\[\text{RE} = \displaystyle \frac{100}{n} \sum_{i=1}^n \left( \frac{|e_i – p_i|}{\text{max}(|e_i|, |p_i|)} \right).\]

Example 1: Equal Spaced Data

In this example the experimental data was: [0.1, 0.2, 0.3], and the model predictions were: [0.15, 0.30, 0.45]. In other words, the experimental data is equally spaced and the model predictions were 50% too high (or one could say that the experimental data was 33% too low). If we plug in these values into the equations above we get NMAD=33, and RE=33.3. In other words, if the relative error is about the same for all data points then the NMAD and RE values will be similar.

Example 2: The Large Magnitude Data has Large Error

In this example the experimental data is still: [0.1, 0.2, 0.3], but the model predictions are: [0.11, 0.21, 0.60]. In other words, the data point with the largest magnitude has a 100% error. In this case NMAD=34.78, and RE=21.28. The reason the NMAD value is larger is that NMAD focuses on the values with large magnitudes.

Example 3: The Small Magnitude Data has Large Error

In this example the data points are more spread out (almost logarithmically). The experimental data points are: [0.01, 0.2, 3.0], and the model predictions are: [0.02, 0.22, 3.3]. In this case the data point with the smallest value has a 100% error, and the other data points have a 10% error. The NMAD value is 9.32, and the RE value is 22.73. The reason the RE value is larger is that it considers all data points to be equally important.


More to explore

Leave a Comment