| 1234567891011121314151617181920212223 |
- #lang racket/base
- ; scoring_rules-test.rkt
- ; Unit tests for Scoring Rules
- (require rackunit
- "../code/scoring_rules.rkt")
- ; Brier Score Checks
- ; perfect prediction for event occurring
- (check-equal? (brier-score 1 1) 0 "Perfect prediction, event occurs")
- ; wrong prediction, event occurs
- (check-equal? (brier-score 0 1) 1 "Predicted impossible, event occurs")
- ; wrong prediction, event doesn't occur
- (check-equal? (brier-score 1 0) 1 "Predicted to happen, event doesn't happen")
- ; 50/50 scores
- (check-equal? (brier-score 0.5 1) 0.25 "50/50 prediction, event occurs")
- (check-equal? (brier-score 0.5 0) 0.25 "50/50 prediction, event doesn't occur")
- ; Logarithmic Score checks
- (check-within (log-score 0.8 1) (log 0.8) 1e-8 "80% forecast, event occurs")
- (check-within (log-score 0.8 0) (log 0.2) 1e-8 "80% forecast, event doesn't occur")
|