Intervalo de confiança do RMSE


20

Tirei uma amostra de n pontos de dados de uma população. Cada um desses pontos tem um valor verdadeiro (conhecido da verdade do terreno) e um valor estimado. Em seguida, calculo o erro para cada ponto amostrado e, em seguida, calculo o RMSE da amostra.

Como deduzir então algum tipo de intervalo de confiança em torno desse RMSE, com base no tamanho da amostra n ?

Se eu estivesse usando a média, e não o RMSE, não teria problemas em fazer isso, pois posso usar a equação padrão

m=Zσn

mas não sei se isso é válido para o RMSE e não a média. Existe alguma maneira de eu adaptar isso?

(Vi essa pergunta , mas não tenho problemas em saber se minha população está normalmente distribuída, e é com isso que a resposta lida)


O que você está computando especificamente quando "calcula o RMSE da amostra"? É o RMSE dos valores reais, dos valores estimados ou de suas diferenças?
whuber

2
Estou calculando o RMSE das diferenças, ou seja, calculando a raiz quadrada da média das diferenças quadráticas entre os valores verdadeiros e estimados.
precisa saber é

Se você conhece a 'verdade básica' (embora eu não tenha certeza do que isso realmente significa), por que você precisaria da incerteza no RMSE? Você está tentando construir algum tipo de inferência sobre casos em que você não tem a verdade básica? Este é um problema de calibração?
Glen_b -Reinstala Monica

@Glen_b: Sim, é exatamente isso que estamos tentando fazer. Não temos a verdade básica para toda a população, apenas para a amostra. Estamos então calculando um RMSE para a amostra e queremos ter intervalos de confiança nisso, pois estamos usando essa amostra para inferir o RMSE da população.
robintw

1
Possível duplicata do SE da RMSE em R
Curioso

Respostas:


15

Com um raciocínio semelhante ao apresentado aqui , posso responder a sua pergunta sob certas condições.

Let ser o seu verdadeiro valor para o i t h ponto de dados e x i o valor estimado. Se assumirmos que as diferenças entre os valores estimado e verdadeiro têmxiithx^i

  1. média zero (isto é, o x i são distribuídos em torno x i )x^ixi

  2. siga uma distribuição normal

  3. e todos têm o mesmo desvio padrão σ

em resumo:

x^ixiN(0,σ2),

então você realmente quer um intervalo de confiança para .σ

Se as premissas acima forem verdadeiras, segue umadistribuiçãoχ 2 n comn(nãon-1) graus de liberdade. Isso significa

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

Portanto, é o seu intervalo de confiança.

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

Aqui está um programa python que simula sua situação

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

Espero que ajude.

Se você não tem certeza se as suposições se aplicam ou se deseja comparar o que escrevi com um método diferente, você sempre pode tentar iniciar .


1
Eu acho que você está errado - ele quer CI para RMSE, não . E eu também quero :)σ
Curious

1
MSE=σ^2=1ni=1n(xix^i)2nn1σσ

10

The reasoning in the answer by fabee seems correct if applied to the STDE (standard deviation of the error), not the RMSE. Using similar nomenclature, i=1,,n is an index representing each record of data, xi is the true value and x^i is a measurement or prediction.

The error ϵi, BIAS, MSE (mean squared error) and RMSE are given by:

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

Agreeing on these definitions, the BIAS corresponds to the sample mean of ϵ, but MSE is not the biased sample variance. Instead:

STDE2=(ϵϵ¯)2¯=1ni=1n(ϵiϵ¯)2,
or, if both BIAS and RMSE were computed,
STDE2=(ϵϵ¯)2¯=ϵ2¯ϵ¯2=RMSE2BIAS2.
Note that the biased sample variance is being used instead of the unbiased, to keep consistency with the previous definitions given for the MSE and RMSE.

Thus, in my opinion the confidence intervals established by fabee refer to the sample standard deviation of ϵ, STDE. Similarly, confidence intervals may be established for the BIAS based on the z-score (or t-score if n<30) and STDE/n.


2
Você está certo, mas perdeu uma parte da minha resposta. Eu basicamente assumi que o BIAS = 0 (veja a suposição 1). Nesse caso, RMSE2=STDE2como você derivou. Desde que ambosRMSE2 e BEuUMAS2 são χ2 e existe uma solução de formulário próximo para a soma de dois χ2 RVs, you can probably derive a close form confidence interval for the case when assumption 1 is dropped. If you do that and update your answer, I'll definitely upvote it.
fabee

0

Following Faaber 1999, the uncertainty of RMSE is given as

σ(RMSE^)/RMSE=12n
where n is the number of datapoints.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.