Intervallo di confidenza di RMSE


20

Ho preso un campione di punti dati da una popolazione. Ognuno di questi punti ha un valore vero (noto dalla verità di base) e un valore stimato. Quindi calcolo l'errore per ciascun punto campionato e quindi calcolo l'RMSE del campione.n

Come posso quindi dedurre una sorta di intervallo di confidenza attorno a questo RMSE, basato sulla dimensione del campione ?n

Se stavo usando la media, piuttosto che l'RMSE, non avrei problemi a farlo poiché posso usare l'equazione standard

m=Zσn

ma non so se questo è valido per RMSE piuttosto che per la media. C'è un modo per adattarlo?

(Ho visto questa domanda , ma non ho problemi con se la mia popolazione è normalmente distribuita, che è la risposta qui)


Che cosa stai specificamente calcolando quando "calcoli l'RMSE del campione"? È l'RMSE dei valori reali, dei valori stimati o delle loro differenze?
whuber

2
Sto calcolando l'RMSE delle differenze, ovvero calcolando la radice quadrata della media delle differenze quadrate tra i valori reali e stimati.
Robintw,

Se conosci la "verità fondamentale" (anche se non sono sicuro di cosa significhi effettivamente), perché avresti bisogno dell'incertezza in RMSE? Stai cercando di costruire una sorta di inferenza sui casi in cui non hai la verità fondamentale? È un problema di calibrazione?
Glen_b

@Glen_b: Sì, è esattamente quello che stiamo cercando di fare. Non abbiamo la verità fondamentale per l'intera popolazione, solo per il campione. Stiamo quindi calcolando un RMSE per il campione e vogliamo avere gli intervalli di confidenza su questo mentre stiamo usando questo campione per inferire l'RMSE della popolazione.
Robintw,

1
Possibile duplicato di SE di RMSE in R
Curious

Risposte:


15

Con un ragionamento simile a quello qui , potrei essere in grado di dare una risposta alla tua domanda a determinate condizioni.

Lascia che sia il tuo vero valore per il punto dati e il valore stimato. Se assumiamo che le differenze tra i valori stimati e reali abbiano i t h x ixiithx^i

  1. media zero (ovvero i sono distribuiti intorno a )xix^ixi

  2. seguire una distribuzione normale

  3. e tutti hanno la stessa deviazione standardσ

in breve:

x^ixiN(0,σ2),

allora vuoi davvero un intervallo di confidenza per .σ

Se i presupposti di cui sopra sono veri segue una distribuzione con (non ) gradi di la libertà. Questo significa χ 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α.

Pertanto, è il tuo intervallo di confidenza.

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

Ecco un programma Python che simula la tua situazione

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)),)

Spero possa aiutare.

Se non sei sicuro che le ipotesi si applichino o se desideri confrontare ciò che ho scritto con un metodo diverso, puoi sempre provare il bootstrap .


1
Penso che ti sbagli: vuole CI per RMSE, non . E lo voglio anche io :)σ
Curioso il

1
Non penso di sbagliarmi. Pensaci in questo modo: MSE è in realtà la varianza di esempio poiché . L'unica differenza è che dividi per e non per poiché non stai sottraendo la media del campione qui. L'RMSE corrisponderebbe quindi a . Pertanto, la popolazione RMSE è e per questo si desidera un elemento della configurazione . Questo è ciò che ho derivato. Altrimenti devo fraintendere completamente il tuo problema. nn-1σσMSE=σ^2=1nΣio=1n(Xio-X^io)2nn-1σσ
fabee,

10

Il ragionamento nella risposta di fabee sembra corretto se applicato allo STDE (deviazione standard dell'errore), non all'RMSE. Usando una nomenclatura simile, è un indice che rappresenta ciascun record di dati, è il valore reale e è una misura o una previsione.x i x iio=1,...,nXioX^io

L'errore , BIAS, MSE (errore quadratico medio) e RMSE sono dati da: εio

εio=X^io-Xio,BIAS=ε¯=1nΣio=1nεio,MSE=ε2¯=1nΣio=1nεio2,RMSE=MSE.

Concordando su queste definizioni, il BIAS corrisponde alla media del campione di , ma MSE non è la varianza del campione distorta. Invece: oppure, se sono stati calcolati sia BIAS che RMSE, Si noti che la varianza del campione distorta viene utilizzata al posto di quella imparziale , per mantenere la coerenza con le definizioni precedenti fornite per MSE e RMSE.ε

STDE2=(ε-ε¯)2¯=1nΣio=1n(εio-ε¯)2,
STDE2=(ε-ε¯)2¯=ε2¯-ε¯2=RMSE2-BIAS2.

Pertanto, a mio avviso, gli intervalli di confidenza stabiliti da fabee si riferiscono alla deviazione standard del campione di , STDE. Allo stesso modo, è possibile stabilire intervalli di confidenza per il BIAS in base al punteggio z (o al punteggio t se ) e.εn<30STDE/n


2
Hai ragione, ma ho perso una parte della mia risposta. Praticamente ho ipotizzato che BIAS = 0 (vedi presupposto 1). In tal caso, come derivato. Poiché sia che sono ed esiste una soluzione in formato stretto per la somma di due camper , è possibile derivare probabilmente un intervallo di confidenza in forma stretta per il caso quando l'assunto 1 viene eliminato. Se lo fai e aggiorni la tua risposta, la voterò sicuramente. R M S E 2 B I A S 2 χ 2 χ 2RMSE2=STDE2RMSE2BioUNS2χ2χ2
Fabee,

0

Dopo Faaber 1999 , l'incertezza di RMSE è data come dove è il numero di punti dati. n

σ(RMSE^)/RMSE=12n
n
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.