Eigenvalue analysis explains a model's behavior in terms of its behavior modes - the basic patterns of growth, decay and oscillation that combine to make up what you see in the graphs - and then links each mode back to the feedback loops that create it. This approach goes back to the work of Nathan Forrester (1982) and was developed into a practical method by Christian Kampmann and Rogelio Oliva.
To turn it on, check Eigenvalue analysis (slower) in the Simulation Control dialog, or, in a Vensim DSS command script, SIMULATE>LIN_INTEL|1. See Structural intelligence (loop dominance) for all the options.
Behavior modes and eigenvalues
At each analysis point, every feedback block in the model has a set of behavior modes. Each mode has a number called its eigenvalue, which tells you what kind of behavior the mode produces:
Eigenvalue |
Behavior of that mode |
|---|---|
Real and positive |
Exponential growth (moving away from equilibrium) |
Real and negative |
Exponential decay (settling toward equilibrium) |
Complex, negative real part |
Damped oscillation |
Complex, positive real part |
Growing (expanding) oscillation |
Close to zero |
Very slow change, or drift |
The size of the real part tells you how fast the mode grows or decays: its time constant is 1 / |real part|. For an oscillating mode, the period is 2 π / |imaginary part|.
Because the model is nonlinear, the eigenvalues change as the simulation runs. A change in the dominant mode - for example, the eigenvalue with the largest real part going from positive to negative - is a shift in which structure controls the model's behavior.
Which stocks take part in a mode
Participation factors show how strongly each stock takes part in each mode. A stock with a large participation factor for a mode is strongly involved in that mode's behavior. This is often the simplest first indication of which part of the model is responsible.
Which loops create a mode
The key step is linking each mode back to the feedback loops. For each loop in the independent loop set, Vensim calculates how much the eigenvalue would move if the strength (gain) of that loop changed slightly. This is the loop eigenvalue elasticity (Kampmann and Oliva 2006; Oliva 2020). Vensim reports two related numbers:
•Loop influence - how far the eigenvalue moves for a small proportional change in the loop's gain. It is in the same units as the eigenvalue.
•Loop elasticity - the same thing as a proportion of the eigenvalue, so it is unit-free and can be compared from one time to another.
A loop with a large influence on the dominant mode is a dominant loop. The sign tells you which way the loop pushes: a loop whose influence makes the real part larger is pushing that mode toward growth or less damping; one that makes it smaller is pushing toward decay or more damping.
Kappa
Influence measures sensitivity, and a loop with a very large gain can show a large influence on every mode even when it has little to do with any of them. To help with this Vensim also reports kappa, which compares the loop's gain with the size of the mode. Loops with kappa close to 1 are the most likely to be generating the mode; loops with kappa far from 1, or close to 0, are unlikely to be the cause even if their influence is large. Sorting loops by how close kappa is to 1 is often more informative than sorting by influence.
Note that loop influences do not add up to the eigenvalue. They describe how sensitive the eigenvalue is to each loop, not how the eigenvalue is divided between the loops.
Behavior Pattern Index
Vensim also reports the Behavior Pattern Index (BPI) of Saleh and Davidsen (2000) for each block and for the model as a whole. It compares the direction the stocks are moving with the direction that movement is bending, and classifies the behavior at each analysis point as:
•divergent - accelerating away (typical of reinforcing-loop dominance);
•convergent - slowing down or settling (typical of balancing-loop dominance);
•sustained - neither, for example a steady oscillation.
A change in the BPI from divergent to convergent is a quick way to spot when dominance shifts.
Other results
When output files are switched on, eigenvalue analysis also produces:
•a breakdown of each stock's current rate of change into the contribution from each mode;
•the local equilibrium the model is heading toward, and how far each stock is from it (Saleh, Oliva, Kampmann and Davidsen 2010);
•the sensitivity of each eigenvalue to the model's parameters (see below).
Loop influences tell you which structure creates a mode. To find which constants you could change to alter it - for example, "what would shorten this business cycle, or damp it out?" - Vensim calculates how much each eigenvalue moves when each parameter changes slightly (see Naumov and Oliva 2018 for interpreting parameter elasticities):
•a change in the real part shows whether the parameter makes the mode grow or decay faster - for an oscillation, whether it becomes more or less damped;
•a change in the imaginary part shows whether the parameter makes an oscillation faster or slower. For example, a longer adjustment time usually gives a slower oscillation.
This links the dominant modes directly to the constants you can use as policy levers. It is written to the _linear_eigen_param.tab output file.
Limitations
•Eigenvalue analysis is based on a linear approximation at each analysis point. If the model is changing regime quickly (for example, a lookup reaching its limit), check the residual reported by loop impact before relying on the result at that time.
•When two eigenvalues are almost equal, loop influences can become very large and unreliable. Vensim reports a quality measure that flags this.
•The calculation time grows quickly with the size of a feedback block. Use LINEAR MAX SIZE to control the largest block analyzed, and LINEAR SAVEPER to control how often the analysis is done.
•Eigenvalue analysis describes only the feedback (endogenous) part of the behavior. If a stock is mainly being driven by data or by time inputs, the eigenvalues will not explain that part. The forcing ratio output shows how much each stock is driven from outside.
See also
•Structural intelligence (loop dominance) overview