检索绘制的变化点的坐标

Retrieve coordinates of plotted changepoints

我已将 R 上的变化点绘制为

values <- c(1, 2, 3, 4, 5, 6, 7, 8, 3, 1, 2, 3 )
values.ts = ts(values, frequency = 12, start = c(2017, 1))
chpoints = cpt.mean(values.ts, method="PELT")
cpts(chpoints)
plot(chpoints)

绘制的图形是

cpts(chpoints) returns [1] 4 8.

问题一:什么是[1] 4 8

问题2:如何获取绘制变化点的坐标,红线的x,y坐标?

问题 1:段结束位置的 cpts(chpoints) returns 向量。按照你的例子:

plot(chpoints)
abline(v=index(values.ts)[cpts(chpoints)[1]], col="blue") # 4
abline(v=index(values.ts)[cpts(chpoints)[2]], col="green") # 8

将添加两条垂直线,表示具有 'stable' 平均值的段。没有。段数 - 1 个变化点 ([1] 4 8),因为最后一个 'change point' 是时间序列的最后一个值。

问题二:第i个休息时间的日期坐标为:

index(values.ts)[cpts(chpoints)[i]]

'Stable' 平均值存储在这里:

param.est(chpoints) # 2.50 6.50 2.25

我仍然不明白为什么在变化点之后有空白(红线没有覆盖整个时间序列)。但是,如果我们手动计算平均值:

mean(values.ts[1:cpts(chpoints)[1]] ) #
mean(values.ts[(cpts(chpoints)[1]+1):cpts(chpoints)[2]] )
mean(values.ts[(cpts(chpoints)[2]+1):length(values.ts)] ) 

我们收到 2.50 6.50 2.25 如上。