kumulant

MomentsArm

@Serializable
@SerialName(value = "MomentsArm")
data class MomentsArm(val priorMean: Double = 0.0, val priorWeight: Double = 0.02) : Arm<MomentsResult> (source)

Moments-tracking arm. Backs MomentsStat under the hood, which means the snapshot exposes the raw second moment m2 (in addition to mean and variance); required by the variance-aware UCB policies that need mean-of-squares directly:

  • UCB1Normal: Auer et al.'s variance-aware UCB for Gaussian rewards.

  • UCB1Tuned: sample-variance-aware UCB; typically tighter bound than plain UCB1.

  • UcbV: variance-aware UCB with an explicit exploration constant.

For pure Thompson sampling on Gaussian rewards, NormalArm + the Normal-Gamma posterior is the right pick; MomentsArm earns its place specifically when the policy needs m2.

Constructors

Link copied to clipboard
constructor(priorMean: Double = 0.0, priorWeight: Double = 0.02)

Types

Link copied to clipboard
object Companion

Factory entry-point for MomentsArm (host for warmStart).

Properties

Link copied to clipboard

Prior mean reward.

Link copied to clipboard

Pseudo-weight of the prior seed.

Functions

Link copied to clipboard
open override fun createStat(): SeriesStat<MomentsResult>

Allocate a fresh per-arm accumulator already seeded with this arm's prior pseudo-counts.

Link copied to clipboard
open fun encode(value: Double): Double

Map a raw observation onto the scale the stat accumulates. Identity by default; LogNormalArm overrides with ln so the underlying stat tracks the log-reward and the Normal-Gamma posterior fits the log-normal generative model.

MomentsArm

constructor(priorMean: Double = 0.0, priorWeight: Double = 0.02)(source)

createStat

open override fun createStat(): SeriesStat<MomentsResult>(source)

Allocate a fresh per-arm accumulator already seeded with this arm's prior pseudo-counts.

priorMean

Prior mean reward.

priorWeight

Pseudo-weight of the prior seed.