Python 实现单因素方差分析用到了scipy.stats.f_oneway()方法,用法很简单,只不过在用之前需要先检验菱诎逭幂方差齐性,用到了levene test。
引入相关模块![Python统计分析:[3]单因素方差分析](https://exp-picture.cdn.bcebos.com/46315818dfdae43b66704195c457935652bb744e.jpg)
读取数据,数据保存在text文件中,就是两列数据,列之间用逗号隔开,参数header=None指的是数据头部没有标题,names参数指定列的名称
我们可以看到输出的数据:![Python统计分析:[3]单因素方差分析](https://exp-picture.cdn.bcebos.com/04201aa355e983ae82211a9e68efe0781531694e.jpg)
数据分组,因为数据中group列有三个值表示数据来自不同的组![Python统计分析:[3]单因素方差分析](https://exp-picture.cdn.bcebos.com/e996472ae3efe0787ac79c02b96c576698cf654e.jpg)
将这三个分组后的数据保存到一个列表args里,有变成经验的应该知道*args的作用,不懂的百度 Python *args![Python统计分析:[3]单因素方差分析](https://exp-picture.cdn.bcebos.com/def72c6c576699cf71a56cd7a885e036e3915e4e.jpg)
首先进行levene test,如果p小于0.05,就警告方差不齐![Python统计分析:[3]单因素方差分析](https://exp-picture.cdn.bcebos.com/22c4fe36e29147e84a167ac6b603bbea3f86584e.jpg)
之后再进行方差分析![Python统计分析:[3]单因素方差分析](https://exp-picture.cdn.bcebos.com/3c42a5ea3e8630481eb59460c33104ebf7a7524e.jpg)
方差分析结果:
![Python统计分析:[3]单因素方差分析](https://exp-picture.cdn.bcebos.com/3c42a5ea3e8630481eb59460c33104ebf7a7524e.jpg)
很多时候我们不知道数据分成多少组,需要自动生成不同组的数据,可以用下面的方法:![Python统计分析:[3]单因素方差分析](https://exp-picture.cdn.bcebos.com/d9e638334884cde3c4da155af07f860e7d75424e.jpg)
检验的结果也是一样的。![Python统计分析:[3]单因素方差分析](https://exp-picture.cdn.bcebos.com/fdb4f00d3aceaad7eb9d4f56eee7340f6578b84e.jpg)
如果你熟悉Statsmodels,你可以这么做来输出更优雅的结果:
输出结果为:![Python统计分析:[3]单因素方差分析](https://exp-picture.cdn.bcebos.com/cfa9ae04541bd10f5ed04e2eba0e1799e82aa74e.jpg)