BOUNTY:
La generosità sarà assegnata a qualcuno che fornisce un riferimento a qualsiasi documento pubblicato che utilizza o menziona lo stimatore seguito.
Motivazione:
Questa sezione probabilmente non è importante per te e sospetto che non ti aiuterà a ottenere la generosità, ma dato che qualcuno ha chiesto della motivazione, ecco a cosa sto lavorando.
Sto lavorando a un problema di teoria dei grafi statistici. Il grafico denso standard che limita l'oggetto è una funzione simmetrica nel senso che . Il campionamento di un grafico su vertici può essere considerato come il campionamento di valori uniformi sull'intervallo di unità ( per ) e quindi la probabilità di un bordo è . Lasciare che la matrice di adiacenza risultante viene chiamato .
Possiamo considerare come una densità supponendo che \ iint W> 0 . Se stimiamo f in base ad A senza alcun vincolo per f , non possiamo ottenere una stima coerente. Ho trovato un risultato interessante sulla stima coerente di f quando f proviene da un insieme limitato di possibili funzioni. Da questo stimatore e \ somma A , possiamo stimare W .∬ W > 0 f A f f f ∑ A W
Sfortunatamente, il metodo che ho trovato mostra coerenza quando campioniamo dalla distribuzione con densità . Il modo in cui è costruito richiede che io campioni una griglia di punti (invece di prendere i sorteggi dalla originale ). In questa domanda stats.SE, sto chiedendo il problema 1 dimensionale (più semplice) di cosa succede quando possiamo solo campionare Bernoullis su una griglia come questa piuttosto che campionare direttamente dalla distribuzione.A f
riferimenti per i limiti del grafico:
L. Lovasz e B. Szegedy. Limiti di sequenze di grafi densi ( arxiv ).
C. Borgs, J. Chayes, L. Lovasz, V. Sos e K. Vesztergombi. Sequenze convergenti di grafici densi i: Frequenze dei sottografi, proprietà metriche e prove. ( arxiv ).
Notazione:
Considera una distribuzione continua con cdf e pdf che ha un supporto positivo sull'intervallo . Supponiamo che non abbia puntiforme, è ovunque differenziabile e anche che è il supremo di nell'intervallo . Lasciate significa che la variabile casuale è campionato dalla distribuzione . sono variabili casuali uniformi su .
Problema impostato:
Spesso, possiamo lasciare che siano variabili casuali con distribuzione e lavorino con la solita funzione di distribuzione empirica come dove è la funzione indicatore. Si noti che questa distribuzione empirica è essa stessa casuale (dove è fisso). F F n ( t ) = 1I F n(t)t
Purtroppo, non sono in grado di trarre campioni direttamente da . Tuttavia, so che ha un supporto positivo solo su e posso generare variabili casuali dove è una variabile casuale con una distribuzione di Bernoulli con probabilità di successo dove la e sono definite sopra. Quindi, . Un modo ovvio per stimare da questi valori è quello di prendere dovef [ 0 , 1 ] Y 1 , … , Y n Y i p i = f ( ( i - 1 + U i ) / n ) / c c U i Y i ∼ Berna ( p i ) F Y i ˜ F n ( t ) = 1
Domande:
Da (quello che penso dovrebbe essere) dal più facile al più difficile.
Qualcuno sa se questo (o qualcosa di simile) ha un nome? Potete fornire un riferimento dove posso vedere alcune delle sue proprietà?
Come , uno stimatore coerente di (e puoi dimostrarlo)?˜ F n ( t ) F ( t )
Qual è la distribuzione limitante di come ?n→∞
Idealmente, vorrei quanto segue in funzione di - ad es. , ma non so quale sia la verità. acronimo di Big O in probabilitàO P ( log ( n ) / √OP
Alcune idee e note:
Questo assomiglia molto al campionamento del rifiuto di accettazione con una stratificazione basata sulla griglia. Si noti che non è così perché non si disegna un altro campione se si rifiuta la proposta.
Sono abbastanza sicuro che questo sia distorto. Penso che l'alternativa è imparziale, ma ha la proprietà spiacevole che . ~ F ∗ n(t)=cP( ~ F ∗ (1)=1)<1
Sono interessato a utilizzare come stimatore del plug-in . Non penso che si tratti di informazioni utili, ma forse conosci qualche ragione per cui potrebbe essere.
Esempio in R
Ecco un codice R se vuoi confrontare la distribuzione empirica con . Mi dispiace che alcuni dei rientri siano sbagliati ... Non vedo come risolverli.
# sample from a beta distribution with parameters a and b
a <- 4 # make this > 1 to get the mode right
b <- 1.1 # make this > 1 to get the mode right
qD <- function(x){qbeta(x, a, b)} # inverse
dD <- function(x){dbeta(x, a, b)} # density
pD <- function(x){pbeta(x, a, b)} # cdf
mD <- dbeta((a-1)/(a+b-2), a, b) # maximum value sup_z f(z)
# draw samples for the empirical distribution and \tilde{F}
draw <- function(n){ # n is the number of observations
u <- sort(runif(n))
x <- qD(u) # samples for empirical dist
z <- 0 # keep track of how many y_i == 1
# take bernoulli samples at the points s
s <- seq(0,1-1/n,length=n) + runif(n,0,1/n)
p <- dD(s) # density at s
while(z == 0){ # make sure we get at least one y_i == 1
y <- rbinom(rep(1,n), 1, p/mD) # y_i that we sampled
z <- sum(y)
}
result <- list(x=x, y=y, z=z)
return(result)
}
sim <- function(simdat, n, w){
# F hat -- empirical dist at w
fh <- mean(simdat$x < w)
# F tilde
ft <- sum(simdat$y[1:ceiling(n*w)])/simdat$z
# Uncomment this if we want an unbiased estimate.
# This can take on values > 1 which is undesirable for a cdf.
### ft <- sum(simdat$y[1:ceiling(n*w)]) * (mD / n)
return(c(fh, ft))
}
set.seed(1) # for reproducibility
n <- 50 # number observations
w <- 0.5555 # some value to test this at (called t above)
reps <- 1000 # look at this many values of Fhat(w) and Ftilde(w)
# simulate this data
samps <- replicate(reps, sim(draw(n), n, w))
# compare the true value to the empirical means
pD(w) # the truth
apply(samps, 1, mean) # sample mean of (Fhat(w), Ftilde(w))
apply(samps, 1, var) # sample variance of (Fhat(w), Ftilde(w))
apply((samps - pD(w))^2, 1, mean) # variance around truth
# now lets look at what a single realization might look like
dat <- draw(n)
plot(NA, xlim=0:1, ylim=0:1, xlab="t", ylab="empirical cdf",
main="comparing ECDF (red), Ftilde (blue), true CDF (black)")
s <- seq(0,1,length=1000)
lines(s, pD(s), lwd=3) # truth in black
abline(h=0:1)
lines(c(0,rep(dat$x,each=2),Inf),
rep(seq(0,1,length=n+1),each=2),
col="red")
lines(c(0,rep(which(dat$y==1)/n, each=2),1),
rep(seq(0,1,length=dat$z+1),each=2),
col="blue")
Modifiche:
EDIT 1 -
L'ho modificato per rispondere ai commenti di @buber.
EDIT 2 -
Ho aggiunto il codice R e l'ho pulito un po 'di più. Ho cambiato leggermente la notazione per leggibilità, ma è essenzialmente la stessa. Sto programmando di fare una taglia su questo non appena mi sarà permesso, quindi per favore fatemi sapere se volete ulteriori chiarimenti.
EDIT 3 -
Penso di aver affrontato le osservazioni di @ cardinal. Ho corretto i refusi nella variazione totale. Sto aggiungendo una taglia.
EDIT 4 -
Aggiunta una sezione "motivazione" per @cardinal.