有人可以向我解释一下变化点。我在R中使用包,我不太了解不同方法的含义,每种方法的优缺点,尤其不了解惩罚值。当你增加惩罚值时,这意味着什么,它有什么作用?我已经在网上进行了大量研究,但我一直在寻找 cran R 和 quick R 站点,它们很好,但他们说的方式对我来说并不合适。
非常感谢。
有人可以向我解释一下变化点。我在R中使用包,我不太了解不同方法的含义,每种方法的优缺点,尤其不了解惩罚值。当你增加惩罚值时,这意味着什么,它有什么作用?我已经在网上进行了大量研究,但我一直在寻找 cran R 和 quick R 站点,它们很好,但他们说的方式对我来说并不合适。
非常感谢。
changepoint 包中有 3 个主要功能cpt.mean
,cpt.var
和cpt.meanvar
. 作为从业者,这些是您应该需要的包中唯一的功能。如果您认为您的数据可能包含平均值的变化,那么您可以使用该cpt.mean
函数等。
下一个问题您应该问自己,您是在寻找数据中的单个还是多个更改。参数处理这个method
问题,最多一次更改有 AMOC,多次更改有 PELT、BinSeg 和 SegNeigh。您要使用哪种多变更点方法取决于:
a) 您选择的分销/免分销方式(见下文)和
b) 你有多少时间/你希望你的答案有多准确。BinSeg 快速但近似,PELT 准确且快速但不能用于所有分布,SegNeigh 准确但缓慢。
下一个问题是您可以/愿意对您的数据做出哪些假设。这里的关键是该假设适用于更改之间的每组数据,而不是整个数据。例如,您可以假设一个正态分布,但如果您对整个数据进行正态性测试,它很可能会失败(由于潜在的变化)。因此,通常我们会做出假设,运行变更点分析,然后根据已识别的变更检查假设。同样,根据变化的类型,有不同的分发和无分发方法。有关选择,请参阅每个函数的文档,并随时评论您正在考虑使用的测试统计数据,我可以列出假设。
最后,你看看点球。惩罚提供了许多小更改和没有更改之间的折衷。因此,如果您将惩罚设置为 0,那么您在每个可能的位置都会得到更改,如果您将惩罚设置为无穷大,那么您不会得到任何更改。适当的惩罚值取决于您的数据和您要回答的问题。例如,您可能平均有 0.5 个单位的变化,但您可能只对 1+ 个单位的变化感兴趣。有很多方法可以选择你的惩罚:
“by-eye”,即尝试几个不同的值,直到找到一个看起来适合您的问题的值。
“elbow-plot”,即绘制针对所使用的惩罚确定的变化点的数量。这将创建一条曲线,其中较小的惩罚值会产生较大的(虚假)变化,并且随着惩罚的减少,这些虚假变化会以较快的速度下降,该速率会减慢,因为只留下真正的变化,然后慢慢下降到没有变化以产生较大的惩罚. 我们的想法是将 2 条直线拟合到这条曲线上,并选择它们相交的罚分。这产生了一种特别但更客观的选择惩罚的方法,而不是 1。
使用信息标准。包装中包含 AIC、BIC/SIC、Hannan-Quinn 等一些。包装中不包含其他一些,但您可以根据需要提供一个公式pen.value
。
如果您需要更多信息或对具体问题进行说明,请发表评论,我会尽力回答。