Packages

package causal

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. class DoubleMLEstimator extends Estimator[DoubleMLModel] with ComplexParamsWritable with DoubleMLParams with SynapseMLLogging with Wrappable

    Double ML estimators.

    Double ML estimators. The estimator follows the two stage process, where a set of nuisance functions are estimated in the first stage in a cross-fitting manner and a final stage estimates the average treatment effect (ATE) model. Our goal is to estimate the constant marginal ATE Theta(X)

    In this estimator, the ATE is estimated by using the following estimating equations: .. math :: Y - \\E[Y | X, W] = \\Theta(X) \\cdot (T - \\E[T | X, W]) + \\epsilon

    Thus if we estimate the nuisance functions :math:q(X, W) = \\E[Y | X, W] and :math:f(X, W)=\\E[T | X, W] in the first stage, we can estimate the final stage ate for each treatment t, by running a regression, minimizing the residual on residual square loss, estimating Theta(X) is a final regression problem, regressing tilde{Y} on X and tilde{T})

    .. math :: \\hat{\\theta} = \\arg\\min_{\\Theta}\ \E_n\\left[ (\\tilde{Y} - \\Theta(X) \\cdot \\tilde{T})^2 \\right]

    Where \\tilde{Y}=Y - \\E[Y | X, W] and :math:\\tilde{T}=T-\\E[T | X, W] denotes the residual outcome and residual treatment.

    The nuisance function :math:q is a simple machine learning problem and user can use setOutcomeModel to set an arbitrary sparkML model that is internally used to solve this problem

    The problem of estimating the nuisance function :math:f is also a machine learning problem and user can use setTreatmentModel to set an arbitrary sparkML model that is internally used to solve this problem.

  2. class DoubleMLModel extends Model[DoubleMLModel] with DoubleMLParams with ComplexParamsWritable with Wrappable with SynapseMLLogging

    Model produced by DoubleMLEstimator.

  3. trait DoubleMLParams extends Params with HasTreatmentCol with HasOutcomeCol with HasFeaturesCol with HasMaxIter with HasWeightCol with HasParallelismInjected
  4. trait HasOutcomeCol extends Params
  5. trait HasTreatmentCol extends Params
  6. class ResidualTransformer extends Transformer with HasOutputCol with DefaultParamsWritable with Wrappable with SynapseMLLogging

    Compute the differences between observed and predicted values of data.

    Compute the differences between observed and predicted values of data. for classification, we compute residual as "observed - probability($(classIndex))" for regression, we compute residual as "observed - prediction"

Ungrouped