Question about the Gilbert Skill Score #2548
-
Greetings V10.0.1 NDFD NA 840000 20240401_000000 20240401_000000 000000 20240401_000000 20240401_000000 ws m/s Z10 ws m/s Z10 URMA conus NEAREST 1 >=0.0 >=0.0 NA NA CTC 1326187 1326187 0 0 0 The contingency table is: Here is the accompanying CTS line: Scores like CSI, POD, and FAR are correctly set to either 0 or 1. The GSS is set to NA. I believe the GSS is still computable when n10=n01=n00=0 and should be GSS=1. C=(1326187 x 1326187)/1326187 = 2 Is there an issue in computing the GSS for perfect forecasts? Is there something else in the score that I am not taking into account? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
@johnlwagner this is a great question. I used some sample CTC lines (ctc.txt) to test the following call to Stat-Analysis:
And I do see the same result you report in the output. GSS = I double-checked the GSS Equation in Appendix C and reviewed the MET code in TTContingencyTable::gss(). I do see numerically why it's being reported as bad data for both. Plugging those numbers into the equations from Appendix C:
I cross-checked this information against the description of GSS provided by https://www.cawcr.gov.au/projects/verification/, and they look to be consistent. While it may be technically true that 1.0 would be a perfect score, it would seem that numerically, a perfect forecast of all hits or all correct negatives yields a value of Of course the most interesting questions usually arise in these edge cases! @ericgilleland or @bgbrowntollerud can you please weigh in here? Should the MET code be updated to report a perfect GSS score of 1.0 when the contingency table contains all hits or all correct negatives. Or should we leave the equation as-is and continue reporting |
Beta Was this translation helpful? Give feedback.
-
The Gilbert Skill Score is undefined when all data fall into the correct hits bin. The score is correctly reported as NA due to a division by zero error. |
Beta Was this translation helpful? Give feedback.
@johnlwagner this is a great question. I used some sample CTC lines (ctc.txt) to test the following call to Stat-Analysis:
And I do see the same result you report in the output. GSS =
NA
when the CTC line is perfect with all hits or perfect with all correct-negatives. If you remove the-by FCST_THRESH
option, you'll see that when the all-hits and all-correct-negative data is combined, you do get a perfect score of 1.0.I double-checked the GSS Equation in Appendix C and reviewed the MET code in TTContingencyTable::gss(). I do see numerically why it's being reported as…