RMSE'nin güven aralığı


20

Bir popülasyondan veri noktası örneği aldım. Bu noktaların her biri gerçek bir değere (yer gerçeğinden bilinir) ve tahmini bir değere sahiptir. Daha sonra her örneklenen nokta için hatayı hesaplayıp numunenin RMSE'sini hesaplıyorum.n

Daha sonra örnek boyutuna bağlı olarak bu RMSE etrafında bir çeşit güven aralığını nasıl çıkarabilirim ?n

RMSE yerine ortalamayı kullansaydım, standart denklemi kullanabileceğim için bunu yaparken bir sorunum olmazdı

m=Zσn

ama bunun ortalamadan ziyade RMSE için geçerli olup olmadığını bilmiyorum. Bunu adapte edebilmemin bir yolu var mı?

( Bu soruyu gördüm , ancak popülasyonumun normal olarak dağıtılıp dağıtılmadığı konusunda sorunum yok, bu sorunun cevabı budur)


"Örneğin RMSE'sini hesapladığınızda" özellikle neyi hesaplıyorsunuz? O RMSE mı , gerçek değerler arasında tahmin edilen değerler, ya farklılıklarına?
whuber

2
Farkların RMSE'sini, yani gerçek ve tahmini değerler arasındaki kare farkların ortalamasının kare kökünü hesaplıyorum.
robintw

Eğer 'temel gerçeği' biliyorsanız (bunun gerçekte ne anlama geldiğinden emin olmasam da), neden RMSE'deki belirsizliğe ihtiyacınız var? Temel gerçeğe sahip olmadığınız durumlar hakkında bir tür çıkarım kurmaya mı çalışıyorsunuz? Bu bir kalibrasyon sorunu mu?
Glen_b-Monica

@ Glen_b: Evet, tam da bunu yapmaya çalışıyoruz. Sadece örneklem için tüm popülasyon için temel gerçeğe sahip değiliz. Daha sonra örnek için bir RMSE hesaplıyoruz ve popülasyonun RMSE'sini çıkarmak için bu örneği kullandığımız için bu konuda güven aralıklarına sahip olmak istiyoruz.
robintw

Yanıtlar:


15

Benzer bir akıl yürütme ile burada , ben belirli koşullar altında sorunuza bir cevap vermek mümkün olabilir.

Let sizin için de geçerlidir değer veri noktasına ve tahmini değer. Tahmini ve gerçek değerler arasındaki farklarınxiithx^i

  1. ortalama sıfır (yani etrafında dağıtılır )x^ixi

  2. Normal dağılımı takip et

  3. ve hepsi aynı standart sapmaya sahiptirσ

Kısacası:

x^ixiN(0,σ2),

için gerçekten bir güven aralığı istiyorsunuz .σ

Yukarıdaki varsayımlar true ( değil ) dereceli bir dağılımını takip ediyor özgürlük. Bu şu anlama gelir

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

Bu nedenle, sizin güven aralığınızdır.

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

İşte durumunuzu simüle eden bir python programı

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

Umarım yardımcı olur.

Varsayımların geçerli olup olmadığından emin değilseniz veya yazdıklarımı farklı bir yöntemle karşılaştırmak istiyorsanız, her zaman önyüklemeyi deneyebilirsiniz .


1
Sanırım yanılıyorsunuz - RMSE için CI istiyor, değil . Ve ben de istiyorum :)σ
Meraklı

1
Yanlış olduğumu düşünmüyorum. Sadece şöyle düşünün: MSE aslında . Tek fark bölün olmasıdır ve Eğer çıkarılarak olmadığı için numune burası. RMSE daha sonra karşılık gelir . Bu nedenle, RMSE nüfusu ve bunun için bir CI istersiniz. Ben de öyle türettim. Aksi takdirde sorununuzu tamamen yanlış anlamalıyım. MSE=σ^2=1ni=1n(xix^i)2nn1σσ
fabee

10

Fabee'nin cevabındaki mantık, RMSE'ye değil , STDE'ye (hatanın standart sapması) uygulandığında doğru görünüyor. Benzer bir isimlendirme kullanarak, her veri kaydını temsil eden bir indeks, gerçek değer ve bir ölçüm veya tahmindir.i=1,,nxix^i

Hata : EĞİLİMİ, MSE (ortalama kare hatası) ve RMSE tarafından verilmektedir ϵi

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

Bu tanımları kabul ederek, BIAS örnek ortalamasına karşılık gelir , ancak MSE önyargılı örnek varyansı değildir. Bunun yerine: veya hem BIAS hem de RMSE hesaplanmışsa, O Not önyargılı örnek varyans yerine kullanılıyor tarafsız MSE ve RMSE için verilen önceki tanımlarla tutarlılığı korumak için.ϵ

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

Dolayısıyla, benim görüşüme göre fabee tarafından oluşturulan güven aralıkları , STDE'nin standart sapmasına işaret etmektedir. Benzer şekilde, BIAS için z skoru (veya ise t skoru ) ve temelinde güven aralıkları oluşturulabilir.ϵn<30STDE/n


2
Haklısın, ama cevabımın bir kısmını kaçırdın. Temelde BIAS = 0 olduğunu varsaydım (bkz. Varsayım 1). Bu durumda, gibi . Her iki yana ve olan ve iki toplamı için yakın bir form çözümü mevcuttur RVs, muhtemelen durum için yakın bir şekilde güven aralığını türetebilirsiniz varsayım 1 olmasından anlayabilir. Bunu yapar ve cevabınızı güncellerseniz, kesinlikle onaylayacağım. RMSE2=STDE2RMSE2BIAS2χ2χ2
Fabee

0

σ(RMSE^)/RMSE=12n
n
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.