楼主: lijing8712
6181 29

急求MATLAB指点!!! [推广有奖]

21
epoh 发表于 2011-5-1 22:22:23
4楼code是求解ARL.

13楼optimpara.m
是求解smoothing parameter
           &control limit

两个你可试过?

22
uu207 发表于 2011-5-3 10:29:59
您好!!!非常感谢你的热心帮助。
4楼的编程我试过可以得到ARL值,若过程的均值偏移为delta=0.5,方差为1,自相关系数fi为0,上下限从(0.759352,-0.759352)变为(1.259352,-0.259352)可得到的ARL值都是503.44,请问要考虑偏移和自相关如何修改程序?



21# epoh

23
uu207 发表于 2011-5-5 10:22:38
您好,请指点一下,好吗?这是基于AR(1)模型求解残差EWMA图的ARL,但运行结果是0,与实际结果370不符,请高人指点,万分感激!

function y=arl_ewma(lmda,K)
rn=randn(1,10000+1);
beta=0;  %AR(1)自回归系数
delta=0; %均值偏移系数
mu=(1-beta)*delta*sqrt(1/(1-beta^2))*var(rn);%残差均值偏移量
UCL=mu+K*sqrt(lmda/(2-lmda))*var(rn);%上限
LCL=mu-K*sqrt(lmda/(2-lmda))*var(rn);%下限
sum=0;
rep=10000;  Z=1;
for i=1:rep
    r1=0;n=1;
    while n<10000   
       if Z>UCL && Z<LCL  
            Z=lmda*rn(1,i)+(1-lmda)*Z;
        r1=r1+1;
        break
        end
       n=n+1;
    end
    sum=sum+r1;
end
y=sum/rep;
21# epoh

24
epoh 发表于 2011-5-5 10:49:25
in R
xewma.arl(l=0.13,c=2.88,mu=0,zr=0,hs=0,sided="two",limits="fix",q=1,r=40)  
#504.8908  
                           
xewma.arl(l=0.13,c=2.88,mu=0.5,zr=0,hs=0,sided="two",limits="fix",q=1,r=40)  
# 34.08857

%%in Matlab
T1=normcdf(temp,0,1);  => T1=normcdf(temp,0.5,1);
T2=normcdf(temp,0,1);  => T2=normcdf(temp,0.5,1);

ans:34.1734
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
uu207 + 1 + 1 + 1 好心人!

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

25
epoh 发表于 2011-5-5 11:24:17
看不太懂,请解释一下
你设置beta=0;  delta=0;
当然 mu=0

你设置 Z=1;
主要是让 if Z>UCL && Z<LCL  条件达不到??

r1一直是0,r1代表啥么?

lmda=?
K=?

26
uu207 发表于 2011-5-5 11:51:27
谢谢您的指导!deltao=0;beta=0;是在过程没有自相关的影响,没有均值偏移的情况下的ARL值,对于Z为ewma残差的统计量初值应该设为0,上面错了。 if Z>UCL && Z<LCL  是EWMA统计量满足上下控制限,若超出则跳出循环,r1是记录循环次数,即运行长度RL。lmda是EWMA的平滑系数,值为0.2,;K为参数值为3.



25# epoh

27
epoh 发表于 2011-5-6 10:10:51
lmda=0.2;
K=3;
beta=0;  %AR(1)自回归系数
delta=0; %均值偏移系数
n=1;
sum=0;
rep=10001;
while(n<rep)
rn=randn(1,rep);
mu=(1-beta)*delta*sqrt(1/(1-beta^2))*var(rn);%残差均值偏移量
UCL=mu+K*sqrt(lmda/(2-lmda))*var(rn);%上限   
LCL=mu-K*sqrt(lmda/(2-lmda))*var(rn);%下限  

Z(1)=0;
for i=2:rep
   Z(i)=lmda*rn(1,i)+(1-lmda)*Z(i-1) ;
end
Z=Z(1,2:rep);
idx=find(Z>UCL | Z<LCL,1);
if(isempty(idx)==1) idx=0;
end
sum=sum+idx;
n=n+1;
end      
y=sum/(rep-1)     %558.6505

%%%%%%%%%%%%%%%%%%%%%%%%%%%
in R
Computation of the (zero-state) ARL
l=0.2
c=3
mu=0
xewma.arl(l,c,mu,zr=0,hs=0,sided="two")
#     arl
#559.8741

28
uu207 发表于 2011-5-8 12:15:37
非常感谢您的帮助!!!
27# epoh

29
CM淼 发表于 2012-9-16 10:56:24
好东西啊 顶一个

30
胡秋余 发表于 2015-5-17 00:52:36
epoh老师好,我想请问您还有OptMEWMA_FINAL.exe这个吗?您能发我一份吗?邮箱 s18237106122@gmail.com   万分感谢!我是质量管理专业的学生,现做本科毕业论文,题目是多元统计过程控制。我想请教个问题:我求得的mcusum控制图在受控状态下的状态转移概率矩阵,每行所有元素之和不等于1,这是不是定错了?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 04:26