首页 / PYTHON / python做单因素方差分析
python做单因素方差分析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python做单因素方差分析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1645字,纯文字阅读大概需要3分钟。
内容图文
![python做单因素方差分析](/upload/InfoBanner/zyjiaocheng/849/c4621ee3e0f74af594efbfa4a78123f4.jpg)
方差分析的主要功能就是验证两组样本,或者两组以上的样本均值是否有显著性差异,即均值是否一样。
这里有两个大点需要注意:①方差分析的原假设是:样本不存在显著性差异(即,均值完全相等);②两样本数据无交互作用(即,样本数据独立)这一点在双因素方差分析中判断两因素是否独立时用。
原理:
方差分析的原理就一个方程: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,['1','2','3']].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,['1','2','3']].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,['1','2','3']].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样本的组间均值是有差异的。
内容总结
以上是互联网集市为您收集整理的python做单因素方差分析全部内容,希望文章能够帮你解决python做单因素方差分析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。