解答 | 如何對一組資料進行分段迴歸分析?
2021-07-12由 留德華叫獸 發表于 農業
迴歸分析怎麼做
//如圖所示,我要對這個曲線進行迴歸分析,使用python建立了一元二次函式進行分析,但是一個二次函式不能覆蓋整個資料,我想怎麼才能夠找到一個個‘分界點’,建立不同的迴歸方程,提高準確度。//
這位同學應該是指下面這種情況吧(假設piecewise linear分段線性)?
其實各學科都是交叉和相通的
為大家科普一個運籌學的”奇淫“技巧
——引入0-1變數的整數規劃建模和求解
圖模型和離散變數
首先建立一個chain graph(鏈狀圖)
每個node(點)引入一個0,1變數x_i
當x_i = 1的時候,就是一個
分界點
2. 約束條件
然後用
discerete second derivative
來刻畫線性的性質
並把它放進約束條件
3。
目標函式
目標函式即擬合的絕對誤差(L_1 範數)
這裡用L_1範數是因為可以方便地轉化成Linear Integer Programming(整數線性規劃模型)
目前函式的另一部分是regularization term(規則項)
加上懲罰係數Lambda,為的是防止過擬合
4。
模型數值求解
最後這個問題可以完美地建模成一個線性0-1整數規劃模型
並且可以求得全域性最優解
但眾所周知整數規劃的求解是NP難的
好在有開源或者商業求解器可以掉包直接求解
把模型和係數輸入到求解器就行
留德華叫獸:【學界】混合整數規劃/離散最佳化的精確演算法——分支定界法及最佳化求解器
最後,歡迎引用我的paper
工作之餘,歷時一年半,一次大修和小修
剛剛發表在
Journal of Global Optimization~