Skip to content

Commit

Permalink
Fix headers
Browse files Browse the repository at this point in the history
  • Loading branch information
kahaaga committed Dec 6, 2018
1 parent c00cafb commit b8bd1fd
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions docs/src/interop_dynamicalsystems_infoflow1.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Here, we present an example of how one can measure the information flow
between variables of a dynamical system using transfer entropy (TE).

## Defining a system
### Defining a system

For this example, we'll consider a unidirectionally coupled system consisting
of two logistic maps, given by the vector field
Expand All @@ -32,7 +32,7 @@ a flat distribution on `[0, 1]`. Thus, setting `σ = 0.05` is equivalent to
add dynamical noise corresponding to a maximum of ``5 \\%`` of the possible
range of values of the logistic map.

## Represent as a DiscreteDynamicalSystem
### Represent as a DiscreteDynamicalSystem

```@setup interop1
using DynamicalSystems
Expand Down Expand Up @@ -93,7 +93,7 @@ nothing #hide



## Delay embedding for TE
### Delay embedding for TE
The minimum embedding dimension for this system is 4 (try to figure this out
yourself using the machinery in DynamicalSystems.jl!).

Expand All @@ -111,7 +111,7 @@ where ``\\nu`` is the forward prediction lag and ``\\tau`` is the embedding lag.
If a higher dimension was needed, we would add more lagged instances of the
target variable ``y``.

## Construct the embedding
### Construct the embedding

To construct the embedding, we use the `embed` function as follows.

Expand All @@ -126,7 +126,7 @@ This means that `y` appears in the 1st, 2nd and 3rd columns of the embedding,
with lags 1, 0 and -1, respectively. The 4th column is occupied by `x`, which
is not lagged.

## Keeping track of embedding information using TEVars
### Keeping track of embedding information using TEVars
Keeping track of how the embedding is organized is done using a `TEVars`
instance, which has the following constructor:

Expand All @@ -151,7 +151,7 @@ The last field is an empty array because we are not doing any conditioning on
other variables.


## TE estimator
### TE estimator

We will use the transfer operator grid TE estimator, found in the
`transferentropy_transferoperator_grid` function, or its alias `tetogrid`.
Expand All @@ -160,7 +160,7 @@ scheme, and a `TEVars instance`. We will compute TE over a range of
bin sizes, for a slightly longer time series than we plotted before, with
`c = 0.7`.

## Embedding
### Embedding

Let's create a realization of the system, embed it and create a `TEVars`
instance. We'll use these throughout the examples below.
Expand All @@ -184,7 +184,7 @@ Spp = [4] # source, present (and past, if we wanted)
v = TEVars(Tf, Tpp, Spp)
```

## Different ways of partitioning
### Different ways of partitioning
The `transferentropy_transferoperator_grid` and `transferentropy_freq`
estimators both operate on partitions on the state space.

Expand All @@ -199,7 +199,7 @@ scheme is controlled by `ϵ`, and the following `ϵ` will work:
Below, we demonstrate how TE may be computed using the four different ways
of discretizing the state space.

### Hyper-rectangles by subdivision of axes
#### Hyper-rectangles by subdivision of axes

First, we use an integer number of subdivisions along each axis of the delay
embedding when partitioning (`ϵ::Int`).
Expand Down Expand Up @@ -229,7 +229,7 @@ is an underlying coupling) than from `y` to `x`, where there is no underlying
coupling.


### Hyper-cubes of fixed size
#### Hyper-cubes of fixed size
We do precisely the same, but use fixed-width hyper-cube bins (`ϵ::Float`).
The values of the logistic map take values on `[0, 1]`, so using bins width
edge lengths `0.1` should give a covering corresponding to using `10`
Expand Down Expand Up @@ -258,7 +258,7 @@ nothing #hide
![](logistic2_transferentropy_epsilonfloat.svg)


### Hyper-rectangles of fixed size
#### Hyper-rectangles of fixed size

It is also possible to use hyper-rectangles (`ϵ::Vector{Float}`), by
specifying the edge lengths along each coordinate axis of the delay embedding.
Expand Down Expand Up @@ -301,7 +301,7 @@ nothing #hide



### Hyper-rectangles by variable-width subdivision of axes
#### Hyper-rectangles by variable-width subdivision of axes

Another way to construct hyper-rectangles is to subdivide each
coordinate axis into segments of equal length (`ϵ::Vector{Int}`).
Expand Down Expand Up @@ -337,7 +337,7 @@ nothing #hide
![](logistic2_transferentropy_epsilonvecint.svg)


## Conclusion
### Conclusion
The value of the TE depends on the system under consideration, and on the
way one chooses to discretize the state space reconstruction.

Expand Down

0 comments on commit b8bd1fd

Please sign in to comment.