Skip to content

Running Analysis

Configure and run statistical analyses with full provenance tracking.

Analysis Overview

Medtwin supports:

  • Descriptive statistics (Table 1)
  • Comparative analyses (t-tests, chi-square)
  • Regression models (linear, logistic, Cox)
  • Survival analysis (Kaplan-Meier, log-rank)
  • Propensity matching

Creating an Analysis

Step 1: Open Analysis Config

  1. Navigate to your project
  2. Click Analysis Config in the sidebar
  3. Click New Analysis

Step 2: Select Analysis Type

Choose from:

Type Use Case
Descriptive Summarize cohort characteristics
Comparative Compare two groups
Logistic Regression Binary outcome prediction
Linear Regression Continuous outcome prediction
Cox Regression Time-to-event analysis
Kaplan-Meier Survival curves
Propensity Matching Reduce selection bias

Step 3: Configure Variables

Outcome Variable

Select your primary endpoint:

Outcome: mortality_30d (Binary)

Predictor Variables

Select variables to include:

Predictors:
  ✓ age (Continuous)
  ✓ sex (Categorical)
  ✓ diabetes (Binary)
  ✓ lvef (Continuous)
  ✓ procedure_type (Categorical)

Grouping Variable (if comparative)

Group By: procedure_type

Step 4: Advanced Options

Configure analysis parameters:

Model Options:
  - Include interaction terms: No
  - Variable selection: Stepwise
  - P-value threshold: 0.05
  - Confidence interval: 95%

Running the Analysis

Execute

Click Run Analysis to start.

You'll see:

  1. Queued: Analysis is scheduled
  2. Running: Computation in progress
  3. Complete: Results ready

Run Details

Each run is assigned:

  • Run ID: Unique identifier (e.g., RUN-00234)
  • Timestamp: When executed
  • Data Version: Which data version used
  • Config Version: Which config used

Viewing Results

Summary Tab

Quick overview of findings:

LOGISTIC REGRESSION RESULTS
───────────────────────────
Outcome: mortality_30d
N = 847 (27 events)
AUC = 0.82

Top Predictors:
  1. Emergency surgery (OR 3.8, p<0.001)
  2. Age ≥75 (OR 2.41, p=0.003)
  3. Diabetes (OR 2.31, p=0.008)

Tables Tab

Detailed output tables:

  • Table 1: Baseline characteristics
  • Table 2: Univariate analysis
  • Table 3: Multivariate model

Diagnostics Tab

Model quality checks:

  • Hosmer-Lemeshow: Goodness of fit
  • VIF: Multicollinearity check
  • Residual plots: Assumption validation

Code Tab

View the exact computation:

from statsmodels.api import Logit

model = Logit(
    endog=df['mortality_30d'],
    exog=df[['age', 'sex', 'diabetes', 'lvef']]
).fit()

Using Results in Paper

Insert Statistics

  1. Click a statistic in results
  2. Click Insert in Paper
  3. Statistic appears as verified chip

Auto-Generate Tables

  1. Select a result table
  2. Click Insert as Figure
  3. Table is formatted for publication

Run History

View all previous runs:

  • Compare results across runs
  • See what changed
  • Revert to previous config

Reproducibility

Every analysis is reproducible:

  1. Same data version: Pinned to specific upload
  2. Same config: Saved configuration
  3. Same code: Deterministic execution
  4. Same results: Bit-for-bit identical

Audit Ready

Click any Run ID to export complete audit trail.

Best Practices

Analysis Tips

  1. Start with descriptive analysis (Table 1)
  2. Check assumptions before regression
  3. Document your analysis plan before running
  4. Use meaningful variable names in output
  5. Save configurations for reproducibility

Next Steps