package causal
- Alphabetic
- Public
- All
Type Members
-
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 problemThe 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. -
class
DoubleMLModel extends Model[DoubleMLModel] with DoubleMLParams with ComplexParamsWritable with Wrappable with SynapseMLLogging
Model produced by DoubleMLEstimator.
- trait DoubleMLParams extends Params with HasTreatmentCol with HasOutcomeCol with HasFeaturesCol with HasMaxIter with HasWeightCol with HasParallelismInjected
- trait HasOutcomeCol extends Params
- trait HasTreatmentCol extends Params
-
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"
Value Members
- object DoubleMLEstimator extends ComplexParamsReadable[DoubleMLEstimator] with Serializable
- object DoubleMLModel extends ComplexParamsReadable[DoubleMLModel] with Serializable
- object ResidualTransformer extends DefaultParamsReadable[ResidualTransformer] with Serializable