Spatial-Quantile Conformal Bands for Neural Operators / math_check.py
Mechanism confirmed, baseline not beaten
1import math
2import numpy as np
3
4def weighted_quantile(v, w, mass):
5 o = np.argsort(v, kind='mergesort')
6 c = np.cumsum(w[o] / np.sum(w))
7 return float(v[o][np.searchsorted(c, mass, side='left')])
8
9def conformal_q(scores, alpha):
10 a = np.sort(np.asarray(scores, float)); n = len(a)
11 k = min(n, int(math.ceil((n + 1) * (1-alpha))))
12 return float(a[k-1])
13
14def main():
15 v=np.array([1.,2.,10.,20.]); w=np.array([.1,.2,.3,.4])
16 assert weighted_quantile(v,w,.9)==20 and weighted_quantile(v,w,.5)==10
17 assert conformal_q(np.arange(1.,11.),.1)==10
18 rng=np.random.default_rng(7); r=rng.lognormal(size=(50,64)); ws=np.ones(64)/64
19 qs=[]
20 for g in (.01,.05,.10,.25):
21 s=np.array([weighted_quantile(row,ws,1-g) for row in r]); qs.append(float(np.mean(s)))
22 assert np.all((r <= s[:,None]).mean(1) >= 1-g-1e-12)
23 assert all(qs[i] >= qs[i+1] for i in range(len(qs)-1))
24 out={'weighted_order_statistic':True,'finite_sample_indexing':True,'gamma_mean_scores':qs,'monotone_tightening':True}
25 print(out)
26if __name__=='__main__': main()