Distributionally Robust Optimization with Data Geometry