Statistics: Difference between revisions

From CIRPwiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 24: Line 24:
|}
|}


Example Matlab Code: BSS = 1 - mean((x_c(:)-x_m(:)).^2)/mean((x_m(:)-x_0(:)).^2);
Example Matlab Code:  
  BSS = 1 - mean((xc(:)-xm(:)).^2)/mean((xm(:)-x0(:)).^2);


== Nash-Sutcliffe Coefficient ==
== Nash-Sutcliffe Coefficient ==
Line 49: Line 50:
|}
|}


Example Matlab Code: E = 1 - mean((x_c(:)-x_m(:)).^2)/mean((x_m(:)-mean(x_m(:))).^2);
Example Matlab Code:  
 
  E = 1 - mean((xc(:)-xm(:)).^2)/mean((xm(:)-mean(xm(:))).^2);


== Root-Mean-Squared Error ==
== Root-Mean-Squared Error ==
Line 60: Line 61:
where where <math>x_m</math> is the measured or observed  values, <math>x_c</math> is the calculated values, and the angled brackets indicate averaging. The RMSE has the same units as the measured and calculated data.
where where <math>x_m</math> is the measured or observed  values, <math>x_c</math> is the calculated values, and the angled brackets indicate averaging. The RMSE has the same units as the measured and calculated data.


Example Matlab Code: RMSE = sqrt(mean((x_c(:)-x_m(:)).^2));
Example Matlab Code:  
  RMSE = sqrt(mean((xc(:)-xm(:)).^2));


== Normalized-Root-Mean-Squared Error ==
== Normalized-Root-Mean-Squared Error ==
Line 70: Line 72:
where <math>x_m</math> is the measured or observed values, <math>x_c</math> is the calculated values, and the angled brackets indicate averaging. The NRMSE is often expressed in units of percent. Smaller values indicate a better agreement between measured and calculated values.
where <math>x_m</math> is the measured or observed values, <math>x_c</math> is the calculated values, and the angled brackets indicate averaging. The NRMSE is often expressed in units of percent. Smaller values indicate a better agreement between measured and calculated values.


Example Matlab Code: NRMSE = sqrt(mean((x_c(:)-x_m(:)).^2))/range(xm(:));
Example Matlab Code:  
  NRMSE = sqrt(mean((xc(:)-xm(:)).^2))/range(xm(:));


== Mean-Absolute Error ==
== Mean-Absolute Error ==
Line 80: Line 83:
where where <math>x_m</math> is the measured or observed  values, <math>x_c</math> is the calculated values, and the angled brackets indicate averaging.  
where where <math>x_m</math> is the measured or observed  values, <math>x_c</math> is the calculated values, and the angled brackets indicate averaging.  


Example Matlab code: MAE = mean(abs(xc(:)-xm(:)));
Example Matlab code:  
  MAE = mean(abs(xc(:)-xm(:)));


== Normalized-Mean-Absolute Error ==
== Normalized-Mean-Absolute Error ==
Line 89: Line 93:


where <math>x_m</math> is the measured or observed values, <math>x_c</math> is the calculated values.
where <math>x_m</math> is the measured or observed values, <math>x_c</math> is the calculated values.
Example Matlab code:
  NMAE = mean(abs(xc(:)-xm(:)))/range(xm(:));


== Correlation coefficient is defined as ==
== Correlation coefficient is defined as ==
Line 98: Line 105:
where where <math>x_m</math> is the measured or observed  values, <math>x_c </math> is the calculated values, and the angled brackets indicate averaging. A correlation of 1 indicates a perfect one-to-one linear relationship and -1 indicates a negative relationship. The square of the correlation coefficient describes how much of the variance between two variables is described by a linear fit.
where where <math>x_m</math> is the measured or observed  values, <math>x_c </math> is the calculated values, and the angled brackets indicate averaging. A correlation of 1 indicates a perfect one-to-one linear relationship and -1 indicates a negative relationship. The square of the correlation coefficient describes how much of the variance between two variables is described by a linear fit.


Example Matlab code:  R = corrcoef(yc,ym);
Example Matlab code:   
  R = corrcoef(yc,ym);


==Bias ==
==Bias ==
Line 108: Line 116:
where <math>x_m</math> is the measured or observed values, <math>x_c</math> is the calculated values, and the angled brackets indicate averaging. The bias is a measure of the over or under prediction of a variable. Positive values indicate overprediction and negative values indicate underprediction.
where <math>x_m</math> is the measured or observed values, <math>x_c</math> is the calculated values, and the angled brackets indicate averaging. The bias is a measure of the over or under prediction of a variable. Positive values indicate overprediction and negative values indicate underprediction.


Example Matlab code:  B = mean(x_c(:)-x_m(:));
Example Matlab code:   
  B = mean(xc(:)-xm(:));


== Normalized Bias ==
== Normalized Bias ==
The normalized bias is a measure of the over or under estimation and is defined as  
The normalized bias is a measure of the over or under estimation and is defined as  
{{Equation|<math>
{{Equation|<math>
   NB =  \frac{\langle x_c - x_m \rangle}{\max{(x_m)}-\min{(x_m)}}  
   NB =  \frac{\langle xc - xm \rangle}{\max{(xm)}-\min{(xm)}}  
</math>|9}}
</math>|9}}


where <math>x_m</math> is the measured or observed values, <math>x_c</math> is the calculated values, and the angled brackets indicate averaging. The normalized bias is a measure of the over or under prediction of a variable and is often expressed as a percentage. Positive values indicate overprediction and negative values indicate underprediction.
where <math>x_m</math> is the measured or observed values, <math>x_c</math> is the calculated values, and the angled brackets indicate averaging. The normalized bias is a measure of the over or under prediction of a variable and is often expressed as a percentage. Positive values indicate overprediction and negative values indicate underprediction.


Example Matlab code:  NB = mean(x_c(:)-x_m(:))/range(x_m(:));
Example Matlab code:   
  NB = mean(xc(:)-xm(:))/range(xm(:));





Revision as of 19:22, 1 November 2012

Given the initial measured values , final observed or measured values and final calculated values , there are several goodness of fit statistics or skill scores which can be calculated. The definition for some of the more common ones are provided below.

Brier Skill Score

The Bier Skill Score (BSS) is given by

  (1)

where is the measured or observed values, is the calculated values, is the initial measured values and the angled brackets indicate averaging. The BSS ranges between negative infinity and one. A BSS value of 1 indicates a perfect agreement between measured and calculated values. Scores equal to or less than 0 indicates that the mean value is as or more accurate than the calculated values.

Table 1. Brier Skill Score Quantifications

Range Quantification
0.8<BSS<1.0 Excellent
0.6<BSS<0.8 Good
0.3<BSS<0.6 Reasonable
0<BSS<0.3 Poor
BSS<0 Bad

Example Matlab Code:

 BSS = 1 - mean((xc(:)-xm(:)).^2)/mean((xm(:)-x0(:)).^2);

Nash-Sutcliffe Coefficient

The Nash-Sutcliffe Coefficient (E) is commonly used to assess the predictive power of a model. It is defined as

  (2)

where is the measured or observed values, is the calculated values, and the angled brackets indicate averaging. The Nash-Sutcliffe efficiency coefficient ranges from negative infinity to one. An efficiency of 1 corresponds to a perfect match between measured and calculated values. An efficiencies equal 0 or less indicates that the mean observed value is as or more accurate than the calculated values.

Table 2. Nash-Sutcliffe Coefficient Quantifications

Range Quantification
0.8<E<1.0 Excellent
0.6<E<0.8 Good
0.3<E<0.6 Reasonable
0<E<0.3 Poor
E<0 Bad

Example Matlab Code:

 E = 1 - mean((xc(:)-xm(:)).^2)/mean((xm(:)-mean(xm(:))).^2);

Root-Mean-Squared Error

The Root-Mean-Squared Error (RMSE) also referred to as Root-Mean-Squared Deviation (RMSD) is defined as

  (3)

where where is the measured or observed values, is the calculated values, and the angled brackets indicate averaging. The RMSE has the same units as the measured and calculated data.

Example Matlab Code:

 RMSE = sqrt(mean((xc(:)-xm(:)).^2));

Normalized-Root-Mean-Squared Error

In order to make comparing different RMSE with different units or scales (lab vs field) several non-dimensional forms of the RMSE have been proposed in literature. Here the Normalized-Root-Mean-Squared Error (NRMSE) is defined as

  (4)

where is the measured or observed values, is the calculated values, and the angled brackets indicate averaging. The NRMSE is often expressed in units of percent. Smaller values indicate a better agreement between measured and calculated values.

Example Matlab Code:

 NRMSE = sqrt(mean((xc(:)-xm(:)).^2))/range(xm(:));

Mean-Absolute Error

The mean absolute error is given by

  (5)

where where is the measured or observed values, is the calculated values, and the angled brackets indicate averaging.

Example Matlab code:

 MAE = mean(abs(xc(:)-xm(:)));

Normalized-Mean-Absolute Error

The normalized-Mean-Absolute Error is defined as

  (6)

where is the measured or observed values, is the calculated values.

Example Matlab code:

 NMAE = mean(abs(xc(:)-xm(:)))/range(xm(:));

Correlation coefficient is defined as

Correlation is a measure of the strength and direction of a linear relationship between two variables. The correlation coefficient is defined as

  (7)

where where is the measured or observed values, is the calculated values, and the angled brackets indicate averaging. A correlation of 1 indicates a perfect one-to-one linear relationship and -1 indicates a negative relationship. The square of the correlation coefficient describes how much of the variance between two variables is described by a linear fit.

Example Matlab code:

 R = corrcoef(yc,ym);

Bias

The bias is a measure of the over or under estimation and is defined as

  (8)

where is the measured or observed values, is the calculated values, and the angled brackets indicate averaging. The bias is a measure of the over or under prediction of a variable. Positive values indicate overprediction and negative values indicate underprediction.

Example Matlab code:

 B = mean(xc(:)-xm(:));

Normalized Bias

The normalized bias is a measure of the over or under estimation and is defined as

  (9)

where is the measured or observed values, is the calculated values, and the angled brackets indicate averaging. The normalized bias is a measure of the over or under prediction of a variable and is often expressed as a percentage. Positive values indicate overprediction and negative values indicate underprediction.

Example Matlab code:

 NB = mean(xc(:)-xm(:))/range(xm(:));



Documentation Portal