楼主: lijing8712
14338 52

[问答] 求解二维马尔科夫链 [推广有奖]

31
epoh 发表于 2011-8-16 08:30:10

CUSUM1,EWMA2,的作者都是Sven Knoth

也就是 R package "spc"的作者.

如果你是要做ACUSUM

而且是用Markov chain,

你可能漏掉了一篇重要文献

Chang,T.C.,Gan,F.F.,1995.A cumulative sum control chart for monitoring process variance

ACUSUM:

目前完成Markov chain程序的只有

10楼那篇ACUSUM Procedure for Signaling Process Variance

要转成 ln(S^2)可能需要参考Chang,T.C.,Gan,F.F.,1995

AEWMA:

AEWMA Control Chart for Monitoring Process Variances(ln(S^2))

根据page 16/18的程序,跑出的结果,有些怪异

但程序应该无误,可能是参数设置转换问题

我把程序先传给你参考

请检查,试调整,及试跑结果.

由于程序尚未成熟,

为避免不必要误解.

我设了pw

pw就在你的短信息.



lns2.txt,Xs.txt

   lns2.rar (1.01 KB)

32
lijing8712 发表于 2011-8-16 19:54:52
谢谢您的指导,我先找找那篇文献再跟您交流~~谢谢啦!!!

33
epoh 发表于 2011-8-17 08:49:22

CUSUM1.pdf page 12/14

Table 4, 就是依据Table 5 of Chang and Gan (1995)

in-control ARL value 100

内有四种方法

  (1).CUSUM-S2

  (2).CUSUM-ln(S2)

  (3).EWMA-S2

  (4).EWMA-ln(S2)

%%%%%%

(1)CUSUM-S2

   可用Hawkins'anyarl.exe算出 ARL 99.92

   N=5  (df=4)

   kh=1.285

   hh=2.922

   anyarl.exe.rar

       anyarl.rar (153.58 KB) 本附件包括:

  • anyarl.exe

(2)CUSUM-ln(S2)

   等你抓到Chang and Gan (1995)文献后

   再看参数如何转换

(3)EWMA-S2

   可用R package "spc",function sewma.arl()算出 ARL 99.99888

   lambda=0.15

   c=2.4831

   ###

   df=4

   cu <- 1 + 2.4831*sqrt(lambda/(2-lambda))*sqrt(2/df) #1.4999964

   cu的算法请参考:EWMA2.pdf page 2/12 formula(3)

   sewma.arl(lambda, 1, cu, 1, df,sided="Rupper", r=100)#99.99888

   

(4)EWMA-ln(S2)

   lambda(ln)=0.28

   c(ln)=1.4085

   ARL=99.9547

   EWMA_ln(S2).rar

    EWMA_ln(S2).rar (471 Bytes)


   pls aslo see EWMA1.pdf  page 11/13

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
lijing8712 + 1 + 1 + 1 谢谢您的热心指点!!

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

34
lijing8712 发表于 2011-8-17 21:02:28

。。

暂时保存。。

ACUSUM.pdf
下载链接: https://bbs.pinggu.org/a-949168.html

3.89 MB

需要: 5 个论坛币  [购买]

35
epoh 发表于 2011-8-18 20:23:12

只要适当的转换

EWMA_S2,EWMA_ln(S2),

都可轻易的算出ARL.

给定lambda,L

%%%%EWMA_ln(S2)  ARL=199.7620
n=5
lambda=0.32
L=1.60861
sigmay=sqrt((2/(n-1))+(2/(n-1)^2)+(4/(3*(n-1)^3)-(16/(15*(n-1)^5))))  
h=L*sqrt(lambda/(2-lambda))*sigmay
......
temp=b2;
u=exp(temp);
R(i,j)=gamcdf(u,2.5,0.4);
......

%%%%EWMA_S2      ARL= 200.8928
lambda=0.16;
L=2.96352;     
h=1+L*sqrt(lambda/(2-lambda))*sqrt(2/n)
......
temp=b2;
u=(temp);
R(i,j)=gamcdf(u,2,0.5);
.......

EWMA_S2.rar

    EWMA_S2.rar (419 Bytes)

%%%%

同理

既然10楼WACUSUM_S2程序都已完成

依你的专业应该能顺利转换WACUSUM_ln(S2)

PS:

不过还是有隐忧

因为都没看过有关

ACUSUM-ln(S2)的文献

或是CUSUM-ln(S2)的文献

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
lijing8712 + 1 + 1 + 1 观点有启发

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

36
lijing8712 发表于 2011-8-20 14:34:29
epoh 发表于 2011-8-18 20:23
只要适当的转换EWMA_S2,EWMA_ln(S2),都可轻易的算出ARL.给定lambda,L%%%%EWMA_ln(S2)  ARL=199.7620
n=5
...
老师您好!根据您的指点,我做了关于 EWMA-S2 和 EWMA-lnS2 的控制限的搜索以及链长的分析,都求解出来了,谢谢您的指点。我也搜索了好多,确实没有相关CUSUM-lnS2方面的文献,但是根据常规CUSUM控制图计算均值的程序,我就是运用了同样的对数变换,还是求解出了控制限,但是不知道为什么,应用到ACUSUM的链长计算程序中就出现了问题。我想问一下,Qt=(1-lamda)Qt-1 +lamda*Zt    其中,Zt=ln(St2/σ2)  这个二维马尔科夫链尺度范围为: 0<Wt<h, 0<Qt<L
h是其控制限,这里Qt的控制限范围我按照公式 L=E(Zt)+5*sqrt(lambda/(2-lambda))*sigmay  
我只是大概算了一下,n=5,sigmay=0.8
我想问一下,应用到这个二维马尔科夫链中,是因为这个L值可能不是很准确,还是加了对数变换之后,相应里面这个转换矩阵的计算公式有所改变,为什么控制限的搜索值老是等于初始值,计算出来的误差相当大,我自己也再研究一下,想麻烦您看一下,是不是里面这个转换概率加了对数变换之后有什么改变呢?谢谢您啦!!!

37
epoh 发表于 2011-8-20 19:02:10

EWMA_S2,       两个参数, lambda,L   一维

EWMA_ln(S2),  两个参数, lambda,L   一维

AEWMA_S2,       ??

AEWMA_ln(S2), 三个参数, lambda,r,h   一维

ACUSUM_ln(S2),  ??                            ??

ACUSUM_ln(S2),比较麻烦的是,

没有文献可参考比对,

验证程序的正确性.

如果方便的话看能不能找到:

Brook,D.and Evans,D.A.(1972)An Approach to the Probability Distribution of CUSUM Run Length

Howell, D.K., 1987. A CUSUM scheme for the control of process variance

Srivastava, M.S., Chow, W., 1992. Comparison of the CUSUM procedure with other procedures

          that detect an increase in the variance and a fast

          accurate approximation for the ARL of the cusum procedure

38
lijing8712 发表于 2011-8-21 17:16:20
epoh 发表于 2011-8-20 19:02
EWMA_S2,       两个参数, lambda,L   一维EWMA_ln(S2),  两个参数, lambda,L   一维AEWMA_S2,       ??AEW ...
老师,您好!我把adaptive CUSUM控制图那篇研究均值的程序改为计算方差的,也就是这篇帖子里面7楼那个程序,中间Qt的取值范围我按照公式
L=5*sqrt(lambda/(2-lambda))*sigmay

参数设置分别为:lamda=0.1  dertamin=1.1 ARL0=200
控制限搜索出来为:0.2325
当lamda为0.2时,控制限为0.2266,相差不大,不知道计算的对不对,
并且我还做了σt2/σ2分别偏移量为1.1,1.2,1.5,2 等情况下的链长分析,感觉好像都没有常规CUSUM控制图做出来效果好,不知道这个控制限计算的对不对?还有那篇关于均值的adaptive CUSUM控制图的程序不知道能不能像AEWMA控制图那样经过对数变换就可以应用到方差方面的研究上面了,您说的那几篇文献我正在找,等下载到了我再给您交流,谢谢您了!!

39
温柔一cai刀 发表于 2011-8-21 19:48:49
直接用差分方程不能解吗

40
epoh 发表于 2011-8-21 20:45:08

dertamin=1.1, ARL0=200,

lamda=0.1,  控制限搜索出来为:0.2325

当lamda为0.2时,控制限为0.2266,

相差不大,不知道计算的对不对?

应该是不对.

我说过现在最大的困扰是

没有文献可对照

无法验证程序的正确性

我个人觉得ACUSUM,求ARL

既然给定了L,hw,

那么最重要的就是

h,a1,a2,b1,b2公式的正确性了

正如你由mean转为S2时,

不就是更改了h,a1,a2,b1,b2

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

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