# econml.grf.LinearMomentGRFCriterion

class econml.grf.LinearMomentGRFCriterion

Bases: `econml.tree._criterion.RegressionCriterion`

A criterion class that estimates local parameters defined via linear moment equations of the form:

```E[ m(J, A; theta(x)) | X=x] = E[ J * theta(x) - A | X=x] = 0
```

Calculates impurity based on heterogeneity induced on the estimated parameters, based on the proxy score defined in the Generalized Random Forest paper:

```Athey, Susan, Julie Tibshirani, and Stefan Wager.
"Generalized random forests." The Annals of Statistics
47.2 (2019): 1148-1178 https://arxiv.org/pdf/1610.01271.pdf.
```

Calculates proxy labels for each sample:

```rho[i] := - J(Node)^{-1} (J[i] * theta(Node) - A[i])
J(Node) := E[J[i] | X[i] in Node]
theta(Node) := J(Node)^{-1} E[A[i] | X[i] in Node]
```

Then uses as proxy_impurity_improvement for a split (Left, Right) the quantity:

```sum_{k=1}^{n_relevant_outputs} E[rho[i, k] | X[i] in Left]^2 + E[rho[i, k] | X[i] in Right]^2
```

Stores as node impurity the quantity:

```sum_{k=1}^{n_relevant_outputs} Var(rho[i, k] | X[i] in Node)
= sum_{k=1}^{n_relevant_outputs} E[rho[i, k]^2 | X[i] in Node] - E[rho[i, k] | X[i] in Node]^2
```
__init__()

Methods