Skip to content

Location x COVID interaction on noise complaints - #16

Open
alexstorer wants to merge 1 commit into
mainfrom
experiment/noise-location-covid
Open

Location x COVID interaction on noise complaints#16
alexstorer wants to merge 1 commit into
mainfrom
experiment/noise-location-covid

Conversation

@alexstorer

Copy link
Copy Markdown
Member

What

Follows up the noise finding (the +81% Apr–Jun 2020 lockdown surge) by asking whether that surge is spatially uniform or moderated by location. Adds scripts/noise_location_covid.py, two processed tables, a figure, and a README section.

Result: the surge is strongly spatial

The Apr–Jun 2020-vs-2019 change ranges from −65% to +313% across 27 neighborhoods:

2019 2020 Change
Bayview Hunters Point 47 194 +313%
Western Addition 40 152 +280%
Financial District/South Beach 188 85 −55%
Mission Bay 124 44 −65%

Every residential area rose; the only neighborhoods that fell are the commercial/office/transient cores (Financial District/South Beach, Mission Bay, Chinatown) — exactly the places that emptied out when offices and tourism shut down. That's a clean shelter-at-home signature.

Noise surge by neighborhood

Formal test (with an overdispersion correction)

Difference-in-differences Poisson GLM, calls ~ neighborhood × covid with a log-days offset. The counts are overdispersed (φ ≈ 3.2), so the naïve Poisson LR test (p≈1e-56) is far too liberal — I report the quasi-Poisson F-test instead:

  • Neighborhood × COVID interaction: F(26, 108) = 4.07, p ≈ 1.3×10⁻⁷ — highly significant net of each neighborhood's own baseline.
  • Negative-binomial cross-check (α estimated) agrees: p ≈ 3×10⁻¹¹.
  • Pooled lockdown effect: IRR = 1.74 (+74%).

Caveats (in the README too)

  • At supervisor-district resolution (11 units) the interaction attenuates to borderline (p ≈ 0.09) — districts blend residential and commercial blocks, so the contrast averages out; the signal lives at neighborhood scale.
  • A 2019-vs-2020 Apr–Jun DiD does not separate the lockdown shock from pre-existing neighborhood trends.
  • ~6.6% of noise rows have a null neighborhood (dropped); 14 low-volume neighborhoods (2019 baseline < 20) excluded for stable estimates.

Closes #15

🤖 Generated with Claude Code.

Tests whether the +81% lockdown noise surge (issue #15) is spatially uniform
or moderated by neighborhood. It is strongly moderated: the Apr-Jun 2020-vs-2019
change ranges from -65% to +313% across 27 neighborhoods. Every residential
area rose (+100-300%); the only neighborhoods that FELL are the commercial/
office/transient cores that emptied out -- Financial District/South Beach -55%,
Mission Bay -65%, Chinatown -27% -- consistent with a shelter-at-home mechanism.

Formal test is a difference-in-differences Poisson GLM (calls ~ neighborhood *
covid, log-days offset). The counts are overdispersed (phi ~ 3.2), so the naive
Poisson LR test (p~1e-56) is far too liberal; the quasi-Poisson F-test gives
F(26,108)=4.07, p~1.3e-7, and a negative-binomial cross-check agrees (p~3e-11).
Adds a supervisor-district cross-check, which attenuates to borderline (p~0.09)
because districts blend residential and commercial blocks -- the signal lives at
neighborhood scale. Validation asserts a balanced panel and reconciled totals.

Closes #15.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@alexstorer alexstorer added the experiment An idea/hypothesis to test label Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

experiment An idea/hypothesis to test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Experiment: does location interact with COVID to drive noise complaints?

1 participant