In our previous lesson, we explored how a complex behavior, like adopting a new relationship rule, can spread through a vee network using a deterministic threshold model. We saw that adoption in that model hinges on social reinforcement. Today, we turn our attention to a different, more fluid type of diffusion: emotional contagion.
Emotions, unlike rule adoptions, can arise spontaneously, spread through contact, and fade over time. This dynamic process requires a different modeling approach. Our goal in this lesson is to apply a quantitative model that captures these unique characteristics to simulate how emotional states, such as happiness or sadness, propagate between partners in a vee. This will leverage your background in stochastic simulations to build a more nuanced understanding of influence within relationship networks.
Emotions as an Infectious Disease
While it might sound a bit clinical, a powerful way to model emotional contagion is to draw an analogy to epidemiology. We can think of an emotional state like "contentment" as something one can be "susceptible" to, "infected" with, and "recover" from.
However, classic epidemiological models like the Susceptible-Infected-Susceptible (SIS) model have a limitation: they assume infection only occurs through contact. This doesn't fit emotions perfectly, as a person can become happy or sad due to personal events, not just from interacting with others.
To address this, we can use a modified model called the SISa model, where the 'a' stands for 'automatic' or 'spontaneous' infection. This model allows for two pathways to becoming "infected" with an emotional state:
- Transmission: Catching the emotion from an "infected" social contact.
- Spontaneous Generation: The emotion arising independently.
This approach provides a robust quantitative framework for something we often describe qualitatively. Let's delve into the model's mechanics.
SISa model Emotions as infectious diseases in a large ...
This paper by Hill, Rand, Nowak, and Christakis introduces and validates the SISa model for emotional contagion using real-world network data. It provides the theoretical foundation for our simulation.
First, read the introduction to understand the rationale for modeling emotions like infectious diseases and the distinction between moods, states, and traits. Next, focus on the section "MATERIAL AND METHODS," specifically the subsection describing the SISa model. Pay close attention to the three core parameters and how they are represented in the diagram in Figure 1: b (beta): The transmission rate from an infected contact. a (alpha): The rate of spontaneous infection. g (gamma): The rate of recovery (returning to a neutral state).
As you've just read, the SISa model defines the probability of an individual's emotional state changing over a small time interval . For a "susceptible" (neutral) person with "infected" (e.g., content) neighbors, the probability of becoming content is approximately . For a content person, the probability of returning to neutral is approximately .
The image below shows a simple, deterministic contagion process. In our SISa model, the transitions are not guaranteed but happen with a certain probability in each time step, making the outcome stochastic.

Simulating Emotional Contagion in a Vee
Let's implement a stochastic simulation of the SISa model for the emotion of "contentment" on our familiar vee network (Hinge H, Partner P1, Partner P2). Your experience with stochastic simulations in operations research will make this process quite familiar. We are essentially building a discrete-time simulation of a continuous-time Markov process.
The paper you just reviewed provides empirically estimated parameters from the Framingham Heart Study, which we can use as a realistic starting point. For "contentment":
- Transmission rate, per person per year.
- Spontaneous rate, per year.
- Recovery rate, per year.
We will simulate this month by month, so we'll need to adjust our rates. Let's set our time step of a year.
Step 1: Setup and Simulation Logic
First, we set up the network and the simulation function. The function will iterate through time, and at each step, for each person, it will calculate the probability of changing state and use a random number to determine if the change occurs.
import networkx as nx
import numpy as np
# Create the vee network
G = nx.Graph()
nodes = ["H", "P1", "P2"]
G.add_nodes_from(nodes)
edges = [("H", "P1"), ("H", "P2")]
G.add_edges_from(edges)
# SISa model parameters (per year)
params = {
'b': 0.02, # Transmission rate
'a': 0.18, # Spontaneous infection rate
'g': 0.088 # Recovery rate
}
# Simulation function
def sisa_model_simulation(graph, parameters, initial_states, sim_duration_months):
"""
Simulates the SISa model for emotional contagion on a network.
States: 0 for Neutral (Susceptible), 1 for Content (Infected).
"""
dt = 1/12.0 # Time step is one month
num_steps = sim_duration_months
# Initialize states
states = initial_states.copy()
history = [states.copy()]
for step in range(num_steps):
current_states = history[-1].copy()
next_states = current_states.copy()
for node in graph.nodes():
# If node is Neutral (Susceptible)
if current_states[node] == 0:
# Count infected neighbors
infected_neighbors = 0
for neighbor in graph.neighbors(node):
if current_states[neighbor] == 1:
infected_neighbors += 1
# Calculate probability of becoming content
prob_infection = (parameters['a'] + parameters['b'] * infected_neighbors) * dt
if np.random.rand() < prob_infection:
next_states[node] = 1
# If node is Content (Infected)
else:
# Calculate probability of recovery (back to neutral)
prob_recovery = parameters['g'] * dt
if np.random.rand() < prob_recovery:
next_states[node] = 0
history.append(next_states)
return history
def print_history(history):
"""Helper function to print the simulation results."""
for t, states in enumerate(history):
# Convert state numbers to labels for clarity
state_labels = {node: ('Content' if state == 1 else 'Neutral') for node, state in states.items()}
print(f"Month {t}: {state_labels}")
Step 2: Running Scenarios
Because this is a stochastic model, each run will be different. Let's see a couple of possible evolutions.
- Scenario A: Everyone starts Neutral. Contentment must arise spontaneously.
# Initial state: all neutral
initial_states_A = {"H": 0, "P1": 0, "P2": 0}
print("--- Scenario A: All start Neutral ---")
history_A = sisa_model_simulation(G, params, initial_states_A, 24) # Simulate for 2 years
print_history(history_A[0:13]) # Print first year
A possible output might look like this:
--- Scenario A: All start Neutral ---
Month 0: {'H': 'Neutral', 'P1': 'Neutral', 'P2': 'Neutral'}
Month 1: {'H': 'Neutral', 'P1': 'Neutral', 'P2': 'Neutral'}
Month 2: {'H': 'Content', 'P1': 'Neutral', 'P2': 'Neutral'} <- H becomes content spontaneously
Month 3: {'H': 'Content', 'P1': 'Neutral', 'P2': 'Neutral'}
Month 4: {'H': 'Content', 'P1': 'Content', 'P2': 'Neutral'} <- Contentment spreads from H to P1
Month 5: {'H': 'Content', 'P1': 'Content', 'P2': 'Content'} <- And then from H to P2
Month 6: {'H': 'Content', 'P1': 'Content', 'P2': 'Content'}
Month 7: {'H': 'Content', 'P1': 'Neutral', 'P2': 'Content'} <- P1 recovers
...
Notice how contentment can appear spontaneously (Month 2) and then spread through the network's connections. It can also disappear as individuals "recover."
- Scenario B: A Partner (P1) starts Content.
# Initial state: P1 is content
initial_states_B = {"H": 0, "P1": 1, "P2": 0}
print("\n--- Scenario B: P1 starts Content ---")
history_B = sisa_model_simulation(G, params, initial_states_B, 24)
print_history(history_B[0:13])
A possible output:
--- Scenario B: P1 starts Content ---
Month 0: {'H': 'Neutral', 'P1': 'Content', 'P2': 'Neutral'}
Month 1: {'H': 'Neutral', 'P1': 'Content', 'P2': 'Neutral'}
Month 2: {'H': 'Neutral', 'P1': 'Content', 'P2': 'Neutral'}
Month 3: {'H': 'Neutral', 'P1': 'Content', 'P2': 'Neutral'}
Month 4: {'H': 'Neutral', 'P1': 'Neutral', 'P2': 'Neutral'} <- P1 recovers before spreading the mood
...
In this run, P1's contentment was relatively short-lived and didn't have time to "infect" the hinge. This highlights the probabilistic nature of the model: contagion is not guaranteed. For P1's mood to influence P2, a two-step transmission (P1→H, then H→P2) must occur before either P1 or H recovers.
Beyond Constant Dynamics: When Influence Itself Changes
Our SISa simulation assumes the parameters , , and are constant. This is a useful simplification, but in real relationships, the strength of emotional influence is not static. The degree to which your partner’s mood affects yours can change over time due to stress, life events, or the evolving state of the relationship itself.
Your background in econometrics and time-series analysis makes you well-equipped to appreciate a more advanced approach: Time-Varying Vector Autoregressive (TV-VAR) models. These models are used by relationship researchers to capture how emotional dynamics evolve.
A VAR model looks at how a set of variables (e.g., each partner's positive and negative affect) at time predicts the variables at time . It produces two key types of parameters:
- Autoregressive effects: The influence of a person's own past emotional state on their present state (e.g., emotional inertia).
- Cross-lagged effects: The influence of one partner's past emotional state on the other partner's present state (i.e., contagion).
A TV-VAR model allows these parameters to change over time. The key insight from this research is that the variability of these emotional influence parameters is itself a powerful predictor of relationship outcomes, like satisfaction and dissolution. A relationship where emotional influence is erratic and unstable may be under more stress than one where the dynamics are consistent.
Variation in emotion dynamics over time is associated with ...
This paper explores how the change in emotion dynamics over time, not just the average level, predicts relationship success. This provides a bridge from our simple simulation to sophisticated empirical models.
Read the introduction, which defines emotion dynamics and reviews why they are important for relationship quality. Next, read the sections on VAR models and TV-VAR models. Focus on the conceptual definitions of autoregressive and cross-lagged parameters—these are the quantitative measures of emotional inertia and contagion. Finally, read the Discussion section. This will summarize the core finding: that variation in the cross-lagged effects (contagion) is significantly related to future relationship quality and stability, sometimes in counter-intuitive ways.
This research underscores that when we model emotional dynamics, we are not just capturing a single, fixed influence parameter. We are observing a process that evolves, and the nature of that evolution—be it stable or volatile—is a crucial piece of information about the relationship system itself.
Conclusion
In this lesson, we moved from the deterministic world of threshold models to the probabilistic domain of emotional contagion. We developed a quantitative simulation that captures the unique ways emotions can spread, arise, and fade within a relationship network.
Key Takeaways:
- Emotional contagion can be modeled using an epidemiological framework, specifically the SISa model, which incorporates both transmission () and spontaneous generation () of an emotional state, as well as recovery ().
- Simulating this model on a vee network reveals the probabilistic nature of emotional spread. Contagion is not guaranteed and depends on the interplay between transmission opportunities and the duration of the emotional state.
- The hinge partner serves as the critical bridge for emotional contagion between the two non-hinge partners. The success of this indirect contagion is a race against the "recovery" of the emotional state in the initially infected partner and the hinge.
- In real relationships, the parameters of emotional influence are not static. Advanced models show that the variation in these dynamics over time is a key indicator of relationship stability and quality.
In our next lesson, we will continue exploring diffusion processes by focusing on a particularly crucial element in any relationship structure: the propagation of trust and distrust. We will see how these states spread and how their diffusion impacts strategic considerations within the vee.