python 多因素方差分析_多因素方差分析估计平方和的三种方法
在做多因素方差分析时,有三种方法计算平方和(以模型Y ~ A + B + A:B为例,即先输入A,再输入B,最后输入交互项A:B):Type Ⅰ Sums of Squares(Type1, sequential)
序贯型,后输入的因素根据之前输入的因素做调整,与输入顺序有关(A不做调整,B根据A做调整,A:B根据A和B做调整,因此使用Type1要注意模型中各因素的输入顺序)。
Type Ⅱ Sums of Squares(Type2, hierarchical)
分层型,根据同阶水平和低阶水平的因素做调整,与输入顺序无关(A和B同是一阶的,A根据B做调整,B根据A做调整;A:B是二阶的,因而A:B根据A和B做调整)。
Type Ⅲ Sums of Squares(Type3, marginal)
边界型,根据其他所有因素做调整,与输入顺序无关(A根据B和A:B做调整,B根据A和A:B做调整,A:B根据A和B做调整)。
这些分类在参考文献中有详细的介绍。当数据均衡(data is balanced,即各水平的样本量相等),且因素是正交的(factories are orthogonal,即各因素独立,讨论见:R gives Type I, Python gives Type II, SAS gives Type III.[1]Default Types of Sums of Squares for different programming languages[1]Decision Tree for Different Types of Sums of Squares in ANOVA[1]
SAS
这些分类似乎最初是在SAS中就有的,随后被广泛引入统计领域。不过SAS帮助文档[2]中多了一个Type Ⅳ。SAS使用PROC GLM过程步,改变CLASS和MODEL的取值来选择使用哪种方法。默认为Type3.
R
R中的aov()和anova()使用Type1,car包的Anova()可以指定参数type为2或3来选择Type2或Type3。
三种方法的原理及R语言实现:
[3] 给出了三种方法的原假设的公式表达
[4] 通俗的平方和分解的公式语言
R语言实现:
[5], [6]
Python
Python默认是Type2.
[7] 举例讲解了TypeⅠ和TypeⅢ,并用python实现
参考文献
[8]Robert I. Kabacoff.R In Action[M].Manning:New York,2015:212-218.
python 多因素方差分析_多因素方差分析估计平方和的三种方法相关推荐
- python numpy array转置_详解Numpy数组转置的三种方法T、transpose、swapaxes
Numpy是高性能科学计算和数据分析的基础包,里面包含了许多对数组进行快速运算的标准数学函数,掌握这些方法,能摆脱数据处理时的循环. 1.首先数组转置(T) 创建二维数组data如下: 进行矩阵运算时 ...
- python 分类变量编码_深度学习编码分类变量的3种方法——AIU人工智能学院
:数据科学.人工智能从业者的在线大学. 数据科学(Python/R/Julia) 作者 | CDA数据分析师 像Keras中的机器学习和深度学习模型一样,要求所有输入和输出变量均为数字. 这意味着,如 ...
- python recv_python网络编程调用recv函数完整接收数据的三种方法
最近在使用python进行网络编程开发一个通用的tcpclient测试小工具.在使用socket进行网络编程中,如何判定对端发送一条报文是否接收完成,是进行socket网络开发必须要考虑的一个问题.这 ...
- python开发直播网站_开发直播网站源码的三种计算机语言
直播网站源码开发所用的语言,根据未来运营平台不同,其选择也不同.一般来说,如果是PC后台,那么会采用PHP语言编写,如果是在安卓上开发,则选择Java语言,如果是在iOS上开发,则采用object-c ...
- python的try和except_Python用try except处理程序异常的三种方法总结
Python用try except处理程序异常方法分析 本文实例讲述了Python使用try except处理程序异常的三种常用方法.分享给大家供大家参考,具体如下: 如果你在写python程序时遇到 ...
- python socket接收图像 数据_python中socket接受数据的三种方法 | 学步园
原位置:http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/408859 Description: An issue with socket ...
- mysql如何防止插入重复数据_防止MySQL重复插入数据的三种方法
新建表格 CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主键', `name` varchar(64) CHARACTER SET utf8 C ...
- removelogo使用方法_怎么给视频去水印?这三种方法简单又高效
不管是做新媒体工作,还是从事视频剪辑,都会跟视频打交道,需要下载和用到一些视频,很多时候也会遇到视频上有水印的情况,需要去除水印才能使用,下面就给大家带来三种去除视频水印的方法,下面一起来看吧. 1. ...
- Python进阶-----property用法(实现了get,set,delete三种方法)
一.可以利用property对静态属性的进行修改操作,包括设置和删除属性 1.调用静态属性===>在静态属性函数前先用@property: 2.设置静态属性===>在静态属性函数前加上@静 ...
最新文章
- mgr未同步 mysql_MySQL Group Replication(多主同步复制MGR)
- linux 内核空间与用户空间 简介
- lscpu命令查看CPU统计信息
- Python_基础_6
- 如何使用Axure高效完成高保真原型
- 阿里P8架构师谈:阿里双11秒杀系统如何设计?
- ElasticSearch(一)基础知识
- 7.4.7 2DPCA
- java考试安徽工业大学_2011~2012《Java语言程序设计》试卷A及答案(安徽工业大学)...
- mybatis学习(39):动态sql片段
- redis循环键_Redis 性能优化的 13 条军规!史上最全
- linux正则表达式脚本实例,Shell下的正则表达式及实例
- SQL Server 更新数据表记录
- [No0000151]菜鸟理解.NET Framework中的CLI,CLS,CTS,CLR,FCL,BCL
- Error: spawn xxxx ENOENT原因与解决
- RMXP脚本解析(四):Window_Base
- 安卓电子书格式_kindle如何导入电子书
- 一款多核架构GPU IP有多达33种配置!Imagination要守住移动市场攻向云端
- 使用Python将MNIST数据集手写数字转化为图片
- FFMpeg ver 20160219-git-98a0053 滤镜中英文对照 2016.02.21 by 1CM