Wave:GoodnessOfFit: Difference between revisions
(→Kling-Gupta efficiency: fix reference #120) |
|||
(11 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
<div style="float:right; margin-left:10px;">__TOC__</div> | <div style="float:right; margin-left:10px;">__TOC__</div> | ||
== | ==Description== | ||
'''GoodnessOfFit''' | [[File:GoodnessOfFit ResultChart.png|thumb|right|Result chart for a GoodnessOfFit analysis with two simulated time series]] | ||
'''GoodnessOfFit''' calculates various goodness of fit indicators for one or more "simulated" time series in relation to one "observed" time series. | |||
=== | Optionally, the analysis can be performed for individual hydrologic years. | ||
The indicators "Volume error", "Nash-Sutcliffe efficiency", "Logarithmic Nash-Sutcliffe efficiency", "Kling-Gupta efficiency" and "Coefficient of correlation" are displayed in a radar chart. The full set of indicators is output to a result table. | |||
== Indicators == | |||
=== Volume error === | |||
:<math>m = 100 \cdot \frac{\sum_{t=1}^T{(Q_m^t - Q_o^t)}}{\sum_{t=1}^T{Q_o^t}}</math> | :<math>m = 100 \cdot \frac{\sum_{t=1}^T{(Q_m^t - Q_o^t)}}{\sum_{t=1}^T{Q_o^t}}</math> | ||
with: | |||
:<code>m</code>: | :<code>m</code>: Volume error [%] | ||
:<code>Q<sub>o</sub><sup>t</sup></code>: | :<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code> | ||
:<code>Q<sub>m</sub><sup>t</sup></code>: | :<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code> | ||
=== | === Sum of squared errors === | ||
:<math>F^2 = \sum_{t=1}^T{\left(Q_o^t - Q_m^t\right)^2}</math> | :<math>F^2 = \sum_{t=1}^T{\left(Q_o^t - Q_m^t\right)^2}</math> | ||
with | |||
:<code>F²</code>: | :<code>F²</code>: Sum of squared errors | ||
:<code>Q<sub>o</sub><sup>t</sup></code>: | :<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code> | ||
:<code>Q<sub>m</sub><sup>t</sup></code>: | :<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code> | ||
=== | === Correlation coefficient / coefficient of determination === | ||
:<math>r = \frac{s_{o,m}}{s_o \cdot s_m}</math> | :<math>r = \frac{s_{o,m}}{s_o \cdot s_m}</math> | ||
with | |||
:<math>s_{o,m} = \frac{1}{n - 1} \sum_{t=1}^T{(Q_o^t - \overline{Q_o}) \cdot (Q_m^t - \overline{Q_m})}</math> | :<math>s_{o,m} = \frac{1}{n - 1} \sum_{t=1}^T{(Q_o^t - \overline{Q_o}) \cdot (Q_m^t - \overline{Q_m})}</math> | ||
:<math>s_o = \sqrt{\frac{1}{n - 1} \sum_{t=1}^T{(Q_o^t - \overline{Q_o})^2}}</math> | :<math>s_o = \sqrt{\frac{1}{n - 1} \sum_{t=1}^T{(Q_o^t - \overline{Q_o})^2}}</math> | ||
:<math>s_m = \sqrt{\frac{1}{n - 1} \sum_{t=1}^T{(Q_m^t - \overline{Q_m})^2}}</math> | :<math>s_m = \sqrt{\frac{1}{n - 1} \sum_{t=1}^T{(Q_m^t - \overline{Q_m})^2}}</math> | ||
with | |||
:<code>r</code>: | :<code>r</code>: correlation coefficient (<code>-1 ≤ r ≤ 1</code>) | ||
:<code>r²</code>: | :<code>r²</code>: coefficient of determination (<code>0 ≤ r² ≤ 1</code>) | ||
:<code>s<sub>o,m</sub></code>: | :<code>s<sub>o,m</sub></code>: covariance | ||
:<code>s<sub>o</sub></code>: | :<code>s<sub>o</sub></code>: standard deviation of observed values | ||
:<code>s<sub>m</sub></code>: | :<code>s<sub>m</sub></code>: standard deviation of simulated values | ||
:<code>Q<sub>o</sub><sup>t</sup></code>: | :<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code> | ||
:<code>Q<sub>m</sub><sup>t</sup></code>: | :<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code> | ||
:<code>n</code>: | :<code>n</code>: Number of values | ||
:<code><span style="text-decoration:overline;">Q<sub>o</sub></span></code>: | :<code><span style="text-decoration:overline;">Q<sub>o</sub></span></code>: observed average | ||
:<code><span style="text-decoration:overline;">Q<sub>m</sub></span></code>: | :<code><span style="text-decoration:overline;">Q<sub>m</sub></span></code>: simulated average | ||
====Rating==== | |||
{|cellpadding="5" cellspacing="0" border="0" class="standard stripes" | |||
|- | |||
! Coefficient of determination !! Rating | |||
|- | |||
| < 0.2 || unsatisfactory | |||
|- | |||
| 0.2 - 0.4 || satisfactory | |||
|- | |||
| 0.4 - 0.6 || good | |||
|- | |||
| 0.6 - 0.8 || very good | |||
|- | |||
| > 0.8 || excellent | |||
|} | |||
===Nash-Sutcliffe | ===Nash-Sutcliffe efficiency=== | ||
:<math>E = 1-\frac{\sum_{t=1}^T\left(Q_o^t-Q_m^t\right)^2}{\sum_{t=1}^T\left(Q_o^t-\overline{Q_o}\right)^2}</math> {{:Literatur:Nash-Sutcliffe 1970|}} | :<math>E = 1-\frac{\sum_{t=1}^T\left(Q_o^t-Q_m^t\right)^2}{\sum_{t=1}^T\left(Q_o^t-\overline{Q_o}\right)^2}</math> {{:Literatur:Nash-Sutcliffe 1970|}} | ||
with | |||
:<code>E</code>: Nash-Sutcliffe | :<code>E</code>: Nash-Sutcliffe efficiency [-] | ||
:<code><span style="text-decoration:overline;">Q<sub>o</sub></span></code>: | :<code><span style="text-decoration:overline;">Q<sub>o</sub></span></code>: observed average | ||
:<code>Q<sub>o</sub><sup>t</sup></code>: | :<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code> | ||
:<code>Q<sub>m</sub><sup>t</sup></code>: | :<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code> | ||
<blockquote> | <blockquote> | ||
Line 55: | Line 78: | ||
:— Wikipedia<ref>'''Wikipedia contributors''': "Nash-Sutcliffe efficiency coefficient," Wikipedia, The Free Encyclopedia, http://en.wikipedia.org/w/index.php?title=Nash-Sutcliffe_efficiency_coefficient&oldid=231196847 (accessed September 18, 2008). </ref> | :— Wikipedia<ref>'''Wikipedia contributors''': "Nash-Sutcliffe efficiency coefficient," Wikipedia, The Free Encyclopedia, http://en.wikipedia.org/w/index.php?title=Nash-Sutcliffe_efficiency_coefficient&oldid=231196847 (accessed September 18, 2008). </ref> | ||
=== | ===Logarithmic Nash-Sutcliffe efficiency=== | ||
:<math>E,ln = 1-\frac{\sum_{t=1}^T\left(ln(Q_o^t+\epsilon)-ln(Q_m^t+\epsilon)\right)^2}{\sum_{t=1}^T\left(ln(Q_o^t)-\overline{ln(Q_o+\epsilon)}\right)^2}</math> | |||
with | |||
:<code>E,ln</code>: Logarithmic Nash-Sutcliffe efficiency [-] | |||
:<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code> | |||
:<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code> | |||
:<code>ε</code>: small constant set to 1% of the average value of <code>Q<sub>o</sub></code> as recommended by {{:Literatur:Pushpalatha_2012}}. | |||
===Kling-Gupta efficiency=== | |||
:<math>\text{KGE} = 1 - \sqrt{ (r - 1)^2 + (\beta - 1)^2 + (\gamma - 1)^2 }</math> | |||
:with | |||
::<code>r</code>: correlation coefficient | |||
::<code>β</code>: bias ratio | |||
::<code>γ</code>: variability ratio | |||
<code>-∞ ≤ KGE ≤ 1</code>. Larger is better. | |||
Reference: {{:Literatur:Kling_2012|Kling et al. 2012}} | |||
===Hydrologic deviation=== | |||
:<math>D = 200 \cdot \frac{\sum_{t=1}^T{|Q_m^t - Q_o^t| \cdot Q_o^t}}{n \cdot {Q_{o,max}}^2}</math> | :<math>D = 200 \cdot \frac{\sum_{t=1}^T{|Q_m^t - Q_o^t| \cdot Q_o^t}}{n \cdot {Q_{o,max}}^2}</math> | ||
mit | mit | ||
:<code>D</code>: | :<code>D</code>: Hydrologic deviation [-] | ||
:<code>Q<sub>o</sub><sup>t</sup></code>: | :<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code> | ||
:<code>Q<sub>m</sub><sup>t</sup></code>: | :<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code> | ||
:<code>n</code>: | :<code>n</code>: Number of values | ||
:<code>Q<sub>o,max</sub></code>: | :<code>Q<sub>o,max</sub></code>: observed maximum | ||
<blockquote> | <blockquote> | ||
Line 70: | Line 113: | ||
:— {{:Literatur:Schultz_1968|Schultz (1968), S.53}} | :— {{:Literatur:Schultz_1968|Schultz (1968), S.53}} | ||
==== | ====Rating==== | ||
{|cellpadding="5" cellspacing="0" border="0" class="standard" | {|cellpadding="5" cellspacing="0" border="0" class="standard stripes" | ||
|- | |||
! Deviation !! Rating | |||
|- | |- | ||
| 0 - 3 || very good | |||
|- | |- | ||
| 3 - 10 || good | |||
| 3 - 10 || | |||
|- | |- | ||
| 10 - 18 || | | 10 - 18 || usable | ||
|} | |} | ||
: — {{:Literatur:Schultz_1968}} | : — {{:Literatur:Schultz_1968}} | ||
== | ==Notes== | ||
The time series being compared are cleaned before conducting the analysis, i.e. they are cut to each other's extents and all non-coincident nodes and nodes that have a NaN value in one of the time series are discarded. | |||
== | ==Literature== | ||
<references/> | <references/> | ||
[[ | [[Category:BlueM.Wave|G]] | ||
[[Category:Analysis functions|G]] |
Latest revision as of 23:32, 4 October 2023
Wave | Download | Development
Description
GoodnessOfFit calculates various goodness of fit indicators for one or more "simulated" time series in relation to one "observed" time series.
Optionally, the analysis can be performed for individual hydrologic years.
The indicators "Volume error", "Nash-Sutcliffe efficiency", "Logarithmic Nash-Sutcliffe efficiency", "Kling-Gupta efficiency" and "Coefficient of correlation" are displayed in a radar chart. The full set of indicators is output to a result table.
Indicators
Volume error
- [math]\displaystyle{ m = 100 \cdot \frac{\sum_{t=1}^T{(Q_m^t - Q_o^t)}}{\sum_{t=1}^T{Q_o^t}} }[/math]
with:
m
: Volume error [%]Qot
: observed value at timet
Qmt
: simulated value at timet
Sum of squared errors
- [math]\displaystyle{ F^2 = \sum_{t=1}^T{\left(Q_o^t - Q_m^t\right)^2} }[/math]
with
F²
: Sum of squared errorsQot
: observed value at timet
Qmt
: simulated value at timet
Correlation coefficient / coefficient of determination
- [math]\displaystyle{ r = \frac{s_{o,m}}{s_o \cdot s_m} }[/math]
with
- [math]\displaystyle{ s_{o,m} = \frac{1}{n - 1} \sum_{t=1}^T{(Q_o^t - \overline{Q_o}) \cdot (Q_m^t - \overline{Q_m})} }[/math]
- [math]\displaystyle{ s_o = \sqrt{\frac{1}{n - 1} \sum_{t=1}^T{(Q_o^t - \overline{Q_o})^2}} }[/math]
- [math]\displaystyle{ s_m = \sqrt{\frac{1}{n - 1} \sum_{t=1}^T{(Q_m^t - \overline{Q_m})^2}} }[/math]
with
r
: correlation coefficient (-1 ≤ r ≤ 1
)r²
: coefficient of determination (0 ≤ r² ≤ 1
)so,m
: covarianceso
: standard deviation of observed valuessm
: standard deviation of simulated valuesQot
: observed value at timet
Qmt
: simulated value at timet
n
: Number of valuesQo
: observed averageQm
: simulated average
Rating
Coefficient of determination | Rating |
---|---|
< 0.2 | unsatisfactory |
0.2 - 0.4 | satisfactory |
0.4 - 0.6 | good |
0.6 - 0.8 | very good |
> 0.8 | excellent |
Nash-Sutcliffe efficiency
- [math]\displaystyle{ E = 1-\frac{\sum_{t=1}^T\left(Q_o^t-Q_m^t\right)^2}{\sum_{t=1}^T\left(Q_o^t-\overline{Q_o}\right)^2} }[/math] [1]
with
E
: Nash-Sutcliffe efficiency [-]Qo
: observed averageQot
: observed value at timet
Qmt
: simulated value at timet
Nash-Sutcliffe efficiencies can range from -∞ to 1. An efficiency of 1 (E=1) corresponds to a perfect match of modeled discharge to the observed data. An efficiency of 0 (E=0) indicates that the model predictions are as accurate as the mean of the observed data, whereas an efficiency less than zero (-∞<E<0) occurs when the observed mean is a better predictor than the model. Essentially, the closer the model efficiency is to 1, the more accurate the model is.
- — Wikipedia[2]
Logarithmic Nash-Sutcliffe efficiency
- [math]\displaystyle{ E,ln = 1-\frac{\sum_{t=1}^T\left(ln(Q_o^t+\epsilon)-ln(Q_m^t+\epsilon)\right)^2}{\sum_{t=1}^T\left(ln(Q_o^t)-\overline{ln(Q_o+\epsilon)}\right)^2} }[/math]
with
E,ln
: Logarithmic Nash-Sutcliffe efficiency [-]Qot
: observed value at timet
Qmt
: simulated value at timet
ε
: small constant set to 1% of the average value ofQo
as recommended by Pushpalatha et al. (2012)[3].
Kling-Gupta efficiency
- [math]\displaystyle{ \text{KGE} = 1 - \sqrt{ (r - 1)^2 + (\beta - 1)^2 + (\gamma - 1)^2 } }[/math]
- with
r
: correlation coefficientβ
: bias ratioγ
: variability ratio
-∞ ≤ KGE ≤ 1
. Larger is better.
Reference: Kling et al. 2012[4]
Hydrologic deviation
- [math]\displaystyle{ D = 200 \cdot \frac{\sum_{t=1}^T{|Q_m^t - Q_o^t| \cdot Q_o^t}}{n \cdot {Q_{o,max}}^2} }[/math]
mit
D
: Hydrologic deviation [-]Qot
: observed value at timet
Qmt
: simulated value at timet
n
: Number of valuesQo,max
: observed maximum
[Die hydrologische Deviation] kann verstanden werden als gewogene mittlere Abweichung, angegeben in Prozent des jeweiligen Spitzenabflusses. Bei völliger Übereinstimmung der beiden Kurven würde sich somit die Deviation zu Null ergeben; bei Vorhandensein der gemessenen Kurve (in Dreiecksform) und Nichtvorhandensein der gerechneten Kurve (alle Ordinaten gleich Null) ergäbe sich eine Deviation von 50,0 — um nur zwei Extremfälle zu nennen.
- — Schultz (1968), S.53[5]
Rating
Deviation | Rating |
---|---|
0 - 3 | very good |
3 - 10 | good |
10 - 18 | usable |
- — Schultz (1968)[5]
Notes
The time series being compared are cleaned before conducting the analysis, i.e. they are cut to each other's extents and all non-coincident nodes and nodes that have a NaN value in one of the time series are discarded.
Literature
- ↑ Nash, J. E. and Sutcliffe, J. V. (1970): River flow forecasting through conceptual models part I — A discussion of principles, Journal of Hydrology, 10 (3), 282–290, DOI:10.1016/0022-1694(70)90255-6.
- ↑ Wikipedia contributors: "Nash-Sutcliffe efficiency coefficient," Wikipedia, The Free Encyclopedia, http://en.wikipedia.org/w/index.php?title=Nash-Sutcliffe_efficiency_coefficient&oldid=231196847 (accessed September 18, 2008).
- ↑ Pushpalatha, Raji, Perrin, Charles, Le Moine, Nicolas, Andréassian, Vazken (2012): A review of efficiency criteria suitable for evaluating low-flow simulations, Journal of Hydrology, Volumes 420–421, 2012, Pages 171-182, ISSN 0022-1694, https://doi.org/10.1016/j.jhydrol.2011.11.055.
- ↑ Kling, H., Fuchs, M., Paulin, M. (2012): Runoff conditions in the upper Danube basin under an ensemble of climate change scenarios, Journal of Hydrology, Volumes 424–425, Pages 264-277, ISSN 0022-1694, https://doi.org/10.1016/j.jhydrol.2012.01.011.
- ↑ 5.0 5.1 Schultz, G. A. (1968): Bestimmung theoretischer Abflußganglinien durch elektronische Berechnung von Niederschlagskonzentration und Retention (HYREUN-Verfahren), Versuchsanstalt für Wasserbau der Technischen Hochschule München, Bericht Nr. 11, [IHWB-Signatur: 10 WBW 11]