Thibaut Forest Claude Fable 5 commited on
Commit
e95e770
·
1 Parent(s): ff0189b

cv: SCORE line shows SE + 95% CI (scenario-scatter caveat; paired deltas remain the decision statistic)

Browse files
Files changed (1) hide show
  1. batteryswap_example/cv.py +8 -2
batteryswap_example/cv.py CHANGED
@@ -289,8 +289,14 @@ def report(df):
289
  print(f"{name:16s} {len(d):3d} {d['total_cost'].mean():8.1f} "
290
  f"{d['late_swap'].mean():7.1f} {d['early_swap'].mean():6.1f} "
291
  f"{d['n_swaps'].mean():5.1f}")
292
- print(f"\nSCORE (all-building out-of-fold cost, mean over the 48 "
293
- f"scenarios): {g['total_cost'].mean():.1f}")
 
 
 
 
 
 
294
 
295
 
296
  # --------------------------------------------------------------------------
 
289
  print(f"{name:16s} {len(d):3d} {d['total_cost'].mean():8.1f} "
290
  f"{d['late_swap'].mean():7.1f} {d['early_swap'].mean():6.1f} "
291
  f"{d['n_swaps'].mean():5.1f}")
292
+ tc = g['total_cost']
293
+ se = tc.std(ddof=1) / np.sqrt(len(tc))
294
+ print(f"\nSCORE (all-building out-of-fold cost, mean over the {len(tc)} "
295
+ f"scenarios): {tc.mean():.1f} ± {se:.1f} (SE; 95% CI "
296
+ f"{tc.mean() - 1.96 * se:.1f}..{tc.mean() + 1.96 * se:.1f})")
297
+ print(" NOTE: this SE is scenario-difficulty scatter, shared by "
298
+ "every candidate.\n For comparisons use the PAIRED deltas "
299
+ "(`cv report`), whose SE is far smaller.")
300
 
301
 
302
  # --------------------------------------------------------------------------