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"):
Using the code i generate KDE:
proc KDE data=dat;
univar variableA / out=EstimatedKD;
run;
i obtain the relevant levels using "out".
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"
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"
Thank you! That seems like the optimal solution.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!
Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.
Find more tutorials on the SAS Users YouTube channel.