首页 > 其他 > 详细

方差分析

时间:2020-07-07 12:39:33      阅读:80      评论:0      收藏:0      [点我收藏+]

1.单因素方差分析:

单因素方差分析:只有一个因素A对实验指标有影响,假设因素A有r个水平,分别在第i个水平下进行多次独立的观察,所得到的实验指标数据如下:

A1:N(μ12)   X11  X12   ... X1n1

A2N(μ22)   X21  X22   ... X2n2

Ar:N(μr2)    Xr1   Xr2   ... Xrnr

注意:每个水平的观测次数不一定一样

各总体间相互独立,因此有下面的模型:

 

技术分享图片

 

 

 Xij就是第i个水平的第j个观测值,μi就是第i个水平的理论均值,εi显示随机误差(误差服从正态分布)

分析因素A对于实验指标是否有显著影响,可以看因素A不同水平的均值是否有显著差异,因此有如下假设:

原假设:H012=...μr

备选假设 H1:既是均值不全相等

Xij有偏差,要不就是由于不同水平的均值不同,又或者是随机误差的存在,因此全部Xij之间的差异的公式如下:

技术分享图片

 

 

 上面这个叫总偏差平方和 

技术分享图片

 

 

有A因素引起的 差异叫效应平方和SA,随机误差引起的差异,叫做误差平方和SE

首先计算误差平方和 ,这样个体之间的差异的每个水平的均值没有关系,因此有如下:

技术分享图片

 

 

 技术分享图片技术分享图片

 

 

 综合上述表达,得到:

技术分享图片

 

 

 总偏差平方和减去误差平方和,得到

技术分享图片

 

 

 SE如果除以σ2则会符合自由度为ni-1的卡方分布

当H0为真的时候技术分享图片,但是我们不知道σ2,因此为了抵消这个未知量,我们构造的检验统计量为:

技术分享图片

 

 技术分享图片

 

 

 

 

 我们最终只会关系p值,如果p>0.05则接受原假设,否则拒绝原假设

例子:

import pandas as pd
import numpy as np

from scipy import stats
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm

# 这是那四个水平的索赔额的观测值
A1 = [1.6, 1.61, 1.65, 1.68, 1.7, 1.7, 1.78]
A2 = [1.5, 1.64, 1.4, 1.7, 1.75]
A3 = [1.6, 1.55, 1.6, 1.62, 1.64, 1.60, 1.74, 1.8]
A4 = [1.51, 1.52, 1.53, 1.57, 1.64, 1.6]

data = [A1, A2, A3, A4]
# 方差的齐性检验
w, p = stats.levene(*data)
if p < 0.05:
    print(方差齐性假设不成立)

# 成立之后, 就可以进行单因素方差分析
f, p = stats.f_oneway(*data)
print(f, p)      #  stats.f_oneway函数就可以直接算出检验假设的f值和p值

方差的齐性检验,如果p<0.05则拒绝原假设,即是方差不齐性 

 如果手动去计算:

#首先将数据改成DataFrame形式
values = A1.copy()
groups = []
for i in range(1, len(data)):
    values.extend(data[i])  #extend() 函数用于在列表末尾一次性追加另一个序列中的多个值

for i, j in zip(range(4), data):
    groups.extend(np.repeat(A+str(i+1), len(j)).tolist())

df = pd.DataFrame({values: values, groups: groups})


#单因素分析
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
anova_res = anova_lm(ols(values~C(groups), df).fit())
anova_res.columns = [自由度, 平方和, 均方, F值, P值]
anova_res.index = [因素A, 误差]
anova_res        # 这种情况下看p值  >0.05 所以接受H0

 

方差分析

原文:https://www.cnblogs.com/cgmcoding/p/13259823.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!