fastmath.stats.bootstrap
Bootstrap methods and confidence intervals
Categories
Other vars: bootstrap bootstrap-stats ci-basic ci-bc ci-bca ci-normal ci-percentile ci-studentized ci-t jackknife jackknife+
bootstrap
(bootstrap input)(bootstrap input statistic)(bootstrap input statistic {:keys [rng samples size method antithetic? smoothing dimensions include?], :or {samples 500}, :as params})Create set of samples from given data (nonparametric) or model (parametric).
Input: * sequence of values (any type) or sequence of sequences for multidimensional data * a map containing: * :data - sequence * :model - model for parametric bootstrap (optional) * statistic function which returns statistic value (optional)
Parameters: * :samples - number of bootstrapped samples (default: 500) * :size - forced size of individual sample (default: same as source) * :method * nil (default) - random * :jackknife for leave-one-out jackknife * :jackknife+ for positive jackknife * any method accepted by fastmath.random/->seq * :rng - random number generator (see: fastmath.random/rng) * :smoothing - smoothing bootstrap: * :kde - kernel density estimation, additional options are: :kernel (default) and :bandwidth (auto) * :gaussian - add random value from N(0,standard error) * :distribution - distribution used to auto generate model (distribution) from data: * :real-discrete-distribution - default * :integer-discrete-distribution - for integer values * :categorical-distribution - for any other type * :dimensions - if set to :multi - multidimensional data and models are created * :antithetic? - antithetic sampling (default: false) * :include? - if set to true (default: false) original dataset is included in samples
Model can be: * any distribution object * any 0-arity function which returns random sample
When model is ommited, function creates discrete distribution. When multidimensional data are provided, models should be created for every dimension (as a sequence).
bootstrap-stats
(bootstrap-stats {:keys [data samples], :as input} statistic)Calculate bootstrap analysis.
Arguments:
- a map containing
:dataand:samples statistic- bootstrap statistic
Returns a map containing:
:data,:samples,modeland:statistic- from input:t0- statistic from data (single value):ts- statistic from bootstrap samples (sequence):bias- difference between mean of ts and t0:mean,:median,:variance,:stddev,:sem- statistics from ts
ci-basic
(ci-basic boot-data)(ci-basic boot-data alpha)(ci-basic {:keys [t0 ts]} alpha estimation-strategy)Basic percentile confidence interval
:t0 and :ts are obligatory
ci-bc
(ci-bc boot-data)(ci-bc boot-data alpha)(ci-bc {:keys [t0 ts]} alpha estimation-strategy)Bias-corrected confidence interval
ci-bca
(ci-bca boot-data)(ci-bca boot-data alpha)(ci-bca {:keys [t0 ts data statistic]} alpha estimation-strategy)Bias-corrected and accelerated confidence interval.
There are two ways to calculate acceleration: * jackknife method (when boot-data contains :data and :statistic) * empirical from bootstrap estimations ts otherwise
ci-normal
(ci-normal boot-data)(ci-normal {:keys [t0 ts stddev bias]} alpha)Normal (gaussian) bias-corrected confidence interval
:t0 and :ts are obligatory
ci-percentile
(ci-percentile boot-data)(ci-percentile boot-data alpha)(ci-percentile {:keys [t0 ts]} alpha estimation-strategy)Percentile confidence interval
:t0 and :ts are obligatory
ci-studentized
(ci-studentized boot-data)(ci-studentized boot-data alpha)(ci-studentized {:keys [t0 ts data samples]} alpha estimation-strategy)Confidence interval from studentized data.
:t0, :ts, :data and :samples are obligatory in boot-data
ci-t
(ci-t boot-data)(ci-t {:keys [t0 ts stddev]} alpha)Student’s T confidence interval.
:t0 and :ts are obligatory