tpmjs/packages/tools/official/beta-binomial-update/README.md
Ajax Davis 5d2096fb5d feat: add 100+ official TPMJS tools
Implements a comprehensive suite of AI SDK v6 tools across multiple categories:

- Research (5): page-brief, compare-pages, source-credibility, claim-checklist, timeline-from-text
- Web (10): fetch-text, links-catalog, extract-meta, extract-json-ld, redirect-trace, sitemap-read, rss-read, table-extract, robots-policy, url-normalize
- Data (15): csv-parse, csv-stringify, json-repair, json-schema-validate, yaml-parse, yaml-stringify, text-chunk, normalize-whitespace, dedupe-by-key, pivot, rows-filter, rows-sort, rows-group-aggregate, rows-join, schema-infer
- Doc (12): toc-generate, glossary-build, faq-from-text, executive-brief, decision-record-adr, prd-outline, acceptance-criteria, style-rewrite
- Eng (12): diff-text-unified, env-var-docs-generate, dependency-audit-lite, conventional-commit-suggest, markdown-lint-basic, test-case-generate, stacktrace-parse, release-notes, changelog-entry, release-checklist
- Security (7): redact-secrets, secret-scan-text, url-risk-heuristic, csp-compose, hardening-checklist-web, access-control-matrix, data-classification-heuristic
- Stats (9): effect-size-suite, bootstrap-ci, permutation-test, multiple-testing-adjust, linear-regression-ols, logistic-regression, time-series-decompose-lite, anomaly-detect-mad
- Ops (7): slo-draft, runbook-draft, postmortem-draft, postmortem-action-extractor, error-log-triage, coverage-tracker, monitoring-gap-analysis
- Agent (15): prompt-to-workflow-skeleton, workflow-validate-io, workflow-explain, workflow-cost-estimate, tool-call-accuracy-score, eval-fixture-build, guardrail-policy-draft, workflow-auto-repair, tool-selection-plan, novelty-score-workflow, workflow-variant-generate, config-normalize, recipe-*
- Utility (8): base64-encode, base64-decode, hash-text, regex-extract, template-render, date-parse, json-path-query, url-parse
- HTML (3): html-sanitize, html-to-markdown, markdown-to-html

All tools follow AI SDK v6 pattern with tool() and jsonSchema<T>().

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 22:55:56 +10:00

2.7 KiB
Raw Blame History

Beta-Binomial Update

Bayesian beta-binomial conjugate posterior update for estimating probabilities from data with prior beliefs.

Installation

npm install @tpmjs/tools-beta-binomial-update

Usage

import { betaBinomialUpdateTool } from '@tpmjs/tools-beta-binomial-update';

// Example: Estimate conversion rate with prior belief
// Prior: Beta(2, 2) = uniform-ish prior slightly favoring 0.5
// Data: 15 conversions out of 100 trials
const result = await betaBinomialUpdateTool.execute({
  priorAlpha: 2,
  priorBeta: 2,
  successes: 15,
  trials: 100,
  credibleLevel: 0.95, // 95% credible interval
});

console.log(result);
// {
//   posteriorAlpha: 17,      // 2 + 15
//   posteriorBeta: 87,       // 2 + (100 - 15)
//   posteriorMean: 0.163,    // Best estimate
//   posteriorMode: 0.157,    // Most likely value
//   posteriorVariance: 0.001,
//   credibleInterval: {
//     lower: 0.098,
//     upper: 0.239,
//     level: 0.95
//   },
//   statistics: {
//     effectiveSampleSize: 4,
//     priorMean: 0.5,
//     dataLikelihood: 0.15
//   }
// }

API

Input

  • priorAlpha (required): Prior successes + 1 (e.g., 1 for uninformative, 2 for weak prior)
  • priorBeta (required): Prior failures + 1
  • successes (required): Number of successes observed
  • trials (required): Total number of trials
  • credibleLevel (optional): Credible interval level (default: 0.95)

Output

  • posteriorAlpha: Updated alpha parameter
  • posteriorBeta: Updated beta parameter
  • posteriorMean: Expected value of probability
  • posteriorMode: Most likely probability value
  • posteriorVariance: Uncertainty in estimate
  • credibleInterval: Bayesian confidence interval
  • statistics: Prior mean, likelihood, effective sample size

Algorithm

Uses conjugate Beta-Binomial model:

Prior: θ ~ Beta(α, β) Likelihood: X ~ Binomial(n, θ) Posterior: θ|X ~ Beta(α + k, β + (n - k))

Where:

  • k = successes
  • n = trials
  • θ = unknown probability

The Beta distribution is conjugate to the Binomial, making the update simple and exact.

Common Priors

  • Uninformative: Beta(1, 1) = Uniform[0, 1]
  • Jeffreys: Beta(0.5, 0.5) = Uninformative invariant prior
  • Weak: Beta(2, 2) = Slight preference for θ = 0.5
  • Strong: Beta(20, 20) = Strong belief in θ = 0.5

Use Cases

  • A/B test analysis (conversion rates)
  • Click-through rate estimation
  • Medical test sensitivity/specificity
  • Quality control (defect rates)
  • Sports analytics (win probabilities)

Credible Interval

The credible interval is the Bayesian analog of a confidence interval. A 95% credible interval means "there is a 95% probability that θ lies in this interval given the data."

License

MIT