Commit Graph

13 Commits

Author SHA1 Message Date
a98ac7a173 Reframe H2 finding: weaken mechanism claim, flag identification limits
The interaction between OGI budget and inspection_budget_share was previously
interpreted as 'diminishing returns/resource saturation.' Updated to acknowledge:
- budget_share varies only over time (same as budget), not across districts
- range is just 0.59-0.67 across 8 years (8 data points)
- cannot distinguish moderation mechanism from year-specific confounders
- H2 result is exploratory, not confirmatory

Updated cells: 17 (H2 header), 24 (Results H2 section), 28 (hypotheses table)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 13:24:29 -08:00
a684819e73 Update all markdown cells with actual notebook outputs
- Cell 0: Fix analysis period (130 panel obs / 104 regression obs)
- Cell 13: Fix to 10-year panel (2016-2025), 8-year regression sample
- Cell 14: Add H1 finding preview noting bootstrap caveat
- Cell 17: Update H2 to reflect actual negative interaction direction
- Cell 19: Add H3 finding (slopes -0.34 to +1.36 pp/$1M)
- Cell 21: Add H4 findings (+7.6 pp offshore, +6.0 pp border, Moran's I=-0.051)
- Cell 24: Replace robustness placeholder with actual results (Tables 7-8):
    bootstrap p~0.49-0.51 for all H1 outcomes (asymptotic inference unreliable);
    distributed lag: contemporaneous effects persist, lag not significant
- Cell 25: Update robustness header with actual findings summary
- Cell 28: Update hypotheses table with bootstrap p-values and expanded footnotes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 13:20:33 -08:00
fe8187b72f Add robustness checks: wild cluster bootstrap and distributed lag
- Insert Robustness Checks section before Hypotheses Summary
- Wild cluster bootstrap (B=999 Rademacher) addresses G=13 small-cluster problem
- Distributed lag model tests 1-year delayed budget effects (2017-2023 sample)
- Update Data & Methods to describe both robustness checks
- Update Results to reference bootstrap and distributed lag findings
- Fix duplicate robustness paragraph that was appended twice

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 13:13:26 -08:00
4f2e724e71 Add hypotheses summary table (Table 6)
Markdown cell summarizing all 9 hypothesis tests with predictions,
key coefficients, and support status including footnotes for H2
diminishing-returns finding, H3 multicollinearity caveat, and H4
level-vs-slope distinction.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 12:56:33 -08:00
98f48652b1 Update write-up cells to reflect 2025 inspection data
- Data & Methods: panel is now 130 obs (13 districts × 10 years);
  regression sample remains N=104 (2016-2023); right-censoring caveat added
  for 2025 enforcement metrics
- Analysis: clarifies 2025 descriptive-only status and right-censoring issue
- Results: Table 1 extended through 2025 with 2024/2025 footnotes; narrative
  updated to note compliance peak (92.6% in 2024), slight 2025 dip (90.5%),
  and right-censored resolution/enforcement metrics for 2025

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 12:53:48 -08:00
fff3019e27 Extend inspection/violation data through 2025
- SQL year filters: BETWEEN 2016 AND 2025
- is_budget_year flag: year >= 2024 (covers both 2024 budget estimate and
  2025 where no budget data exists) — both excluded from regressions
- Data & Methods and Analysis cells updated to reflect 2016-2025 data range
  with 2016-2023 as the regression sample

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 12:49:52 -08:00
365bbe570a Add journal-quality Data & Methods, Analysis, and Results write-up cells
Three markdown cells written in PAR/Policy Studies Journal style:
- Data and Methods: sources, sample, variables, model equations
- Analysis: analytical strategy and identification rationale
- Results: full findings with formatted tables for all four hypotheses

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 12:45:31 -08:00
9d18c02105 Fix display_cols to detect summary2 column names dynamically
statsmodels uses z/P>|z| instead of t/P>|t| with cluster-robust SEs
in some versions. Auto-detect from the actual table columns.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 12:36:28 -08:00
c75d8dcb2d Add requirements.txt
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 12:31:04 -08:00
19c599c952 Use absolute path for venv interpreter in workspace settings
Relative paths are not resolved by VS Code for python.defaultInterpreterPath.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 12:29:49 -08:00
612d8c11e2 Fix VS Code interpreter path to use relative path
${workspaceFolder} is not expanded in python.defaultInterpreterPath;
use a relative path instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 12:27:41 -08:00
da28b6a265 Add venv interpreter config and gitignore
VS Code workspace settings point to project-local .venv so the correct
Python interpreter is auto-selected on open.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 12:25:44 -08:00
8038a3fab4 Initial commit: texas inspection expenses analysis notebook
Jupyter notebook analyzing RRC budget (2016-2024) against inspection/violation
outcomes across Texas RRC districts. Tests four hypotheses: organizational
capacity, goal ambiguity, district multilevel effects, and spatial factors.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 12:17:56 -08:00