From 7675768d25b19c78d0a45bd22130e65b5aef2149 Mon Sep 17 00:00:00 2001 From: dcluo Date: Thu, 6 Jul 2023 15:57:43 -0500 Subject: [PATCH 1/2] switched from quantile to percentile to accommodate older numpy versions --- soupy/modeling/superquantileRiskMeasureSAA.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/soupy/modeling/superquantileRiskMeasureSAA.py b/soupy/modeling/superquantileRiskMeasureSAA.py index 80656ca..36843ea 100644 --- a/soupy/modeling/superquantileRiskMeasureSAA.py +++ b/soupy/modeling/superquantileRiskMeasureSAA.py @@ -32,7 +32,7 @@ def sampleSuperquantile(samples, beta): """ Evaluate superquantile from samples """ - quantile = np.quantile(samples, beta) + quantile = np.percentile(samples, beta * 100) return quantile + np.mean(np.maximum(samples - quantile, 0))/(1-beta) @@ -40,7 +40,7 @@ def sampleSuperquantileByMinimization(samples, beta, epsilon=1e-2): """ Evaluate superquantile from samples """ - quantile = np.quantile(samples, beta) + quantile = np.percentile(samples, beta * 100) smoothPlus = SmoothPlusApproximationQuartic(epsilon=epsilon) cvar_obj = lambda t : t + np.mean(smoothPlus(samples - t))/(1-beta) minimum = scipy.optimize.fmin(cvar_obj, quantile) From ee138911c22759a7e7be4630d3f50fb7d5b2861b Mon Sep 17 00:00:00 2001 From: dcluo Date: Thu, 6 Jul 2023 16:18:55 -0500 Subject: [PATCH 2/2] changed numpy quantile to percentile in tests --- soupy/test/test_superquantileSAA.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/soupy/test/test_superquantileSAA.py b/soupy/test/test_superquantileSAA.py index 6f675c2..4bc4aac 100644 --- a/soupy/test/test_superquantileSAA.py +++ b/soupy/test/test_superquantileSAA.py @@ -279,7 +279,7 @@ def l2norm(u,m,z): # z.set_local(np.random.randn(len(z.get_local()))) risk.computeComponents(zt, order=0) - quantile = np.quantile(risk.q_samples, beta) + quantile = np.percentile(risk.q_samples, beta * 100) zt.set_scalar(quantile) risk.computeComponents(zt, order=0)