Skip to main content

prismalab-meta-analysis

Perform meta-analyses using Azure Databricks for computation and Power BI for visualization. Supports fixed/random effects, subgroup analysis, and publication bias assessment.

معلومات المصدر

المستودع
Insightpulseai/odoo
آخر نشاط في المصدر
١٨ أبريل ٢٠٢٦ في ٠٨:٣٤
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٦
التفرعات
٢

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
prismalab-meta-analysis
description
Perform meta-analyses using Azure Databricks for computation and Power BI for visualization. Supports fixed/random effects, subgroup analysis, and publication bias assessment.
# PrismaLab Meta-Analysis Skill ## When to Use - User needs to compute pooled effect sizes - User asks about heterogeneity assessment (I-squared, Q-statistic) - User needs forest plots, funnel plots, or sensitivity analyses - User asks about publication bias (Egger's test, trim-and-fill) ## Azure Services Used - **Databricks** (`dbw-ipai-dev`): Python computation (statsmodels, scipy, meta-analysis libraries) - **Power BI**: Publication-ready visualizations - **Azure AI Foundry**: Interpretation and narrative synthesis ## Computation Approach ### Effect Size Calculation ```python # Run in Databricks notebook import numpy as np from scipy import stats def compute_effect_size(study_data, metric="SMD"): """ Compute standardized mean difference (Cohen's d) or odds ratio. study_data: list of dicts with keys: SMD: n1, mean1, sd1, n2, mean2, sd2 OR: events1, total1, events2, total2 """ if metric == "SMD": d = (study_data["mean1"] - study_data["mean2"]) / pooled_sd se = np.sqrt((n1 + n2) / (n1 * n2) + d**2 / (2 * (n1 + n2))) elif metric == "OR": OR = (a * d) / (b * c) se = np.sqrt(1/a + 1/b + 1/c + 1/d) return {"effect": d_or_OR, "se": se, "ci_lower": ..., "ci_upper": ...} ``` ### Pooled Effect (Random Effects) ```python def random_effects_meta(effects, variances): """DerSimonian-Laird random effects model.""" weights_fixed = 1.0 / variances Q = np.sum(weights_fixed * (effects - weighted_mean_fixed)**2) tau2 = max(0, (Q - (k - 1)) / (sum_w - sum_w2 / sum_w)) weights_random = 1.0 / (variances + tau2) pooled = np.sum(weights_random * effects) / np.sum(weights_random) se_pooled = np.sqrt(1.0 / np.sum(weights_random)) I2 = max(0, (Q - (k - 1)) / Q * 100) return {"pooled_effect": pooled, "se": se_pooled, "I2": I2, "tau2": tau2, "Q": Q} ``` ### Heterogeneity Interpretation | I-squared | Interpretation | |-----------|---------------| | 0-25% | Low heterogeneity | | 25-50% | Moderate heterogeneity | | 50-75% | Substantial heterogeneity | | 75-100% | Considerable heterogeneity | ## Visualization (Power BI or HTML/SVG) ### Forest Plot Generate SVG forest plot with: - Study labels with year - Effect size point + CI whiskers - Weight proportional to square size - Diamond for pooled estimate - Vertical line at null effect ### Funnel Plot Generate for publication bias assessment: - X-axis: effect size - Y-axis: standard error (inverted) - Pseudo-95% CI lines - Egger's regression line if significant ## Subgroup and Sensitivity Analyses - **Subgroup**: stratify by study characteristics (design, population, intervention type) - **Leave-one-out**: recalculate excluding each study - **Cumulative**: add studies chronologically - **Influence**: Cook's distance equivalent for meta-analysis ## Quality Standards - Report per PRISMA 2020 synthesis methods - Use GRADE framework for certainty of evidence - Report prediction intervals alongside confidence intervals - Always assess publication bias for >=10 studies - Declare statistical software and version
عرض على GitHub