我已将R上的变更点绘制为
POST
,绘制的图表是
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)
。
问题1:什么是[1] 4 8
?
问题2:如何获得绘制的变化点的坐标,红线的x,y坐标?
答案 0 :(得分:0)
问题1:cpts(chpoints)
返回段的结束位置的向量。按照你的例子:
plot(chpoints)
abline(v=index(values.ts)[cpts(chpoints)[1]], col="blue") # 4
abline(v=index(values.ts)[cpts(chpoints)[2]], col="green") # 8
将添加两条垂直线,表示具有“稳定”均值的段。没有。段 - 1个更改点([1] 4 8
),因为最后一个“更改点”是您的时间序列的最后一个值。
问题2:第i次休息的日期坐标可以是:
index(values.ts)[cpts(chpoints)[i]]
'稳定'的平均值存储在此处:
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
,如上所述。