# Adaptive piecewise linear regression

## A-PWLR-L1

The adaptive piecewise linear regression method
(A-PWLR) uses the piecewise linear model and L1-risk function to solve regression problems. The regression problem is formulated as an unconstrained nonconvex nonsmooth optimization problem, where the objective function is presented as a difference of two convex (DC) functions.
To address the nonconvexity of the problem A-PWLR builds piecewise linear estimates in an adaptive way using an incremental approach. The aggregate subgradient method for nonsmooth DC optimization (**AggSub**) is applied to solve the underlying optimization problems.

The software is free for academic teaching and research purposes but I ask you to refer the reference given below if you use it.

### Code

Main.py | - Main program for A-PWLR. |
---|---|

user_init.py | - Initialization of parameters for A-PWLR and AggSub. |

config.py | - Global parameters and constants. |

functions.py | - Computation of DC components f_1 and f_2 and their subgradients for the PWLR-L1 problem. |

aggsub-py | - Aggregate subgradient method. |

apwlr.zip | - All the above in compressed form. |

### References

- A. Bagirov, S. Taheri, N. Karmitsa, N. Sultanova, and S. Asadi, "Robust piecewise linear L1-regression via nonsmooth optimization in data sets with outliers", Optimization Methods and Software, in-press, 2020.

## Acknowledgements

The work was financially supported by the Academy of Finland (Project No. 289500, 319274).