Skip to main content

bayesian-stats

Convert frequentist statistical tests into their Bayesian equivalents. Provides mappings, code snippets, interpretation guides, and best practices.

Aller à l'installation

Informations de source

Dépôt
AMindToThink/claude-code-settings
Dernière activité de la source
4 avril 2026 à 00:56
Langue détectée de SKILL.md
anglais
Étoiles
4
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
bayesian-stats
description
Convert frequentist statistical tests into their Bayesian equivalents. Provides mappings, code snippets, interpretation guides, and best practices.
user_invocable
true
When the user invokes `/bayesian-stats`, help them convert frequentist statistical tests into Bayesian equivalents. If an argument is provided (e.g., `/bayesian-stats t-test`), look up that specific test. Otherwise, ask which frequentist test they want to convert. ## Mappings | Frequentist Test | Bayesian Equivalent | Python Library | |-----------------|--------------------|--------------| | Paired t-test | Bayesian paired t-test with JZS prior → BF₁₀ | `pingouin.bayesian_ttest(x, y, paired=True)` | | Independent t-test | Bayesian independent t-test with JZS prior → BF₁₀ | `pingouin.bayesian_ttest(x, y, paired=False)` | | Wilcoxon signed-rank | Bayesian paired t-test (robust alternative) or Bayesian sign test via PyMC | `pingouin` for approximate BF, `pymc` for full model | | Fisher's exact / Chi-squared | Beta-Binomial model with Beta(1,1) priors on each group's success rate | Analytical or `pymc`: `pm.Beta("p", 1, 1)` per group | | Mixed-effects logistic regression | Bayesian mixed-effects model | `bambi`: `bmb.Model("y ~ condition + (1|question)", data, family="bernoulli")` | | ANOVA / F-test | Bayesian ANOVA | `pingouin.bayesian_anova(data, dv, between)` or `bambi` | | Pearson correlation | Bayesian correlation | `pingouin.bayesian_corr(x, y)` | | Bootstrap CI | Posterior credible interval from MCMC | `pymc` model → `arviz.summary()` for HDI | ## Code Snippets ### Bayesian Paired t-test (replaces Wilcoxon / paired t-test) ```python import pingouin as pg bf = pg.bayesian_ttest(x, y, paired=True, r=0.707) # JZS prior, Cauchy scale r=√2/2 print(f"BF₁₀ = {bf:.3f}") ``` ### Beta-Binomial (replaces Fisher's exact) ```python import pymc as pm import arviz as az with pm.Model(): p_a = pm.Beta("p_a", 1, 1) # Condition A success rate p_b = pm.Beta("p_b", 1, 1) # Condition B success rate pm.Binomial("obs_a", n=n_a, p=p_a, observed=k_a) pm.Binomial("obs_b", n=n_b, p=p_b, observed=k_b) delta = pm.Deterministic("delta", p_b - p_a) trace = pm.sample(4000) az.summary(trace, var_names=["delta"], hdi_prob=0.95) az.plot_posterior(trace, var_names=["delta"], ref_val=0) ``` ### Bayesian Mixed-Effects (replaces frequentist mixed-effects) ```python import bambi as bmb import arviz as az model = bmb.Model("correct ~ advice_source * question_category + (1|question_id)", data, family="bernoulli") results = model.fit(draws=4000) az.summary(results, var_names=["advice_source", "question_category", "advice_source:question_category"]) ``` ## Interpreting Bayes Factors (BF₁₀) | BF₁₀ | Evidence | |-------|----------| | > 100 | Extreme evidence for H₁ | | 30–100 | Very strong evidence for H₁ | | 10–30 | Strong evidence for H₁ | | 3–10 | Moderate evidence for H₁ | | 1–3 | Anecdotal evidence for H₁ | | 1/3–1 | Anecdotal evidence for H₀ | | 1/10–1/3 | Moderate evidence for H₀ | | 1/30–1/10 | Strong evidence for H₀ | | < 1/30 | Very strong evidence for H₀ | Key advantage: BF < 1/3 provides **evidence for the null**, not just "failure to reject." This is impossible with p-values. ## Best Practices 1. **Always report both** frequentist (p-values, CIs) and Bayesian (BF₁₀, posterior credible intervals) results. Reviewers expect p-values; Bayesian results add rigor. 2. **Sensitivity analysis**: Rerun Bayes factors with different prior scales (e.g., Cauchy r = 0.5, √2/2, 1.0). If conclusions are robust across priors, the result is more credible. 3. **Small samples**: Bayesian methods handle small n more gracefully — posteriors are properly wide when data is limited, rather than giving misleading p-values. 4. **Combining experiments**: Posteriors from one experiment become priors for the next. This is how evidence accumulates across studies. 5. **No multiple comparison correction needed**: Bayesian updating naturally handles multiplicity (though model comparison via Bayes factors still requires care). ## Required Packages ``` uv add pingouin pymc bambi arviz ```
Voir sur GitHub