Class VotingBehaviorModel

java.lang.Object
org.episteme.social.sociology.VotingBehaviorModel

public final class VotingBehaviorModel extends Object
Models individual and collective voting behavior based on political science theories. Incorporates factors such as economic performance (retrospective voting) and partisanship. Modernized to use Real for internal continuous values while accepting double inputs.
Since:
1.0
Version:
1.3
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • incumbentVoteProb

      public static Real incumbentVoteProb(Real gdpGrowth, Real partyId)
      Estimates the probability of an individual voting for the incumbent party using a simple utility model.

      Model based on: P(Vote) = 0.5 + a * (GDP Growth) + b * (Partisanship)

      Parameters:
      gdpGrowth - annual GDP growth rate (Real)
      partyId - partisan identification score (Real)
      Returns:
      the probability of voting for the incumbent as Real
    • calculatePolarization

      public static Real calculatePolarization(Map<String,Real> opinions)
      Calculates polarization in a society based on opinion distribution. Higher values indicate a more divided society with extreme clusters.
      Parameters:
      opinions - map of person ID to opinion score (Real values)
      Returns:
      polarization index as Real