<!-- Markdown version of https://atomasevic.xyz/papers/latent-oscillator.html, generated by scripts/generate_paper_pages.rb -->

Preprint · arXiv and PsyArXiv · 14 September 2026

# A Latent Oscillator Measurement Model to Simulate Emotional-Expression Score Dynamics in Video

**Aleksandar Tomašević**¹, Hudson Golino², Alexander P. Christensen³

¹ Institute of Physics Belgrade, University of Belgrade · ² Department of Psychology, University of Virginia · ³ Department of Psychology and Human Development, Peabody College, Vanderbilt University

- [Preprint](https://arxiv.org/abs/2609.15273)
- [Code](https://github.com/atomashevic/LOMM)
- [Materials](https://osf.io/y9jb3/)
- [Slides](https://atomasevic.xyz/talks/impst25-session.html)
- [Cite](#cite)

**In short:** Emotion classifiers turn a video into many score series, one per emotion label. We built a model that simulates such series from a few latent processes that swing and settle like damped oscillators. Calibrated on 100 real videos, it produced series that closely resembled held-out real ones. We then used it to test which methods find the latent structure we put in.

[![One simulated clip with three latent dimensions. Row A shows each dimension's latent trajectory: dimension 1 peaks early and decays smoothly, dimension 2 starts in a trough and rebounds, dimension 3 oscillates faster. Row B shows activity switching between 1.00 in shaded intervals and 0.08 otherwise. Row C shows the expressed signal, the latent level times activity. Row D shows four noisy observed indicators per dimension. Panel E is a correlation matrix of the twelve indicators with three diagonal blocks.](https://atomasevic.xyz/images/papers/latent-oscillator-figure.webp)](https://atomasevic.xyz/images/papers/latent-oscillator-figure.webp)

**One simulated clip, layer by layer.** Each column follows one latent dimension from its oscillating trajectory (A), through the activity schedule (B) and the expressed signal (C), to four noisy indicators (D). The indicator correlations (E) show the three-block structure that the methods have to recover. Figure 2 of the preprint.

## Why an oscillator?

Emotion classifiers can now score every frame of a video. Each frame gets a score for each emotion label, so a single clip becomes a bundle of time series: one for anger, one for fear, one for sadness, and so on. The number of labels does not tell us how many distinct processes sit behind those series. Fear and anxiety may both track one threat-related process. To check whether an analysis finds that kind of structure, we need data where we know the answer. Real videos cannot give us that, so we built a model that generates such data.

We start from the damped linear oscillator, a model long used for how emotional states move away from a baseline and return to it.

## The model in plain words

Picture a weight on a spring. Pull it away from rest and it is pulled back. In our Latent Oscillator Measurement Model (LOMM), each latent process works the same way. Its acceleration equals η times its distance from baseline, plus ζ times its current speed, plus a random push. The first parameter sets how strongly the process is pulled back toward baseline, and so how fast it swings. The second sets whether swings fade out (damped), keep going (undamped) or grow (amplifying). The random pushes add irregular peaks and reversals.

Two more layers sit on top. An activity layer sets how strongly each process shows on the face at each moment, so a process can run in the background while barely being expressed. An observation layer then maps the expressed processes onto several indicators, each with its own loading and measurement error. LOMM can output continuous indicators or bounded scores that sum to one, like classifier output.

## What we did

In Study 1 we scored 100 videos from MAFW, a database of facial-expression video recorded in natural settings, using CLIP through our transforEmotion R package and eleven emotion labels. In four rounds, we calibrated LOMM on 75 videos and compared its generated series with the other 25, using 22 summary features. A static generator without any time dependence served as the comparison.

- **100** MAFW videos
- **11** emotion labels scored
- **21,600** simulated datasets per design
- **4** recovery methods compared

In Study 2 we generated continuous indicators with a known number of dimensions and asked four network methods to recover them: Dynamic Exploratory Graph Analysis (DynEGA), static EGA, GraphicalVAR and GIMME. The design crossed six expression scenarios with numbers of dimensions, numbers of clips, loading strengths and error levels.

## What we found

**LOMM series looked like real ones.** Most generated series had a close real counterpart, and most real series had a close generated one. The static generator covered much less of the real variation. Entropy was the clearest remaining mismatch.

- LOMM, plausibility: 0.970 (95% simulation range 0.935 to 0.99)
- LOMM, coverage: 0.920 (95% simulation range 0.9 to 0.95)
- Static generator, plausibility: 0.510 (95% simulation range 0.41 to 0.59)
- Static generator, coverage: 0.370 (95% simulation range 0.29 to 0.455)

Dots are medians across 100 generated datasets; lines are 95% simulation ranges. Plausibility: share of simulated series with a close real counterpart. Coverage: share of real series with a close simulated counterpart.

**DynEGA recovered the structure most often.** With 100 observations per clip, it found the right number of dimensions in 93.9% of datasets, static EGA in 88.4%, GraphicalVAR in 77.7% and GIMME in 17.6%. GIMME mostly failed to return a usable result. Static EGA ran about 40 times faster than GraphicalVAR and did better on this task.

**Starting conditions and bounded scores mattered.** When dimensions started from independent states instead of a shared fixed start, recovery fell for DynEGA, static EGA and GraphicalVAR. Turning the indicators into scores that sum to one sharply reduced recovery of the original grouping for DynEGA, static EGA and GraphicalVAR.

## What it does not show

The latent processes in LOMM do not influence each other. Study 1 rests on 100 short videos, one scoring pipeline and one model setup chosen on the same sample. We used LOMM only as a generator with fixed parameters; estimating it from real data needs further work. The recovery results apply to continuous indicators, not to bounded classifier scores.

## Why it matters

A change in how emotion scores group together can come from different latent processes, from weaker expression of the same processes, or from the measurement itself. LOMM lets researchers vary each of these on purpose and see what a method recovers before reading psychological meaning into score patterns. It also shows that the step from latent signals to proportions can hide the structure that dimensionality methods depend on.

Abstract

Facial-expression classifiers convert video into multivariate time series of scores with measurement error from classifiers, videos, and recording conditions. Empirical score series cannot establish whether the score channels reflect a smaller set of latent expressive processes or whether an analysis would recover those processes. We introduce the Latent Oscillator Measurement Model (LOMM), a data-generating model that separates latent dynamics, time-varying activity, and a factor-analytic observation model. The latent processes are damped, undamped, or amplifying linear oscillators. LOMM generates bounded scores or continuous indicators. Study 1 used four-fold cross-fitting with scores from 100 MAFW videos to calibrate LOMM and evaluate generated series on held-out videos. Median plausibility and coverage were 0.970 and 0.920 for LOMM, versus 0.510 and 0.370 for a calibrated static logistic-normal generator. Study 2 tested whether Dynamic Exploratory Graph Analysis (DynEGA), static EGA, GraphicalVAR, and GIMME recovered a known dimensional structure from continuous indicators generated by LOMM. At 100 observations per clip, with failed or timed-out fits counted as incorrect, correct-dimension recovery was 0.939 for DynEGA, 0.884 for static EGA, 0.777 for GraphicalVAR, and 0.176 for GIMME. Replacing the common fixed initialization with independent stationary starts for stable dimensions and bounded independent starts for amplifying dimensions reduced recovery for DynEGA, static EGA, and GraphicalVAR. LOMM provides a controlled test of whether an analysis recovers aspecified latent structure before score patterns are interpreted psychologically.

## Cite

**Tomašević, A.**, Golino, H., & Christensen, A. P. (2026). A Latent Oscillator Measurement Model to Simulate Emotional-Expression Score Dynamics in Video. *arXiv*. <https://doi.org/10.48550/arXiv.2609.15273>

```
@misc{https://doi.org/10.48550/arxiv.2609.15273,
  doi = {10.48550/ARXIV.2609.15273},
  url = {https://arxiv.org/abs/2609.15273},
  author = {Tomašević, Aleksandar and Golino, Hudson and Christensen, Alexander P.},
  keywords = {Physics and Society (physics.soc-ph), Applications (stat.AP), FOS: Physical sciences, FOS: Computer and information sciences},
  title = {A Latent Oscillator Measurement Model to Simulate Emotional-Expression Score Dynamics in Video},
  publisher = {arXiv},
  year = {2026},
  copyright = {Creative Commons Attribution 4.0 International}
}
```

## Related

- [transforEmotion: An Open-Source R Package for Emotion Analysis Using Transformer-Based Generative AI Models](https://atomasevic.xyz/papers/transforemotion.html) (Computational Communication Research, 2026)
- [All publications](https://atomasevic.xyz/publications.html#2026-a-latent-oscillator-measurement)
