Many state herding model and its application to Lithuanian parliamentary elections

Let us close this year with a model proposed by us and which is based on the Kirman model. The main difference from the original model is that here we have multiple state dynamics. Yet unlike in our three state approach to the financial markets (see the initial post here or the article [1]) this time we allow any number of states to be defined in the model [2, 3].

While analyzing Lithuanian parliamentary election data (can be obtained from here or clean csv files are available from my github repository here) I noticed that data set for the 1992 election seems to be the cleanest - the results of the three major parties are clearly Beta distributed, while for the fourth one the distribution is not that clear. I have looked at the vote shares (percentage of votes) at the polling station level. In this way I assume that all polling stations are similar and observing vote shares within them is the same as drawing samples from stationary distribution reached by some opinion dynamics model. As the vote share distribution is Beta, Kirman's herding model is a likely candidate.

The model

But to build a proper model we need to extend Kirman model to include multi-state dynamics. This can be easily done be rewritting the one step transition probabilities as follows:

\begin{equation} P \left( X_i \rightarrow X_i +1 \right) = \sum_{j \neq i} X_j \left( \varepsilon_{ji} + X_i \right) h \Delta t , \end{equation}

\begin{equation} P \left( X_i \rightarrow X_i -1 \right) = X_i \sum_{j \neq i} \left( \varepsilon_{ij} + X_j \right) h \Delta t . \end{equation}

These pairs of transition probabilities are valid for all parties under consideration. Namely if you want to model \( 4 \) parties (states), then you have to have \( 8 \) one step transition probabilities.

These transition probabilities can be simplified by assuming that parties (states) are perceived the same way from the perspective of the agents voting for the other parties (being in other states). Then \( \varepsilon_{ij} = \varepsilon_j \) and:

\begin{equation} P \left( X_i \rightarrow X_i +1 \right) = \left( N - X_i \right) \left( \varepsilon_{i} + X_i \right) h \Delta t , \end{equation}

\begin{equation} P \left( X_i \rightarrow X_i -1 \right) = X_i \left( \varepsilon_{-i} + N - X_i \right) h \Delta t . \end{equation}

In the above \( \varepsilon_{-i} = \sum_{j \neq i} \varepsilon_j \) is the total attractiveness of the other parties. Under these conditions, by similarity with the two state model, the stationary distribution is Beta distribution:

\begin{equation} \frac{X_i}{N} = x_i \sim \mathcal{Be}\left(\varepsilon_i , \varepsilon_{-i}\right) . \end{equation}

Otherwise the stationary distribution is unknown.

The app

In the app below we have implemented this model using Gillespie algorithm [4]. Namely instead of one step transition probabilities we have used transition rates, but this small change does not influence the final result.

The app shows two figures. The one of the left show currently generated vote shares for four different parties. The one of the right shows vote share distribution (PDF) generated by the model. The default parameter set (\( \varepsilon \) values) is the one which reproduces the vote share distribution of the top four parties during the 1992 election the best [2].

Play around with the app to explore what results you can get.