# Additive noise models

## Algorithm Introduction

Causal discovery based on the additive noise models (ANM [1]). If you would like to apply the method to more than two variables, we suggest you first apply the PC algorithm and then use pair-wise analysis in this implementation to find the causal directions that cannot be determined by PC.

## Usage

```
from causallearn.search.FCMBased.ANM.ANM import ANM
anm = ANM()
p_value_foward, p_value_backward = anm.cause_or_effect(data_x, data_y)
```

## Parameters

**data_x**: input data (n, 1).

**data_y**: output data (n, 1).

## Returns

**pval_forward**: p value in the x->y direction.

**pval_backward**: p value in the y->x direction.