The HPIMPUTE Procedure

Random Imputation

If you specify METHOD=RANDOM in the IMPUTE statement, PROC HPIMPUTE replaces missing values with a random value that is drawn between the minimum and maximum of the variable. For variable x, assume that the data set is {$x_ i$}, where $i=1,2,...,n$. Let $min(x) = \min _{i \in \{ 1..n\} }{\{ x_ i\} }$, and let $max(x) = \max _{i \in \{ 1..n\} }{\{ x_ i\} }$. The random value $R = min(x) + (max(x) - min(x)) * ranuni(SEED)$, where $ranuni()$ is a function that takes a SEED (number) as input and returns a random value from a uniform distribution between 0 and 1. When PROC IMPUTE runs in single-machine mode and uses a single thread, the SEED is set to 5. When PROC IMPUTE runs in distributed execution mode or uses multiple threads, the SEED is determined at run time.