Learn R Programming

ensembleBMA (version 2.0)

crpsNormal: Continuous Ranked Probability Score for Normal Ensemble Data

Description

Computes the continuous ranked probability score for a normal ensemble BMA forecasting model.

Usage

crpsNormal( sd, weights, biasCoefs, ensembleData)

Arguments

sd
Standard deviation for an ensemble BMA forecasting model. This will be a scalar if the variances are assumed equal across the ensemble, and otherwise a vector.
weights
Weights for the ensemble BMA forecasting model.
biasCoefs
Bias coefficients for the ensemble BMA forecasting model.
ensembleData
An ensembleData object giving including ensemble forecasts and observations associated with the ensemble BMA model.

Value

  • The mean of the continuous ranked probability scores for ensembleData according to the ensemble BMA model specified by sd, weights and biasCoefs.

Details

This function is mainly intended for internal use by ensembleBMA and forecastBMA with the minCRPS option.

References

D. A. Unger, A method to estimate the continuous ranked probability score, Preprints of the Ninth Conference on Probability and Statistics in Atmospheric Sciences, Virginia Beach, VA USA, 206-213, American Meteorological Society.

H. Hersbach, Decomposition of the continuous ranked probability score for ensemble prediction systems, Weather and Forecasting 15, 559-570.

T. Gneiting and A. E. Raftery, Strictly proper scoring rules, prediction and estimation, Technical Report No. 463R, Department of Statistics, University of Washington, November 2006 (to appear in Journal of the American Statistical Association).

See Also

ensembleBMAnormal, forecastBMAnormal

Examples

Run this code
data(slp)

 slpData <- ensembleData(forecasts = slp[c("AVN","GEM","ETA","NGM","NOGAPS")],
                         observations = slp$obs, dates = slp$date)

## default training data for the 32nd date
  trainDat <- trainingData(slpData, date = sort(unique(slpData$dates))[32],
                           trainingRule = list(length=30, lag=2))
  slpFitTD <- fitBMAnormal(trainDat)

  slp32 <- slpData[sort(unique(slpData$dates))[32], ]
  crpsNormal( slpFitTD$sd, slpFitTD$weights, slpFitTD$biasCoefs, slp32)

Run the code above in your browser using DataLab