ご存知のように、ブライアスコアはキャリブレーションを測定し、平均二乗誤差です。 B¯=n−1∑(y^i−yi)2、予測の間、 y^, と応答、 y。ブライアースコアは平均値であるため、2つのブライアースコアを比較することは、基本的には平均を比較することであり、好きなようにそれを空想することができます。私は2つのことを提案し、3つ目を示します。
1つのオプション:t検定を行う
手段の比較を聞いたときの私の即時の対応は、t検定を行うことです。平方エラーは通常、通常は分散されないため、これが最も強力なテストではない可能性があります。極端な例では問題ないようです。以下でp1
は、MSEがより大きい対立仮説をテストしp2
ます。
y <- rbinom(100,1,1:100/100)
p1 <- 1:100/10001
p2 <- 1:100/101
squares_1 <- (p1 - y)^2
squares_2 <- (p2 - y)^2
t.test(squares_1, squares_2, paired=T, alternative="greater")
#>
#> Paired t-test
#>
#> data: squares_1 and squares_2
#> t = 4.8826, df = 99, p-value = 2.01e-06
#> alternative hypothesis: true difference in means is greater than 0
#> 95 percent confidence interval:
#> 0.1769769 Inf
#> sample estimates:
#> mean of the differences
#> 0.2681719
非常に低いp値が得られます。2組の予測は同じ結果と比較するため、観察のための観察として、対応のあるt検定を行いました。
別のオプション:順列テスト
二乗誤差の分布が気になる場合、おそらくt検定の仮定をしたくないでしょう。たとえば、順列検定で同じ仮説を検定できます。
library(plyr)
observed <- mean(squares_1) - mean(squares_2)
permutations <- raply(500000, {
swap <- sample(c(T, F), 100, replace=T)
one <- squares_1
one[swap] <- squares_2[swap]
two <- squares_2
two[swap] <- squares_1[swap]
mean(one) - mean(two)
})
hist(permutations, prob=T, nclass=60, xlim=c(-.4, .4))
abline(v=observed, col="red")
# p-value. I add 1 so that the p-value doesn't come out 0
(sum(permutations > observed) + 1)/(length(permutations) + 1)
#> [1] 1.999996e-06
2つのテストは密接に一致しているようです。
他のいくつかの答え
MSEポイントの比較でこのサイトのクイック検索ディーボルト・マリアーノテスト(参照ここで答えをし、ここでコメント)。これは単にWaldの検定のように見え、上記のt検定と同様に実行されると思います。