Simular a partir da estimativa de densidade do kernel (PDF empírico)


8

Eu tenho um vetor Xde N=900observações que são melhor modeladas por um estimador de densidade de Kernel de largura de banda global (modelos paramétricos, incluindo modelos de mistura dinâmica, acabaram não sendo bons ajustes):

insira a descrição da imagem aqui

Agora, eu quero simular a partir deste KDE. Eu sei que isso pode ser alcançado através da inicialização.

Em R, tudo se resume a essa linha simples de código (que é quase pseudo-código): x.sim = mean(X) + { sample(X, replace = TRUE) - mean(X) + bw * rnorm(N) } / sqrt{ 1 + bw^2 * varkern/var(X) }onde o bootstrap suavizado com correção de variação é implementado e varkerné a variação da função Kernel selecionada (por exemplo, 1 para um Kernel Gaussiano ).

O que obtemos com 500 repetições é o seguinte:

insira a descrição da imagem aqui

Funciona, mas tenho dificuldade em entender como as observações aleatórias (com algum ruído adicional) são a mesma coisa que simular a partir de uma distribuição de probabilidade? (a distribuição está aqui no KDE), como no Monte Carlo padrão. Além disso, o bootstrap é a única maneira de simular a partir do KDE?

EDIT: veja minha resposta abaixo para obter mais informações sobre o bootstrap suavizado com correção de variação.


1
O experimento de bootstrap fornece uma indicação da variabilidade da estimativa de densidade do kernel. Isso não tem nada a ver com a simulação do kernel, como melhor explicado por Dougal abaixo.
Xian

Sim, isso é bastante variado. Você acha que um KDE seria uma abordagem melhor do que um modelo de mistura dinâmica aqui?
Antoine

então, eu entendo que o bootstrap suave, como mostrado acima, não é equivalente à simulação no Kernel. No entanto, ele realiza o mesmo objetivo: simular a partir do PDF empírico, certo? Vou tentar postar os resultados da estratégia proposta por Douglas abaixo (simulando diretamente do KDE) para comparar quando tiver tempo.
Antoine

Simular a partir do estimador do kernel não leva a simulações do cdf empírico e não há uma definição clara de um pdf empírico entre histogramas e estimativas do kernel, todas as quais requerem calibração da largura de banda.
Xi'an

Não concordo com o seu primeiro comentário, por favor veja a minha resposta abaixo.
Antoine

Respostas:


10

f(x)=1Ni=1Nfi(x)

  • i
  • fi

Deve ficar claro que isso produz uma amostra exata.

1Ni=1NN(x;xi,h2)Nxih2

Seu snippet de código está selecionando vários xi

  • xiμ^+xiμ^1+h2/σ^2
  • adicionando ruído normal médio zero com variação h21+h2/σ^2=11h2+1σ^2h2σ2

Podemos ver que o valor esperado de uma amostra de acordo com este procedimento é

1Ni=1Nxi1+h2/σ^2+μ^11+h2/σ^2μ^=μ^
μ^=1Ni=1Nxi

Não acho que a distribuição da amostra seja a mesma.


obrigado por esta boa resposta. Atualmente, estou explorando essa abordagem. Você daria uma olhada nesse outro tópico muito recente (e um tanto relacionado), por favor? Desde já, obrigado.
Antoine

3

Para eliminar qualquer confusão sobre se é possível ou não desenhar valores do KDE usando uma abordagem de autoinicialização, é possível . O bootstrap não se limita a estimar intervalos de variabilidade.

YisKhy^y^ explicitamente:

Y{X1,...Xn}

  • i{1,...,n}
  • ϵKK
  • Y=X¯+(XiX¯+h.ϵ)/1+h2σK2/σX2

X¯σX2σK2KKX¯σX2Y=Xi+h.ϵ

O trecho de código R na minha pergunta acima segue rigorosamente esse algoritmo.

As vantagens do bootstrap suavizado sobre o bootstrap são:

  • "características espúrias" nos dados não são reproduzidas, pois podem ser gerados valores diferentes dos da amostra,
  • valores além do máximo / min das observações podem ser gerados.
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.