Categorical MNAR Types

class missmecha.generate.mnarcat.MNARCatType1(q=0.2, seed=1)[source]

Bases: object

MNAR Mechanism for Categorical and Ordinal Features (Column-wise Variant)

Introduces missingness into categorical or ordinal columns based on feature-specific criteria: - For numerical columns, values below a quantile threshold are masked. - For ordinal columns, top-ranked values are targeted. - For nominal columns, randomly chosen categories are partially masked.

Parameters:
  • q (float, default=0.2) – Quantile or proportion threshold used for masking.

  • seed (int, default=1) – Random seed for reproducibility.

fit(X, col_info)[source]

Fit method (placeholder for compatibility).

Parameters:
  • X (np.ndarray) – Input data array.

  • col_info (dict) – Dictionary mapping column indices to their type.

Returns:

self – Returns self.

Return type:

MNARCategorical

transform(X)[source]

Apply MNAR masking to categorical/ordinal/numerical columns.

Parameters:

X (np.ndarray) – Input data to transform.

Returns:

X_missing – Transformed array with missing values injected.

Return type:

np.ndarray