docs: add rdplot paper review (CCT 2015 JASA)#694
Conversation
PR-A of the rdplot diagnostic arc (2-PR methodology structure). Adds the methodology review of Calonico, Cattaneo & Titiunik (2015), "Optimal Data-Driven Regression Discontinuity Plots" (JASA 110(512):1753-1769) and its supplemental appendix: ES/QS partition schemes, Theorem 1-2 variance/bias constants, all IMSE-optimal / WIMSE / mimicking-variance bin selectors (Eq 1-6) with the implied-weights inverse map (Supplement S.1), the spacings and series data-driven implementations (Eq 7-26, Supplement SA-1..SA-20, Lemma SA3), edge cases, and transcribed smoke targets for the Lee House, Senate, Progresa, and Head Start applications. Also lists the new review in the RD "Paper reviews on file" REGISTRY index. Implementation (rdplot port + parity + docs wiring) is the follow-up PR-B. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwhFMnFQGBumYfwbeQaUjm
|
Overall Assessment: ✅ Looks good Executive Summary
Methodology Severity: P3 informational Code Quality Performance Maintainability Tech Debt Security Documentation/Tests |
…rity) PR-B of the rdplot arc (paper review merged in #694). New RDPlot class + RDPlotResult in diff_diff/rdplot.py, parity-targeting rdplot() in CRAN rdrobust 4.0.0: all 8 binselect bin-count selectors (ES/QS x IMSE-optimal/mimicking-variance x spacings/polynomial-regression), manual nbins/scale/h/support/ci, masspoints detection with the spacings-to-pr adjust remap, per-bin means/SEs/CIs (vars_bins, R column names), 500-point-per-side global-fit curves (vars_poly), implied scale + Supplement S.1 WIMSE weights in summary(), covariate-adjusted plots reusing the #691 partialled-gamma machinery, and an optional lazy matplotlib RDPlotResult.plot() (matplotlib not a dependency). Golden parity on 24 configs (benchmarks/R/generate_rdplot_golden.R -> rdplot_golden.json) incl. the vendored Senate data; supplement Figures SA-1/SA-2 selector outputs asserted as JSON-independent paper anchors. R quirks replicated and REGISTRY-documented (left-edge slot reflection under empty bins, qs+nbins label, Inf J_IMSE on zero-variance sides, negative-sigma2 floor, k=4->3->2 raises-only fallback ladder, QS type-7 cutpoints). Documented deviations/defensive guards: fractional/pair scale takes CCT 2015 Eq 2's ceiling (R crashes there), missing-row and discrete-outcome warnings, zero-effective-h / single-support-point / tiny-side clear errors, covariate-name validation shared with the estimator. Docs sweep: REGISTRY RDPlot section, api rst, references, llms.txt/llms-full.txt, README one-liner, doc-deps entry, CHANGELOG. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VwhFMnFQGBumYfwbeQaUjm
Summary
Methodology references (required if estimator / math changes)
Validation
Security / privacy
🤖 Generated with Claude Code
https://claude.ai/code/session_01VwhFMnFQGBumYfwbeQaUjm