R 如何从segmented()函数稳定断点?

R 如何从segmented()函数稳定断点?,r,breakpoints,R,Breakpoints,我通过strucchange包中的breakpoints()函数找到了断点。我的解释变量是纬度,响应变量是贝塔多样性值 然后,我使用这些断点拟合回归线,并使用segmented包中的segmented()绘制回归线。Segmented提供了断点,当我再次运行函数时,断点会发生变化。但是,断点函数中的断点不会更改。我想,断点会随着数据集的增大而变化,就像我的一样。我需要报告这些断点 如何从segmented()函数稳定断点 正如您在本例中所看到的,分段函数中的断点不会随着小数据集而改变 我使用了相

我通过
strucchange
包中的
breakpoints()
函数找到了断点。我的解释变量是纬度,响应变量是贝塔多样性值

然后,我使用这些断点拟合回归线,并使用
segmented
包中的
segmented()
绘制回归线。Segmented提供了断点,当我再次运行函数时,断点会发生变化。但是,断点函数中的断点不会更改。我想,断点会随着数据集的增大而变化,就像我的一样。我需要报告这些断点

如何从
segmented()
函数稳定断点

正如您在本例中所看到的,分段函数中的断点不会随着小数据集而改变

我使用了相同的示例代码

例如:

set.seed(12)
xx <- 1:100
zz <- runif(100)
yc <- 2+1.5*pmax(xx-35,0)-1.5*pmax(xx-70,0)+15*pmax(zz-.5,0)+
  rnorm(100,0,2)+1.5*pmax(xx-20,0)+15*pmax(zz-.2,0)+
  rnorm(100,0,2)
plot(xx, yc)
# Seeking breakpoints
varbp <- breakpoints(yc ~ xx)
bp <- xx[varbp$breakpoints]
# Using segmented to fit regression line 
modvars <- lm(yc ~ xx)   
seg.var <- segmented(modvars, seg.Z = ~xx, psi = c(25,78))
summary(seg.var) 
#  Estimated Break-Point(s):
#    Est. St.Err
#  psi1.xx 25.694  1.240
#  psi2.xx 72.786  2.086
# Plotando
plot(seg.var, add = T) 
abline(v=25.694, col="green", lwd = 2)
abline(v = 72.786, col="green", lwd = 2)
set.seed(12)

xx来自文件:

由于版本0.2-9.0 segmented实现了Wood(2001)中描述的引导重启算法。当分段关系是平坦的时,期望引导重新启动避开目标函数的局部最优。请注意,bootstrap restart运行n.boot迭代,而不考虑只影响内部循环内收敛的代价

由于默认情况下使用引导,因此,
segmented()
检测到的断点不稳定也就不足为奇了(尽管当我遇到同样的问题时,我也很惊讶)

文档描述了一种抑制引导的方法。这可以通过如下方式使用
n.boot
参数来实现:

seg.var <- segmented(modvars, seg.Z = ~xx, psi = c(25,78), 
  control = seg.control(n.boot=0))

seg.var来自文档:

由于版本0.2-9.0 segmented实现了Wood(2001)中描述的引导重启算法。当分段关系是平坦的时,期望引导重新启动避开目标函数的局部最优。请注意,bootstrap restart运行n.boot迭代,而不考虑只影响内部循环内收敛的代价

由于默认情况下使用引导,因此,
segmented()
检测到的断点不稳定也就不足为奇了(尽管当我遇到同样的问题时,我也很惊讶)

文档描述了一种抑制引导的方法。这可以通过如下方式使用
n.boot
参数来实现:

seg.var <- segmented(modvars, seg.Z = ~xx, psi = c(25,78), 
  control = seg.control(n.boot=0))

seg.var,尽管我自己在
分段
方面的经验与您声称的不稳定一致。但你的这个例子并不支持它。我用不同的psi值运行了很多次,结果非常相似。尽管我自己的
分段
经验与你声称的不稳定一致。但你的这个例子并不支持它。我用不同的psi值运行了很多次,结果非常相似。