时间序列的突变点检验程序 matlab,时间序列的贝叶斯突变检测算法MATLAB源码

突变分为如下主要的几种:均值突变(最常见)、方差突变、线性回归突变(也称趋势突变)、概率突变、空间型突变、谱突变、模型参数突变,等等。贝叶斯突变检测属于概率突变检测方法,其特点是能给出突变点的概率分布图。以下源码实现了贝叶斯突变检测,提一点经验性的东西,就是在做累乘计算的时候,为防止CPU溢出,应该使用对数把乘法转化为加法,最后再使用指数计算把结果返回。本源码由GreenSim团队原创,转载请注明,有意购买源码或代写相关程序,请与GreenSim团队联系(主页http://blog.sina.com.cn/greensim)。

function P=BMDCP(Y,R,M)

%% Bayesian Method for Detecting Change Points

%% 输入参数列表

% Y        时间序列原始数据

% R        控制参数Var0/Var,Var为全序列方差,Var0为均值方差,R应大于等于4

% M        端点间隔,取值3~5

%% 输入参数列表

% P        突变点的概率分布

%% 第一步:数据归一化处理

%归一化处理的目的在于避免浮点计算时溢出,属程序设计时考虑的问题,它不影响结果

Y=Y./max(Y);

%% 第二步:计算后验分布的数字特征

N=length(Y);%序列的长度

Mu0=mean(Y);%全序列的均值

Var=var(Y);%全序列方差

MuA=zeros(N,1);

MuB=zeros(N,

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值