方差分析的主要功能就是验证两组样本,或者两组以上的样本均值是否有显著性差异,即均值是否一样。

这里有两个大点需要注意:①方差分析的原假设是:样本不存在显著性差异(即,均值完全相等);②两样本数据无交互作用(即,样本数据独立)这一点在双因素方差分析中判断两因素是否独立时用。

原理:

方差分析的原理就一个方程:SST=SS组间+SSR组内  (全部平方和=组间平方和+组内平方和)

说明:方差分析本质上对总变异的解释。

  • 组间平方和=每一组的均值减去样本均值
  • 组内平方和=个体减去每组平方和

方差分析看的最终结果看的统计量是:F统计量、R2

其中:g为组别个数,n为每个组内数据长度。

python实现:

from scipy import stats
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
from statsmodels.stats.multicomp import pairwise_tukeyhsd
import warnings
warnings.filterwarnings("ignore") import itertools df2=pd.DataFrame()
df2['group']=list(itertools.repeat(-1.,9))+ list(itertools.repeat(0.,9))+list(itertools.repeat(1.,9)) df2['noise_A']=0.0
for i in data['A'].unique():
df2.loc[df2['group']==i,'noise_A']=data.loc[data['A']==i,['','','']].values.flatten() df2['noise_B']=0.0
for i in data['B'].unique():
df2.loc[df2['group']==i,'noise_B']=data.loc[data['B']==i,['','','']].values.flatten() df2['noise_C']=0.0
for i in data['C'].unique():
df2.loc[df2['group']==i,'noise_C']=data.loc[data['C']==i,['','','']].values.flatten() df2

# for A
anova_reA= anova_lm(ols('noise_A~C(group)',data=df2[['group','noise_A']]).fit())
print(anova_reA)
#B
anova_reB= anova_lm(ols('noise_B~C(group)',data=df2[['group','noise_B']]).fit())
print(anova_reB)
#C
anova_reC= anova_lm(ols('noise_C~C(group)',data=df2[['group','noise_C']]).fit())
print(anova_reC)

  从结果可以看出,A、B两样本,在每个组间均值显著无差异,C样本的组间均值是有差异的。

最新文章

  1. php 获取域名等Url
  2. Win7下VS2010使用“ASP.Net 3.5 Claims-aware Template”创建ClaimsAwareWebSite报"HRESULT: 0x80041FEB"错误的解决办法
  3. 队列的图文解析 和 对应3种语言的实现(C/C++/Java)
  4. 028. asp.net数据绑定控件值DataList控件
  5. [Everyday Mathematics]20150226
  6. 济南学习 Day 4 T1 pm
  7. linux下无线网卡的ioctl 接口
  8. Java Struts文件上传和下载详解
  9. 浅谈JSP(二)
  10. python_19_异常处理
  11. windows环境设置mysql自动备份(测试成功)
  12. Django commands自定制
  13. SQL Server -- 回忆笔记(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询
  14. Linux安装Python3后,如何使用pip命令
  15. Linux内存管理之mmap详解
  16. 洛谷P2949 工作调度Work Scheduling [USACO09OPEN] 贪心
  17. Oracle 11gR2 用户重命名(rename user)
  18. Python之DataFrame常用方法小结
  19. Django的AbstractUser的几大步骤
  20. python学习 day21 (3月28日)----(抽象类 多态 nametuple dump)

热门文章

  1. vue2获取dom节点
  2. iOS蓝牙--CoreBluetooth基本使用
  3. Kickstart Round H 2019 Problem B. Diagonal Puzzle
  4. C++中对C的扩展学习新增语法——const
  5. 【Java】抽象类和接口详解
  6. python:正则0
  7. 通过django 速成 blog
  8. ACL2019: 《GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction》源码解析
  9. golang学习--go中'继承'和多态
  10. 2019-9-23:渗透测试,基础学习,http协议数据包的认识,html css的认识,笔记