農林漁牧網

您現在的位置是:首頁 > 農業

解答 | 如何對一組資料進行分段迴歸分析?

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~