EstimatorSettings(efficient=False, randomize=False, n_res=25, n_sub=50, return_median=True, return_only_bw=False, n_jobs=-1)¶
Object to specify settings for density estimation or regression.
EstimatorSettings has several proporties related to how bandwidth estimation for the KDEMultivariate, KDEMultivariateConditional, KernelReg and CensoredKernelReg classes behaves.
efficient: bool, optional
If True, the bandwidth estimation is to be performed efficiently – by taking smaller sub-samples and estimating the scaling factor of each subsample. This is useful for large samples (nobs >> 300) and/or multiple variables (k_vars > 3). If False (default), all data is used at the same time.
randomize: bool, optional
If True, the bandwidth estimation is to be performed by taking n_res random resamples (with replacement) of size n_sub from the full sample. If set to False (default), the estimation is performed by slicing the full sample in sub-samples of size n_sub so that all samples are used once.
n_sub: int, optional
Size of the sub-samples. Default is 50.
n_res: int, optional
The number of random re-samples used to estimate the bandwidth. Only has an effect if
randomize == True. Default value is 25.
return_median: bool, optional
If True (default), the estimator uses the median of all scaling factors for each sub-sample to estimate the bandwidth of the full sample. If False, the estimator uses the mean.
return_only_bw: bool, optional
If True, the estimator is to use the bandwidth and not the scaling factor. This is not theoretically justified. Should be used only for experimenting.
n_jobs : int, optional
The number of jobs to use for parallel estimation with
joblib.Parallel. Default is -1, meaning
n_cores - 1, with
n_coresthe number of available CPU cores. See the joblib documentation for more details.
>>> settings = EstimatorSettings(randomize=True, n_jobs=3) >>> k_dens = KDEMultivariate(data, var_type, defaults=settings)