前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据分析之方差分析

Python数据分析之方差分析

作者头像
罗罗攀
发布2018-08-28 15:20:03
1.2K0
发布2018-08-28 15:20:03
举报

问题

设某苗圃对一花木种子制定了5种不同的处理方法,每种方法处理了6粒种子进行育苗试验。一年后观察苗高获得资料如下表。已知除处理方法不同外,其他育苗条件相同且苗高的分布近似于正态、等方差,试以95%的可靠性判断种子的处理方法对苗木生长是否有显著影响。

数据预处理

  1. 做过方差分析的都知道,先做个假设H0:不同处理方法对苗木生长无显著影响。
  2. 看下课程老师给的数据

copy出来的格式很不友好,我就写了一个python代码进行转化,代码:

代码语言:javascript
复制
import csv
i = 0
f = open('C://Users/Administrator/Desktop/方差分析.txt','r')
csvfile = open('C://Users/Administrator/Desktop/方差分析.csv','wt',newline='',encoding='utf-8')
writer = csv.writer(csvfile)
for fs in f:
    i = i+1
    contents_1 = fs.strip()
    contents = contents_1.split(',  ')
    for content in contents:
        writer.writerow((content,i))
f.close()
csvfile.close()

可以把数据转化为如下格式,方便在python的方差分析中运行:

Python方差分析

代码语言:javascript
复制
df = pd.read_excel('C:/Users/Administrator/Desktop/方差分析.xls',header=None,names=['value','group'])
d1 = df[df['group']==1]['value']
d2 = df[df['group']==2]['value']
d3 = df[df['group']==3]['value']
d4 = df[df['group']==4]['value']
d5 = df[df['group']==5]['value']
args = [d1,d2,d3,d4,d5]
f,p = stats.f_oneway(*args)
print(f,p)

结果如图:

结论

查表得F0.05(4,25)=2.76,因为F=Sb2/Sw2=4.38﹥F0.05(4,25)=2.76,所以推翻(或者说拒绝)假设H0,即不同的处理方法造成了苗木高生长的差异显著。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.03.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题
  • 数据预处理
  • Python方差分析
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档