This program seeks for nonstationarity in a time series by dividing it into a number of segments and calculating the cross-forecast errors between the different segments. The model used for the forecast is zeroth order model as proposed by Schreiber.

Since the usage of some (two) of the flags of this program is a bit
peculiar, here some more detailed information about them. Say, the
number of segments chosen is N. Then for all
possible combinations of the N segments the
forecast errors are calculated. Means for N^{2} combinations. Since this can be a
large number and one might be only interested in some of all possible
combinations, the combinations can be reduced with the -1 and the -2 flags. The
values these options can take are either single numbers, or ranges
separated by commas. A range looks like n_{1}-n_{2} or like +n. To give some examples:

- nstat_z file -# 10 -1 1

means: Divide the data into 10 segments and use the first segment to forecast all segments. - nstat_z file -# 10 -1 1,3,7-9

means: Divide the data into 10 segments and use the first, the third and the seventh to the ninth segments to forecast all segments

- nstat_z file -# 10 -1 +2

means: Divide the data into 10 segments and forecast all segments I using segments I-2 to I+2.

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 |
---|---|---|

-## | number of segments the data should be divided into | no default. has to be given |

-l# | number of points to use | whole file |

-x# | number of lines to be ignored | 0 |

-c# | column to be read | 1 |

-m# | embedding dimension | 3 |

-d# | delay for the embedding | 1 |

-1# | which segments should be used to forecast the others | 1-(# of segments) (all) |

-2# | which segments should be forecasted by the others | 1-(# of segments) (all) |

-n# | for how many reference points should the error be calculated | all |

-k# | minimal numbers of neighbors for the fit | 30 |

-r# | neighborhood size to start with | (data interval)/1000 |

-f# | factor to increase the neighborhood size if not enough neighbors were found | 1.2 |

-s# | step to be forecasted x_{n+step}=av(x_{i+step})
| 1 |

-C# | width of causality window | steps to be forecasted |

-o[#] | output file name | without file name: 'datafile'.nsz (or stdin.nsz if stdin was read) If no -o is given stdout is used |

-V# | verbosity level 0: only panic messages 1: add input/output messages | 1 |

-h | show these options | none |

first column: The index of the segment used for the forecast

second column: The index of the segment that was forecasted

third column: The cross-forecast error normalized to the standard deviation of the segment that was forecasted.

Before increasing the first index, an empty line is added to the file. Thus the file has a block structure which can be used to make 3d plots in gnuplot. Furthermore, the output format is suitable for clustering by cluster.

View the C-sources.

Table of Contents * TISEAN home