Skip to content

bootstrap_model()

bootstrap_model() resamples sequences with replacement, refits the model on each bootstrap sample, and collects parameter estimates for uncertainty quantification.

Function Usage

python
bootstrap_model(
    model,
    n_sim=100,
    method="nonparametric",
    random_state=None,
    verbose=True,
    n_jobs=1
)

seqHMM Parameter Mapping

SequenzoseqHMM bootstrap_coefs()
modelFitted hmm, mhmm, or nhmm
n_simNumber of bootstrap replicates
method="nonparametric"Resample sequences (nonparametric bootstrap)
Return summaryPercentile confidence intervals

Entry Parameters

ParameterRequiredTypeDescription
modelHMM / MHMM / NHMMFitted model.
n_simintBootstrap replicates. Default 100.
methodstr"nonparametric" (default). "parametric" not yet implemented.
random_stateint / NoneRNG seed.
verboseboolShow progress bar when tqdm is available. Default True.
n_jobsintParallel jobs (not yet implemented; always 1).

What It Returns

A dict:

KeyDescription
bootstrap_samplesList of parameter dicts per replicate
original_modelInput fitted model
n_sim, methodSettings used
summaryMeans, standard deviations, and percentile CIs (e.g. ci_95)

Example

python
from sequenzo.seqhmm import build_hmm, fit_model, bootstrap_model

hmm = build_hmm(seq, n_states=4, random_state=42)
hmm = fit_model(hmm)

boot = bootstrap_model(hmm, n_sim=100, verbose=True)
ci = boot["summary"]["initial_probs"]["ci_95"]
print(ci)

R Counterpart

  • Closest R function: seqHMM bootstrap_coefs()
  • Mapping note: R's function targets NHMM/MNHMM coefficients; Sequenzo bootstraps full refits for HMM, MHMM, and NHMM.

Notes

  • Computationally expensive: each replicate refits the full model.
  • Failed refits on a replicate are skipped silently in the bootstrap loop.
  • Use moderate n_sim (50–200) for exploratory intervals; increase for publication-grade precision.

Authors

Code: Yuqi Liang, Yapeng Wei

Documentation: Yuqi Liang

References

Helske, S., & Helske, J. (2019). Mixture hidden Markov models for sequence data: The seqHMM package in R. Journal of Statistical Software, 88(3), 1–32.