class: center, middle, inverse, title-slide # Predictors of AfD party success in the 2017 elections ## A Bayesian modeling approach ### Sebastian Sauer, Oliver Gansser ### FOM
ECDA 2019 --- class: center, middle, inverse # Menace to society Right-wing populism then and now --- class: top, left # A model of *rough populism* <img src="img/rough-populism2-crop.png" width="80%" style="display: block; margin: auto;" /> .small[.footnote[Cf. Kershaw, I. (2016). To hell and back: Europe 1914-1949. New York City, NW: Penguin. Welzer, H. (2007). Täter. Wie aus ganz normalen Menschen Massenmörder werden. Frankfurt: Fischer.]] ??? Image credit:Wikipedia, RIA Novosti archive, image #44732 / Zelma / CC-BY-SA 3.0 ??? - shows *anti-establishment* attitude - the *people* is thought of as a *homogeneous body* - *elites* are portrayed as *corrupt*, the *people* as *morally pure* - favors *anti-pluralism* - provides *low complexity solutions* to societal questions - narrative of *"forgotton man Joe Plumber"* - sees threat in *cultural outsiders* --- # AfD as a nucleus of the German right-wing movement? <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Alternative-fuer-Deutschland-Logo-2013.svg/2880px-Alternative-fuer-Deutschland-Logo-2013.svg.png" width="80%" style="display: block; margin: auto;" /> .footnote[Source: Decker, F. (2003). Der neue Rechtspopulismus. Wiesbaden: VS Verlag für Sozialwissenschaften. Nicole Berbuir, Marcel Lewandowsky & Jasmin Siri (2015) The AfD and its Sympathisers: Finally a Right-Wing Populist Movement in Germany?, German Politics, 24:2, 154-178, DOI: 10.1080/09644008.2014.982546] ??? The AfD ... - engages in *close contacts to far-right* - Appears to *support violence* towards minorities: > "Wenn der Staat die Bürger nicht mehr schützen kann, > gehen die Menschen auf die Straße und schützen sich selber." .small[— Tweet by Markus Frohnmaier (@Frohnmaier_AfD) on August, 26th 2018 in reaction to Chemnitz riots] .footnote[Source: Fuchs, C., & Middelhoff, P. (2018, May 12). Neue Rechte - Bis in den letzten, rechten Winkel. Retrieved from https://www.zeit.de/politik/deutschland/2018-05/neue-rechte-verteilung-deutschlandkarte] --- class: top, left # Popular theories on AfD success -
weak economy ("rust belt hypothesis") -
high immigration ("flooding hypothesis") -
cultural patterns ("Saxonia hypothesis") .footnote[Source: Franz, Christian; Fratzscher, Marcel; Kritikos, Alexander S. (2018) : German right-wing party AfD finds more support in rural areas with aging populations, DIW Weekly Report, ISSN 2568-7697, Deutsches Institut für Wirtschaftsforschung (DIW), Berlin, Vol. 8, Iss. 7/8, pp. 69-79] --- # Behavior types model *CHOUGHS* - Seven behavior types according to CHOUGHS model - C onformism - H edonism - O ut of responsibility - U nderstand - G ourmets - H armony - S elf-determined - based on approx. 100k face-to-face interviews (stratified by sex and age) - Multidimensional scaling was used to devise types - CHOUGHS builts on Schwartz' values model .footnote[Source: Gansser, O., & Lübke, K. (2018). *The development of new typologies of behaviour based on universal human values and purchasing behavior*, in: Archives of Data Science, Series B, in submission. Gebauer, H., Haldimann, M., & Saul, C.J. (2017). Service innovations breaking institutionalized rules of health care. *Journal of Service Management*, 28(5), 972-935.] --- # Our research model .center[
] --- class: middle, center, inverse # AfD votes, and socioenomic factors at the Bundestagswahl 2017 --- class: top, left # Unemployment and AfD votes <img src="img/p-unemp-afd-votes.png" width="100%" style="display: block; margin: auto;" /> --- # Foreigners and AfD votes <img src="img/p-foreign-afd-votes.png" width="100%" style="display: block; margin: auto;" /> --- class: middle, center, inverse # data analysis --- class: top, left # Data preparation - Election related data were obtained from [Bundeswahlleiter 2017](https://www.bundeswahlleiter.de/bundestagswahlen/2017/ergebnisse.html), n = 299 electoral units - Behavior types data (n = 12444) were collected by the authors (for n = 2755 zip codes), summarised per electoral unit - Only n = 79 electoral units could be matched to behavior typ data - Data and analysis are accessible at Github: https://github.com/sebastiansauer/afd_values - Outcome variable: proportion of votes for AfD was log-transformed for better approximation to normality <img src="img/p_afd_prop_skewness.png" width="50%" style="display: block; margin: auto;" /> --- # Bayes modeling - Stan via the R package `rethinking` - Hamiltonian Markov Chain Monte Carlo (MCMC) - 2000 iterations, 2 chains, 1/2 warmup - Multi level regression modeling (varying intercepts) - The WAIC was used for to compare model performance: - is an estimate for *out-of-sample* model performance - based on information theory - WAIC is similar to the AIC but less restrictive .footnote[Cf. McElreath, R. (2016). Statistical rethinking. New York City, NY: Apple Academic Press Inc.] --- # Model specification `\(a \sim \mathcal{N}(\mu,\sigma)\)` `\(\mu = \beta_0 e + \beta_1 f + \beta_2 u + \beta_3 t_1 + \beta_4 t_2 \cdots \beta_{10} t_8\)` `\(\sigma \sim \mathcal{Cauchy}(0, 1)\)` `\(f, u, t_1, t_2 \cdots t_8 \sim \mathcal{N}(1, 0)\)` `\(e \sim \mathcal{N}(0, \sigma_2)\)` `\(\sigma_2 \sim \mathcal{Cauchy}(0, 1)\)` --- # Model specification in R ```r # Likelihood: afd_prop_log ~ dnorm(mu, sigma), d$ # regression: mu <- beta0[state_id] + beta1*for_prop_z + beta2*unemp_prop_z + beta3*enjoyer + beta4*harmony_seeker + beta5*self_determined + beta6*appreciater + beta7*conformist + beta8*type_unknown + beta9*responsibility_denier + beta10*hedonist, # priors: sigma ~ dcauchy(0, 1), beta1 ~ dnorm(0, 1), beta2 ~ dnorm(0, 1), beta3 ~ dnorm(0, 1), beta4 ~ dnorm(0, 1), beta5 ~ dnorm(0, 1), beta6 ~ dnorm(0, 1), beta7 ~ dnorm(0, 1), beta8 ~ dnorm(0, 1), beta9 ~ dnorm(0, 1), beta10 ~ dnorm(0, 1), beta0[state_id] ~ dnorm(0, sigma2), # multi level sigma2 ~ dcauchy(0, 1) ``` --- class: middle, center, inverse # Results: Model comparison --- # State is the strongest predictor .small[ <table class="table table-striped table-hover" style="margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> name </th> <th style="text-align:left;"> predictors </th> <th style="text-align:left;"> type </th> <th style="text-align:right;"> WAIC </th> <th style="text-align:right;"> SE </th> <th style="text-align:right;"> weight </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;font-weight: bold;color: blue;background-color: yellow;"> m10c </td> <td style="text-align:left;font-weight: bold;color: blue;background-color: yellow;"> unemp, foreign, state </td> <td style="text-align:left;font-weight: bold;color: blue;background-color: yellow;"> Gaussian </td> <td style="text-align:right;font-weight: bold;color: blue;background-color: yellow;"> -50.97 </td> <td style="text-align:right;font-weight: bold;color: blue;background-color: yellow;"> 10.74 </td> <td style="text-align:right;font-weight: bold;color: blue;background-color: yellow;"> 1 </td> </tr> <tr> <td style="text-align:left;"> m11d </td> <td style="text-align:left;"> unemp, foreign, state, 8 consumer types </td> <td style="text-align:left;"> Gaussian </td> <td style="text-align:right;"> -39.02 </td> <td style="text-align:right;"> 10.31 </td> <td style="text-align:right;"> 0 </td> </tr> <tr> <td style="text-align:left;"> m06d </td> <td style="text-align:left;"> unemp, foreign, east, 8 consumer types </td> <td style="text-align:left;"> Gaussian </td> <td style="text-align:right;"> -6.96 </td> <td style="text-align:right;"> 12.50 </td> <td style="text-align:right;"> 0 </td> </tr> <tr> <td style="text-align:left;"> m03d </td> <td style="text-align:left;"> unemp, foreign, east </td> <td style="text-align:left;"> Gaussian </td> <td style="text-align:right;"> -1.24 </td> <td style="text-align:right;"> 12.44 </td> <td style="text-align:right;"> 0 </td> </tr> <tr> <td style="text-align:left;"> m00d </td> <td style="text-align:left;"> none </td> <td style="text-align:left;"> Gaussian </td> <td style="text-align:right;"> 54.39 </td> <td style="text-align:right;"> 16.13 </td> <td style="text-align:right;"> 0 </td> </tr> <tr> <td style="text-align:left;"> m12d </td> <td style="text-align:left;"> unemp, foreign, state, 8 consumer types </td> <td style="text-align:left;"> Poisson </td> <td style="text-align:right;"> 64311.15 </td> <td style="text-align:right;"> 10241.34 </td> <td style="text-align:right;"> 0 </td> </tr> <tr> <td style="text-align:left;"> m09b </td> <td style="text-align:left;"> unemp, foreign, state </td> <td style="text-align:left;"> Poisson </td> <td style="text-align:right;"> 64453.60 </td> <td style="text-align:right;"> 9016.30 </td> <td style="text-align:right;"> 0 </td> </tr> <tr> <td style="text-align:left;"> m00e </td> <td style="text-align:left;"> none </td> <td style="text-align:left;"> Poisson </td> <td style="text-align:right;"> 211670.94 </td> <td style="text-align:right;"> 51582.24 </td> <td style="text-align:right;"> 0 </td> </tr> </tbody> </table> ] --- # Comparing model errors <img src="img/p_mod_err_boxplots.png" width="100%" style="display: block; margin: auto;" /> --- # R squared estimates for each model Beware: Unadjusted `\(R^2\)` estimates, prone to overfitting <img src="/Users/sebastiansaueruser/Documents/research/polit/AfD_consumer_values/img/p_r2_all_models.png" width="100%" style="display: block; margin: auto;" /> --- class: middle, center, inverse # Results: Most favorable model --- # Model specification of most favorable model Model predictors: state (as multi level) + foreign + unemp ```r # Likelihood: afd_prop_log_z ~ dnorm(mu, sigma), # regression: mu <- beta0[state_id] + beta1*for_prop_z + beta2*unemp_prop_z, #priors: beta0[state_id] ~ dnorm(0, sigma2), sigma ~ dcauchy(0, 1), sigma2 ~ dcauchy(0, 1), beta1 ~ dnorm(0, 1), beta2 ~ dnorm(0, 1) ``` --- # Coefficients level 1 Model predictors: state (as multi level) + foreign + unemp <img src="img/p_best_model_precis_level1.png" width="100%" style="display: block; margin: auto;" /> --- # Coefficients level 2 Model predictors: state (as multi level) + foreign + unemp <img src="img/p_best_model_precis_level2.png" width="100%" style="display: block; margin: auto;" /> --- # Big fat hairy catterpillars, as it should be Model predictors: state (as multi level) + foreign + unemp <img src="img/traceplot_best_model.png" width="50%" style="display: block; margin: auto;" /> --- # Observed vs. estimated AfD votes Model predictors: state (as multi level) + foreign + unemp <img src="img/modelest-vs-obs.png" width="100%" style="display: block; margin: auto;" /> --- # Regional patterns of prediction errors <img src="img/p_pred_error.png" width="50%" style="display: block; margin: auto;" /> --- class: middle, center, inverse # Conclusions --- class: top, left # Theoretical implications - *Region related patterns* appear to play an important role - more than unemployment rate and foreigner rate - not yet well understood - rural? aged society? - The present model is *simplistic* - (The proposed) personality pattern didn't show strong impact - Personality data *representative*? - Let's model *future elections* - Pathways of voter behavior remains opaque .footnote[Nicole Berbuir, Marcel Lewandowsky & Jasmin Siri (2015) The AfD and its Sympathisers: Finally a Right-Wing Populist Movement in Germany?, German Politics, 24:2, 154-178, DOI: 10.1080/09644008.2014.982546] --- # Statistical implications - *Observational research* is a very *limited* guide for *causal* interpretations - *Overfitting* (and underfitting) is to be expected - *Reduced* sample size of electoral disctricts warrants further investigation - *Explorative* study, no strong conclusions warranted - *More models* are possible (but inject researchers' degree of freedom) --- class: middle, center, inverse # Thank you Sebastian Sauer ####
[sebastiansauer](https://github.com/sebastiansauer) ####
<https://data-se.netlify.com/> ####
ssauer@posteo.de ####
Get slides here: https://data-se.netlify.com/slides/afd_ecda2019/afd-modeling-ECDA-2019.pdf CC-BY