Tutorials › Multi-Omics Data Integration › Generating Partially Observed Modalities

Simulation Studies for Method Comparison · Tutorial 548 of 597

Generating Partially Observed Modalities

Build explicit missingness mechanisms for simulated multi-omics data, distinguish their assumptions, and verify that the observed data and recorded generating process agree.

Advanced 10 min read

What You'll Learn

  • Define modality-level and feature-level observation indicators with an unambiguous convention.
  • Generate missingness under MCAR, covariate-dependent, and signal-dependent mechanisms.
  • Calculate expected missingness rates and combined observation probabilities.
  • Distinguish mechanisms that depend on observed covariates from those that depend on values hidden by missingness.
  • Diagnose coding errors and describe what to record for reproducibility.
  • Compare simple independent masking with structured alternatives and identify their limitations.

Why Simulate Missing Modalities?

A multi-omics benchmark that gives every method a complete matrix tests performance under a special data condition. Real analyses can instead encounter a modality unavailable for an entire participant, or individual features absent within an otherwise measured modality. These patterns change both the information available to an integration method and the composition of the samples it can use. A useful simulation therefore specifies not only how complete data are generated, but also how they become partially observed.

The central implementation rule is simple but consequential: define an indicator for missingness or for observation, state which value means what, and keep that convention consistent. Here, an observation indicator equals one when the value is available. Missingness is generated separately, then converted to that indicator.

Definition: Let \(X_{imj}\) denote the complete, pre-missingness value for subject \(i\), modality \(m\), and feature \(j\). Let \(R_{im}=1\) mean that modality \(m\) is observed for subject \(i\), and \(R_{im}=0\) mean that the entire modality is missing. For feature-level availability, let \(R_{imj}=1\) mean that feature \(j\) in modality \(m\) is observed for subject \(i\), and \(R_{imj}=0\) mean it is missing. The value supplied to an analysis is \(X_{imj}\) when its relevant observation indicator is one, and is recorded as missing otherwise.

A modality-level indicator masks all features in that modality for a subject. A feature-level indicator can mask just one value. If both mechanisms are used, the final availability indicator is \(R_{imj}=R_{im}R^{(F)}_{imj}\), where \(R^{(F)}_{imj}\) is the feature-level indicator. The product is one only if the modality and the particular feature are both available.

Generate the complete data first, using the cohort, batch, marginal-distribution, and cross-omics dependence choices already set for the simulation. Then generate missingness from those values and any specified covariates. This sequence makes the target complete data and the masking process explicit. The simulation can retain the complete values and generating variables for evaluation, but those hidden values must not be passed to an analysis as though they were observed.

Three Mechanisms and Their Assumptions

A missingness mechanism describes how observation indicators are generated. Under missing completely at random (MCAR), the probability of missingness does not depend on measured covariates or data values. Under covariate-dependent missingness, it depends on specified covariates, such as cohort or batch. When those covariates are observed, this is often described as missing at random (MAR): conditional on observed information, missingness does not further depend on the unobserved value itself. Under signal-dependent missingness, the probability depends on the underlying measurement value, including a value that may be hidden. Relative to the observed data, this is generally missing not at random (MNAR).

These labels concern the variables used to generate the indicators, not whether the observed missingness rates happen to look similar across groups. Covariate-dependent missingness is only appropriately called MAR if the relevant covariates are available to the analysis. A signal-dependent mechanism may be MAR if the signal used to determine missingness is itself fully observed as auxiliary information; classification is relative to what the analyst observes.

Definition: For each potential value, let \(D=1\) indicate missing and \(D=0\) indicate observed. If a missingness probability is \(q\), generate \(D\sim\operatorname{Bernoulli}(q)\), then set the observation indicator to \(R=1-D\). Equivalently, when \(U\sim\operatorname{Uniform}(0,1)\), set \(D=1\) if \(U<q\), and set \(R=1-D\). Thus \(P(R=0)=q\) and \(P(R=1)=1-q\).

For MCAR, \(q\) is a fixed probability for the relevant modality or feature. For covariate-dependent missingness, a common specification is \(q_i=\operatorname{logit}^{-1}(\beta_0+\beta_1 Z_i)\), where \(Z_i\) is a specified covariate and \(\operatorname{logit}^{-1}(t)=1/(1+\exp(-t))\). For signal-dependent missingness, a feature-level probability might instead be \(q_{imj}=\operatorname{logit}^{-1}(\gamma_0+\gamma_1 X_{imj})\). The coefficients determine probabilities, not deterministic thresholds: an individual value with higher \(q\) is more likely to be missing, but is not guaranteed to be missing.

These basic specifications assume indicators are independent draws conditional on the inputs in their probability model. That is a modeling choice, not a universal property of missing data. If missingness is intended to occur in blocks, across related features, or in coordinated patterns across modalities, the simulation must encode that dependence rather than independently drawing every indicator.

Worked Example: MCAR Masking at the Modality Level

Suppose a hypothetical simulation generates \(n=20\) participants and two complete modalities. For one modality, assign every participant the same missingness probability \(q=0.15\). Draw a separate \(U_i\) for each participant, set \(D_i=1\) when \(U_i<0.15\), and then set \(R_i=1-D_i\). Assume the draws are independent across participants and independent of all data values and covariates; these assumptions implement MCAR.

Suppose the 20 generated uniforms produce three values below 0.15 and 17 values at least 0.15. Then there are three missing modality-level records and 17 observed ones. The realized missingness proportion is \(3/20=0.150\). Its expected value is also 0.15, although a different simulation replicate need not have exactly that realized proportion.

The expected number missing is \(20(0.15)=3\); the expected number observed is \(20(1-0.15)=17\). For every missing participant, all features in this modality are masked together. A second modality needs its own explicitly specified indicator; it should not automatically inherit the first modality's indicator unless shared missingness is part of the design.

Expected Rates and Combining Levels

Expected missingness is a useful check on a simulation, but it is not a promise about the realized rate in a finite replicate. Let \(D_k\) be the missingness indicator for each of \(N\) potential records, with missingness probability \(q_k\), which may vary by record. By linearity of expectation, the expected number missing is the sum of their probabilities. This statement does not require the indicators to be independent.

$$ E\left(\sum_{k=1}^{N}D_k\right) =\sum_{k=1}^{N}E(D_k) =\sum_{k=1}^{N}q_k, \qquad E\left(\frac{1}{N}\sum_{k=1}^{N}D_k\right) =\frac{1}{N}\sum_{k=1}^{N}q_k. $$

The second equality follows because \(E(D_k)=1q_k+0(1-q_k)=q_k\), and expectation distributes over sums. Under a fixed MCAR probability \(q\), the expected missing proportion is therefore \(q\). With varying covariate-dependent probabilities, it is the average of the participant-specific probabilities, not necessarily the probability at the average covariate value.

If modality-level and feature-level masking are drawn independently conditional on their specified inputs, the probability a particular feature is observed is the product of the probabilities of passing both masks. If either mask is dependent on the other, this product formula need not hold; use the joint probability implied by the actual generation rule.

Worked Example: Covariate-Dependent Modality Missingness

Consider a hypothetical cohort of 10 participants, six with \(Z_i=0\) and four with \(Z_i=1\). For one modality, let \(q_i=\operatorname{logit}^{-1}(-2.197+1.792Z_i)\). Assume \(Z_i\) is observed and the Bernoulli missingness draws are independent conditional on \(Z_i\). The probabilities are approximately \(\operatorname{logit}^{-1}(-2.197)=0.1000\) for \(Z_i=0\), and \(\operatorname{logit}^{-1}(-0.405)=0.4001\) for \(Z_i=1\).

The expected missing count is \(6(0.1000)+4(0.4001)=0.600+1.6004=2.2004\), or about 2.20 participants. The expected missing proportion is \(2.2004/10=0.2200\). This is a covariate-dependent mechanism: participants in the \(Z_i=1\) group are more likely to lack the modality.

Suppose a particular set of random draws results in one missing participant among the six with \(Z_i=0\) and two among the four with \(Z_i=1\). The realized count is \(1+2=3\), and the realized missing proportion is \(3/10=0.300\). This differs from the expected proportion without contradicting the model. For each missing participant, set \(R_i=0\); for each other participant, set \(R_i=1\).

Signal-Dependent Feature Missingness

Signal-dependent masking can represent a measurement process in which low or high abundance is less likely to be detected, for example. It is important to generate this mechanism using the complete value \(X_{imj}\), because that value is known to the simulator even if it will later be hidden. Specify the direction and scale deliberately: a positive slope in a logistic model increases missingness probability as the signal increases, while a negative slope decreases it.

Worked Example: A Signal-Dependent Feature Mask

Suppose one hypothetical feature has complete values \(X=(-2,-1,0,1,2)\) for five participants. Set \(q_i=\operatorname{logit}^{-1}(-1+0.8X_i)\), draw a uniform \(U_i\) for each value, and mark the value missing when \(U_i<q_i\). The model assumes independent draws conditional on the complete signal, and its positive slope makes larger values more likely to be missing.

The probabilities, in order, are approximately \(\operatorname{logit}^{-1}(-2.6)=0.0691\), \(\operatorname{logit}^{-1}(-1.8)=0.1419\), \(\operatorname{logit}^{-1}(-1)=0.2689\), \(\operatorname{logit}^{-1}(-0.2)=0.4502\), and \(\operatorname{logit}^{-1}(0.6)=0.6457\). The expected missing count is their sum, \(1.5758\), and the expected missing proportion is \(1.5758/5=0.3152\).

For example, if the generated uniforms are \(0.04, 0.20, 0.30, 0.50, 0.70\), only the first value is missing: \(0.04<0.0691\), while each of the other four uniforms exceeds its corresponding probability. The realized missing proportion is \(1/5=0.200\). Store the complete values and probabilities for simulation auditing, but provide the analysis with the first value masked. The realized observed values alone do not reveal the complete generating process.

Implementation Checks, Alternatives, and Limits

Keep a record of the mechanism alongside each simulation scenario. At minimum, record the indicator level (modality or feature), the meaning of indicator values, the probability model and its parameters, the variables used to calculate each probability, whether draws are shared or independent, and the random draws or reproducible seed information used by the simulation. The earlier material on reporting analysis decisions and reproducible materials is relevant to making these choices auditable.

After generation, check both the input process and its result. Compare realized missing counts with the probabilities used to generate them; verify that modality-level missingness masks all and only the intended features; and confirm that observed values were not altered. For covariate-dependent and signal-dependent mechanisms, tabulate missingness by the generating covariate or signal range. A coding error can produce plausible overall rates while reversing the intended group pattern.

ApproachWhat it representsMain caution
Independent MCAR maskingA fixed probability that does not depend on values or covariatesMay be too simple to represent patterned availability
Covariate-dependent maskingDifferent probabilities across specified groups or covariate valuesInterpret as MAR only when the relevant covariates are observed
Signal-dependent maskingDetection probability changes with the underlying feature valueUses potentially hidden values and is generally MNAR relative to observed data
Joint or block maskingCorrelated missingness across features, modalities, or participantsRequires an explicit dependence model; separate independent draws do not create it

A frequent pitfall is to use \(q\), the missingness probability, as the probability that the observation indicator equals one. That reverses the intended meaning: if \(q=0.20\), it would make only 20% of records observed. The correction is to generate a missingness indicator \(D=1\) with probability \(q\), then set \(R=1-D\), so that 80% are observed on average. Always test a small hand-worked case before scaling the code to many modalities and features.

Another limitation is that observed-data diagnostics cannot generally identify whether missingness depends on an unobserved signal. A simulated benchmark can know the true mechanism because it generated the complete values, but an analyst receiving only the masked data does not have that same information. Simulation assumptions also do not establish that a corresponding real data set follows the same mechanism. The purpose is to vary and report plausible mechanisms, not to claim that one masking rule is universally realistic.

Key takeaway: Specify missingness probabilities at the level they act, generate missingness indicators with those probabilities, and convert them consistently to observation indicators using \(R=1-D\). Verify realized patterns and retain the generating process so benchmark results can be interpreted in light of the information each method actually received.

Check Your Understanding

Answer each question, then compare with the solutions below.

  1. If \(q=0.30\) is the missingness probability, what is \(P(R=1)\) under the convention used here?
  2. For 40 potential records with a common MCAR probability \(q=0.10\), what is the expected missing count and expected missing proportion?
  3. A modality is missing more often in one observed batch than another because the simulation uses batch-specific probabilities. Is this MCAR? When is MAR an appropriate description?
  4. Why can a signal-dependent feature mechanism use a value that the analysis will not observe?
  5. If modality-level and feature-level observation indicators are conditionally independent with probabilities 0.8 and 0.9, what is the probability that the feature is observed after both masks?

Solutions. (1) \(P(R=1)=1-q=0.70\), because \(R=1-D\). (2) The expected count is \(40(0.10)=4\), and the expected proportion is 0.10; the realized count may differ. (3) It is not MCAR because missingness probability depends on batch. MAR is appropriate when batch is observed and, conditional on it, missingness does not additionally depend on the unobserved value. (4) The simulator generates complete values before masking, so it knows them; using them defines the mechanism even though the masked value is withheld from the analysis. (5) The probability is \(0.8(0.9)=0.72\) under the stated conditional independence; both indicators must equal one.

Clinical Biostats