Как извлечь случайные выборки из непараметрического оценочного распределения?


14

У меня есть выборка из 100 точек, которые являются непрерывными и одномерными. Я оценил его непараметрическую плотность, используя методы ядра. Как я могу получить случайные выборки из этого предполагаемого распределения?

Ответы:


21

Оценка плотности ядра является распределением смеси; для каждого наблюдения есть ядро. Если ядро ​​имеет масштабированную плотность, это приводит к простому алгоритму выборки из оценки плотности ядра:

repeat nsim times:
  sample (with replacement) a random observation from the data
  sample from the kernel, and add the previously sampled random observation

часИксяN(μзнак равноИкся,σзнак равночас)

# Original distribution is exp(rate = 5)
N = 1000
x <- rexp(N, rate = 5)

hist(x, prob = TRUE)
lines(density(x))

# Store the bandwith of the estimated KDE
bw <- density(x)$bw

# Draw from the sample and then from the kernel
means <- sample(x, N, replace = TRUE)
hist(rnorm(N, mean = means, sd = bw), prob = TRUE)

M

M = 10
hist(rnorm(N * M, mean = x, sd = bw))

Если по какой-то причине вы не можете извлечь из своего ядра (например, ваше ядро ​​не является плотным), вы можете попробовать с важной выборкой или MCMC . Например, используя выборку важности:

# Draw from proposal distribution which is normal(mu, sd = 1)
sam <- rnorm(N, mean(x), 1)

# Weight the sample using ratio of target and proposal densities
w <- sapply(sam, function(input) sum(dnorm(input, mean = x, sd = bw)) / 
                                 dnorm(input, mean(x), 1))

# Resample according to the weights to obtain an un-weighted sample
finalSample <- sample(sam, N, replace = TRUE, prob = w)

hist(finalSample, prob = TRUE)

PS С благодарностью Glen_b, который внес вклад в ответ.


1
Извините, я сразу выбрал важную выборку, а потом понял, что обычно выборка проще, чем эта. Я добавил ваше первоначальное объяснение к моим ответам. Большое спасибо
Matteo Fasiolo

@ Matteo Fasiolo - У вас есть ссылки на статью, которую я могу привести для этого метода.
Паллави
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.