Description of the program: false_nearest
This program looks for the nearest neighbors of all data points in m
dimensions and iterates these neighbors one step (more precisely delay
steps) into the future. If
the ratio of the distance of the iteration and that of the
nearest neighbor exceeds a given threshold the point is marked as a
wrong neighbor. The output is the fraction of false neighbors for the
specified embedding dimensions (see
Kennel et al.).
Note:
We implemented a new second criterion.
If the distance to the nearest neighbor becomes smaller than the
standard deviation of the data devided by the threshold, the point is
omitted. This turns out to be a stricter criterion, but can show the
effect that for increasing embedding dimensions the number of points
which enter the statistics is so small, that the whole statistics is
meanlingless. Be aware of this!
Usage:
false_nearest [Options]
Everything not being a valid option will be interpreted as a potential datafile name. Given no datafile at all, means read stdin. Also - means stdin
Possible options are:
Option
| Description
| Default
|
-l#
| number of data to use
| whole file
|
-x#
| ignore the first # rows
| 0
|
-c#
| columns to be read
| 1
|
-m#
| minimal embedding dimensions of the vectors
| 1
|
-M#,#
| # of components, max. embedding dimension of the vectors
| 1,5
|
-d#
| delay of the vectors
| 1
|
-f#
| ratio factor
| 2.0
|
-t#
| theiler window
| 0
|
-o[#]
| output file name
| without file name: 'datafile'.fnn
(or stdin.del if stdin was read)
If no -o is given stdout is used
|
-V#
| verbosity level
0: only panic messages
1: add input/output messages
2: add information about the current state of the program
| 3
|
-h
| show these options
| none
|
Construction of the vectors
In case of a multivariate input the vectors are built in the following
way (n= number of components):
(x1(i),...,xn(i),
x1(i+delay),...,xn(i+delay),...,
x1(i+(maxemb-1)*delay),...,xn(i+(maxemb-1)*delay))
The minimal embedding dimension given by the -m flag
just refers to the embedding of the components. That means if you
start with a three component vector and give -m1
-M3,3 -d1 then the program starts with
(x1(t),x2(t),x3(t))
for the first test, then it takes
(x1(t),x2(t),x3(t),x1(t+1),
x2(t+1),x3(t+1),)
for the next case and so forth.
Description of the Output:
output on stdout (or in the file):
first column: the dimension (counted like shown above)
second column: the fraction of false nearest neighbors
third column: the average size of the neighborhood
fourth column: the average of the squared size of the neighborhood
output on stderr:
A statistics on how many points were found up to the given
neighborhood size.
View the C source.
Table of Contents * TISEAN home