State Space Models

All state space models are written and estimated in the R programming language. The models are available here with instructions and R procedures for manipulating the models here here.

Thursday, June 18, 2026

Unstable Feedback Loops

 


Everyone has probably heard intended or unintended audio feedback effects at a Rock Concert or a public event with a PA System.  What is probably not well understood is that unstable feedback loops can be found in any system (see examples below) under certain conditions. 

Ii have been studying social systems and feedback loops since the 1980's. Some AI summaries, first from ChatGPT and then from Google AI are presented below.

Contrary to the AI conclusions, for example that the Great Depression was a result of unstable feedback loops, the US_E20 Model does not have unstable secondary feedback loops, neither does the DEL19D Model for 19th Century Germany, contrary to my initial hypotheses.

Notes

Pasdirtz, G.W. Instability and Late Nineteenth Century German Development. The DEL19D Model does not have unstable feedback loops but does have an unstable growth component and is an example of the Moving Equilibrium model.


ChatGPT

What are the effects if unstable feedback loops in systems?

Unstable feedback loops occur when a system's responses amplify disturbances rather than dampening them. Instead of returning to equilibrium after a shock, the system moves farther away from it.

General Effects of Unstable Feedback Loops

  1. Exponential Growth or Decline
    • Small changes become large changes.
    • The system may experience runaway growth or collapse.
    • Example: A bank run, where withdrawals trigger more withdrawals.
  2. Increased Volatility
    • Fluctuations become larger over time.
    • The system becomes difficult to predict or control.
    • Example: Financial bubbles and crashes.
  3. Loss of Equilibrium
    • Stable operating points disappear.
    • The system may shift to a completely different state.
    • Example: An ecosystem losing a key species and reorganizing into a new ecological regime.
  4. Overshoot and Collapse
    • Growth exceeds sustainable limits, followed by rapid decline.
    • Example: Population growth that exhausts resources.
  5. Tipping Points
    • A critical threshold is crossed, after which change becomes self-reinforcing.
    • Returning to the previous state may become difficult or impossible.
    • Example: Climate systems reaching irreversible ice-sheet loss.
  6. System Failure
    • Components become overloaded and break down.
    • Example: Electrical grids experiencing cascading blackouts.

Examples Across Different Systems

SystemUnstable Feedback LoopPossible Outcome
EconomyRising asset prices attract more buyersBubble and crash
ClimateWarming melts ice, reducing reflectivityAccelerated warming
PoliticsPolarization creates more polarizationInstitutional breakdown
EcologySpecies loss reduces ecosystem resilienceEcosystem collapse
TechnologySocial media engagement rewards outrageInformation instability
MilitaryArms race encourages further armamentEscalating conflict

Why Some Systems Survive

Many real-world systems contain negative feedback loops that counteract instability:

  • Central banks raising interest rates during inflation.
  • Predator populations limiting prey populations.
  • Thermostats regulating temperature.
  • Democratic institutions constraining political power.

When these stabilizing mechanisms are weaker than the reinforcing feedbacks, instability grows.

A Systems Theory Perspective

From the perspective of the academic field of Systems Theory, the most dangerous systems are not those with feedback loops alone—every system has feedback loops—but those where:

  1. Positive feedback dominates negative feedback.
  2. Delays prevent corrective action.
  3. Actors do not perceive the consequences until thresholds are crossed.

Many major historical crises—from the Great Depression to financial crashes and ecological collapses—can be understood as situations where self-reinforcing feedbacks overwhelmed stabilizing forces.

A useful rule is:

Stable systems absorb shocks; unstable systems amplify them.


Google AI




Saturday, June 13, 2026

The Neoclassical Growth Model

 


Harvey Leibenstien's Malthusian Model

 



Notes

You can run the basic Leibenstein model (here).

The Many Malthusian Models

 

You might conclude from casual reading or if your research stopped in 1798 when Thomas Robert Malthus published an Essay on the Principle of Population, that there is only one Malthusian Model, the one picture above as a Directed Graph. In the original model, Population (N) increases geometrically and Agricultural Production (QA) increases linearly. Eventually a Malthusian Crisis is created when S=(N > QA). The crisis is inevitable.

You might also conclude from casual empiricism that the model is wrong because technological change in Agriculture has made sure that growth in QA is not linear. So why should we bother with the Malthusian model and why does anyone even continue talking about it: (1) The model is easy to teach and supposedly easy to disprove. (2) The Neoclassical Economic Growth model (the Solow-Swan model) assumes that population growth is simply exogenous, along with technological change, and really offers no demographic theory. (3) Unified Growth Theory puts the Malthusian and Neoclassical models together in one frame work. (4) Malthusian Theory has never convincingly been tested statistically. (5) The data to test Malthusian Theory only exists from 0 AD forward (see the work of Angus Maddison). And, (6) the two single equation theory (one for population and one for production) is better formulated as a systems model.


The systems theory version of the Malthusian model was first formulated by Kenneth Boulding in 1955. I'm going to take Boulding's work one step further and develop the Malthusian Model as a State-Space system (see the R-code below that can be run on line using https://rdrr.io/snippets/ using the program dse. When the model is run in the R programming language, the graph above is produced. In the right frame, you can see that QA increases linearly and N increases geometrically (exponentially) as called for by the original Malthusian model. 

The shock decomposition diagram in the left frame shows that (1) a positive shock to population (N, the first row) increase QA which peaks after six years and then begins declining and (2) a positive shock to agricultural production (QA, second row) increases population which also peaks after about six years. All the data are standardize, dimensionless and purely theoretical.

There is a lot of experimenting you (and I) can (and should) do with this model to convince yourself of its generality. You can experiment by changing values in the System Matrix (F).   Here are some experiments to try:
  1. Set f[1,1] = f[2,2] =1 and set f[1,2] = f[2,1]=0 to create a Random Walk hypothesized to be the original Malthusian Trap by Unified Growth Theory.
  2. Try reading Malthus' original statement (few people do here). Can you find any feedback and feedforward effects?
  3. Add some feedback effects to the original model f[1,2] <- -.5 ; f[2,1] <- .5. We expect Population to increase with decrease (maybe) with increases in QA (f[1,2] is a feedback effect) and we expect Population to increase QA as more people are farming (a feedforward effect).




Code

Models have a compact R-code in dse and can be run easily https://rdrr.io/snippets/. Cut-and-paste the following code into the Snippets editor window. When you run it, it should produce the shock decomposition diagram and the forecast in the graphic above.

#
#    MALTHUS
#
require(dse)
require(matlab)
f <- matrix( c(   1.070143e+00, 0, 0.09478143,
               0,  1.00000000, 0.09238426,
                      0.000000000, 0.00000000,  1.000000000
),byrow=TRUE,nrow=3,ncol=3)
h <- eye(2,3)
k <- f[1:3,1:2,drop=FALSE]
TRM <- SS(F=f,H=h,K=k,
z0=c(0.09478143, 0.09238426, 1.00000000),
              output.names=c("N","QA"))
stability(TRM)
TRM <- SS(F=f,H=h,K=k,
z0=c(0.09479164, 1, 1.00000000),
              output.names=c("N","QA"))
TRM
TRM.data <- simulate(TRM,sampleT=20,
,start=1,freq=1,noise=matrix(0,20,2))
TRM.model <- l(TRM,TRM.data)
#tfplot(TRM.model)
shockDecomposition(toSSChol(TRM))
tfplot(forecast(TRM.model,horizon=20))

Tuesday, March 3, 2026

World1 Model: The Limits to Growth

 


The graphic above displays data from the World1 Limits to Growth Model (Forrester, 1974). Historically, the 1972 Limits to Growth Report was important because it was the first modern challenge to the Unlimited Infinite Exponential Growth orthodoxy of Neoclassical Economics. The computer simulation model showed that, as a result of some reasonable assumptions about Natural Resource Exhaustion (e.g., Oil and Minerals), the World system was on a growth-and-collapse path.

To avoid Growth-and-Collapse, growth rates must be limited.

In another post (here), Gaya Harrington analyze the model in more detail and compares it to available historical data. In this post, I convert the World1 model into a State Space Dynamic Components (DCM) model to allow comparison with other World System models I have constructed and other analyses available in Systems Theory.

You can run you World1 Model using R-code here. The system is stable, nonlinear and cyclical. You can compare the World1 Model to the WL203 World Model** which is stable, linear and cyclical. Instructions are available in the R-code for conducting Counterfactual Analysis.


Notes

** The World1 Model and the WL203 World Model differ in the number of data points used to calibrate or estimate the models. The World1 Model uses six data points plus initial conditions (6 x 6 =12) while the WL203 World Model uses complete historical series (14 x 50 = 700) as data points.

Forrest (1973) World Dynamics: Second Edition (pdf).

World1 Measurement Model


Three Principal Components were extracted from the World1 data explain 100% of the variation in the variables (NR= Natural Resources, K=Capital Stock, POL=Pollution, QL=Quality of Life). The components are: W1=(0.440 N + 0.464 K + 0.4619 POL - 0.46659 NR), W2=(Overall Growth - 0.00684 NR) and W3 = (0.6143 POL + 0.354 QL - 0.596 N - 0.3616 NR).

World1 System Matrix

The World1 System is nonlinear, unstable and cyclical.


World1 W1 Time Plot





WL203 Model Measurement Matrix  


Three Principal Components were extracted from the World data explaining 97.3% of the variation in the variables: (N = Population, OIL = Oil Production, QA = Agricultural Output, GWP = Gross World Product, P.Wheat. = World Price of Wheat, P.Oil. = World Price of Oil, TEMP = Global Temperature, CO2 = Carbon Dioxide Emissions, Carbon = All Carbon Emissions, TotalFootprint = Ecological Footprint, EarthsNumber of Earths needed to maintain production, WorldGlobal = Globalization, LivingPlanet = Living Planet Index, URBAN = World Urbanization.

WL203 Model System Matrix



W1 Time Plot


W1 Steady State


A Steady-State Economy in the WL203 World Model can be created with the following command:

f[2,3] <- f[3,2] <- 0


Which eliminates the feedback effects from W2=(LP + P.Wheat. + OIL - TEMP) and W3=(P.Oil. + P.Wheat.- OIL - EF), in words,  the feedback effects from the World-Market-Global-Temperature controller and the World-Market-Ecological-Footprint Controller.

Eliminating the Historical Feedback controllers is not a reasonable policy recommendation. However, reducing growth rates:

f[1,1] <- f[2,2] <- f[2,3] <- .9

Will produce a very rapid steady state in the graphic above. The same aergument made by the 1972 Limits to Growth Report. From Google AI:


Two different Systems Models reaching the same conclusion: 

To avoid Growth-and-Collapse, growth rates must be limited.

I should also point out that Systems Models include Historical Feedback Controllers that are absent from conventional Economic theory (for example, see the DICE Model).



















Perspectives on the Limits to Growth









Here are the four World3 scenarios Gaya Harrington discusses in the video: BAU (Business-as-Usual), BAU2 (Doubling NR), CT (Techno-solution) and SW (Steady-State).




Notes


Wikipedia Links

The Club of Rome a nonprofit, informal organization of intellectuals and business leaders whose goal is a critical discussion of pressing global issues.

The Limits to Growth a 1972 report that discussed the possibility of exponential economic and population growth with a finite supply of resources, studied by computer simulation.

The Limits to Growth Digital Scan of the book.

World Dynamics Digital Scan of the book.

World3 Model system dynamics model for computer simulation of interactions between population, industrial growth, food production and limits in the ecosystems of the earth. It was originally produced and used by a Club of Rome study that produced the model and the book The Limits to Growth (1972).

Doughnut Economic Model a visual framework for sustainable development – shaped like a doughnut or lifebelt – combining the concept of planetary boundaries with the complementary concept of social boundaries.

Earth4All  an initiative launched in 2022 that promotes economic systems change to achieve sustainable development and social equity within planetary boundaries. The project builds upon the legacy of The Limits to Growth report from 1972 and is convened by the Club of Rome, the Potsdam Institute for Climate Impact Research, the Stockholm Resilience Centre and the BI Norwegian Business School.

Wellbeing Economy (WEGO)  a public policy framework in which the economy is designed to serve social, health, cultural, equity and nature outcomes.

Twelve Leverage Points The leverage points, first published in 1997, were inspired by Meadows' attendance at a North American Free Trade Agreement (NAFTA) meeting in the early 1990s, where she realized a very large new system was being proposed but the mechanisms to manage it were ineffective. 




Data Mining