dowhy/utils/dgps/cubic_dgp.py [53:85]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        self.true_value = np.mean(y_treatment - y_control, axis=0)

        self.weights = weights
        self.bias = bias

        return pd.DataFrame(np.hstack( (effect_modifier, confounder, treatment, outcome) ), columns=self.effect_modifier + self.confounder + self.treatment + self.outcome)

    def generation_process(self):
        self.weights['confounder=>treatment'] = self.generate_weights( (len(self.confounder), len(self.treatment)) )
        self.weights['confounder=>outcome'] = self.generate_weights( (len(self.confounder), len(self.outcome)) )
        self.weights['effect_modifier=>outcome'] = self.generate_weights( (len(self.effect_modifier), len(self.outcome)) )
        self.weights['treatment=>outcome'] = self.generate_weights( (len(self.treatment), len(self.outcome)) )

        self.bias['confounder=>treatment'] = self.generate_bias( len(self.treatment) )
        self.bias['confounder=>outcome'] = self.generate_bias( len(self.outcome) )

    def generate_weights(self, dimensions):
        return np.random.randn(*dimensions)

    def generate_bias(self, dimensions):
        return np.random.randn(dimensions)

    def __str__(self):
        rep = super().__str__()

        header = """
        Cubic Data Generating Process
        ------------------------------
        """

        rep = header + rep

        return rep
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



dowhy/utils/dgps/quadratic_dgp.py [56:88]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        self.true_value = np.mean(y_treatment - y_control, axis=0)

        self.weights = weights
        self.bias = bias

        return pd.DataFrame(np.hstack( (effect_modifier, confounder, treatment, outcome) ), columns=self.effect_modifier + self.confounder + self.treatment + self.outcome)

    def generation_process(self):
        self.weights['confounder=>treatment'] = self.generate_weights( (len(self.confounder), len(self.treatment)) )
        self.weights['confounder=>outcome'] = self.generate_weights( (len(self.confounder), len(self.outcome)) )
        self.weights['effect_modifier=>outcome'] = self.generate_weights( (len(self.effect_modifier), len(self.outcome)) )
        self.weights['treatment=>outcome'] = self.generate_weights( (len(self.treatment), len(self.outcome)) )

        self.bias['confounder=>treatment'] = self.generate_bias( len(self.treatment) )
        self.bias['confounder=>outcome'] = self.generate_bias( len(self.outcome) )

    def generate_weights(self, dimensions):
        return np.random.randn(*dimensions)

    def generate_bias(self, dimensions):
        return np.random.randn(dimensions)

    def __str__(self):
        rep = super().__str__()

        header = """
        Quadratic Data Generating Process
        ----------------------------------
        """

        rep = header + rep

        return rep
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



