alarm-redist / fifty-states

Redistricting analysis for all 50 U.S. states
https://alarm-redist.github.io/fifty-states/
Other
9 stars 7 forks source link

2010 Michigan Congressional Districts #167

Closed Aneetej closed 1 year ago

Aneetej commented 1 year ago

2010 Michigan Congressional Districts

Redistricting requirements

in Michigan, according to (http://www.legislature.mi.gov/(S(xxvumgge0jwzkeswmwt0bh4v))/mileg.aspx?page=GetObject&objectname=mcl-Article-IV-6), districts must:

  1. be contiguous
  2. have equal populations
  3. be geographically compact
  4. preserve county and municipality boundaries as much as possible
  5. cannot favor/disfavor incumbents

Algorithmic Constraints

We enforce a maximum population deviation of 0.5%. We applied a constraint to limit county and municipality splits (see '02_setup_MI_cd_2010.R' file).

Data Sources

Data for Michigan comes from the ALARM Project's 2020 Redistricting Data Files.

Pre-processing Notes

No manual pre-processing decisions were necessary.

Simulation Notes

We sample 8,000 districting plans for Michigan across two independent runs of the SMC algorithm and then thinned our results to 5,000 simulations. To balance county and municipality splits, we create pseudocounties for use in the county constraint, which leads to fewer municipality splits than using a county constraint. Note that Wayne County, Oakland County, and Macomb County must all be split due to their large populations, although within the counties, we avoid splitting any municipality.

Validation

Validated Ana MI2010 fixed

SMC: 5,000 sampled plans of 14 districts on 5,104 units
`adapt_k_thresh`=0.985 • `seq_alpha`=0.5
`est_label_mult`=1 • `pop_temper`=0

Plan diversity 80% range: 0.68 to 0.89

R-hat values for summary statistics:
   pop_overlap      total_vap       plan_dev      comp_edge    comp_polsby      pop_white      pop_black       pop_hisp       pop_aian 
      1.024640       1.013404       1.005539       1.039100       1.015565       1.000029       1.001752       1.003249       1.006874 
     pop_asian       pop_nhpi      pop_other        pop_two      vap_white      vap_black       vap_hisp       vap_aian      vap_asian 
      1.003477       1.031900       1.001011       1.003258       1.009569       1.004801       1.002881       1.004928       1.004899 
      vap_nhpi      vap_other        vap_two pre_16_dem_cli pre_16_rep_tru pre_20_rep_tru pre_20_dem_bid uss_18_rep_jam uss_18_dem_sta 
      1.028900       1.008008       1.008620       1.005105       1.023123       1.001784       1.005069       1.007101       1.006148 
uss_20_rep_jam uss_20_dem_pet gov_18_rep_sch gov_18_dem_whi atg_18_rep_leo atg_18_dem_nes sos_18_rep_lan sos_18_dem_ben         adv_16 
      1.011219       1.004469       1.011308       1.008103       1.007810       1.007374       1.007873       1.006395       1.005105 
        adv_18         adv_20         arv_16         arv_18         arv_20  county_splits    muni_splits            ndv            nrv 
      1.007813       1.006213       1.023123       1.008030       1.003342       1.000381       1.010967       1.006498       1.010175 
       ndshare          e_dvs          e_dem          pbias           egap 
      1.004891       1.004285       1.013067       1.003928       1.015758 

Sampling diagnostics for SMC run 1 of 2 (8,000 samples)
         Eff. samples (%) Acc. rate Log wgt. sd  Max. unique Est. k 
Split 1     6,751 (84.4%)     17.7%        0.47 5,109 (101%)     11 
Split 2     6,617 (82.7%)     24.3%        0.58 4,837 ( 96%)      7 
Split 3     6,491 (81.1%)     29.9%        0.62 4,771 ( 94%)      5 
Split 4     6,332 (79.1%)     27.8%        0.71 4,786 ( 95%)      5 
Split 5     6,093 (76.2%)     18.9%        0.76 4,639 ( 92%)      7 
Split 6     5,999 (75.0%)     20.1%        0.81 4,568 ( 90%)      6 
Split 7     5,885 (73.6%)     18.4%        0.80 4,614 ( 91%)      6 
Split 8     5,901 (73.8%)     24.1%        0.81 4,582 ( 91%)      4 
Split 9     5,835 (72.9%)     27.6%        0.79 4,603 ( 91%)      3 
Split 10    5,797 (72.5%)     31.3%        0.78 4,538 ( 90%)      2 
Split 11    5,856 (73.2%)     27.6%        0.77 4,454 ( 88%)      2 
Split 12    5,934 (74.2%)     21.9%        0.74 4,231 ( 84%)      2 
Split 13    5,009 (62.6%)      7.7%        0.76 3,805 ( 75%)      2 
Resample    2,401 (30.0%)       NA%        1.94 4,144 ( 82%)     NA 

Sampling diagnostics for SMC run 2 of 2 (8,000 samples)
         Eff. samples (%) Acc. rate Log wgt. sd  Max. unique Est. k 
Split 1     6,767 (84.6%)     14.7%        0.47 5,117 (101%)     13 
Split 2     6,601 (82.5%)     21.5%        0.58 4,840 ( 96%)      8 
Split 3     6,327 (79.1%)     29.8%        0.64 4,792 ( 95%)      5 
Split 4     6,216 (77.7%)     32.9%        0.73 4,682 ( 93%)      4 
Split 5     6,054 (75.7%)     25.5%        0.78 4,666 ( 92%)      5 
Split 6     5,967 (74.6%)     35.5%        0.81 4,622 ( 91%)      3 
Split 7     6,001 (75.0%)     21.9%        0.81 4,546 ( 90%)      5 
Split 8     5,974 (74.7%)     29.9%        0.79 4,583 ( 91%)      3 
Split 9     5,706 (71.3%)     22.0%        0.79 4,578 ( 91%)      4 
Split 10    5,775 (72.2%)     24.3%        0.78 4,513 ( 89%)      3 
Split 11    5,897 (73.7%)     21.3%        0.72 4,411 ( 87%)      3 
Split 12    5,937 (74.2%)     22.3%        0.72 4,326 ( 86%)      2 
Split 13    5,225 (65.3%)      4.3%        0.72 3,990 ( 79%)      4 
Resample    2,884 (36.1%)       NA%        1.89 4,265 ( 84%)     NA 

Checklist

@CoryMcCartan @christopherkenny

christopherkenny commented 1 year ago

In 02_, can you add fix the state column with the following before you save the map?

map <- map %>%
    mutate(state = "MI")

Looks like their might be a contiguity issue with the upper peninsula. Can you take a look at the 2020 adjacency connections and ensure it's only connected at the bridge point?

Otherwise, it's looking pretty good.