Immigration-Legislation

No preview image

1 collaborator

Default-person Amanda Durso (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 5.3.1 • Viewed 320 times • Downloaded 34 times • Run 0 times
Download the 'Immigration-Legislation ' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


WHAT IS IT?

The central question in this inquiry is to understand how shifts in public opinion on immigration policies occur at the local level.

Some literature in political science suggests there is a close relationship between the number of immigrants in an area and the policy preferences citizens hold. For instance, the power-threat hypothesis (Blalock 1967; Key 1949) stipulates that the size of a local immigrant group is linked to real (instead of perceived) economic and political competition between immigrants and native citizens. As a result, one should expect native citizens to support restrictive immigration policies as the number of immigrants in their community increases. While some find support for the power-threat hypothesis, others find support for contact theory. Most scholars, however, find null effects. Newman points to Allport’s (1954) work suggesting the countervailing forces between both intergroup great and contact theory. For this reason, scholars such as Newman (2013) draw from additional theories which may stipulate conditions under which inflows of immigration can lead to hostility or friendliness. The “defended neighborhoods” hypothesis (Green, Strolovitch, and Wong 1998) stipulates that the impact of increased intergroup diversity in an area is conditional upon the level of homogeneity in the area to begin with. Therefore, this study will look at initial contexts of the number of immigrants and citizens in an area, as well as growth rates in order to determine how shifts in immigration policy may occur.

Prior empirical research has tried to asses this relationship between changes in levels of immigration at local levels and opinions on immigration legislation based on survey and contextual data. Using both surveys on public opinion on immigration policy and cultural threat, as well as contextual data on the composition of local communities, Newman found that initial community compositions moderate the relationship between Hispanic growth and levels of cultural threat. Others have looked at the interactions between immigration growth and state citizen ideology and its relationship to the policies that have been passed in state legislatures (Hero and Preuhs 2007; Provine and Chavez 2009, Monogan 2013, Zingher 2014). The downside to using survey and contextual data is that it gives us little insight into when changes in context may occur nor how localized interactions between citizens and immigrants may shape opinions on immigration legislation. Agent based models (ABM) are useful tools to simulate these interactions to give us a deeper understanding of how interactions between immigrants and citizens, along with prior contexts, may shape opinions about immigration policy. ABMs have been used to understand many important questions in political science. For instance, Robert Axelrod used used agent-based models in political science to understand how political disagreement shape neighborhood dynamics (1997). Others have also looked how political disagreement and social structures can still breed heterogeneous neighborhoods, instead of homogeneous ones with those who disagree getting pushed out (Huckfeldt et al. 2004). To the best of my knowledge, however, this tool has not been leveraged to understand this question.

HOW IT WORKS

Citizens are white and immigrants are pink. Immigrants are a proportion of the total population of citizens.

Citizens have different preferences for the ideological make-up of their communities based on a utility function. The components of this calculus includes: 1) preferred levels of immigration and 2) preferred immigration policy. These factors can vary in their levels of importance through the sliders on the interface. Every tick, citizens evaluate how happy they are in the community in which they reside. If they are unhappy, they will move to another community, with the hopes of being a better fit. The ideal-point of the preferred leveled of immigration is an updating function of the proportion of immgrants to citizens from past iterations.

The immigrants also have a utility function. It is based on the the ideal-point of preferred proportion of immigrants to the community. The ideal-point for the immigrants is 0.49, because immigrants will want to be as large of a proportion of the population as possible. as for preferred immigration policy, they will ideally want the most liberal (closest to zero) policies as possible.

When the utility functions are one, the agent is happy.

Once all citizens are happy, the model stops and records how many ticks it took to achieve happiness. I choose citizens because they are the ones who have the ability to change the administration (by voting) and to move around, because theoretically citizens have more resources than immigrants.

HOW TO USE IT

NUM-CITIES determines how many communities there are in the world.

IMMIGRANTS-COMMUNITY-PREFERENCE is the weighted level of importance the c ideological bent of the administration is to the citizen. It is one piece of the total utility function which the citizen uses to evaluate how happy she is in her community.

CITIZEN-IDEOLOGY is the weighted level of importance the other citizen’s ideologies are to the citizen in her community. It is one piece of the total utility function which the citizen uses to evaluate how happy she is in her community. NEWSLETTER-SLANT is the weighted level of importance the ideological bias of the community newsletter is to the citizen. It is one piece of the total utility function which the citizen uses to evaluate how happy she is in her community.

MONEY-TO-MOVE is the amount of money required for the citizen to have if she wishes to move. POP-LAG is related to how often (in terms of ticks) a citizen evaluates the ideological leanings of her fellow citizens.

NEWSLETTER-LAG is related to how often the newsletter changes its ideological bias, which is based on the number of red versus blue citizens in the community at that time.

CLEAR-OUTPUT the model saves how many ticks it takes for every citizen to be happy across different simulations of the model. This button clears the numbers that are displayed in this output.

THINGS TO NOTICE

How does changing the different lags influence how long it takes for everyone to be happy?

How does adding money influence how the model runs?

What happens when citizens assign different levels of importance to the ideology of the citizens, the community newsletter, and the administration’s ideology?

THINGS TO TRY

Try varying the weights, lags, amount of money, desire to move, and number of cities and citizens!

EXTENDING THE MODEL

An extended model could include: • Intersectional preferences (i.e. religious and ideological preferences) • Heterogeneous preferences among each citizen • Economic shocks to the communities • Gaining enough money to eventually move

NETLOGO FEATURES

When placing the newsletters under the communities in the world, I had to “ask newsletters” to create the newsletters and place them on the community first. Then, I had to close that bracket and open a new bracket that asked newsletters to face forward and move down one. This allowed them to line up under the community newsletter. If these were all under the first “ask newsletters”, the newsletters would end up moving in random directions.

Because of rounding, not all the citizens will have a happiness of 1. For that reason, I made happiness be 0.99. For my purposes, it is accurate enough for 1, because the outcomes are the same (e.g. if all the citizens want to be in a fully red or blue community, that will happen even with a happiness level of 0.99 instead of 1).

RELATED MODELS

http://sites.lsa.umich.edu/scottepage/home/complex-adaptive-systems/

CREDITS AND REFERENCES

Amanda Jadidi d’Urso with unmeasurable support from Moira Zellner!

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

globals [
  margins
]

breed [immigrants immigrant]
breed [citizens citizen]
breed [cities city]

turtles-own [
  reality-community
  my-city
]

citizens-own [
  xlist
  initial-preference
  preferences  ;citizens have immigration level preferences
  happiness    ;citizens have a level of happiness
  alphai       ;alpha level of preferred immigration
  alphap       ;alpha level of preferred policy
  sum-alphas   ;the sum of the alpha coefficient
  utility      ;the utility function of all the weighted alphas
]

immigrants-own [
  ipreferences ;citizens have immigration level preferences
  ihappiness   ;citizens have a level of happiness
  ialphai       ;alpha level of preferred immigration
  ialphap       ;alpha level of real policy
  isum-alphas   ;the sum of the alpha coefficient
  iutility      ;the utility function of all the weighted alphas
]

cities-own [
  legislation
]

to setup
  clear-plot
  clear-patches
  clear-turtles
  reset-ticks
  set margins 2
  ask patches[set pcolor grey - 2]
  setup-cities
  setup-citizens
  setup-immigrants
  ask turtles [update-reality-community
  ]
  ask cities [
    set legislation random-float 1
    set color scale-color violet legislation 1 0 ]
  output-print "new trial"
  output-type "citizen-community-preference "
  output-print citizen-community-preference
  output-type "citizen-policy-preference "
  output-print citizen-policy-preference
  output-type "%-immigrants "
  output-print %-immigrants
  output-print "initial legislation"
  ask cities [
    output-show [legislation] of cities with [( who = [who] of myself) ]
  ]
  ask citizens [
    set xlist (sentence reality-community reality-community)
    let first-mean mean xlist
    set xlist replace-item 0 xlist first-mean
    set initial-preference reality-community
  ]
end 

to go
  if ticks mod 4 = 0    ; hold elections once every four iterations
  [ hold-elections ]
  update-utility
  tick    ; go once per iteration
        output-type "ticks " output-print ticks
   ask cities [
    output-show [legislation] of cities with [( who = [who] of myself) ]
   ]
  ask turtles [update-reality-community]
  ask citizens [update-preferences]
  if sum [happiness] of citizens / 100 >= 0.99 ; and sum [ihappiness] of immigrants / num-immigrants >= 0.99
  [output-type "all happy ticks "
  output-print ticks
  output-print "distribution of citizen preferences"
    ask cities [
    output-show sort-by < [preferences] of citizens with [ (my-city = [my-city] of myself) ] ]
    output-print "end"
    output-print " "]
end 

to setup-cities
  create-cities num-cities
  ask cities [
    ;set legislation random-float 1
    set my-city self
    set shape "house"
  ]
  let spacing floor (world-width - 2 * margins)/(count cities)
  ask cities [
    setxy (min-pxcor + margins + spacing * (who + 0.5))(max-pycor)
  ]
end 

to setup-citizens
  create-citizens 100
  ask citizens [
    set color white
    set shape "person"
    set my-city one-of cities
    move-to my-city
    set heading 0
    while [count turtles-here > 1 and ycor > min-pycor]    ; has the citizens line up on top of one another
    [fd -1]
  ]
  ask citizens [
    set alphap random-float citizen-community-preference  ; sets the alpha of the weight of the city's population ideology to be a function of the slider
    set alphai random-float citizen-policy-preference    ; sets the alpha of the weight of the city's newsletters ideology to be a function of the slider
    set sum-alphas alphai + alphap   ; sums the alphas and normalize them to all equal 1
    set alphap ( alphap / sum-alphas )
    set alphai ( alphai / sum-alphas )
  ]
end 

to setup-immigrants
  create-immigrants (100 * %-immigrants)
  ask immigrants [
    set color pink + 1
    set shape "immigrant"
    set my-city one-of cities
    move-to my-city
    set heading 0
    while [count turtles-here > 1 and ycor > min-pycor ]
    [fd -1]
  ]
  ask immigrants [
    set ialphai random-float immigrants-community-preference
    set ialphap random-float immigrants-community-preference  ; sets the alpha of the weight of the city's population ideology to be a function of the slider
    set isum-alphas ialphai + ialphap  ; sums the alphas and normalize them to all equal 1
    set ialphap ( ialphap / isum-alphas )
    set ialphai ( ialphai / isum-alphas )
  ]
end 

to update-reality-community
  let count-immigrants count immigrants with [ (my-city = [my-city] of myself) ]
  let count-total ( count turtles with [ (my-city = [my-city] of myself)] ) - 1
  set reality-community (count-immigrants / count-total)
end 

to update-preferences
  set preferences mean xlist
  set xlist (sentence preferences reality-community)
end 

to check-happiness
  ask citizens [
    set happiness ( alphai * (1 - ( preferences - reality-community)^ 2) ) + ( alphap *  (1 - ( preferences -  ( [legislation] of my-city ) )^ 2) ) ;reality-policy
  ]
  ask immigrants [
    set ihappiness (ialphai * (1 - (0.49 - reality-community)^ 2)) + (ialphap * (1 - ([legislation] of my-city) ^ 2 ) )
  ]
end 

to update-utility
  ask citizens
  [if happiness < 1
    [set my-city one-of cities
      move-to my-city
      set heading 0
      while [count turtles-here > 1 and ycor > min-pycor]
      [fd -1]
      update-reality-community
      check-happiness
    ]
  ]
  ask immigrants
  [if ihappiness < 1
    [set my-city one-of cities
      move-to my-city
      set heading 0
      while [count turtles-here > 1 and ycor > min-pycor]
      [fd -1]
      update-reality-community
      check-happiness
    ]
  ]
end 

to-report check-happiness-city [local-legislation]
  ifelse ( preferences = local-legislation)    ; if the preference of the citizen is the same as the city ideology, report a 1, if not 0
  [report 1]
  [report 0]
end 

to hold-elections
  ask cities [
    set legislation reality-community
    set color scale-color violet legislation 1 0]
end 

There is only one version of this model, created about 8 years ago by Amanda Durso.

Attached files

No files

This model does not have any ancestors.

This model does not have any descendants.