# Clusterwise Support Vector Linear Regression

## DBDC-CSVLR Software

**DBDC-CSVLR** (version 2.0) is a double bundle DC method for clusterwise linear regression (CLR) utilizing support vector machines (SVM) [1,2].
The DBDC-CSVLR consists of two different algorithms: an incremental algorithm is used to solve CSVLR problems globally and at each iteration of this algorithm the DBDC algorithm [3] is used to solve both the CSVLR and the auxiliary CSVLR problems with different starting points. In addition to
the *k*-th CSVLR problem, DBDC-CSVLR solves also all intermediate
*l*-th CSVLR problems where *l*=1,…,*k*-1 due to the incremental approach used.

The software is free for academic teaching and research purposes but I ask you to refer the corresbonding reference given below if you use it. In addition, if you have any questions conserning the software, please contact directly the author Kaisa Joki.

### Code (version 2.0)

dbdc_csvlr.f95 | - Mainprogram for DBDC-CSVLR software. |
---|---|

parameters.f95 | - Parameters. |

initcsvlr.f95 | - Initialization of parameters for CSVLR and DBDC method. |

clrfunctionmod.f95 | - Computation of function and (sub)gradients values needed to define the CSVLR problem. |

clrobjfun.f95 | - Computation of the value of the CSVLR problem and the corresponding subgradient. |

dbdc.f95 | - DBDC - double bundle method. |

bundle1.f95 | - Bundle of DC component f_1 (used in DBDC). |

bundle2.f95 | - Bundle of DC component f_2 (used in DBDC). |

functions.f95 | - function values of DC components and the corresponding subgradients (used in DBDC). |

plqdf1.f | - Quadratic solver by Ladislav Luksan . |

lmbm.f95 | - LMBM - limited memory bundle method. |

lmbmclrmod.f95 | - Subroutines for clusterwise linear regression used in LMBM. |

subpro.f95 | - subprograms for LMBM. |

Makefile | - makefile. |

To use the software modify initcsvlr.f95 as needed and give your data set similar to data given below.

### Code (version 1.0)

svmclr_v1.zip | - Version 1 of CSVLR software (previously called SVMCLR) in compressed form. |
---|---|

To use the software modify initsvmclr.f95 as needed and give your data set similar to data given below.

## Data Sets

Some artificial data sets for testing and validation of CLR algorithms are given below. The brief description of these data sets are given in Table 1. The more detailed description of these sets can be found in [1].

### Table 1: Data Sets

Data set | No. instances | No. attributes |

Clusters1 | 190 | 2 |

Clusters2 | 1420 | 2 |

Clusters3 | 1320 | 2 |

Lines1 | 100 | 2 |

Lines2 | 999 | 2 |

Lines3 | 1100 | 2 |

## References

- K. Joki, A. Bagirov, N. Karmitsa, M.M. Mäkelä, and S. Taheri, "Clusterwise support vector linear regression", , European Journal of Operational Research, in-press, 2020.
- K. Joki, A. Bagirov, N. Karmitsa, M.M. Mäkelä, and S. Taheri, "New bundle method for clusterwise linear regression utilizing support vector machines", TUCS Technical Report, No. 1190, Turku Centre for Computer Science, Turku, 2017.
- K. Joki, A. Bagirov, N. Karmitsa, M.M. Mäkelä, S. Taheri, "Double bundle method for finding Clarke stationary points in nonsmooth DC programming" (author version), SIAM Journal on Optimization, 28(2), 1892-1919, 2018.

## Acknowledgements

The work was financially supported by by the University of Turku Graduate School UTUGS Matti Programme, the University of Turku, the Academy of Finland (Project No. 289500, 294002, and 319274) and Australian Research Counsil’s Discovery Projects funding scheme (Project No. DP140103213 and DP190100580).