Fluorite | Level 6

## Sampling from estimated kernel density

Dear SAS-community,

I would like to sample from an estimated kernel density. So essentially I have observations on some key variables, for which i generate estimated kernel densities. This has succeeded so far.

The next step is to redraw new samples from the estimated kernel densities. Does anyone have a good idea on how to do this?

This following example from stack exchange shows how to do it in R (see "best answer"):

https://stats.stackexchange.com/questions/321542/how-can-i-draw-a-value-randomly-from-a-kernel-densi...

Using the code i generate KDE:

``````proc KDE data=dat;
univar variableA / out=EstimatedKD;
run;``````

i obtain the relevant levels using "out".

1 ACCEPTED SOLUTION

Accepted Solutions
SAS Super FREQ

## Re: Sampling from estimated kernel density

Sampling from a kernel densty is equivalent to the "Smooth Bootstrap." Since PROC KDE uses a normal kernel, you would use the kernel bandwidth as the standard deviation of the normal distribution placed around each observation. You randomly select an observation (say, x_i) and then randomly generate a point p_i ~ N(x_i, delta), where delta is the KDE bandwidth.

For details and a SAS program, see "The smooth bootstrap method in SAS"

2 REPLIES 2
SAS Super FREQ

## Re: Sampling from estimated kernel density

Sampling from a kernel densty is equivalent to the "Smooth Bootstrap." Since PROC KDE uses a normal kernel, you would use the kernel bandwidth as the standard deviation of the normal distribution placed around each observation. You randomly select an observation (say, x_i) and then randomly generate a point p_i ~ N(x_i, delta), where delta is the KDE bandwidth.

For details and a SAS program, see "The smooth bootstrap method in SAS"

Fluorite | Level 6

## Re: Sampling from estimated kernel density

Thank you! That seems like the optimal solution.

Discussion stats
• 2 replies
• 380 views
• 2 likes
• 2 in conversation