Adaptively refined dynamic program for linear spline regression

Noam Goldberg, Youngdae Kim, Sven Leyffer, Thomas D. Veselka

Research output: Contribution to journalArticlepeer-review

10 Scopus citations

Abstract

The linear spline regression problem is to determine a piecewise linear function for estimating a set of given points while minimizing a given measure of misfit or error. This is a classical problem in computational statistics and operations research; dynamic programming was proposed as a solution technique more than 40 years ago by Bellman and Roth (J Am Stat Assoc 64:1079-1084, 1969). The algorithm requires a discretization of the solution space to define a grid of candidate breakpoints. This paper proposes an adaptive refinement scheme for the grid of candidate breakpoints in order to allow the dynamic programming method to scale for larger instances of the problem. We evaluate the quality of solutions found on small instances compared with optimal solutions determined by a novel integer programming formulation of the problem. We also consider a generalization of the linear spline regression problem to fit multiple curves that share breakpoint horizontal coordinates, and we extend our method to solve the generalized problem. Computational experiments verify that our nonuniform grid construction schemes are useful for computing high-quality solutions for both the single-curve and two-curve linear spline regression problem.

Original languageEnglish
Pages (from-to)523-541
Number of pages19
JournalComputational Optimization and Applications
Volume58
Issue number3
DOIs
StatePublished - 1 Jan 2014
Externally publishedYes

Keywords

  • Change point detection
  • Dynamic programming
  • Least squares
  • Mixed-integer programming
  • Piecewise regression

ASJC Scopus subject areas

  • Control and Optimization
  • Computational Mathematics
  • Applied Mathematics

Fingerprint

Dive into the research topics of 'Adaptively refined dynamic program for linear spline regression'. Together they form a unique fingerprint.

Cite this