SPB Git

spb/wp28_uqo

Public

WP28: table spacing, display fixes, project map

Simon-Pierre Boucher committed (Oct 29, 2026) parent 0a1c470 Browse files

18 changed files +26 −26

modified PROJECT_MAP.md +3 −2
@@ -20,12 +20,13 @@ PROJECT_MAP.md SOURCE_PROVENANCE.md PHASE_STATUS.md research_log.md
20 LIMITATIONS_AND_CLAIMS.md FINAL_REVIEW.md FINAL_DELIVERY.md (written at the end of the corresponding phases) 20 LIMITATIONS_AND_CLAIMS.md FINAL_REVIEW.md FINAL_DELIVERY.md (written at the end of the corresponding phases)
21 references/initial_pamle/ immutable copy of the prior draft (PDF, zip, unpacked sources, SHA256SUMS.txt) 21 references/initial_pamle/ immutable copy of the prior draft (PDF, zip, unpacked sources, SHA256SUMS.txt)
22 literature/ PRIOR_ART_MATRIX.csv, PRIORITY_AND_GAP.md 22 literature/ PRIOR_ART_MATRIX.csv, PRIORITY_AND_GAP.md
23−theory/ THEOREM_AUDIT.md, ASSUMPTIONS.md, symbolic_checks.py, proofs_check.py 23+theory/ THEOREM_AUDIT.md, ASSUMPTIONS.md, symbolic_checks.py (SymPy), lean/ (Lean 4 + Mathlib, 27 theorems)
24 src/pamle/ reference implementations (likelihoods, splits, jackknife weights, Newton, protocol, accounting) 24 src/pamle/ reference implementations (likelihoods, splits, jackknife weights, Newton, protocol, accounting)
25 experiments/ run_* scripts, configs/, EXPERIMENT_MANIFEST.csv 25 experiments/ run_* scripts, configs/, EXPERIMENT_MANIFEST.csv
26 tests/ pytest suite 26 tests/ pytest suite
27 results/{raw,processed,tables,figures,resource_profiles} 27 results/{raw,processed,tables,figures,resource_profiles}
28 paper/{main.tex,sections,appendices,figures,tables,references.bib} 28 paper/{main.tex,sections,appendices,figures,tables,references.bib}
29−scripts/{setup.sh,reproduce_all.sh,compile_paper.sh,validate_pdf.sh} 29+scripts/{setup.sh,reproduce_all.sh,compile_paper.sh,validate_pdf.sh,check_lean.sh}
30+WP28_*.md / WP28_Experiment_Results.csv series-named aliases (symlinks) of the delivery files
30 docs/ cluster inventory, referee reports, misc audits 31 docs/ cluster inventory, referee reports, misc audits
31 ``` 32 ```
modified experiments/EXPERIMENT_MANIFEST.csv +3 −3
@@ -71,7 +71,7 @@ logit_misspec_p3_N262144_K512,,3.9.6,2.0.2,,4080476778475930787,262144,512,512,3
71 logit_misspec_p3_N262144_K8192,,3.9.6,2.0.2,,4860399401084713574,262144,8192,32,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,M4M64c arm64,macOS,3976.4,0,in-memory (no network),completed,747d085e4a92f4ece110fc931102892f7c25c09cc101913164791bf24352b6bf 71 logit_misspec_p3_N262144_K8192,,3.9.6,2.0.2,,4860399401084713574,262144,8192,32,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,M4M64c arm64,macOS,3976.4,0,in-memory (no network),completed,747d085e4a92f4ece110fc931102892f7c25c09cc101913164791bf24352b6bf
72 logit_misspec_p3_N65536_K1024,,3.9.6,2.0.2,,5927146201951817713,65536,1024,64,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,M5M36 arm64,macOS,455.5,0,in-memory (no network),completed,0a024777482db1db789a4331b76c3a1b839a6cf57922087d0e89d00ea7e1b62c 72 logit_misspec_p3_N65536_K1024,,3.9.6,2.0.2,,5927146201951817713,65536,1024,64,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,M5M36 arm64,macOS,455.5,0,in-memory (no network),completed,0a024777482db1db789a4331b76c3a1b839a6cf57922087d0e89d00ea7e1b62c
73 logit_misspec_p3_N65536_K128,,3.9.6,2.0.2,,1189149877376627910,65536,128,512,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,MacStudonpierre arm64,macOS,261.1,0,in-memory (no network),completed,d5549965eb18106d51676e09521787a845070e08dbdceda307a18283dfd7c769 73 logit_misspec_p3_N65536_K128,,3.9.6,2.0.2,,1189149877376627910,65536,128,512,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,MacStudonpierre arm64,macOS,261.1,0,in-memory (no network),completed,d5549965eb18106d51676e09521787a845070e08dbdceda307a18283dfd7c769
74−logit_misspec_p3_N65536_K2048,,3.9.6,2.0.2,,9108325309212204322,65536,2048,32,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,MacStudnpierre7 arm64,macOS,1250.8,0,in-memory (no network),completed,44bd58b165a41d4592f4180d4aa02e2ba7f580613bad5965131b03eeaff24e0e 74+logit_misspec_p3_N65536_K2048,7b15181,3.14.4,2.4.4,,9108325309212204322,65536,2048,32,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,MacBookPro-de-simon-pierre-2.local arm64,macOS,846.6,0,in-memory (no network),completed,b5495df2fc1b00d264877514f923d8daa82b2deade865fd456a302dcf7c04307
75 logit_misspec_p3_N65536_K256,,3.14.4,2.5.4,,5271711696808027188,65536,256,256,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m3u96b arm64,macOS,223.5,0,in-memory (no network),completed,35b8202e739a00d69b2aa97804232b289b236676f3c7e1de6860190125d2484b 75 logit_misspec_p3_N65536_K256,,3.14.4,2.5.4,,5271711696808027188,65536,256,256,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m3u96b arm64,macOS,223.5,0,in-memory (no network),completed,35b8202e739a00d69b2aa97804232b289b236676f3c7e1de6860190125d2484b
76 logit_misspec_p3_N65536_K512,,3.14.5,2.5.4,,3578458641162309222,65536,512,128,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,MacStudnpierre2 arm64,macOS,283.3,0,in-memory (no network),completed,c29ffec0dbff1a6717c394274a6da063592ec08ce27125dd8cdad93c01dcb07b 76 logit_misspec_p3_N65536_K512,,3.14.5,2.5.4,,3578458641162309222,65536,512,128,3,"{""kind"": ""misspecified"", ""omitted"": 0.5}",estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,MacStudnpierre2 arm64,macOS,283.3,0,in-memory (no network),completed,c29ffec0dbff1a6717c394274a6da063592ec08ce27125dd8cdad93c01dcb07b
77 logit_p20_p20_N1048576_K1024,,3.14.4,2.5.4,,6566023737295273270,1048576,1024,1024,20,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,500,xargs -P / nohup,1,MacStudnpierre6 arm64,macOS,10956.8,0,in-memory (no network),completed,0d1def0937b0015d36d47e0e6dc4e738f6988854d790689dec6202e53b30759d 77 logit_p20_p20_N1048576_K1024,,3.14.4,2.5.4,,6566023737295273270,1048576,1024,1024,20,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,500,xargs -P / nohup,1,MacStudnpierre6 arm64,macOS,10956.8,0,in-memory (no network),completed,0d1def0937b0015d36d47e0e6dc4e738f6988854d790689dec6202e53b30759d
@@ -113,7 +113,7 @@ logit_p8_N1048576_K16384,,3.9.6,2.0.2,,3073381346928451233,1048576,16384,64,8,{}
113 logit_p8_N1048576_K2048,,3.9.6,2.0.2,,6354247005063002822,1048576,2048,512,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,simonpierresMBP arm64,macOS,7431.4,0,in-memory (no network),completed,26648ea3c37f4f0ec48a15aa883ed7d54c33aa5755893c7d718d23aeaa7bce41 113 logit_p8_N1048576_K2048,,3.9.6,2.0.2,,6354247005063002822,1048576,2048,512,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,simonpierresMBP arm64,macOS,7431.4,0,in-memory (no network),completed,26648ea3c37f4f0ec48a15aa883ed7d54c33aa5755893c7d718d23aeaa7bce41
114 logit_p8_N1048576_K4096,,3.9.6,2.0.2,,5229261129462349956,1048576,4096,256,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,simonpirresMBP2 arm64,macOS,8607.3,0,in-memory (no network),completed,a18df7441e42ab1fcd2a2787b8b46d7a4aed55c2a01eb0ac9c2736608c6fd4a1 114 logit_p8_N1048576_K4096,,3.9.6,2.0.2,,5229261129462349956,1048576,4096,256,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,simonpirresMBP2 arm64,macOS,8607.3,0,in-memory (no network),completed,a18df7441e42ab1fcd2a2787b8b46d7a4aed55c2a01eb0ac9c2736608c6fd4a1
115 logit_p8_N1048576_K8192,,3.9.6,2.0.2,,4723022365370056307,1048576,8192,128,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,M5M36 arm64,macOS,15247.2,0,in-memory (no network),completed,70f240acf900b615965a13ac9e8e99cedf470172589d8c45b2adfb417765d940 115 logit_p8_N1048576_K8192,,3.9.6,2.0.2,,4723022365370056307,1048576,8192,128,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,M5M36 arm64,macOS,15247.2,0,in-memory (no network),completed,70f240acf900b615965a13ac9e8e99cedf470172589d8c45b2adfb417765d940
116−logit_p8_N16384_K128,,3.9.6,2.0.2,,1929461084092776376,16384,128,128,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m5ma arm64,macOS,200.3,0,in-memory (no network),completed,8393646d69c24f743b9b9d6291abab9b6bcd195d86edf4f726e39ab53aba2fc8 116+logit_p8_N16384_K128,b354e67,3.14.4,2.4.4,,1929461084092776376,16384,128,128,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,MacBookPro-de-simon-pierre-2.local arm64,macOS,179.6,0,in-memory (no network),completed,4eb9b4942dbaa3f94f53ebbb129df8525f84833726b37533f92bb69a1b143618
117 logit_p8_N16384_K16,,3.14.4,2.5.4,,9066105959199088908,16384,16,1024,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m3u96b arm64,macOS,102.2,0,in-memory (no network),completed,8605fd6f5641f8c51ea71fab45bfe5b6c34c442e61aeee28f198e7b7908bf6d4 117 logit_p8_N16384_K16,,3.14.4,2.5.4,,9066105959199088908,16384,16,1024,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m3u96b arm64,macOS,102.2,0,in-memory (no network),completed,8605fd6f5641f8c51ea71fab45bfe5b6c34c442e61aeee28f198e7b7908bf6d4
118 logit_p8_N16384_K256,b354e67,3.14.4,2.4.4,,734206799928427210,16384,256,64,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,MacBookPro-de-simon-pierre-2.local arm64,macOS,303.3,0,in-memory (no network),completed,00cf6eb364f449e62492695ec9fe41765f2c14d0b27f06e463a9b6fb6454fbf7 118 logit_p8_N16384_K256,b354e67,3.14.4,2.4.4,,734206799928427210,16384,256,64,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,MacBookPro-de-simon-pierre-2.local arm64,macOS,303.3,0,in-memory (no network),completed,00cf6eb364f449e62492695ec9fe41765f2c14d0b27f06e463a9b6fb6454fbf7
119 logit_p8_N16384_K32,,3.9.6,2.0.2,,1149493868462540650,16384,32,512,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,M5M36 arm64,macOS,104.2,0,in-memory (no network),completed,7fc9aef9e1601316830e00fbf2ee78ba6afac25b514ded6382f200b7510656b3 119 logit_p8_N16384_K32,,3.9.6,2.0.2,,1149493868462540650,16384,32,512,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,M5M36 arm64,macOS,104.2,0,in-memory (no network),completed,7fc9aef9e1601316830e00fbf2ee78ba6afac25b514ded6382f200b7510656b3
@@ -126,7 +126,7 @@ logit_p8_N262144_K512,,3.9.6,2.0.2,,8039841745423251652,262144,512,512,8,{},esti
126 logit_p8_N65536_K1024,,3.9.6,2.0.2,,1180070245565143404,65536,1024,64,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m4mm arm64,macOS,1574.7,0,in-memory (no network),completed,8f15b0e47f746aa26de52338b2e3dda0a284f3fbcaaed2b31b406276b4c844f1 126 logit_p8_N65536_K1024,,3.9.6,2.0.2,,1180070245565143404,65536,1024,64,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m4mm arm64,macOS,1574.7,0,in-memory (no network),completed,8f15b0e47f746aa26de52338b2e3dda0a284f3fbcaaed2b31b406276b4c844f1
127 logit_p8_N65536_K128,,3.9.6,2.0.2,,1232098941011368581,65536,128,512,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m6mb arm64,macOS,421.7,0,in-memory (no network),completed,73dd441c3e14219a8cbddea1fd346cbc7beea168a044d22da85f55daa8fd9a63 127 logit_p8_N65536_K128,,3.9.6,2.0.2,,1232098941011368581,65536,128,512,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m6mb arm64,macOS,421.7,0,in-memory (no network),completed,73dd441c3e14219a8cbddea1fd346cbc7beea168a044d22da85f55daa8fd9a63
128 logit_p8_N65536_K256,,3.9.6,2.0.2,,280738212038287331,65536,256,256,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m6ma arm64,macOS,460.8,0,in-memory (no network),completed,b01b98f8139655860fb6258bbf418349a88feb3fbdc44cf324a6d8710659a875 128 logit_p8_N65536_K256,,3.9.6,2.0.2,,280738212038287331,65536,256,256,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m6ma arm64,macOS,460.8,0,in-memory (no network),completed,b01b98f8139655860fb6258bbf418349a88feb3fbdc44cf324a6d8710659a875
129−logit_p8_N65536_K512,,3.9.6,2.0.2,,2883218016326956929,65536,512,128,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m4mn arm64,macOS,966.6,0,in-memory (no network),completed,e7c5267c4d35cbc17abeddb57d733428ca1a90d8e736b30770b9b44cbee0433a 129+logit_p8_N65536_K512,b354e67,3.14.4,2.4.4,,2883218016326956929,65536,512,128,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,MacBookPro-de-simon-pierre-2.local arm64,macOS,758.7,0,in-memory (no network),completed,e7b784a3fe0259a397c9ad67186c3679df6fc740d844023596eab4fedd25e00a
130 logit_p8_N65536_K64,,3.9.6,2.0.2,,2215989508265194187,65536,64,1024,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m5ma arm64,macOS,421.2,0,in-memory (no network),completed,97019ac63c588623189f22cd59285b6c3705f45aeb9c9ee50c6102b480759c7e 130 logit_p8_N65536_K64,,3.9.6,2.0.2,,2215989508265194187,65536,64,1024,8,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m5ma arm64,macOS,421.2,0,in-memory (no network),completed,97019ac63c588623189f22cd59285b6c3705f45aeb9c9ee50c6102b480759c7e
131 pois_p3_N1048576_K1024,,3.9.6,2.0.2,,4497362842336315866,1048576,1024,1024,3,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m5ma arm64,macOS,2191.8,0,in-memory (no network),completed,e8dfee0a8ab7279a8060fe3055cfedd414642e2ee0ef236d1416d0f08250c220 131 pois_p3_N1048576_K1024,,3.9.6,2.0.2,,4497362842336315866,1048576,1024,1024,3,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m5ma arm64,macOS,2191.8,0,in-memory (no network),completed,e8dfee0a8ab7279a8060fe3055cfedd414642e2ee0ef236d1416d0f08250c220
132 pois_p3_N1048576_K16384,,3.9.6,2.0.2,,6004159781069538546,1048576,16384,64,3,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m4mm arm64,macOS,3153.9,0,in-memory (no network),completed,8371de465e590e79912afdf37f065c75072693e2b0540a704401fd2d0380c98e 132 pois_p3_N1048576_K16384,,3.9.6,2.0.2,,6004159781069538546,1048576,16384,64,3,{},estimate_all,"batched Newton, step halving, tol 1e-9 (central 1e-12)",1e-9,1000,xargs -P / nohup,1,m4mm arm64,macOS,3153.9,0,in-memory (no network),completed,8371de465e590e79912afdf37f065c75072693e2b0540a704401fd2d0380c98e
modified experiments/make_tables.py +3 −3
@@ -33,7 +33,7 @@ def table_cell(s, label, p, N, ms, fname, caption, ests=MAIN):
33 if len(ms) > 4: # keep at most four local sizes: the two extremes and two interior ones 33 if len(ms) > 4: # keep at most four local sizes: the two extremes and two interior ones
34 idx = sorted(set([0, len(ms) - 1, len(ms) // 3, (2 * len(ms)) // 3])) 34 idx = sorted(set([0, len(ms) - 1, len(ms) // 3, (2 * len(ms)) // 3]))
35 ms = [ms[i] for i in idx] 35 ms = [ms[i] for i in idx]
36− lines = [r"\begin{table}[p]", r"\centering\scriptsize", r"\begin{threeparttable}", f"\\caption{{{caption}}}\\label{{tab:{fname[:-4]}}}", 36+ lines = [r"\begin{table}[p]", r"\centering\scriptsize\setlength{\tabcolsep}{2.6pt}", r"\begin{threeparttable}", f"\\caption{{{caption}}}\\label{{tab:{fname[:-4]}}}",
37 r"\begin{tabular}{@{}l" + "r" * (3 * len(ms)) + "@{}}", r"\toprule", 37 r"\begin{tabular}{@{}l" + "r" * (3 * len(ms)) + "@{}}", r"\toprule",
38 "Estimator & " + " & ".join(f"\\multicolumn{{3}}{{c}}{{$m = {m}$, $K = {int(N//m):,}$}}" for m in ms) + r" \\", 38 "Estimator & " + " & ".join(f"\\multicolumn{{3}}{{c}}{{$m = {m}$, $K = {int(N//m):,}$}}" for m in ms) + r" \\",
39 " & " + " & ".join("gap & median & cov" for _ in ms) + r" \\", r"\midrule"] 39 " & " + " & ".join("gap & median & cov" for _ in ms) + r" \\", r"\midrule"]
@@ -139,7 +139,7 @@ def table_ablation(model, fname):
139 continue 139 continue
140 lines.append(f"({pat.replace('-', ',')}) & {lab}, $b={bits}$ & 1 & " + " & ".join(vals) + r" \\") 140 lines.append(f"({pat.replace('-', ',')}) & {lab}, $b={bits}$ & 1 & " + " & ".join(vals) + r" \\")
141 rc = d.groupby(["N", "m"]).rep.nunique(); reps = f"{int(rc.min())}--{int(rc.max())}" if rc.min() != rc.max() else str(int(rc.max())) 141 rc = d.groupby(["N", "m"]).rep.nunique(); reps = f"{int(rc.min())}--{int(rc.max())}" if rc.min() != rc.max() else str(int(rc.max()))
142− lines += [r"\bottomrule", r"\end{tabular}", r"\begin{tablenotes}\footnotesize", f"\\item {reps} paired replications per column (exact count per cell in the processed CSV); $K = N/m$. Rows are omitted when the pattern does not divide $m$. Source: \\texttt{{results/processed/ablation\\_{model}\\_summary.csv}}.", r"\end{tablenotes}", r"\end{threeparttable}", r"\end{table}"] 142+ lines += [r"\bottomrule", r"\end{tabular}", r"\begin{tablenotes}\footnotesize", f"\\item {reps} paired replications per column (exact count per cell in the processed CSV); $K = N/m$. Rows are omitted when the pattern does not divide $m$. Source: the processed ablation summary for the {model} model in \\texttt{{results/processed/}}.", r"\end{tablenotes}", r"\end{threeparttable}", r"\end{table}"]
143 (TAB / fname).write_text("\n".join(lines) + "\n"); return g 143 (TAB / fname).write_text("\n".join(lines) + "\n"); return g
144 144
145 145
@@ -174,7 +174,7 @@ def table_bench(fname="bench.tex"):
174 g = d.groupby(["label", "K", "hosts", "p", "r", "q", "hessian"]).agg(reps=("t_total", "size"), t_total=("t_total", "median"), t_local=("t_local", "median"), fit_mean=("fit_mean", "median"), fit_max=("fit_max", "median"), 174 g = d.groupby(["label", "K", "hosts", "p", "r", "q", "hessian"]).agg(reps=("t_total", "size"), t_total=("t_total", "median"), t_local=("t_local", "median"), fit_mean=("fit_mean", "median"), fit_max=("fit_max", "median"),
175 t_rounds=("t_rounds", "median"), round_wall=("round_wall", "median"), der_max=("der_max", "median"), lat99=("lat99_round", "median"), up_B=("up_B", "first"), down_B=("down_B", "first"), msgs=("msgs", "first"), grad=("grad_final", "median"), t_connect=("t_connect", "median")).reset_index() 175 t_rounds=("t_rounds", "median"), round_wall=("round_wall", "median"), der_max=("der_max", "median"), lat99=("lat99_round", "median"), up_B=("up_B", "first"), down_B=("down_B", "first"), msgs=("msgs", "first"), grad=("grad_final", "median"), t_connect=("t_connect", "median")).reset_index()
176 g.to_csv(PROC / "benchmarks_summary.csv", index=False) 176 g.to_csv(PROC / "benchmarks_summary.csv", index=False)
177− lines = [r"\begin{table}[p]", r"\centering\scriptsize", r"\begin{threeparttable}", r"\caption{Measured multi-node benchmarks of the protocol (logistic regression, $N = 2^{22}$, medians over repeats): wall-clock of the local phase (slowest worker) and of the synchronized derivative phases, worker compute times, 99th-percentile reply latency, and bytes moved.}\label{tab:bench}", 177+ lines = [r"\begin{table}[p]", r"\centering\scriptsize\setlength{\tabcolsep}{2.2pt}", r"\begin{threeparttable}", r"\caption{Measured multi-node benchmarks of the protocol (logistic regression, $N = 2^{22}$, medians over repeats): wall-clock of the local phase (slowest worker) and of the synchronized derivative phases, worker compute times, 99th-percentile reply latency, and bytes moved.}\label{tab:bench}",
178 r"\begin{tabular}{@{}lrrrrrlrrrrrrrr@{}}", r"\toprule", r"Design & $K$ & hosts & $p$ & $r$ & $q$ & curvature & local (s) & fit max (s) & rounds (s) & per round (s) & der.\ max (s) & lat.\ p99 (s) & up (kB) & down (kB) \\", r"\midrule"] 178 r"\begin{tabular}{@{}lrrrrrlrrrrrrrr@{}}", r"\toprule", r"Design & $K$ & hosts & $p$ & $r$ & $q$ & curvature & local (s) & fit max (s) & rounds (s) & per round (s) & der.\ max (s) & lat.\ p99 (s) & up (kB) & down (kB) \\", r"\midrule"]
179 for r in g.itertuples(): 179 for r in g.itertuples():
180 lines.append(f"{r.label.replace('_', ' ')} & {r.K} & {r.hosts} & {r.p} & {r.r} & {r.q} & {r.hessian} & {r.t_local:.3f} & {r.fit_max:.3f} & {r.t_rounds:.3f} & {r.round_wall:.3f} & {r.der_max:.3f} & {r.lat99:.3f} & {r.up_B/1e3:.1f} & {r.down_B/1e3:.1f} \\\\") 180 lines.append(f"{r.label.replace('_', ' ')} & {r.K} & {r.hosts} & {r.p} & {r.r} & {r.q} & {r.hessian} & {r.t_local:.3f} & {r.fit_max:.3f} & {r.t_rounds:.3f} & {r.round_wall:.3f} & {r.der_max:.3f} & {r.lat99:.3f} & {r.up_B/1e3:.1f} & {r.down_B/1e3:.1f} \\\\")
modified paper/appendices/exponential.tex +4 −5
@@ -43,11 +43,10 @@ Let $h = m/2$ and let $S_A, S_B$ be the sums over the two halves, $S = S_A + S_B
43 43
44 \begin{proof}[Proof of (iv)] 44 \begin{proof}[Proof of (iv)]
45 With $g_N(x) = 1/x - \bar X_N$ and $H_N(x) = -1/x^2$, 45 With $g_N(x) = 1/x - \bar X_N$ and $H_N(x) = -1/x^2$,
46−\[ 46+\begin{align*}
47−\mathcal N_N(x) = x + x^2\Big(\frac1x - \bar X_N\Big) = 2x - x^2\bar X_N, 47+\mathcal N_N(x) &= x + x^2\Big(\frac1x - \bar X_N\Big) = 2x - x^2\bar X_N,\\
48−\qquad 48+\mathcal N_N(x) - \thetaN &= -\bar X_N x^2 + 2x - \frac{1}{\bar X_N} = -\bar X_N\Big(x - \frac{1}{\bar X_N}\Big)^2 = -\frac{(x-\thetaN)^2}{\thetaN},
49−\mathcal N_N(x) - \thetaN = -\bar X_N x^2 + 2x - \frac{1}{\bar X_N} = -\bar X_N\Big(x - \frac{1}{\bar X_N}\Big)^2 = -\frac{(x-\thetaN)^2}{\thetaN}, 49+\end{align*}
50−\]
51 since $\thetaN = 1/\bar X_N$. Writing $e_j = \iter{}{j} - \thetaN$ gives $e_{j+1} = -e_j^2/\thetaN$ and, by induction, $e_q = -e_0^{2^q}/\thetaN^{2^q-1}$. In units of $\thetaN$, $u_{j+1} = -u_j^2$ with $u_j = e_j/\thetaN$, so $\abs{u_j} \to 0$ iff $\abs{u_0} < 1$, i.e.\ $0 < x < 2\thetaN$; $\abs{u_0} > 1$ gives $\abs{u_j} \to \infty$ with $u_j < 0$ for $j \ge 1$; $u_0 = \pm1$ gives $u_1 = -1$ and then $u_j = -1$, i.e.\ the iterate $0$, where the log-likelihood is undefined. 50 since $\thetaN = 1/\bar X_N$. Writing $e_j = \iter{}{j} - \thetaN$ gives $e_{j+1} = -e_j^2/\thetaN$ and, by induction, $e_q = -e_0^{2^q}/\thetaN^{2^q-1}$. In units of $\thetaN$, $u_{j+1} = -u_j^2$ with $u_j = e_j/\thetaN$, so $\abs{u_j} \to 0$ iff $\abs{u_0} < 1$, i.e.\ $0 < x < 2\thetaN$; $\abs{u_0} > 1$ gives $\abs{u_j} \to \infty$ with $u_j < 0$ for $j \ge 1$; $u_0 = \pm1$ gives $u_1 = -1$ and then $u_j = -1$, i.e.\ the iterate $0$, where the log-likelihood is undefined.
52 \end{proof} 51 \end{proof}
53 52
modified paper/main.pdf +0 −0

Binary file not shown.

modified paper/sections/robustness.tex +1 −1
@@ -18,7 +18,7 @@ with equality only for equal sizes; the discrepancy is of exact order $N^{-1/2}$
18 \begin{equation}\label{eq:sandwich} 18 \begin{equation}\label{eq:sandwich}
19 \psi(x) = -\bar H(\theta_0)^{-1}\,\nabla_\theta\log f(x;\theta_0), \qquad \Sigma_\psi = \bar H(\theta_0)^{-1}\,\bar J(\theta_0)\,\bar H(\theta_0)^{-1}, 19 \psi(x) = -\bar H(\theta_0)^{-1}\,\nabla_\theta\log f(x;\theta_0), \qquad \Sigma_\psi = \bar H(\theta_0)^{-1}\,\bar J(\theta_0)\,\bar H(\theta_0)^{-1},
20 \end{equation} 20 \end{equation}
21−provided \cref{ass:lin,ass:bias,ass:newton} are read for the pseudo-MLE. The estimator is then first-order equivalent to the centralized pseudo-MLE and Wald intervals require the sandwich of \cref{cor:inference}; observed-information intervals are not valid. 21+provided \cref{ass:lin,ass:bias,ass:newton} are read for the pseudo-MLE. The estimator is then first-order equivalent to the centralized pseudo-MLE and Wald intervals require the sandwich of \cref{cor:inference}; observed-information intervals are not valid in general (they happen to be close to the sandwich in the misspecified logistic design of \cref{sec:mc}, and far from it in the contaminated exponential design).
22 \end{enumerate} 22 \end{enumerate}
23 \end{proposition} 23 \end{proposition}
24 24
modified paper/tables/abl_exponential.tex +1 −1
@@ -137,7 +137,7 @@ Pattern & curvature & $q$ & $m = 24$ & $m = 96$ \\
137 \bottomrule 137 \bottomrule
138 \end{tabular} 138 \end{tabular}
139 \begin{tablenotes}\footnotesize 139 \begin{tablenotes}\footnotesize
140−\item 300--1000 paired replications per column (exact count per cell in the processed CSV); $K = N/m$. Rows are omitted when the pattern does not divide $m$. Source: \texttt{results/processed/ablation\_exponential\_summary.csv}. 140+\item 300--1000 paired replications per column (exact count per cell in the processed CSV); $K = N/m$. Rows are omitted when the pattern does not divide $m$. Source: the processed ablation summary for the exponential model in \texttt{results/processed/}.
141 \end{tablenotes} 141 \end{tablenotes}
142 \end{threeparttable} 142 \end{threeparttable}
143 \end{table} 143 \end{table}
modified paper/tables/abl_logistic.tex +1 −1
@@ -137,7 +137,7 @@ Pattern & curvature & $q$ & $m = 192$ & $m = 768$ \\
137 \bottomrule 137 \bottomrule
138 \end{tabular} 138 \end{tabular}
139 \begin{tablenotes}\footnotesize 139 \begin{tablenotes}\footnotesize
140−\item 400 paired replications per column (exact count per cell in the processed CSV); $K = N/m$. Rows are omitted when the pattern does not divide $m$. Source: \texttt{results/processed/ablation\_logistic\_summary.csv}. 140+\item 400 paired replications per column (exact count per cell in the processed CSV); $K = N/m$. Rows are omitted when the pattern does not divide $m$. Source: the processed ablation summary for the logistic model in \texttt{results/processed/}.
141 \end{tablenotes} 141 \end{tablenotes}
142 \end{threeparttable} 142 \end{threeparttable}
143 \end{table} 143 \end{table}
modified paper/tables/bench.tex +1 −1
@@ -1,5 +1,5 @@
1 \begin{table}[p] 1 \begin{table}[p]
2−\centering\scriptsize 2+\centering\scriptsize\setlength{\tabcolsep}{2.2pt}
3 \begin{threeparttable} 3 \begin{threeparttable}
4 \caption{Measured multi-node benchmarks of the protocol (logistic regression, $N = 2^{22}$, medians over repeats): wall-clock of the local phase (slowest worker) and of the synchronized derivative phases, worker compute times, 99th-percentile reply latency, and bytes moved.}\label{tab:bench} 4 \caption{Measured multi-node benchmarks of the protocol (logistic regression, $N = 2^{22}$, medians over repeats): wall-clock of the local phase (slowest worker) and of the synchronized derivative phases, worker compute times, 99th-percentile reply latency, and bytes moved.}\label{tab:bench}
5 \begin{tabular}{@{}lrrrrrlrrrrrrrr@{}} 5 \begin{tabular}{@{}lrrrrrlrrrrrrrr@{}}
modified paper/tables/mc_exp_contam_p1.tex +1 −1
@@ -1,5 +1,5 @@
1 \begin{table}[p] 1 \begin{table}[p]
2−\centering\scriptsize 2+\centering\scriptsize\setlength{\tabcolsep}{2.6pt}
3 \begin{threeparttable} 3 \begin{threeparttable}
4 \caption{Monte Carlo, exp contam design, $p = 1$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_exp_contam_p1} 4 \caption{Monte Carlo, exp contam design, $p = 1$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_exp_contam_p1}
5 \begin{tabular}{@{}lrrrrrrrrr@{}} 5 \begin{tabular}{@{}lrrrrrrrrr@{}}
modified paper/tables/mc_exp_p1.tex +1 −1
@@ -1,5 +1,5 @@
1 \begin{table}[p] 1 \begin{table}[p]
2−\centering\scriptsize 2+\centering\scriptsize\setlength{\tabcolsep}{2.6pt}
3 \begin{threeparttable} 3 \begin{threeparttable}
4 \caption{Monte Carlo, exp design, $p = 1$, $N = 4,194,304$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_exp_p1} 4 \caption{Monte Carlo, exp design, $p = 1$, $N = 4,194,304$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_exp_p1}
5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}} 5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}}
modified paper/tables/mc_logit_illcond_p8.tex +1 −1
@@ -1,5 +1,5 @@
1 \begin{table}[p] 1 \begin{table}[p]
2−\centering\scriptsize 2+\centering\scriptsize\setlength{\tabcolsep}{2.6pt}
3 \begin{threeparttable} 3 \begin{threeparttable}
4 \caption{Monte Carlo, logit illcond design, $p = 8$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_logit_illcond_p8} 4 \caption{Monte Carlo, logit illcond design, $p = 8$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_logit_illcond_p8}
5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}} 5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}}
modified paper/tables/mc_logit_misspec_p3.tex +1 −1
@@ -1,5 +1,5 @@
1 \begin{table}[p] 1 \begin{table}[p]
2−\centering\scriptsize 2+\centering\scriptsize\setlength{\tabcolsep}{2.6pt}
3 \begin{threeparttable} 3 \begin{threeparttable}
4 \caption{Monte Carlo, logit misspec design, $p = 3$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_logit_misspec_p3} 4 \caption{Monte Carlo, logit misspec design, $p = 3$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_logit_misspec_p3}
5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}} 5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}}
modified paper/tables/mc_logit_p20_p20.tex +1 −1
@@ -1,5 +1,5 @@
1 \begin{table}[p] 1 \begin{table}[p]
2−\centering\scriptsize 2+\centering\scriptsize\setlength{\tabcolsep}{2.6pt}
3 \begin{threeparttable} 3 \begin{threeparttable}
4 \caption{Monte Carlo, logit p20 design, $p = 20$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_logit_p20_p20} 4 \caption{Monte Carlo, logit p20 design, $p = 20$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_logit_p20_p20}
5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}} 5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}}
modified paper/tables/mc_logit_p3.tex +1 −1
@@ -1,5 +1,5 @@
1 \begin{table}[p] 1 \begin{table}[p]
2−\centering\scriptsize 2+\centering\scriptsize\setlength{\tabcolsep}{2.6pt}
3 \begin{threeparttable} 3 \begin{threeparttable}
4 \caption{Monte Carlo, logit design, $p = 3$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_logit_p3} 4 \caption{Monte Carlo, logit design, $p = 3$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_logit_p3}
5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}} 5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}}
modified paper/tables/mc_logit_p8.tex +1 −1
@@ -1,5 +1,5 @@
1 \begin{table}[p] 1 \begin{table}[p]
2−\centering\scriptsize 2+\centering\scriptsize\setlength{\tabcolsep}{2.6pt}
3 \begin{threeparttable} 3 \begin{threeparttable}
4 \caption{Monte Carlo, logit design, $p = 8$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_logit_p8} 4 \caption{Monte Carlo, logit design, $p = 8$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_logit_p8}
5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}} 5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}}
modified paper/tables/mc_pois_p3.tex +1 −1
@@ -1,5 +1,5 @@
1 \begin{table}[p] 1 \begin{table}[p]
2−\centering\scriptsize 2+\centering\scriptsize\setlength{\tabcolsep}{2.6pt}
3 \begin{threeparttable} 3 \begin{threeparttable}
4 \caption{Monte Carlo, pois design, $p = 3$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_pois_p3} 4 \caption{Monte Carlo, pois design, $p = 3$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_pois_p3}
5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}} 5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}}
modified paper/tables/mc_pois_p8.tex +1 −1
@@ -1,5 +1,5 @@
1 \begin{table}[p] 1 \begin{table}[p]
2−\centering\scriptsize 2+\centering\scriptsize\setlength{\tabcolsep}{2.6pt}
3 \begin{threeparttable} 3 \begin{threeparttable}
4 \caption{Monte Carlo, pois design, $p = 8$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_pois_p8} 4 \caption{Monte Carlo, pois design, $p = 8$, $N = 1,048,576$: scaled gap to $\widehat\theta_N$ (root mean square and median) and 95\% coverage by local sample size $m$.}\label{tab:mc_pois_p8}
5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}} 5 \begin{tabular}{@{}lrrrrrrrrrrrr@{}}
6 6
Menu

Theme