We consider the problem of fitting a polynomial function to a set of data points, each data point consisting of a feature vector and a response variable. In contrast to standard polynomial regression, we require that the polynomial regressor satisfy shape constraints, such as monotonicity, Lipschitz-continuity, or convexity. We show how to use semidefinite programming to obtain polynomial regressors that have these properties. We then prove that, under some assumptions on the generation of the data points, the regressor obtained is a consistent estimator of the underlying shape-constrained function. We follow up with a thorough empirical comparison of our regressor to the convex least squares estimator introduced in [Hildreth 1954, Holloway 1979] and show that our regressor can be very valuable in settings where the number of data points is large and where new predictions need to be made quickly and often. We also propose a method that relies on linear and second-order cone programs to quickly update our regressor when a new batch of data points is provided. We conclude with two novel applications. The first application aims to approximate the function that maps a conic program's data to its optimal value. This enables us to obtain quick estimations of the optimal value without solving the conic program, which can be useful for real-time decision-making. We illustrate this on an example in inventory management contract negotiation. In the second application, we compute optimal transport maps using shape constraints as regularizers following [Paty 2020], and show, via a color transfer example, that this is a setting in which our regressor significantly outperforms other methods.
翻译:我们考虑将一个多式函数安装到一组数据点上的问题, 每个数据点由特性矢量和响应变量组成。 与标准的多式回归相比, 我们要求多式回归器满足形状限制, 如单调、 Lipschitz- continuity 或 convexity 。 我们展示了如何使用半不定期程序来获取具有这些属性的多式回归器。 我们随后证明, 根据数据点生成的某些假设, 获得的回归器是一个对形状限制功能的一致的估测器。 与标准的多式回归器回归器相比, 我们要求多式回归器满足形状限制, 如单调、 Lipschitz- continuality 或 convexity 。 我们要求多一点数据点且需要做出新的预测的环境下, 我们提出一种基于直线式和二阶调调调调的程式, 以快速更新我们的二次回归器, 当新的解析算器运行时, 我们用一个快速的程式, 我们用两个最优化的转换程序, 我们用一个快速的程序, 来显示一个最优化的转换数据程序, 我们用一个快速的程序, 我们用一个最优化的转换的方法, 以获取一个最优化的程序, 我们用一个最优化的转换到最优化的程序 。