C# 检索绘制的变更点的坐标
我已经在R上绘制了变化点C# 检索绘制的变更点的坐标,c#,r,data-visualization,r.net,C#,R,Data Visualization,R.net,我已经在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) 值问题1:cpts(chpoints)返回段末端位置的向量。以你为例: plot(chpoints
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)
值问题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
。问题1:cpt(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
。两件事。1-index(values.ts)[cpts(chpoints)[1]]
返回2017.25,2返回2017.583。这两个值都不是我的x坐标的一部分。2-如果我将y轴上的值相乘,那么cpts(chpoints)
返回的值是多少?为什么绘图(chpoints)
没有红线?1-值2017.25和2017.583是x坐标的一部分。这就是时间在ts
函数中的编码方式。检查此项:(1:12)*(1:12)
。2017年的第一个月是2017.0833.2-cpts(chpoints)
仅表示中断发生的日期。编号4对应2017.25。如果将所有y值乘以任何非负值,则这一点不会改变。红线应位于这些断点之间。但是,正如我在回答中所写的,我不明白为什么它没有覆盖整个部分。我如何在x轴上定义自己的自定义值而不是时间序列?比如:chpoints=cpt.mean(values,method=“PELT”)
。x值将被索引为1,2,…,n两个值。1-index(values.ts)[cpts(chpoints)[1]]
返回2017.25,2返回2017.583。这两个值都不是我的x坐标的一部分。2-如果我将y轴上的值相乘,那么cpts(chpoints)
返回的值是多少?为什么绘图(chpoints)
没有红线?1-值2017.25和2017.583是x坐标的一部分。这就是时间在ts
函数中的编码方式。检查此项:(1:12)*(1:12)
。2017年的第一个月是2017.0833.2-cpts(chpoints)
仅表示中断发生的日期。编号4对应2017.25。如果将所有y值乘以任何非负值,则这一点不会改变。红线应位于这些断点之间。但是,正如我在回答中所写的,我不明白为什么它没有覆盖整个部分。我如何在x轴上定义自己的自定义值而不是时间序列?比如:chpoints=cpt.mean(values,method=“PELT”)
。x值将被索引为1,2,…,n