网站首页 > 技术教程 正文
什么是单因素方差分析?
方差分析是英国统计学家R.A.Fisher于20世纪20年代提出的一种统计方法,有着非常广泛的应用。单因素方差分析,即One-Way ANOVA(One-Way Analysis Of Variance)是方差分析的一种。是研究在某单一的因素影响下,因变量在该单一因素的不同水平下不同组别之间平均值差异。
单因素方差分析的作用是什么?
检验受单一因素影响下,不同因素水平分组的因变量值的平均值是否相同(不同分组均值是否存在显著差异)。例如:不同销售方式,其销售额是否有显著差异;施肥量不同,对农作物收获量的影响;教授方法不同,对成绩是否有显著差异等。
进行方差分析的前提假设(条件)是什么?
需要满足三个基本假设:
- 所有样本均来自正态总体;(正态性)
- 这些正态总体具有相同的方差;(方差齐性)独立抽样。
- 所有观测值相互独立。(独立性)
方差分析的关键术语?
- 因变量(Dependent):度量测量的实验结果。
- 因素(Facor):影响实验结果的自变量,也称因子
- 水平:因素划分的类别,取值类别。
One-Way ANOVA使用的库及数据
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.stats.diagnostic import lilliefors
from scipy.stats import levene
from statsmodels.stats.multicomp import MultiComparison
from scipy.stats import f_oneway
df = pd.read_csv('单因素方差分析-三个条件均满足的情况.csv')
- '单因素方差分析-三个条件均满足的情况.csv'数据集结构、数据集的描述性统计结果如下:
数据呈现
sns.pointplot(data=df,x='teach',y='method_score',capsize=0.1,ci='sd')
plt.ylim(50,100)
_= plt.title('score between different teach method')
sns.boxplot(x='teach',y='method_score',
data=df)
sns.despine(offset=6,trim=True)
方差分析正态性检验:lilliefors检验
正如之前所讲,方差分析有个前提条件是因变量需要符合正态分布(正态性),网上方差分析文章很多,但严格按照假设前提进行检验后再分析的却很少,或许认为样本是正态的,或者认为虽然不正态,但对分析结果影响不大,因而很少有人先进行正态分布性检验。
事实上方差分析的因变量确实需要满足正态分布特质,如果没有满足,则可以使用非参数检验进行检验。例如:MannWhitneyu检验,Kruskal-Wallis-H检验。Alexander-Govern 检验 (scipy.stats.alexandergovern) 。
mannwhitney:Mann-Whitney rank test on two samples.
friedmanchisquare:Friedman test for repeated measurements.
ksstat = []
pval = []
teach_i =[]
for i in df.teach.unique():
data_i = df[df.teach ==i]
ks,p = lilliefors(data_i['method_score'])
ksstat.append(ks)
pval.append(p)
teach_i.append(i)
检验结果:
除了teach4外,其他p值均通过正态性检验。当然,是否这也与显著性水平大小的选择有关。
SPSS检验结果如下图:
方差齐性检验:levene检验
teach_data = []
for i in df.teach.unique():
data_i = df[df.teach ==i] teach_data.append(data_i.method_score)
ks,p = levene(teach_data[0],teach_data[1],teach_data[2],teach_data[3],teach_data[4],teach_data[5])
检验结果:
ks = 2.06, p = 0.0699,方差齐性。
SPSS结果如下图:
One-Way ANOVA:使用scipy.stats.f_oneway
stat,p = f_oneway(teach_data[0],teach_data[1],teach_data[2],teach_data[3],teach_data[4],teach_data[5])
检验结果:
p= 0。不同教法(组)对成绩有显著影响。
SPSS结果如图:
多重比较:寻找显著差异
from statsmodels.stats.multicomp import MultiComparison
mc = MultiComparison(df['method_score'],df['teach'])
result = mc.tukeyhsd()
result.plot_simultaneous(figsize=(6,4),xlabel='score',ylabel='teachMethod')
plt.grid(b=True, which='major', axis='x')
结论:
- teach2与teach5组成绩没有显著差异;
- teach5与teach6组成绩没有显著差异;
- 其它组成绩显著性差异情况上表已经通过True给出。
猜你喜欢
- 2025-01-09 单因素方差分析+作图
- 2025-01-09 描述性统计分析 之 均值分析
- 2025-01-09 86:重复性和再现性分析GRR(2)-GRR均值极差分析法和方差分析法
- 2025-01-09 SPC如何做方差分析,意义又在哪里?
- 2025-01-09 MedSPSS小课堂——多因素方差分析
- 2025-01-09 MedSPSS小课堂——双因素方差分析
- 2025-01-09 SPSS单因素方差分析的操作步骤及结果解读,陈老师SPSS数据分析
- 2025-01-09 【Python特征工程系列】基于方差分析的特征重要性分析
- 2025-01-09 ANOVA方差分析
- 2025-01-09 Python方差分析
你 发表评论:
欢迎- 01-09单因素方差分析+作图
- 01-09描述性统计分析 之 均值分析
- 01-0986:重复性和再现性分析GRR(2)-GRR均值极差分析法和方差分析法
- 01-09SPC如何做方差分析,意义又在哪里?
- 01-09MedSPSS小课堂——多因素方差分析
- 01-09MedSPSS小课堂——双因素方差分析
- 01-09SPSS单因素方差分析的操作步骤及结果解读,陈老师SPSS数据分析
- 01-0914单因素方差分析:One-Way ANOVA
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)