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

Re-run 2020 Montana Congressional Districts #95

Closed CoryMcCartan closed 2 years ago

CoryMcCartan commented 2 years ago

Redistricting requirements

In Montana, districts must:

  1. be contiguous
  2. have equal populations
  3. be geographically compact
  4. preserve county and municipality boundaries as much as possible

Interpretation of requirements

We enforce a maximum population deviation of 0.5%. We apply a county/municipality constraint, as described below.

Data Sources

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

Pre-processing Notes

No manual pre-processing decisions were necessary.

Simulation Notes

We sample 5,000 districting plans for Montana across two runs of the SMC algorithm. To balance county and municipality splits, we create pseudocounties for use in the county constraint. These are counties for all counties with a population under 50,000. Within counties larger than 50,000, municipalities are each their own pseudocounty as well. Overall, this approach leads to much fewer county and municipality splits than using either a county or county/municipality constraint.

Validation

image

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

Plan diversity 80% range: 0.21 to 0.68

R-hat values for summary statistics:
   pop_overlap      total_vap       plan_dev      comp_edge    comp_polsby       pop_hisp      pop_white 
       1.00069        1.00333        1.00123        1.00073        0.99982        1.00328        1.00423 
     pop_black       pop_aian      pop_asian       pop_nhpi      pop_other        pop_two       vap_hisp 
       1.00051        1.00353        1.00051        1.00050        1.00234        1.00023        1.00350 
     vap_white      vap_black       vap_aian      vap_asian       vap_nhpi      vap_other        vap_two 
       1.00380        1.00020        1.00345        1.00048        1.00019        1.00253        0.99980 
pre_16_rep_tru pre_16_dem_cli gov_16_rep_gia gov_16_dem_bul atg_16_rep_fox atg_16_dem_jen sos_16_rep_sta 
       1.00060        1.00196        1.00087        1.00184        1.00152        1.00233        1.00173 
sos_16_dem_lin uss_18_rep_ros uss_18_dem_tes pre_20_rep_tru pre_20_dem_bid uss_20_rep_dai uss_20_dem_bul 
       1.00163        1.00144        1.00190        1.00142        1.00250        1.00214        1.00239 
gov_20_rep_gia gov_20_dem_coo atg_20_rep_knu atg_20_dem_gra sos_20_rep_jac sos_20_dem_ben         arv_16 
       1.00222        1.00247        1.00222        1.00221        1.00130        1.00236        1.00069 
        adv_16         arv_18         adv_18         arv_20         adv_20  county_splits    muni_splits 
       1.00208        1.00144        1.00190        1.00249        1.00241        1.00006        1.00065 
           ndv            nrv        ndshare          e_dvs         pr_dem          e_dem           egap 
       1.00211        1.00113        1.00148        1.00148        1.00065        1.00037        0.99986 

Sampling diagnostics for SMC run 1 of 2 (2,500 samples)
         Eff. samples (%) Acc. rate Log wgt. sd  Max. unique Est. k 
Split 1     2,466 (98.7%)      3.3%        0.23 1,590 (101%)      7 
Resample    2,370 (94.8%)       NA%        0.23 1,550 ( 98%)     NA 

Sampling diagnostics for SMC run 2 of 2 (2,500 samples)
         Eff. samples (%) Acc. rate Log wgt. sd  Max. unique Est. k 
Split 1     2,466 (98.6%)      3.3%        0.24 1,586 (100%)      7 
Resample    2,367 (94.7%)       NA%        0.24 1,577 (100%)     NA 

Checklist

@christopherkenny