首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变化点检测佩尔特

变化点检测佩尔特
EN

Stack Overflow用户
提问于 2022-04-19 06:15:40
回答 1查看 671关注 0票数 0

当使用PELT算法检测以下图片的变化点时,如何获得最优惩罚的值?它需要30的惩罚,数据集的长度为315个样本:

平均值和标准差如下:

对于第二个样本,需要对90个样本的惩罚范围为4到14 :红色标记指示分裂点。信号平均值为26.8,std偏差为7.9。

在此基础上,从断裂库中求出了计算pelt算法惩罚值的公式吗?

EN

回答 1

Stack Overflow用户

发布于 2022-08-22 08:14:52

在实践中,最常见的刑罚选择是与转换点数成线性关系的选择。这类处罚的例子包括Akaike信息准则(AIC) (β = 2p)和Schwarz信息准则(SIC,也称为BIC) (β = p log n)。

您可以简单地使用pen = p * log(len(data))p用于校准,data是一个数据值数组。

我的建议是通过设置不同的惩罚值来定义算法的灵敏度级别。

代码语言:javascript
复制
def calculate_penalty(data, sensitivity, cal=[6, 3, 1.5]):
    if sensitivity == "Low":
        return cal[0] * log(len(data))
    elif sensitivity == "Medium":
        return cal[1] * log(len(data))
    elif sensitivity == "High":
        return cal[2] * log(len(data))

有关详细解释和更复杂的处罚,请参阅文章。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71920414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档