本帖最后由 rainingsunshine 于 2019-2-23 13:45 编辑
最近在做CUSUM和EWMA相关方面的研究,关于ARL计算方面有些问题请教一下大家。
CUSUM ARL计算方法采用了王兆军教授的论文《ARL计算方法综述》里的Brook马氏链方法。
其内容如附图所示。
根据其采用Matlab编程如下:
% k:参考值
% h:控制限, k=delta/2;
% t:分为t+1个子区间 ,t通常大于50才比较精确
function cusum_arl(t,k,h)
omega=2*h/(2*t-1); % t
for i = 1:t
for j = 1:t
if j == 1
T1 = k-i*omega+omega/2;
R(i,j) = normcdf(T1,0,1);
else
T1 = (j-i)*omega + omega*0.5 + k;
temp1 = normcdf(T1,0,1);
T2 = (j-i)*omega - omega*0.5 + k;
temp2 = normcdf(T2,0,1);
R(i,j) = temp1 - temp2;
end
end
end
y = inv(eye(t)-R)*ones(t,1);
y = y(t/2)*10;
end
但是结果并不对,请教一下大家我是错在了什么地方?