Intervalle de confiance de RMSE

20

J'ai pris un échantillon de points de données d'une population. Chacun de ces points a une vraie valeur (connue de la vérité terrain) et une valeur estimée. Je calcule ensuite l'erreur pour chaque point échantillonné, puis calcule le RMSE de l'échantillon.n

Comment puis-je déduire une sorte d'intervalle de confiance autour de ce RMSE, basé sur la taille de l'échantillon ?n

Si j'utilisais la moyenne, plutôt que le RMSE, je n'aurais aucun problème à le faire car je peux utiliser l'équation standard

m=Zσn

mais je ne sais pas si cela est valable pour RMSE plutôt que la moyenne. Existe-t-il un moyen de l'adapter?

(J'ai vu cette question , mais je n'ai aucun problème à savoir si ma population est normalement répartie, ce qui est la réponse là-bas)

robintw
la source
Que calculez-vous précisément lorsque vous "calculez le RMSE de l'échantillon"? Est-ce le RMSE des vraies valeurs, des valeurs estimées ou de leurs différences?
whuber
2
Je calcule le RMSE des différences, c'est-à-dire le calcul de la racine carrée de la moyenne des différences au carré entre les valeurs vraies et estimées.
robintw
Si vous connaissez la «vérité fondamentale» (bien que je ne sois pas sûr de ce que cela signifie réellement), pourquoi auriez-vous besoin de l'incertitude dans RMSE? Essayez-vous de construire une sorte d'inférence sur des cas où vous n'avez pas la vérité fondamentale? Est-ce un problème d'étalonnage?
Glen_b -Reinstate Monica
@Glen_b: Oui, c'est exactement ce que nous essayons de faire. Nous n'avons pas la vérité fondamentale pour l'ensemble de la population, juste pour l'échantillon. Nous calculons ensuite un RMSE pour l'échantillon, et nous voulons avoir les intervalles de confiance à ce sujet car nous utilisons cet échantillon pour déduire le RMSE de la population.
robintw
1
Copie possible du SE du RMSE dans R
Curieux

Réponses:

15

Avec un raisonnement similaire à celui- ci , je pourrai peut-être répondre à votre question sous certaines conditions.

Soit votre vraie valeur pour le point de données et la valeur estimée. Si nous supposons que les différences entre les valeurs estimées et vraies ont i t h x ixiithx^i

  1. signifie zéro (c'est-à-dire que les sont répartis autour de )xix^ixi

  2. suivre une distribution normale

  3. et tous ont le même écart-typeσ

en bref:

x^ixiN(0,σ2),

alors vous voulez vraiment un intervalle de confiance pour .σ

Si les hypothèses ci-dessus sont vraies suit une distribution avec (pas ) degrés de liberté. Ça signifie χ 2 n nn-1

nRMSE2σ2=n1ni(xi^xi)2σ2
χn2nn1

P(χα2,n2nRMSE2σ2χ1α2,n2)=1αP(nRMSE2χ1α2,n2σ2nRMSE2χα2,n2)=1αP(nχ1α2,n2RMSEσnχα2,n2RMSE)=1α.

Par conséquent, est votre intervalle de confiance.

[nχ1α2,n2RMSE,nχα2,n2RMSE]

Voici un programme python qui simule votre situation

from scipy import stats
from numpy import *
s = 3
n=10
c1,c2 = stats.chi2.ppf([0.025,1-0.025],n)
y = zeros(50000)
for i in range(len(y)):
    y[i] =sqrt( mean((random.randn(n)*s)**2))

print "1-alpha=%.2f" % (mean( (sqrt(n/c2)*y < s) & (sqrt(n/c1)*y > s)),)

J'espère que cela pourra aider.

Si vous ne savez pas si les hypothèses s'appliquent ou si vous voulez comparer ce que j'ai écrit à une autre méthode, vous pouvez toujours essayer le bootstrap .

fabee
la source
1
Je pense que vous vous trompez - il veut CI pour RMSE, pas . Et je le veux aussi :)σ
Curieux
1
Je ne pense pas me tromper. Pensez-y comme ceci: le MSE est en fait la variance de l'échantillon puisque . La seule différence est que vous divisez par et non par puisque vous ne soustrayez pas la moyenne de l'échantillon ici. Le RMSE correspondrait alors à . Par conséquent, la population RMSE est et vous voulez un CI pour cela. C'est ce que j'ai dérivé. Sinon, je dois complètement mal comprendre votre problème. nn-1σσMSE=σ^2=1nje=1n(Xje-X^je)2nn-1σσ
fabee
10

Le raisonnement de la réponse de fabee semble correct s'il est appliqué au STDE (écart type de l'erreur), pas au RMSE. En utilisant une nomenclature similaire, est un index représentant chaque enregistrement de données, est la vraie valeur et est une mesure ou une prédiction.je=1,,nXjeX^je

L'erreur , BIAS, MSE (erreur quadratique moyenne) et RMSE sont données par: ϵje

ϵje=X^je-Xje,BIAS=ϵ¯=1nje=1nϵje,MSE=ϵ2¯=1nje=1nϵje2,RMSE=MSE.

En accord avec ces définitions, le BIAS correspond à la moyenne de l'échantillon de , mais MSE n'est pas la variance de l'échantillon biaisé. Au lieu de cela: ou, si BIAS et RMSE ont été calculés, Il est à noter que la variance de l'échantillon biaisé est utilisée à la place de la non biaisée , pour maintenir la cohérence avec les définitions précédentes données pour le MSE et le RMSE.ϵ

STDE2=(ϵ-ϵ¯)2¯=1nje=1n(ϵje-ϵ¯)2,
STDE2=(ϵ-ϵ¯)2¯=ϵ2¯-ϵ¯2=RMSE2-BIAS2.

Ainsi, à mon avis, les intervalles de confiance établis par fabee se réfèrent à l'exemple d'écart-type de , STDE. De même, des intervalles de confiance peuvent être établis pour le BIAS sur la base du score z (ou du score t si ) et.ϵn<30STDE/n

cvr
la source
2
Vous avez raison, mais vous avez manqué une partie de ma réponse. J'ai essentiellement supposé que BIAS = 0 (voir l'hypothèse 1). Dans ce cas, comme vous l'avez dérivé. Étant donné que et sont et qu'il existe une solution de forme proche pour la somme de deux RV, vous pouvez probablement dériver un intervalle de confiance de forme proche pour le cas où l'hypothèse 1 est supprimée. Si vous faites cela et mettez à jour votre réponse, je vais certainement le voter. RMSE2=STE2RMSE2BjeUNES2χ2χ2
fabee
0

Après Faaber 1999 , l'incertitude de RMSE est donnée par où est le nombre de points de données.

σ(RMSE^)/RMSE=12n
n
LKlevin
la source