Przedział ufności RMSE

20

Pobrałem próbkę punktów danych z populacji. Każdy z tych punktów ma prawdziwą wartość (znaną z podstawowej prawdy) i wartość szacunkową. Następnie obliczam błąd dla każdego próbkowanego punktu, a następnie obliczam RMSE próbki.n

Jak mogę wnioskować o pewnym przedziale ufności wokół tego RMSE na podstawie wielkości próbki ?n

Gdybym używał średniej, a nie RMSE, nie miałbym problemu z tym, ponieważ mogę użyć standardowego równania

m=Zσn

ale nie wiem, czy dotyczy to RMSE, a nie średniej. Czy mogę to jakoś dostosować?

(Widziałem to pytanie , ale nie mam problemów z tym, czy moja populacja jest normalnie rozmieszczona, z tym właśnie ma do czynienia odpowiedź)

robintw
źródło
Co konkretnie obliczasz, gdy „obliczasz RMSE próbki”? Czy to RMSE z prawdziwych wartości, o wartości szacunkowych, albo ich różnice?
whuber
2
Obliczam RMSE różnic, czyli obliczam pierwiastek kwadratowy średniej kwadratowych różnic między wartościami prawdziwą a oszacowaną.
robintw
Jeśli znasz „prawdę podstawową” (choć nie jestem pewien, co to właściwie oznacza), dlaczego potrzebowałbyś niepewności w RMSE? Czy próbujesz wyciągnąć jakieś wnioski na temat przypadków, w których nie masz podstawowej prawdy? Czy to problem z kalibracją?
Glen_b
@Glen_b: Tak, właśnie to staramy się zrobić. Nie mamy prawdziwej prawdy dla całej populacji, tylko dla próbki. Następnie obliczamy RMSE dla próbki i chcemy mieć dla tego przedziały ufności, ponieważ używamy tej próbki do wnioskowania o RMSE populacji.
robintw
1
Możliwy duplikat SE RMSE w R
Ciekawy

Odpowiedzi:

15

Z podobnym uzasadnieniem, jak tutaj , mogę pod pewnymi warunkami udzielić odpowiedzi na twoje pytanie.

Niech być twoja prawdziwa wartość dla í t h punkcie danych i x I szacunkowej wartości. Jeśli założymy, że istnieją różnice między wartościami szacowanymi i prawdziwymixjajathx^ja

  1. średnią zero (czyli x i są rozmieszczone wokół x I )x^ixi

  2. postępuj zgodnie z rozkładem normalnym

  3. i wszystkie mają to samo odchylenie standardowe σ

w skrócie:

x^ixiN(0,σ2),

wtedy naprawdę potrzebujesz przedziału ufności dla .σ

Jeśli powyższe założenia są prawdziwe marozkładχ 2 n przyn(nien-1) stopniach swobody. To znaczy

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α.

Dlatego to przedział ufności.

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

Oto program python, który symuluje twoją sytuację

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

Mam nadzieję, że to pomaga.

Jeśli nie masz pewności, czy założenia mają zastosowanie, lub jeśli chcesz porównać to, co napisałem z inną metodą, zawsze możesz spróbować załadować .

fabee
źródło
1
Myślę, że się mylisz - on chce CI dla RMSE, a nie . I ja też tego chcę :)σ
Ciekawy
1
MSE=σ^2=1ni=1n(xix^i)2nn1σσ
10

i=1,,nxix^i

ϵi

ϵi=x^ixi,BIAS=ϵ¯=1ni=1nϵi,MSE=ϵ2¯=1ni=1nϵi2,RMSE=MSE.

ϵ

STDE2=(ϵϵ¯)2¯=1ni=1n(ϵiϵ¯)2,
STDE2=(ϵϵ¯)2¯=ϵ2¯ϵ¯2=RMSE2BIAS2.

ϵn<30STDE/n

CVR
źródło
2
RMSE2=STDE2RMSE2BIAS2χ2χ2
fabee
0

σ(RMSE^)/RMSE=12n
n
LKlevin
źródło