Class RubinsRules

java.lang.Object
edu.cmu.tetrad.data.missing.RubinsRules

public final class RubinsRules extends Object
Rubin's rules for pooling a scalar estimate across the m completed data sets of a multiple imputation. Each data set gives an estimate and its standard error, computed as if that data set were fully observed; the pooled estimate is their mean, and its variance adds to the average of the squared standard errors (the within-imputation variance) the variance of the estimates across data sets (the between-imputation variance), inflated by 1 + 1/m. The second term is the uncertainty due to the missing data, which no single completed data set shows.

Degrees of freedom follow Barnard and Rubin (1999), which keeps them below the complete-data degrees of freedom.

These rules are for imputations of one data set. They are not valid for data sets that are independent samples, different subjects, or different conditions. And if the imputations were made without drawing the imputation model's parameters (improper imputation, as Tetrad's imputers are), the between-imputation variance is understated, and so the pooled standard error is somewhat too small.

Author:
josephramsey
  • Method Details

    • pool

      public static RubinsRules.Pooled pool(double[] estimates, double[] standardErrors, double completeDataDf)
      Pools one parameter.
      Parameters:
      estimates - the estimate from each completed data set; at least 2
      standardErrors - the standard error of each, in the same order
      completeDataDf - the degrees of freedom the estimate would have with complete data (for instance, the sample size less the number of free parameters); positive, or NaN or infinite if unknown, in which case no small-sample adjustment is made
      Returns:
      the pooled result