We have recently developed several powerful packages to support the convex regression and frontier estimation. We welcome any bug reports or feedback!
A Python Package for Convex Regression and Frontier Estimation (pyStoNED)
Description: pyStoNED is a Python package that provides functions for estimating Convex Nonparametric Least Square (CNLS), Stochastic Nonparametric Envelopment of Data (StoNED), and other various StoNED-related variants such as Convex Quantile Regression (CQR), Convex Expectile Regression (CER), and Isotonic CNLS (ICNLS). It also provides efficiency measurement using Data Envelopement Analysis (DEA) and Free Disposal Hull (FDH). The pyStoNED package allows the user to estimate the CNLS/StoNED frontiers in an open-access environment and is built based on the Pyomo.
A Python Package for Stochastic Frontier Analysis (pySFA)
Description: pySFA is a Python package to estimating stochastic frontier models (production and cost models) and calculating technical efficiency (e.g., based on conditional mean or mode).
Description: Along with the development of the pyStoNED package, we recognize that we can reformulate the CNLS problem and use other Python packages, e.g., CVXOPT, to solve it. More discussions can be seen from CNLS-reformulation. Thus, this project provides some basic functions (e.g., CNLS_CRS and CNLS_VRS) and a tutorial to help users recode the CNLS in Python.