簡體   English   中英

帶約束的分段線性回歸-r

[英]Piecewise linear regression with constraint - r

我正在嘗試用一個斷點在R中進行分段線性OLS回歸分析。 我有以下回歸公式和限制: 回歸公式

其中D是假人。 我想施加一個限制,以便回歸線是連續的(帶有斷點)。 以下限制可以正常工作。

限制

我的問題是,如何在R的lm()函數中公式化? 我以前嘗試過“分段”程序包,但是我需要在回歸摘要中解釋這兩行的截距。

我在下面提供了一些數據。 此處的斷點為0,因此對於x> = 0, d為1。

             x          y d
1    4.3047451 11.2660463 1
2    7.0062423 -3.2897982 1
3    2.7862009 -2.8232636 1
4   -0.8662964  0.4051925 0
5   -0.9553261 -0.9228929 0
6   -1.6626654  3.5044546 0
7    3.4906905  1.4961349 1
8   -0.7072658 -0.2758436 0
9   -7.0054069 -1.3041742 0
10  -2.2510701 -0.1848814 0
11 -13.3617905 -0.2113756 0
12   4.1001251  0.2845748 1
13  -4.6575944 -1.1603290 0
14   5.2243857  3.8324236 1
15   3.5003320 -2.3672985 1
16 -13.2623113 -7.1593177 0
17  -1.7944354 -2.1725478 0
18   0.5885924 -0.2411048 1
19 -19.3744936 -0.1982088 0
20 -17.9876978 -1.5995063 0

編輯:

我添加了我要執行的圖形表示。 重要的是2條擬合線在閾值處相遇,並且我可以得到4個系數。 2個alpha和2個beta。

在此處輸入圖片說明

由於斷點是x = 0,所以我們有a = a2,所以:

nls( y ~ (x < 0) * (a + b * x) + (x > 0) * (a + b2 * x), dat,
  start = list(a = 1, b = 1, b2 = 1))

或使用lm

lm(y ~ I(x * (x < 0)) + I(x * (x > 0)), dat)

通常,如果B是斷點:

B <- 0
nls( y ~ (x < B) * (a + b * (x - B)) + (x > B) * (a + b2 * (x - B)), dat,
  start = list(a = 1, b = 1, b2 = 1))

B <- 0
lm(y ~ I((x - B) * (x < B)) + I((x - B) * (x > B)), dat)

這不是答案,而是評論,不能在評論部分進行編輯,因為它要求圖像易於理解。

實際上,我無法理解您的數據:當用笛卡爾圖表示時(如下圖所示),這些點顯得非常分散。 它看起來不像是分段函數。 我想念什么?

在此處輸入圖片說明

順便說一句,如果這些點與由兩個傾斜段組成的分段函數相距不太遠,則有一種非常簡單的擬合方法。 參見本文第12-13頁: https : //fr.scribd.com/document/380941024/Regression-par-morceaux-Piecewise-Regression-pdf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM