System Identification › Identifiability and Excitation
World Models HandbookAll chapters System Identification › Identifiability and ExcitationOne section · Sections in this chapter3 / 11 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
This section covers the question that precedes every fitting procedure: does the dataset contain enough information to pin down the model at all? It is tempting to skip straight to algorithms, since fitting code runs happily on garbage data without complaint. But the concepts here determine whether that run meant anything, and they explain phenomena that otherwise look mysterious, like estimators returning wildly different parameters on different days despite nominally similar datasets.
What Identifiability Means
Identifiability is a property of the triple (system, model class, dataset). Keep all three components in mind, because failures of each kind have different cures. Structural problems belong to the class and cannot be fixed by data collection; practical problems belong to the dataset and usually can be. The model class defines a mapping from parameters to input-output behavior. The data identifies if no other parameter value in the class produces the same distribution of trajectories on experiments like the ones we ran.
Parameters are structurally identifiable from a model class if the mapping is injective: distinct parameters imply distinct behaviors. They are practically identifiable on a given dataset if the observed or expected Fisher information (the negative curvature of the log-likelihood around ) has full rank and a reasonable condition number. For comparisons across dataset sizes, this conditioning statement applies to normalized, per-sample information.
The distinction between the two definitions is worth internalizing via their respective symptoms. Structural non-identifiability manifests as flat directions in the log-likelihood that stay flat no matter how much data arrives: infinitely many optima, exactly tied. Practical non-identifiability manifests as directions that are technically distinguishable but only barely. Their variance still shrinks with sample count when Fisher information is positive, but the prefactor can be so large that improvement is negligible at realistic dataset sizes. The Fisher-information framing makes the connection quantitative: practical identifiability asks whether the log-likelihood's curvature matrix has full rank and reasonable condition number near the optimum.
Structural non-identifiability often hides in symmetry. Take any linear state-space realization . For any invertible , the transformed pair produces identical input-output behavior when combined with . The verification is a two-line computation: , so every impulse-response coefficient, hence every input-output trajectory, survives the change of coordinates untouched. Input-output data therefore can never recover itself, only up to a similarity transformation. This is not a defect of your optimizer; it is a fact about information. No quantity computable from input-output records distinguishes the original from the transformed system, in the same way that a photograph of a sculpture cannot reveal which direction you call north. Two attitudes are available toward this ambiguity, and both appear in practice. Subspace methods (later in this chapter) embrace it and return whatever basis they like, while planners happily accept it because plans depend on predicted measurements, not on the internal coordinate system. Only when latents must correspond to interpretable physical quantities, as in scientific modeling, does the ambiguity become a substantive obstacle requiring extra information to break.
Practical non-identifiability is dataset-dependent and far more common in practice. Consider a linearized aircraft model and a recording made entirely during cruise at one airspeed and altitude. Hundreds of thousands of samples, yet the aerodynamic derivatives governing stall behavior are untouched by that data: different stall-coefficient values produce indistinguishable cruise recordings. The sample count was never the binding constraint. The binding constraint was behavioral coverage. If anything, the abundance of cruise samples makes the problem worse psychologically, because a large dataset creates a false sense of security; the numbers were many, but the questions they answer were few and repetitive. This is the first appearance of a theme that will dominate the end of this chapter: what a dataset certifies is determined by what it varies, not by how much of it there is.
Persistent Excitation
Excitation quantifies behavioral coverage for the input channel. When the input sequence probes enough independent directions, the empirical autocovariance of appropriately stacked inputs becomes positive definite, so the associated regression has a unique estimate and, under suitable limit conditions, a unique probability limit. Persistent excitation alone does not make that limit equal the truth. Consistency additionally requires a correctly specified model, exogeneity or regressor-orthogonal disturbances, and the usual stability and regularity conditions.
An input sequence is persistently exciting of order if the stacked vectors satisfy a uniform lower bound on their empirical second moment,
uniformly for all large , where is the identity matrix sized to match and the relation asserts that the left-hand side minus is symmetric positive definite. Intuitively, the regression built on the last inputs must have full-rank covariance: the input history must have explored at least independent "directions," consistently, forever, not just once at startup.
The "consistently, forever" clause deserves emphasis because it is where naive experiments fail. A startup chirp or initial burst of randomness gives you full-rank covariance once, at the beginning, but as the record grows those early samples dilute toward zero weight in the empirical average. Persistent excitation requires that richness continue appearing throughout the record, so that no matter how long you wait, every parameter direction keeps getting fresh evidence. Methods exist for tracking time-varying systems under much weaker conditions (forgetting factors effectively downweight old data), but for stationary offline identification on infinite horizons, persistence is the right requirement.
What does sufficient richness look like concretely? A few canonical examples calibrate intuition, ordered from least to most informative:
- Zero input identifies nothing about the input channel. Recording a passive system tells you about its autonomous dynamics and nothing about how it responds to commands. You recover eigenvalues but no matrix; the system hums along its own modes and never reveals its opinions about your instructions.
- A constant input is minimally informative. You learn the response at a single operating point; the local sensitivity of behavior to input level, which is what measures, stays invisible. The system settles into one equilibrium, and equilibrium data pins down ratios and steady-state gains while leaving the dynamic sensitivities undetermined.
- A single sinusoid is rich of a very low order. The classical result is that a sum of distinct sinusoids is persistently exciting of order roughly , so you need several frequencies, not several cycles, to probe higher-order dynamics. Repeating the same frequency for hours adds confidence at that frequency but no new directions in the regressor space.
- Filtered random noise is rich of effectively arbitrary order, which is why dithering with small random perturbations is the default cure for degenerate excitation in industrial practice. Random signals populate all directions statistically, so magnitude becomes the only design variable: enough dither to inform, not so much as to disrupt operations or violate actuator limits.
Two practical extensions matter, which we return to below.
To see the excitation hierarchy concretely, we can compute the empirical second-moment matrix of stacked inputs for each canonical input type and record how many well-conditioned directions it actually covers.
import numpy as np
rng_exc = np.random.default_rng(5)
n_lag = 3
T_exc = 2000
t_axis = np.arange(T_exc)
u_zero = np.zeros(T_exc)
u_const = 0.5 * np.ones(T_exc)
u_sine1 = np.sin(2 * np.pi * 0.02 * t_axis)
w_exc = rng_exc.normal(size=T_exc)
u_noise = np.convolve(w_exc, np.ones(8) / 8, mode="same")
def stacked_cov(u):
# Use only complete, non-circular lag windows.
bars = np.column_stack(
[u[n_lag - 1 - k : len(u) - k] for k in range(n_lag)]
)
return bars.T @ bars / len(bars)
exc_inputs = [u_zero, u_const, u_sine1, u_noise]
min_eigs = [
float(np.min(np.linalg.eigvalsh(stacked_cov(u)))) for u in exc_inputs
]
exc_labels = ["Zero", "Constant", "Single sinusoid", "Filtered noise"]
The two extensions are these. First, for nonlinear model classes, persistent excitation generalizes to the requirement that the empirical covariance of relevant feature embeddings, e.g. stacking for the regressor you intend to fit, is nonsingular; excitation is always relative to a function class. This point generalizes all the way up the expressivity ladder: exciting for a linear model is not automatically exciting for a sine-of-position term, because feature embeddings define different notion of "directions" that need covering. The deeper the class, the harder thorough coverage becomes, and eventually coverage degrades from a checkable property to an act of faith, which is precisely why extrapolation risk dominates in the neural setting later.
And for closed-loop data, excitation becomes subtle: if the controller is a deterministic feedback law , the input may inherit most of its variation from disturbances, and some parameter directions can become entangled with the assumed noise model. Serially correlated or contemporaneous disturbances can then correlate the regressors with the current error and invalidate clean least-squares guarantees. With white innovations and regressors formed only from past variables, however, closed-loop operation does not by itself force that bias; lack of independent excitation can still make parameters difficult or impossible to distinguish. A common remedy is to add an externally generated dither signal, restoring excitation independently of the disturbances. This is also the provenance trap behind naive behavioral cloning from logged data: every record was generated by some policy, possibly a human, so its coverage silently shapes what either a policy learner or a learned model can certify.
Experiment Design
Since excitation is a property of the data, we sometimes get to choose it. Experiment design asks: subject to constraints (the robot cannot smash itself, the patient cannot receive arbitrary drug doses, the flight envelope is bounded), which input profiles maximize information about the parameters we care about? Common criteria minimize (A-optimality), maximize (D-optimality), or maximize (E-optimality), where is the Fisher information matrix. Maximizing is another possible scalar objective, but it is not A-optimality in general because it can reward directions that are already well excited. Each choice expresses a different preference about which parameter combinations deserve precision. Guidelines worth carrying forward:
- Vary amplitude, not just timing: commands spanning the meaningful dynamic range reveal sensitivity everywhere you plan to operate. Small-amplitude excitation linearizes your knowledge around mild behavior; the model then knows nothing about whether gains change at aggressive settings.
- Cover the bandwidth that matters: fast modes need fast excitation, slow integrator-like modes need long records, and identification for aggressive control needs excitation where the control bandwidth lives. A signal rich at low frequencies leaves fast transducers of behavior completely dark, and vice versa.
- Prefer multiple short, diverse experiments to one long monotonous one when drift threatens stationarity. Diversity across experiments buys behavioral coverage while limiting each experiment's exposure to slowly accumulating drift.
- Cheap multimodal information beats expensive unimodal volume: sometimes adding a sensor helps identifiability more than doubling the record length. We connect this to multimodal sensing in Part III, Chapter 1. Intuitively, a new sensor changes the observation map so that previously hidden state components leave fingerprints; more data through the same narrow keyhole just sharpens the same partial picture.