# Influence Estimation#

```
[1]:
```

```
%%capture
# execute the creation & training notebook first
%run "02-01-creation_and_training.ipynb"
```

After training we might want to know how much our parameters influence a certain target. We can do this with the `.estimate_influences`

method.

Let’s start by estimating the influences on the parameter ‘(c|a,b)’.

```
[2]:
```

```
causal_structure.estimate_influences(target='(c|a,b)')
```

```
[2]:
```

```
(a) 0.675741
(b|a) 3.677125
(c|a,b) 1.000000
Name: influence on (c|a,b), dtype: float64
```

We see that ‘(c|a,b)’ influences itself by 1, that is to say it influences itself by 100%. ‘(a)’ influences it by 66%. This seems fairly in line with the R2-score in the performance evaluation section.

However, ‘(b|a)’ shows an influence above 100%. How can this be understood?

## Influences follow causal directions#

If we change the target of the influence estimation to ‘(b|a)’

```
[5]:
```

```
causal_structure.estimate_influences(target='(b|a)')
```

```
[5]:
```

```
(a) 0.919762
(b|a) 1.000000
(c|a,b) 0.000000
Name: influence on (b|a), dtype: float64
```

we see that ‘(c|a,b)’ has an influence of zero on ‘(b|a)’, even though you can predict ‘(b|a)’ from ‘(c|a,b)’ (see the “Backwards prediction” subsection in the prediction section). This is because `estimate_influences`

respects causal directions. So effects do not influence causes.

For further details about the `InfluenceEstimator`

see the corresponding section in the core-documentation.

In the next section we will have a look at rank estimation.