# Fisher-z test

Perform an independence test using Fisher-z’s test [1]. This test is optimal for linear-Gaussian data.

## Usage

```
from causallearn.utils.cit import CIT
fisherz_obj = CIT(data, "fisherz") # construct a CIT instance with data and method name
pValue = fisherz_obj(X, Y, S)
```

Please be kindly informed that we have refactored the independence tests from functions to classes since the release v0.1.2.8. Speed gain and a more flexible parameters specification are enabled.

For users, you may need to adjust your codes accordingly. Specifically,

If you are running a constraint-based algorithm from end to end: then you don’t need to change anything. Old codes are still compatible. For example,

```
from causallearn.search.ConstraintBased.PC import pc
from causallearn.utils.cit import fisherz
cg = pc(data, 0.05, fisherz)
```

If you are explicitly calculating the p-value of a test: then you need to declare the

`fisherz_obj`

and then call it as above, instead of using`fisherz(data, X, Y, condition_set)`

as before. Note that now`causallearn.utils.cit.fisherz`

is a string`"fisherz"`

, instead of a function.

Please see CIT.py for more details on the implementation of the (conditional) independent tests.

## Parameters

**data**: numpy.ndarray, shape (n_samples, n_features). Data, where n_samples is the number of samples
and n_features is the number of features.

**method**: string, “fisherz”.

**kwargs**: e.g., `cache_path`

. See Advanced Usages.

## Returns

**p**: the p-value of the test.