Determines the fraction of false nearest neighbors.
Input
This function always assumes that each time series is along the longer dimension of matrix S. It also assumes that every dimension (counting along the shorter dimension) of S is considered a component of the time series. So
S = [[1:1000];[5:1004]]
would be considered a 2 component, 1000 element time series.
Parameters
This is the flag ’-m’ from TISEAN. It is the minimal embedding dimensions of the vectors [default = 1].
This parameter is consistent with the second part of the flag ’-M’ from TISEAN. The first part of that flag is unnecessary as this function assumes that all components of the input data are used. This parameter determines the maximum embedding dimension of the vectors [default = 5].
The delay of the vectors [default = 1].
The theiler window [default = 0].
Ratio factor [default = 2.0].
Switches
If this switch is selected the function will give progress reports along the way.
Outputs
This holds the dimension of the output data.
The fraction of false nearest neighbors.
The average size of the neighborhood.
The average of the squared size of the neighborhood.
See also: http://www.mpipks-dresden.mpg.de/~tisean/Tisean_3.0.1/docs/docs_c/false_nearest.html or demo for more information.
Algorithms
The algorithms for this functions have been taken from the TISEAN package.
The following code
ikd = ikeda (10000); hen = henon (10000); hen_noise = hen + mean (hen) * 0.01 .* (-6 + sum (rand ([size(hen), 12]), 3)); [dikd, fikd] = false_nearest (ikd(:,1)); [dhen, fhen] = false_nearest (hen(:,1)); [dhno, fhno] = false_nearest (hen_noise(:,1)); plot (dikd, fikd, '-b*', 'markersize', 15,... dhen, fhen, '-r+', 'markersize', 15,... dhno, fhno, '-gx', 'markersize', 15); legend ("Ikeda", "Henon", "Noisy Henon"); ylim ([0, 1]);
Produces the following figure
Figure 1 |
---|
Package: tisean