Class CaseResamplingReplacementForObject<X>

java.lang.Object
dev.nm.stat.random.sampler.resampler.bootstrap.CaseResamplingReplacementForObject<X>
All Implemented Interfaces:
ObjectResampler<X>, Seedable

public class CaseResamplingReplacementForObject<X> extends Object implements ObjectResampler<X>
This is the classical bootstrap method described in the reference. It draws from the original sample with replacement. This implementation is thread-safe that allows concurrent access to newResample() by multiple threads.
See Also:
  • Field Details

    • DEFAULT_CACHE_SIZE

      public static final int DEFAULT_CACHE_SIZE
      The default cache size = the number of available processors × 1000.
  • Constructor Details

    • CaseResamplingReplacementForObject

      public CaseResamplingReplacementForObject(X[] sample, Class<X> clazz)
      Constructs a bootstrap sample generator. This is the classical bootstrap with replacement.
      Parameters:
      sample - the original sample
      clazz - the class of the sample objects
    • CaseResamplingReplacementForObject

      public CaseResamplingReplacementForObject(X[] sample, Class<X> clazz, RandomLongGenerator uniform)
      Constructs a bootstrap sample generator. This is the classical bootstrap with replacement.
      Parameters:
      sample - the original sample
      clazz - the class of the sample objects
      uniform - a uniform random long generator
    • CaseResamplingReplacementForObject

      public CaseResamplingReplacementForObject(X[] sample, Class<X> clazz, ConcurrentCachedRLG rlg)
      Constructs a bootstrap sample generator. This is the classical bootstrap with replacement.
      Parameters:
      sample - the original sample
      clazz - the class of the sample objects
      rlg - a concurrent uniform random long generator
  • Method Details

    • seed

      public void seed(long... seeds)
      Description copied from interface: Seedable
      Seed the random number/vector/scenario generator to produce repeatable experiments.
      Specified by:
      seed in interface Seedable
      Parameters:
      seeds - the seeds
    • newResample

      public X[] newResample()
      Description copied from interface: ObjectResampler
      Gets a resample from the original sample. It is very important this method is thread-safe so resampling can be run in parallel.
      Specified by:
      newResample in interface ObjectResampler<X>
      Returns:
      a resample, e.g., a bootstrap sample