Sfondo: ho un campione che voglio modellare con una distribuzione dalla coda pesante. Ho alcuni valori estremi, tali che la diffusione delle osservazioni è relativamente grande. La mia idea era quella di modellare questo con una distribuzione Pareto generalizzata, e così ho fatto. Ora, il quantile 0,975 dei miei dati empirici (circa 100 punti dati) è inferiore al quantile 0,975 della distribuzione Pareto generalizzata che ho adattato ai miei dati. Ora, ho pensato, c'è un modo per verificare se questa differenza è qualcosa di cui preoccuparsi?
Sappiamo che la distribuzione asintotica dei quantili è data come:
Quindi ho pensato che sarebbe stata una buona idea intrattenere la mia curiosità cercando di tracciare le bande di confidenza al 95% attorno al quantile 0,975 di una distribuzione Pareto generalizzata con gli stessi parametri che ho ottenuto dall'adattamento dei miei dati.
Come vedi, stiamo lavorando con alcuni valori estremi qui. E poiché la diffusione è così enorme, la funzione di densità ha valori estremamente piccoli, portando le bande di confidenza nell'ordine di usando la varianza della formula di normalità asintotica sopra:
Quindi, questo non ha alcun senso. Ho una distribuzione con solo risultati positivi e gli intervalli di confidenza includono valori negativi. Quindi qualcosa sta succedendo qui. Se calcolo le bande attorno allo 0,5 quantile, le bande non sono così grandi, ma comunque enormi.
Procedo per vedere come va con un'altra distribuzione, vale a dire la distribuzione . Simula osservazioni da una distribuzione e controlla se i quantili si trovano all'interno delle bande di confidenza. Faccio questo 10000 volte per vedere le proporzioni dei quantili 0,975 / 0,5 delle osservazioni simulate che si trovano all'interno delle bande di confidenza.
################################################
# Test at the 0.975 quantile
################################################
#normal(1,1)
#find 0.975 quantile
q_norm<-qnorm(0.975, mean=1, sd=1)
#find density value at 97.5 quantile:
f_norm<-dnorm(q_norm, mean=1, sd=1)
#confidence bands absolute value:
band=1.96*sqrt((0.975*0.025)/(100*(f_norm)^2))
u=q_norm+band
l=q_norm-band
hit<-1:10000
for(i in 1:10000){
d<-rnorm(n=100, mean=1, sd=1)
dq<-quantile(d, probs=0.975)
if(dq[[1]]>=l & dq[[1]]<=u) {hit[i]=1} else {hit[i]=0}
}
sum(hit)/10000
#################################################################3
# Test at the 0.5 quantile
#################################################################
#using lower quantile:
#normal(1,1)
#find 0.7 quantile
q_norm<-qnorm(0.7, mean=1, sd=1)
#find density value at 0.7 quantile:
f_norm<-dnorm(q_norm, mean=1, sd=1)
#confidence bands absolute value:
band=1.96*sqrt((0.7*0.3)/(100*(f_norm)^2))
u=q_norm+band
l=q_norm-band
hit<-1:10000
for(i in 1:10000){
d<-rnorm(n=100, mean=1, sd=1)
dq<-quantile(d, probs=0.7)
if(dq[[1]]>=l & dq[[1]]<=u) {hit[i]=1} else {hit[i]=0}
}
sum(hit)/10000
EDIT : ho corretto il codice ed entrambi i quantili danno circa il 95% di hit con n = 100 e con . Se accendo la deviazione standard a , allora ci sono pochi successi all'interno delle bande. Quindi la domanda è ancora valida.
EDIT2 : ritiro ciò che ho affermato nel primo EDIT sopra, come sottolineato nei commenti di un gentiluomo disponibile. In realtà sembra che questi CI siano buoni per la distribuzione normale.
Questa normalità asintotica della statistica dell'ordine è solo una pessima misura da usare, se si vuole verificare se è probabile un certo quantile osservato, data una certa distribuzione candidata?
Intuitivamente, mi sembra che ci sia una relazione tra la varianza della distribuzione (che si pensa abbia creato i dati, o nel mio esempio R, che sappiamo aver creato i dati) e il numero di osservazioni. Se hai 1000 osservazioni e un'enorme varianza, queste bande sono cattive. Se uno ha 1000 osservazioni e una piccola varianza, queste bande avrebbero forse senso.
Qualcuno vuole chiarire questo per me?
band = 1.96*sqrt((0.975*0.025)/(100*n*(f_norm)^2))