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 Virginia Congressional Districts #121

Closed kevpwang closed 2 years ago

kevpwang commented 2 years ago

Redistricting requirements

In Virginia, districts must, under Va. Code Ann. § 24.2-304.04:

  1. be contiguous
  2. have equal populations
  3. be geographically compact
  4. preserve county and municipality boundaries as much as possible
  5. "not, when considered on a statewide basis, unduly favor or disfavor any political party"

Interpretation of requirements

We enforce a maximum population deviation of 0.5%.

Data Sources

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

Pre-processing Notes

No manual pre-processing decisions were necessary.

Simulation Notes

We sample 10,000 districting plans for Virginia across two independent runs of the SMC algorithm, and then thin the sample down to 5,000 plans. 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 Fairfax County must be split due to its large population, although within the county, we avoid splitting any municipality.

Validation

validation_20220622_1706

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

Plan diversity 80% range: 0.67 to 0.89

R-hat values for summary statistics:
   pop_overlap      total_vap       plan_dev      comp_edge    comp_polsby       pop_hisp      pop_white 
      1.008483       1.011457       1.000227       1.005380       1.009023       1.000347       1.001906 
     pop_black       pop_aian      pop_asian       pop_nhpi      pop_other        pop_two       vap_hisp 
      1.001395       1.002677       1.048318       1.017995       1.023632       1.001615       1.002065 
     vap_white      vap_black       vap_aian      vap_asian       vap_nhpi      vap_other        vap_two 
      1.002504       1.001680       1.005151       1.045689       1.021606       1.024723       1.028580 
pre_16_dem_cli pre_16_rep_tru uss_18_dem_kai uss_18_rep_ste         arv_16         adv_16         arv_18 
      1.012611       1.006866       1.021661       1.005162       1.006866       1.012611       1.005162 
        adv_18         arv_20         adv_20  county_splits    muni_splits            ndv            nrv 
      1.021661             NA             NA       1.002662       1.006310       1.018734       1.006016 
       ndshare          e_dvs         pr_dem          e_dem          pbias           egap 
      1.012606       1.012579       1.003115       1.002241       1.019433       1.002121 
Error in if (any(rhats >= 1.05)) { : 
  missing value where TRUE/FALSE needed

Checklist

@christopherkenny

christopherkenny commented 2 years ago

@kevpwang, looks good. Two things to follow up on:

kevpwang commented 2 years ago

@christopherkenny Here's the performance plot.

performance

I'm getting the summary(plans) error for states that are missing some VEST elections data or other (2020 for VA, 2018 & 2020 for KY). Is that just something with how the function's written?

christopherkenny commented 2 years ago

Ah yeah. That makes sense. We have to address that on the redist level.

Thanks for the performance plot -- looks good.