Metastability and Eye Movements: A Dynamical‑Systems Interpretation

  1. Why metastability is a natural language for gaze behavior The idea that perception, attention, and neural activity evolve through transiently stable states has deep roots in cognitive science and neuroscience. Concepts such as attractors , basins , noise‑induced transitions , and escape times appear in work on perceptual switching, decision‑making, and neural population dynamics (Kelso, 1995; Rabinovich et al., 2008; Deco & Jirsa, 2012). Eye movements, especially the alternation between fixations and saccades ,   fit remarkably well into this metastable picture. The Freidlin–Wentzell theory of rare events (Freidlin & Wentzell, 2012) provides a rigorous mathematical language for these intuitions. 2. Fixations as metastable states  Consider the gaze position X t as the state of a stochastic dynamical system. During a fixation the  gaze remains confined to a small region, microsaccades and noise generate small fluctuations, and the gaze tends to return...

Diagnosing Singular Fits in Linear Mixed Models: Practical Examples, Code, and Alternatives

 

Introduction

This post is the practical follow‑up to When Linear Mixed Models Don’t Converge, where I discussed the theoretical reasons why convergence issues often arise in linear mixed models. Here, we move from theory to practice: simulated examples, diagnostic tools, interpretation of singular fits, and practical modeling alternatives.

If you haven’t read the first part yet, you may want to start there for the conceptual foundations.


Figure. Conceptual map showing how model complexity and available information interact


Legend of Figure 1. Green = identifiable models; yellow = risk of singularity; red = non‑identifiable models.


A Concrete Example Using R: When a Random-Slope Model Becomes Singular

Let’s simulate a simple dataset with only 8 groups and a very small random‑slope variance. This is a classic scenario where the model converges numerically but is statistically non‑identifiable.

```r

set.seed(123) n_groups <- 8 n_per_group <- 20 group <- factor(rep(1:n_groups, each = n_per_group)) x <- rnorm(n_groups * n_per_group) beta0 <- 2 beta1 <- 1 u0 <- rnorm(n_groups, 0, 1) u1 <- rnorm(n_groups, 0, 0.05) y <- beta0 + u0[group] + (beta1 + u1[group]) * x + rnorm(n_groups * n_per_group, 0, 1) df <- data.frame(y, x, group) library(lme4) m <- lmer(y ~ x + (x | group), data = df) summary(m) isSingular(m)

```

Typical output:

  • Random‑slope variance ≈ 0.05

  • Correlation between intercept and slope = 1.00

  • Message: boundary (singular) fit

  • isSingular(m) returns TRUE

This is not a numerical failure. It is a mathematical signal that the model is too complex for the available information.


How to Interpret a Singular Fit

A singular fit occurs when the estimated random‑effects variance–covariance matrix is not of full rank. This typically means:

  • A random‑effect variance is estimated as zero

  • A correlation hits ±1

  • The Hessian is not invertible

  • The model lies on the boundary of the parameter space

In practice, this means the data do not support the random‑effects structure you specified.


Diagnostic Checklist

Red flags

  • Variance of a random effect is exactly zero

  • Correlation between random effects is ±1

  • isSingular(model) returns TRUE

  • Large gradients or warnings about the Hessian

  • Estimates change dramatically when switching optimizers

Useful tools

  • lme4::isSingular()

  • lmerControl(optimizer = ...) for diagnosis only

  • Likelihood‑ratio tests between nested models

  • Checking the number of levels per random effect


Practical Alternatives When the Model Is Too Complex

1. Simplify the random‑effects structure

Often, the most appropriate solution.

Examples:

  • Remove the random slope

  • Remove correlations using (1 | group) + (0 + x | group)

  • Fit a random‑intercept model first and evaluate necessity of slopes


2. Bayesian models with weakly informative priors

Bayesian estimation stabilizes variance estimates near zero.

Example:

```r

brm(y ~ x + (x | group), data = df, prior = prior(exponential(2), class = sd))

```

3. Penalized mixed models (e.g., glmmTMB)

Penalization shrinks unstable variance components.


4. Marginal models (GEE)

When the focus is on fixed effects rather than subject‑specific effects.


Summary

Singular fits are not numerical accidents. They are statistical messages telling you that:

  • the model is over‑parameterized,

  • the data do not contain enough information,

  • and the random‑effects structure needs to be reconsidered.

Understanding this distinction leads to more robust modeling decisions and clearer scientific conclusions.

Comments

Popular posts from this blog

Understanding Anaerobic Threshold (VT2) and VO2 Max in Endurance Training

Owen's Function: A Simple Solution to Complex Problems