Ref:https://onlinecourses.science.psu.edu/stat464/print/book/export/html/11


additive model

value = typical value + row effect + column effect + residual

predicate value = typical value + row effect + column effect

其中value是我们关注的值,typical value是overall median,row effect是block effect,column effect是treatment effect

下面用例题来展示:

问题:对于面包中烟酸(维生素B3)的含量,三个实验室(abc)的测量方法可能不同。烟酸的含量分为三档:

no niacin、2mg/100gm、4mg/100gm。我们把一些样本送到三个实验室做检测,希望知道:划分档次时,是否

基于烟酸的实际含量。

输入:niacin_r.txt(参见网页)

步骤一:

Plots the mean (or other summary) of the response for two-way combinations of factors, thereby illustrating possible interactions.

data = read.table("niacin_r.txt", header=F, sep=",")
data = as.data.frame(data)
names(data)=c("niacin", "lab", "level")
attach(data)
interaction.plot(lab, level, niacin, fun=median)
detach(data)  

结果如图

因为三条线基本是平行的(没有明显的交叉),所以我们可以继续做。(additive model没有考虑interaction的情况)

现在需要整理一下数据:首先将数据按照lab和level聚集一下

a=aggregate(niacin~lab+level, data=data, median)  

结果是这样的:

> a
lab level niacin
1 a 0 36
2 b 0 38
3 c 0 39
4 a 2 53
5 b 2 56
6 c 2 55
7 a 4 68
8 b 4 76
9 c 4 73  

然后将它变成矩阵,每一行表示block(这里是level水平,0,2,4),每一列表示treat(这里是lab,abc)

> m=matrix(a[,3], nrow=3, ncol=3, byrow=T)
> m
[,1] [,2] [,3]
[1,] 36 38 39
[2,] 53 56 55
[3,] 68 76 73  

步骤二:median polish

> medpolish(m)
1: 7
Final: 7 Median Polish Results (Dataset: "m") Overall: 55 Row Effects:
[1] -17 0 18 Column Effects:
[1] -2 1 0 Residuals:
[,1] [,2] [,3]
[1,] 0 -1 1
[2,] 0 0 0
[3,] -3 2 0  

这样我们已经得到了完整的additive model,其中typical value即overall,也就是55。

注意:medpolish实际是将前面的结果做了一个拆分,比如

m[1,1] = 36 = overall + column_effect[1] + row_effect[1] + residuals[1, 1] = 55 + (-17) + (-2) + 0

为了确定模型的好坏,我们计算统计量R*。如上例,TV是55,计算出R*约为0.9346,也就是说,考虑了lab和level的这种

additive model,可以解释93%的烟酸水平评定结果。

(the additive model of the labs and levels of niacin explain about 93% of the variation in the measured niacin levels.)


如果三条线有交叉,就要对每个block(每行)分别进行考虑,使用kruskal test。如果overall error rate是0.09,3个block的话,

那么每个的α值就是0.03(p值小于它就拒绝原假设)。

判断interaction的统计量可以用上面得到的Residuals矩阵,使用Q这个统计量,使用自由度为(b-1)×(k-1)的卡方分布决定p值


Dichotomous Data (Cochran's Tests)

b个block,k个treatment,实际数值只有两种,即0和1

前提:blocks是随机选择的;结果变量是二值化的。

假设:

H0:treatments are equally effective
H1:difference in effectiveness among treatments.

最新文章

  1. [C#] Linq To Objects - 如何操作字符串
  2. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 检查版本升级、检查登录超时
  3. ecshop后台新功能及权限的添加
  4. JSP 4个域对象-9个内置对象-11个EL隐式对象
  5. 在Linux CentOS上编译并安装Clang 3.5.0
  6. HDU 5578 Friendship of Frog 水题
  7. HDU 4825-Xor Sum(trie)
  8. requirejs实践二 加载其它JavaScript与运行
  9. 【HDOJ】1867 A + B for you again
  10. linuxmint计算器
  11. 数据源C3P0配置
  12. 0_Simple__inlinePTX + 0_Simple__inlinePTX_nvrtc
  13. [20160711][neven代码移植Windows]
  14. Qt QComboBox下拉框文字重叠解决方法
  15. 接线端子VH,CH,XH
  16. C#使用Spire.Doc Word for .Net读写Word
  17. ZOJ 1109 Language of FatMouse 【Trie树】
  18. python常用库 - NumPy 和 sklearn入门
  19. 【Android实验】 UI设计-ListView
  20. Unity3D之Unity3D 4.3.0 破解方法

热门文章

  1. Net Core微服务
  2. VS Code开发调试.NET Core 2.0
  3. TDH-常见运维指令
  4. Error occurred while loading plugins. CLI functionality may be limited.
  5. Java基础语法(Eclipse)
  6. Spring 整合 Quartz 实现动态定时任务(附demo)
  7. js根据鼠标方向划入遮罩层
  8. iOS - runtime 常用方法举例说明
  9. dos 删除文件夹 rd
  10. SQLAlchemy的基本使用