Skip to main content

bayesian-stats

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

Quellinformationen

Repository
AMindToThink/claude-code-settings
Letzte Quellaktivität
4. April 2026 um 00:56
Erkannte Sprache von SKILL.md
Englisch
Sterne
4
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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 ```
Auf GitHub ansehen