This tutorial shows how to turn a truncated Chen–Fliess series, or a truncated path signature, into a small bilinear state-space model, and how to fit such a series to sampled data. It covers systems with a letter for time (a drift) and systems without one, where the series is a path signature. The methods are standard: iterated integrals, the Hankel matrix indexed by words, minimal and graded realisations, Volterra kernels and the Lie–Hankel matrix built from Lyndon words. The tutorial works through them on a synthetic example and four test systems, with code that reproduces every number. It states the practical lessons learnt in applying them. These cover how to compute the iterated integrals from formulas and from samples, and how to set up the Hankel matrix of a truncated series. They cover why each window needs its own starting value, and why words should be selected rather than all fitted with a ridge penalty. They cover what the fitted coefficients can and cannot tell, and why the sizes of realisations of fitted series must be compared with their largest possible values. Finally, they cover how far a realisation can be trusted beyond the window it was fitted on.
The code, for this introduction to constructing automata from non-linear dynamic systems, can be found here