Nothing
# Perfect forecast: score must equal 1.
# Worst forecast (anti-correlated): score must equal 0.
# No-skill (uncorrelated): score must equal 0.5.
# ── rank.ensembles ──────────────────────────────────────────────────────────
test_that("rank.ensembles: monotone ensembles get ascending ranks", {
fcst <- matrix(c(1, 3, 5, 2, 4, 6), 3, 2)
expect_equal(rank.ensembles(fcst), c(1, 2, 3))
})
test_that("rank.ensembles: tied ensembles get equal half-integer ranks", {
fcst <- matrix(c(1, 1, 5, 2, 2, 6), 3, 2)
expect_equal(rank.ensembles(fcst), c(1.5, 1.5, 3))
})
# ── afc.cc ──────────────────────────────────────────────────────────────────
test_that("afc.cc: perfect forecast scores 1", {
obsv <- c(1, 2, 3, 4, 5)
expect_equal(afc.cc(obsv, obsv), 1)
})
test_that("afc.cc: worst forecast scores 0", {
obsv <- c(1, 2, 3, 4, 5)
expect_equal(afc.cc(obsv, rev(obsv)), 0)
})
# ── afc.ce ──────────────────────────────────────────────────────────────────
test_that("afc.ce: perfect ensemble forecast scores 1", {
obsv <- c(1, 2, 3, 4)
fcst <- matrix(c(1, 3, 5, 7, 2, 4, 6, 8), 4, 2)
expect_equal(afc.ce(obsv, fcst), 1)
})
# ── afc.dc ──────────────────────────────────────────────────────────────────
test_that("afc.dc: perfect continuous forecast scores 1", {
obsv <- c(0, 0, 0, 1, 1, 1)
fcst <- c(1, 2, 3, 4, 5, 6)
expect_equal(afc.dc(obsv, fcst), 1)
})
test_that("afc.dc: worst continuous forecast scores 0", {
obsv <- c(1, 1, 1, 0, 0, 0)
fcst <- c(1, 2, 3, 4, 5, 6)
expect_equal(afc.dc(obsv, fcst), 0)
})
# ── afc.dd ──────────────────────────────────────────────────────────────────
test_that("afc.dd: perfect dichotomous forecast scores 1", {
obsv <- c(0, 0, 1, 1)
expect_equal(afc.dd(obsv, obsv), 1)
})
test_that("afc.dd: worst dichotomous forecast scores 0", {
obsv <- c(0, 0, 1, 1)
expect_equal(afc.dd(obsv, c(1, 1, 0, 0)), 0)
})
test_that("afc.dd: no-skill forecast scores 0.5", {
obsv <- c(0, 0, 1, 1)
fcst <- c(0, 1, 0, 1)
expect_equal(afc.dd(obsv, fcst), 0.5)
})
# ── afc.de ──────────────────────────────────────────────────────────────────
test_that("afc.de: perfect ensemble forecast scores 1", {
obsv <- c(0, 0, 1, 1)
fcst <- matrix(c(1, 2, 5, 6, 1, 2, 5, 6), 4, 2)
expect_equal(afc.de(obsv, fcst), 1)
})
# ── afc.dm ──────────────────────────────────────────────────────────────────
test_that("afc.dm: perfect polychotomous forecast scores 1", {
obsv <- c(0, 0, 1, 1)
fcst <- c(1, 1, 2, 2)
expect_equal(afc.dm(obsv, fcst, mf = 2), 1)
})
# ── afc.dp ──────────────────────────────────────────────────────────────────
test_that("afc.dp: perfect probabilistic forecast scores 1", {
obsv <- c(0, 0, 1, 1)
fcst <- c(0, 0, 1, 1)
expect_equal(afc.dp(obsv, fcst), 1)
})
test_that("afc.dp: worst probabilistic forecast scores 0", {
obsv <- c(0, 0, 1, 1)
fcst <- c(1, 1, 0, 0)
expect_equal(afc.dp(obsv, fcst), 0)
})
# ── afc.mc ──────────────────────────────────────────────────────────────────
test_that("afc.mc: perfect continuous forecast scores 1", {
obsv <- 1:3
fcst <- as.double(1:3)
expect_equal(afc.mc(obsv, fcst, m = 3), 1)
})
# ── afc.me ──────────────────────────────────────────────────────────────────
test_that("afc.me: perfect ensemble forecast scores 1", {
obsv <- 1:3
fcst <- matrix(c(1, 3, 5, 2, 4, 6), 3, 2)
expect_equal(afc.me(obsv, fcst, m = 3), 1)
})
# ── afc.mm ──────────────────────────────────────────────────────────────────
test_that("afc.mm: perfect polychotomous forecast scores 1", {
obsv <- c(1, 1, 2, 2, 3, 3)
expect_equal(afc.mm(obsv, obsv, mv = 3, mf = 3), 1)
})
# ── afc.mp ──────────────────────────────────────────────────────────────────
test_that("afc.mp: perfect probabilistic forecast scores 1", {
obsv <- 1:3
fcst <- diag(3)
expect_equal(afc.mp(obsv, fcst, m = 3), 1)
})
# ── afc.nn ──────────────────────────────────────────────────────────────────
test_that("afc.nn: perfect nominal forecast scores 1", {
obsv <- c(1, 1, 2, 2, 3, 3)
expect_equal(afc.nn(obsv, obsv, m = 3), 1)
})
# ── afc.np ──────────────────────────────────────────────────────────────────
test_that("afc.np: perfect probabilistic forecast scores 1", {
obsv <- 1:3
fcst <- diag(3)
expect_equal(afc.np(obsv, fcst, m = 3), 1)
})
# ── afc() master dispatcher ─────────────────────────────────────────────────
test_that("afc(): delegates to afc.cc, perfect forecast", {
obsv <- c(1, 2, 3, 4, 5)
expect_equal(afc(obsv, obsv, obsv.type = "c", fcst.type = "c"), 1)
})
test_that("afc(): delegates to afc.dd, perfect forecast", {
obsv <- c(0, 0, 1, 1)
expect_equal(afc(obsv, obsv, obsv.type = "d", fcst.type = "d"), 1)
})
test_that("afc(): delegates to afc.mc, perfect forecast", {
obsv <- 1:4
fcst <- as.double(1:4)
expect_equal(afc(obsv, fcst, obsv.type = "m", fcst.type = "c", m = 4), 1)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.