Module: SkiftetStatistical
- Defined in:
- lib/skiftet_statistical.rb,
lib/skiftet_statistical/arm.rb,
lib/skiftet_statistical/bandit.rb,
lib/skiftet_statistical/sampler.rb,
lib/skiftet_statistical/version.rb,
lib/skiftet_statistical/descriptive.rb,
lib/skiftet_statistical/significance.rb,
lib/skiftet_statistical/policies/base.rb,
lib/skiftet_statistical/policies/ucb1.rb,
lib/skiftet_statistical/policies/softmax.rb,
lib/skiftet_statistical/policies/epsilon_greedy.rb,
lib/skiftet_statistical/policies/thompson_sampling.rb
Overview
Skiftet's shared statistics toolkit — a home for reusable, app-independent statistical analysis code across the workspace.
Modules:
-
Descriptive — mean, variance, standard deviation, percentiles/median.
-
Significance — A/B significance testing (two-proportion z-test, Welch's t-test, normal CDF / two-tailed p-values).
-
Sampler — Gamma/Beta/Gaussian random sampling (RNG-injectable).
-
Bandit + Policies — multi-armed bandit (Thompson Sampling, epsilon-greedy, UCB1, Softmax) for online explore/exploit decisions.
bandit = SkiftetStatistical.bandit(arms: %w[facebook whatsapp x]) choice = bandit.select # which arm to play now bandit.record(choice, 1) # observed a reward (e.g. a conversion) bandit.best_arm # current best by empirical mean
Defined Under Namespace
Modules: Descriptive, Policies, Significance Classes: Arm, Bandit, Error, Sampler
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
-
.bandit ⇒ Object
Convenience constructor for a multi-armed bandit.