@@ -16,44 +16,43 @@ def pinball_loss(residuals, quantile):
1616 return np .mean (residuals * (quantile - (residuals < 0 )))
1717
1818
19- if __name__ == "__main__" :
20- X , y = make_regression (n_samples = 10000 , n_features = 1000 , noise = 0.1 , random_state = 0 )
21- tau = 0.8
22- X_c = X - X .mean (axis = 0 )
23- q_tau = np .quantile (y , tau )
24- y_c = y - q_tau
19+ X , y = make_regression (n_samples = 10000 , n_features = 1000 , noise = 0.1 , random_state = 0 )
20+ tau = 0.8
21+ X_c = X - X .mean (axis = 0 )
22+ q_tau = np .quantile (y , tau )
23+ y_c = y - q_tau
2524
26- start = time .time ()
27- sk = QuantileRegressor (quantile = tau , alpha = 0.1 , fit_intercept = False )
28- sk .fit (X_c , y_c )
29- sk_pred = sk .predict (X_c ) + q_tau
30- sk_time = time .time () - start
31- sk_cov = np .mean (y <= sk_pred )
32- sk_pinball = pinball_loss (y - sk_pred , tau )
25+ start = time .time ()
26+ sk = QuantileRegressor (quantile = tau , alpha = 0.1 , fit_intercept = False )
27+ sk .fit (X_c , y_c )
28+ sk_pred = sk .predict (X_c ) + q_tau
29+ sk_time = time .time () - start
30+ sk_cov = np .mean (y <= sk_pred )
31+ sk_pinball = pinball_loss (y - sk_pred , tau )
3332
34- start = time .time ()
35- qh = SmoothQuantileRegressor (
36- quantile = tau ,
37- alpha = 0.1 ,
38- delta_init = 0.5 ,
39- delta_final = 0.01 ,
40- n_deltas = 5 ,
41- solver = "AndersonCD" ,
42- verbose = True
43- )
44- qh .fit (X_c , y_c )
45- qh_time = time .time () - start
46- qh_pred = qh .predict (X_c ) + q_tau
47- qh_cov = np .mean (y <= qh_pred )
48- qh_pinball = pinball_loss (y - qh_pred , tau )
33+ start = time .time ()
34+ qh = SmoothQuantileRegressor (
35+ quantile = tau ,
36+ alpha = 0.1 ,
37+ delta_init = 0.5 ,
38+ delta_final = 0.01 ,
39+ n_deltas = 5 ,
40+ solver = "AndersonCD" ,
41+ verbose = True
42+ )
43+ qh .fit (X_c , y_c )
44+ qh_time = time .time () - start
45+ qh_pred = qh .predict (X_c ) + q_tau
46+ qh_cov = np .mean (y <= qh_pred )
47+ qh_pinball = pinball_loss (y - qh_pred , tau )
4948
50- print (f"{ 'Method' :<12} { 'Q' :<4} { 'Coverage' :<8} { 'Time' :<6} "
51- f"{ 'Pinball' :<8} " )
52- print ("-" * 55 )
53- print (f"{ 'Sklearn' :<12} { tau :<4} { sk_cov :<8.3f} { sk_time :<6.3f} "
54- f"{ sk_pinball :<8.4f} " )
55- print (f"{ 'QuantileHuber' :<12} { tau :<4} { qh_cov :<8.3f} { qh_time :<6.3f} "
56- f"{ qh_pinball :<8.4f} " )
49+ print (f"{ 'Method' :<12} { 'Q' :<4} { 'Coverage' :<8} { 'Time' :<6} "
50+ f"{ 'Pinball' :<8} " )
51+ print ("-" * 55 )
52+ print (f"{ 'Sklearn' :<12} { tau :<4} { sk_cov :<8.3f} { sk_time :<6.3f} "
53+ f"{ sk_pinball :<8.4f} " )
54+ print (f"{ 'QuantileHuber' :<12} { tau :<4} { qh_cov :<8.3f} { qh_time :<6.3f} "
55+ f"{ qh_pinball :<8.4f} " )
5756
5857
5958quantiles = [0.1 , 0.5 , 0.9 ]
0 commit comments