[ top | up ]

## Approximate Entropy

### Syntax

```entropy = apen( pre, post, r );
```

### Arguments

 `pre` An embedding of data. `post` The images of the data in the embedding. `r` The filter factor, which sets the length scale over which to compute the approximate entropy.

### Returned Values

 `entropy` The numerical value of the approximate entropy.

### Description

The "approximate entropy" was introduced by Pincus to quantify the creation of information in a time series. A low value of the entropy indicates that the time series is deterministic; a high value indicates randomness.

The "filter factor" `r` is an important parameter. In principle, with an infinite amount of data, it should approach zero. With finite amounts of data, or with measurement noise, it is not always clear what is the best value to choose. Past work on heart rate variability has suggested setting `r` to be 0.2 times the standard deviation of the data.

Another important parameter is the "embedding dimension." Again, there is know precise means of knowing the best such dimension, but previous work has used a dimension of 2. The final parameter is the embedding lag, which is often set to 1, but perhaps more appropriately is set to be the smallest lag at which the autocorrelation function of the time series is close to zero.

The `apen` function expects the data to be presented in a specific format. Working with a time series `tseries`, the following steps will compute the approximate entropy, with an embedding dimension of 2 and a lag of 1.

```edim = 2;
lag = 1;
edata = lagembed(tseries,edim,lag);
[pre,post] = getimage(edata,lag);
r = 0.2*std(tseries);
apen(pre,post,r);
```

### References

• SM Pincus (1991) Proc. Natl. Acad. Sci. USA 88:2297-2301
• D Kaplan, MI Furman, SM Pincus, SM Ryan, LA Lipsitz, AL Goldberger (1991) "Aging and the complexity of cardiovascular dynamics," Biophys.J. 59:945-949

`apenhr`. `lagembed`. `getimage`.
```tseries = randn(500,1);
```tseries = sine((1:.2:100)');