俺的学习笔记

Wednesday, January 23, 2019

移転のお知らせ

Bloggerを長年使っていて、使い勝手や安定性、そして、カスタマイズ性は抜群、しかも無料で広告がなく、エクスポートもできる...とても良心的です。が、残念ながら本日、本ブログをWPに移転することにしました。下記URLでアクセスしてください。
lhw168.wordpress.com
移転の最大の原因は、ブログ上表示できる文章数は設定できないことです。過去の文章を見るときにとても不便になります。
lhw168.wordpress.com

Wednesday, January 16, 2019

Control chart table

Factors for Computing Center Line and Three Sigma Limits

Observations in Sample (n)AA2D1D2D3D4A3B3B4d2c4
22.1211.88003.68603.2672.65903.2671.1280.7979
31.7321.02304.35802.5741.95402.5681.6930.8862
41.5000.72904.69802.2821.62802.2662.0590.9213
51.3420.57704.91802.1141.42702.0892.3260.9400
61.2250.48305.07802.0041.2870.0301.9702.5340.9515
71.1340.4190.2045.2040.0761.9241.1820.1181.8822.7040.9594
81.0610.3730.3885.3060.1361.8641.0990.1851.8152.8470.9650
91.0000.3370.5475.3930.1841.8161.0320.2391.7612.9700.9693
100.9490.3080.6875.4690.2231.7770.9750.2841.7163.0780.9727
110.9050.2850.8115.5350.2561.7440.9270.3211.6793.1730.9754
120.8660.2660.9225.5940.2831.7170.8860.3541.6463.2580.9776
130.8320.2491.0255.6470.3071.6930.8500.3821.6183.3360.9794
140.8020.2351.1185.6960.3281.6720.8170.4061.5943.4070.9810
150.7750.2231.2035.7410.3471.6530.7890.4281.5723.4720.9823
160.7500.2121.2825.7820.3631.6370.7630.4481.5523.5320.9835
170.7280.2031.3565.8200.3781.6220.7390.4661.5343.5880.9845
180.07070.1941.4245.8560.3911.6080.7180.4821.5183.6400.9854
190.6880.1871.4875.8910.4031.5970.6980.4971.5033.6890.9862
200.6710.1801.5495.9210.4151.5850.6800.5101.4903.7350.9869
210.6550.1731.6055.9510.4251.5750.6630.5231.4773.7780.9876
220.6400.1671.6595.9790.4341.5660.6470.5341.4663.8190.9882
230.6260.1621.7106.0060.4431.5570.6330.5451.4553.8580.9887
240.6120.1571.7596.0310.4511.5480.6190.5551.4453.8950.9892
250.6000.1531.8066.0560.4591.5410.6060.5651.4353.9310.9896
from here

各种控制图

XmR or ImR

Individual and Moving Range Chart.
有两个条件,1)数值是连续的。2)数值的subgroup=1
这种控制图的上下限是通过moving range计算得到的:
其中的d2=1.128,D4=3.267,是通过查这个表在subgroup=2时的值得到的。为了防止网页失联,俺在这里又复制了一个
例子:
用R在导入了qcc包以后也可以做XmR图(控制界限和手算的一致)
> library(qcc)
> my.xmr.raw=c(12.010,11.990,11.990,12.010,12.020,11.975,12.000,12.014,12.001,11.999,12.010,12.001,12.002,11.990,12.012)
> my.xmr.x = qcc(my.xmr.raw, type = "xbar.one", plot = TRUE)
> my.xmr.raw.r = matrix(cbind(my.xmr.raw[1:length(my.xmr.raw)-1], my.xmr.raw[2:length(my.xmr.raw)]), ncol=2)
> my.xmr.mr = qcc(my.xmr.raw.r, type="R", plot = TRUE)

X-Bar and Range Charts

这个跟刚才的那个x-individual的区别就在于subgroup的个数,这个的size=n,刚才的等于1。

X-bar:

平均值这么算:,这里面n是数据的个数
上限值这么算:
下限值不用说应该这么算:
这里的面A2需要查表,x两横是各个分组平均值的平均值,即,其中k是组数(group数)。

R:

R值:
平均值:,k是组数(group数)。
上限值:
下限值:,D3和D4还是要查表
这个网址后面有一个例子。可以参考一下如何计算上下限和平均值。

描述属性数据(attribute data)的控制图

C control charts

c charts用来监视计数的属性数据,在一个固定大小的subgroup。C charts的条件是属性数据发生的机会很大,但是实际发生的数量却很小。比如,工厂中发生伤害事故的数值。一个工厂中发生伤害事故的机会有很多很多,但是实际发生的情况却非常非常少。
C控制图一般用来监视某流程在某一固定时间间隔的缺陷数或非遵守事项(nonconformities)数,比如每小时,每天,每周,每月,每班等等。
一般来讲起初的单元系列用来估算控制值(上下限)。所以起始时期的process必须是稳定的。
上下限确定以后,就可以用来监视缺陷的个数,当某一值落到了界限外,就可以说process”失控“了,某些特殊原因(assignable cause)造成了这种情况。

U control charts

刚才的C charts是检查某一个单元发生的缺陷的个数,而U charts检查的是多个单元的缺陷个数,然后算出每个单元的发生的平均值。也就是说c charts要求是group的大小固定,而u charts是算出来多个单元的平均值。
关于c和u控制图,这里有篇文章说得很清楚。
简单来说,这两个控制图都是用来监视计数数据的波动情况的。区别仅仅在于subgroup的大小,如果固定就用c,变化就用u:If the subgroup size remains constant, the c control chart is used. If the subgroup size varies, the u control chart is used. 

np and p charts

这两种控制图用来监视只有两种可能性的数据,yes/no,成功/失败,通过/不通过等等。
np图用来监视当subgroup的大小相同,p图用来监视当subgroup的大小是可变的。

关于怎么使用控制图,这里有一个很好的总结

如何用控制图判断一个process是否稳定

这篇文章说得简单明了。
#

Control Chart Rule

West-gard
Nelson- Juran
AIAG
Mont-gomery
Western
Electric
IHI
1
n points above UCL or below LCL
1
1
1
1
1
1
2
Zone A: n of n+1 points above/below 2 sigma
2
2
2
2
2
2
3
Zone B: n of n+1 points above/below 1 sigma
4
4
4
4
4
n points in a row above/ below center line
8
9
7
8
8
8
5
Trends of n points in a row increasing or decreasing
7
6
6
6
6
6
Zone C: n points in a row inside Zone C (hugging)
15
15
15
15
7
n points in a row alternating up and down
14
14
14
8
Zone C:n points in a row outside Zone C
8
8
8
9
Zone B: n points above/ below 1 sigma; 2 points one above, one below 2 sigma
4
可以稍微简单点记,不用记那么多规则:
  1. 超过3σ的1个点
  2. 超过2σ的2/3个点 (3个中2个)
  3. 超过1σ的4/5个点 (5个中4个)
  4. 在中心线同一侧连续8个点
  5. 上升或下降趋势连续7个点。
这样就非常好记了!简单!!

Labels: ,

Friday, December 14, 2018

Excel解除不了的链接的对应方法/エクセルの解除できないリンクへの対処法

在打开有些Excel文件的时候,每次都会出现这样的提示:
あるエクセルファイルを開くとき、いつも下記のようなメッセージが表示され。
因为很烦,于是你想去掉它。选择更新,于是出现如下窗口:
面倒くさいので、非表示支度、「更新」を選んだ。下記のエラーが出てきた。
更新失败,预料之中。既然更新失败了,那编辑一下链接,删掉它不就可以了?
「更新できません」、予想通りだね。更新できるなら、編集して、削除すればいいのでは?
于是你点”编辑链接“。
「リンクの編集」をクリック。
一切似乎都进行的很顺利,你按了解除链接,这个链接就应该解除了吧。于是保存、关闭。
うまくいってるわ、「リンクの解除」をクリックし、保存、ファイルを閉じる。
但是下次当你满怀希望再次打开这个文件时,该死的提示又出现了。
ところが、次回開くときに、あれ、いやなメッセージがまた出てきた。
就这,明显是个BUG,从Excel问世就有的,微软特么到现在都还没有修改,而且,你想找到到底是哪里链接了也找不到。
これ、明らかにBUGだよね、Excelが生まれてから今まで、あのマイクロソフトは修正できず、しかも、リンクを張っているところも見つからない。バカ!
俺花了一上午的时间终于找到了问题所在,作为备忘录记在这里。
俺は午前中半日をかけてやっとわかった。ここでメモしよう。
Excel的链接有很多中:
エクセルの中はいろんなリンクがある:
1.最常见的,在cell里面的链接
1.よくあるのは、セルからのリンク
2.由于Excel可以为cell命名,cell名里也特么可以放链接
2.エクセルではセルを命名することができるため、セルの名前にもリンクを張られる
3.Object啊,图形里面也可以放链接
3.シートの中にオブジェクト、チャートがある場合、その中にもリンクがある可能性がある。
1最好办,搜索一下就可以发现了。2可以在Excel的命名管理里面找到,很明显就可以看到:
1の場合は最も解決しやすい、検索することで、リンクを見つけられる。2はエクセルの「名前の管理」機能を使うと解決できる。
如果原来文件找不到了,把链接删掉即可。
リンク元がなければ、リンクを削除すればいい。
3也没有多少,容易找到。
3の場合は、オブジェクトやチャートの数が少ないので探しやすい。
除了上面说的集中情况还有下面这些地方也有链接,而且当你copy-paste时很容易产生”死“链接。
上記以外、下記の所にもリンクがあり、特にコピペするときに上記のようなデッドリンクを作りかねない。
4.数据输入规则
4.データの入力規則
5.条件格式
5.条件付き書式
你只要跨文件拷贝带有输入规则的cell,就会出现死链接的问题,因为Excel只拷贝cell的内容,把输入规则链接到原来的文件中。
ほかのファイルから入力規則付のセルをコピーするとき、デッドリンクが生じる。なぜならば、エクセルはセルの内容をコピーし、入力規則を元のファイルにリンクさせるからだ。
所以,如果有一直消不掉的死链接,你可以找找4和5这类地方。
よって、もし、解除できないデッドリンクがある場合、上記4または5のところでも探して見る。

Monday, December 10, 2018

假设检验的总结/Summary of Hypothesis Test

到这里终于把下面的Hypothesis test都学完了。
不过,其实具体的做法不太重要,关键是要记住在什么情况下用什么方法就可以了(适用于什么样的数据,测试的是均值还是方差,要不要求是正规分布等等)。这个可以从网上找找其应用的例子即可。
※点下面的链接即可跳转到相应的文章。
《Rで統計学を学ぶ》有很好的参考资料。

Labels: , ,

ANalysis Of Means (ANOM)

ANOM=analysis of means这个是用来测试3个以上的样本的均值的。教材里面说是检测3个以上的样本的proportion(比例)。
在R里面没有相应的函数(似乎可以通过package追加)。在minitab中有分析方法。下面是从minitab资料里引用的。
ANOM其实是用控制图的ANOVA。其目的也是来检测多个样本的均值。但是其区别在于,ANOVA检测的是各个样本之间的统计学差异,而ANOM检测的是各个样本与总体平均的统计学差异。
Analysis of means is a graphical alternative to ANOVA that tests the equality of population means. The graph displays each factor level mean, the overall mean, and the decision limits. If a point falls outside the decision limits, then evidence exists that the factor level mean represented by that point is significantly different from the overall mean.
For example, you are investigating how temperature and additive settings affect the rating of your product. After your experiment, you use analysis of means to generate the following graph.
The top plot shows that the interaction effects are well within the decision limits, signifying no evidence of interaction. The lower two plots show the means for the levels of the two factors, with the main effect being the difference between the mean and the center line. In the lower left plot, the point representing the third mean of the factor Temperature is displayed by a red symbol, indicating that there is evidence that the Temperature 200 mean is significantly different from the overall mean at α = 0.05. The main effects for levels 1 and 3 of the Additive factor are well outside the decision limits of the lower right plot, signifying that there is evidence that these means are different from the overall mean.
Comparison of ANOM and ANOVA
ANOVA tests whether the treatment means differ from each other. ANOM tests whether the treatment means differ from the overall mean (also called the grand mean).

Often, both analyses yield similar results. However, there are some scenarios in which the results can differ:
If one group of means is above the overall mean and a different group of means is below the overall mean, ANOVA might indicate evidence for differences where ANOM might not.
If the mean of one group is separated from the other means, the ANOVA F-test might not indicate evidence for differences whereas ANOM might flag this group as being different from the overall mean.
One more important difference is that ANOVA assumes that your data follow a normal distribution, while ANOM can be used with data that follows a normal, binomial, or Poisson distribution.

Labels: , ,

Friday, December 7, 2018

Van der Waerden Normal scores test

这个Van der Waerden test是用来测试k个样本的分布是否相等。
Van der Waerden测试用来Ordinal数据,它把排序数据(rank data)转换成标准正太分布的分位数(quantile)后做测试,因此也叫normal score test。
这个R里没有对应的函数(需另外安装软件包),所以也就不必深究它的具体做法,只要记住这个是测试3个以上样本Ordinal数据分布情况的即可。

Labels: , ,

Wednesday, December 5, 2018

Kruskal-Wallis test/Friedman test

对于Ordinal Data的多群检测。可以用Kruskal-Wallis test或Friedman test来测中间值(median)的同一性。
※注意,多群检验,重复做两-两之间的两群检验是不行的,原因在学习ANOVA的时候解释过了。
如果多群是独立的数据,就用Kruskal-Wallis test
如果是相关的(paired),就用Friedman test

这里的第12.5章,有个pdf文件说的比较清楚,还有例子。
The Mann-Whitney Test looks for differences in median values between two samples.
Both the Kruskal-Wallis and Friedman Tests look for differences in median values between more than two samples.
The Kruskal-Wallis Test is used to analyse the effects of more than two levels of just one factor on the experimental result. It is the non-parametric equivalent of the One Way ANOVA.
The Friedman Test analyses the effect of two factors, and is the nonparametric
equivalent of the Two Way ANOVA.
也就是说,Kruskal-Wallis Test是测试受1个因素影响的,多个样本的median的差异(独立多群)。而Friedman Test则是2个因素(paired多群?)。
这两个检测方法都是针对Ordinal Data的,比如排序啊,满足度啊之类的顺序尺度而不是实际的数值。
例子:
对医院的12名新护士的技术水准打分,得到的结果如下:
※注意,各个组的人数完全可以不等
内科50805881
外科67697288
眼科54627577
请问这三个科室的护士技术水平有差异吗?
这个因为是受一个因素影响的,多群的平均值判定,而且是ordinal data,所以用Kruskal-Wallis Test。
因为是Ordinal data,所以计算方法如下:
1.先俺上述得分从小到大排列好,并列出其排名
科室
得分505458626769727577808188
名次123456789101112
※注:得分相同的名次按平均值计算,比如如果第3和第4得分相同,则第三第四名次都是(3+4)/2=3.5。
2.然后把各个科室的名次列出来,并计算其名次的和以及平均值

平均
内科110311256.25
外科56712307.5
眼科2489235.75
然后用如下公式计算出其H值:
其中N是数据的总个数,k是群数,Ri是各个群组的名次和。上式计算得到H=0.500。
由于有3个群组,因此自由度=(3-1)=2。
计算出H值以后,在于样本数较小的情况,Hcrit可以通过查表得到。
对于样本数较大的情况(一说大于5),Hcrit可以用Χ平方代替。
当然了,这些都很麻烦,其实用R就可以简单地计算出来了。
> vx=c(50,80,58,81)
> vy=c(67,69,72,88)
> vz=c(54,62,75,77)
> kruskal.test(x=list(vx,vy,vz))

  Kruskal-Wallis rank sum test

data: list(vx, vy, vz)
Kruskal-Wallis chi-squared = 0.5, df = 2, p-value = 0.7788
上面是直接输入数据。当然了,输入名次也可以得到相同的结果
> vx=c(1,10,3,11)
> vy=c(5,6,7,12)
> vz=c(2,4,8,9)
> kruskal.test(x=list(vx,vy,vz))

  Kruskal-Wallis rank sum test

data: list(vx, vy, vz)
Kruskal-Wallis chi-squared = 0.5, df = 2, p-value = 0.7788

下面看看Friedman test
这篇文章说的似乎比较清楚,而且和Kruskal-Wallis test进行了比较。
它说Friedman test检测的是两个要素的影响。
比如:药物的浓度和时间对细菌数量的影响。
0(h)
1(h)
2(h)
3(h)
濃度a(%)
100
90
80
73
濃度b(%)
100
80
70
60
濃度c(%)
100
60
45
34
这种情况就可以用Friedman test来做。
具体做法略过,可以用R的friedman.test来做。
> va=c(1.00, 0.90, 0.80, 0.73)
> vb=c(1.00, 0.80, 0.70, 0.60)
> vc=c(1.00, 0.60, 0.45, 0.34)
> friedman.test(y=matrix(c(va,vb,vc),ncol=3))

    Friedman rank sum test

data: matrix(c(va, vb, vc), ncol = 3)
Friedman chi-squared = 6, df = 2, p-value = 0.04979
※当然了,直接输入数字而不是百分比也是同样的结果。
> va=c(100.0, 90.0, 80.0, 73.0)
> vb=c(100.0, 80.0, 70.0, 60.0)
> vc=c(100.0, 60.0, 45.0, 34.0)
> friedman.test(y=matrix(c(va,vb,vc),ncol=3))

    Friedman rank sum test

data: matrix(c(va, vb, vc), ncol = 3)
Friedman chi-squared = 6, df = 2, p-value = 0.04979
再进一步,直接输入排序,也可以得到同样的结果。
0(h)
1(h)
2(h)
3(h)
濃度a(%)
100
90
80
73
2
35.56
濃度b(%)
100
80
70
60
2
5.579.5
濃度c(%)
100
60
45
34
2
9.51011
> va=c(2,3,5.5,6)
> vb=c(2,5.5,7,9.5)
> vc=c(2,9.5,10,11)
> friedman.test(y=matrix(c(va,vb,vc),ncol=3))

    Friedman rank sum test

data: matrix(c(va, vb, vc), ncol = 3)
Friedman chi-squared = 6, df = 2, p-value = 0.04979

https://plaza.umin.ac.jp/~health-stat/wpsystem/wp-content/uploads/2017/01/chapter8_slide.pdf
https://data-science.gr.jp/implementation/ist_r_kruskal_wallis_test.html
https://towardsdatascience.com/what-is-a-p-value-b9e6c207247f
https://towardsdatascience.com/statistical-significance-hypothesis-testing-the-normal-curve-and-p-values-93274fa32687

Labels: , ,