pastas.stats.metrics.aic#

aic(obs=None, sim=None, res=None, missing='drop', nparam=1)[source]#

Compute the Akaike Information Criterium (AIC).

Parameters
  • obs (pandas.Series, optional) – Series with the observed values.

  • sim (pandas.Series, optional) – The Series with the simulated values.

  • res (pandas.Series, optional) – The Series with the residual values. If time series for the residuals are provided, the sim and obs arguments are ignored. Note that the residuals must be computed as obs - sim here.

  • nparam (int, optional) – number of calibrated parameters.

  • missing (str, optional) – string with the rule to deal with missing values. Only “drop” is supported now.

Return type

float

Notes

The Akaike Information Criterium (AIC) [Akaike, 1974] is computed as follows:

\[\text{AIC} = -2 log(L) + 2 nparam\]

where \(n_{param}\) is the number of calibration parameters and L is the likelihood function for the model. In the case of ordinary least squares:

\[log(L) = - (nobs / 2) * log(RSS / -nobs)\]

where RSS denotes the residual sum of squares and nobs the number of observations.