相关疑难解决方法(0)

分段函数拟合与R中的nls()

我试图将数据分为两部分.

这是一些示例数据:

x<-c(0.00101959664756622, 0.001929220749155, 0.00165657261751726, 
0.00182514724375389, 0.00161532360585458, 0.00126991061099209, 
0.00149545009309177, 0.000816386510029308, 0.00164402569283353, 
0.00128029006251656, 0.00206892841921455, 0.00132378793976235, 
0.000953143467154676, 0.00272964503695939, 0.00169743839571702, 
0.00286411493120396, 0.0016464862337286, 0.00155672067449593, 
0.000878271561566836, 0.00195872573138819, 0.00255412836538339, 
0.00126212428137799, 0.00106206607962734, 0.00169140916371657, 
0.000858015581562961, 0.00191955159274793, 0.00243104345247067, 
0.000871042201994687, 0.00229814264111745, 0.00226756341241083)

y<-c(1.31893118849162, 0.105150790530179, 0.412732029152914, 0.25589805483046, 
0.467147868109498, 0.983984462069833, 0.640007862668818, 1.51429617241365, 
0.439777145282391, 0.925550163462951, -0.0555942758921906, 0.870117027565708, 
1.38032147826294, -0.96757052387814, 0.346370836378525, -1.08032147826294, 
0.426215616848312, 0.55151485221263, 1.41306889485598, 0.0803478641720901, 
-0.86654892295057, 1.00422341998656, 1.26214517662281, 0.359512373951839, 
1.4835398594013, 0.154967053938309, -0.680501679226447, 1.44740598234453, 
-0.512732029152914, -0.359512373951839)
Run Code Online (Sandbox Code Playgroud)

我希望能够定义最合适的两部分线(显示的手绘示例)

情节

然后我定义了一个分段函数,它应该找到一个两部分线性函数.该定义基于两条线的梯度和它们彼此的截距,它们应该完全定义线.

# A=gradient of first line segment
# B=gradient of second line segment
# Cx=inflection point x …
Run Code Online (Sandbox Code Playgroud)

r piecewise

7
推荐指数
1
解决办法
5602
查看次数

使用二次多项式和直线在断点处平滑连接的分段回归

我想用一个断点拟合分段线性回归xt,这样x < xt我们就得到二次多项式,并且x >= xt我们有一条直线.两个部分应该顺利连接,连续性高达一阶导数xt.这是它的外观图片:

分段回归

我将我的分段回归函数参数化为:

回归函数

其中a,b,cxt要被估计的参数.

我想在调整的R平方方面将该模型与整个范围内的二次多项式回归进行比较.

这是我的数据:

y <- c(1, 0.59, 0.15, 0.078, 0.02, 0.0047, 0.0019, 1, 0.56, 0.13, 
0.025, 0.0051, 0.0016, 0.00091, 1, 0.61, 0.12, 0.026, 0.0067, 
0.00085, 4e-04)

x <- c(0, 5.53, 12.92, 16.61, 20.3, 23.07, 24.92, 0, 5.53, 12.92, 
16.61, 20.3, 23.07, 24.92, 0, 5.53, 12.92, 16.61, 20.3, 23.07, 
24.92)
Run Code Online (Sandbox Code Playgroud)

散点图

我的尝试如下,一个已知的xt:

z <- pmax(0, x - xt) …
Run Code Online (Sandbox Code Playgroud)

regression r linear-regression piecewise lm

5
推荐指数
2
解决办法
1334
查看次数

标签 统计

piecewise ×2

r ×2

linear-regression ×1

lm ×1

regression ×1