% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/ild_msm_simulation.R
\name{ild_msm_recovery}
\alias{ild_msm_recovery}
\title{MSM recovery simulation harness}
\usage{
ild_msm_recovery(
  n_sim = 100L,
  n_id = 80L,
  n_obs_per = 10L,
  true_ate = 0.5,
  n_boot = 200L,
  inference = c("bootstrap", "robust", "none"),
  seed = 1001L,
  censoring = TRUE,
  scenario_grid = NULL
)
}
\arguments{
\item{n_sim}{Number of simulations.}

\item{n_id}{Number of persons per simulation.}

\item{n_obs_per}{Planned observations per person.}

\item{true_ate}{True additive treatment effect.}

\item{n_boot}{Bootstrap replicates when \code{inference = "bootstrap"}.}

\item{inference}{\code{"bootstrap"} (default), \code{"robust"}, or \code{"none"}.}

\item{seed}{Base seed.}

\item{censoring}{If \code{TRUE}, include monotone dropout in DGP and fit IPCW+joint pipeline.}

\item{scenario_grid}{Optional data frame/list of scenario settings. Supported columns:
\code{scenario_id, n_id, n_obs_per, true_ate, censoring, positivity_stress,
treatment_strength, censoring_strength, misspec_treatment_model}.}
}
\value{
List with \code{summary}, \code{summary_by_scenario}, and \code{sim_results}.
}
\description{
Repeats an MSM analysis over simulated datasets with known \code{true_ate} and
summarizes estimation bias, RMSE, CI coverage, and positivity stress summaries.
}
\examples{
\dontrun{
out <- ild_msm_recovery(n_sim = 10, n_id = 40, n_obs_per = 10, true_ate = 0.5, n_boot = 50)
out$summary
}
}
