统计学习第十五周-方差分析实践

有A、B、C、D四个地区,不同地区的销售量不一样,现抽取了不同时间段内每个地区的销售量,试解决:
1、每个地区间的销售量是否相同?
2、不同月份的销售量是否相同?
3、不同时间与地区的销售量是否相同?

1、每个地区间的销售量是否相同?

(1)提出假设
H0:u1=u2=u3=…=un,每个地区间的销售量没有显著变化。
H1:ui(i=1,2,3,…)不完全相等,地区对销量有显著变化。

(2)构造检验的统计量

计算各水平的均值
在这里插入图片描述
在这里插入图片描述

#A地区的均值
print(data['A'].mean())
#B地区的均值
print(data['B'].mean())
#C地区的均值
print(data['C'].mean())
#D地区的均值
print(data['D'].mean())
#总均值
sum1=data['A'].sum()+data['B'].sum()+data['C'].sum()+data['D'].sum()
ave=sum1/(4*data.shape[0])
print(ave)

在这里插入图片描述
计算误差平方和

# SST  总误差平方和
SST=sum((data['A']-ave)*(data['A']-ave))+sum((data['B']-ave)*(data['B']-ave))+sum((data['C']-ave)*(data['C']-ave))+sum((data['D']-ave)*(data['D']-ave))
print("SST:",SST)

# SSA 水平项误差平凡和
SSA=11*(data['A'].mean()-ave)*(data['A'].mean()-ave)+11*(data['B'].mean()-ave)*(data['B'].mean()-ave)+11*(data['C'].mean()-ave)*(data['C'].mean()-ave)+11*(data['D'].mean()-ave)*(data['D'].mean()-ave)
print("SSA:",SSA)

# SSE  误差项平方和
SSE=sum((data['A']-data['A'].mean())*(data['A']-data['A'].mean()))+sum((data['B']-data['B'].mean())*(data['B']-data['B'].mean()))+sum((data['C']-data['C'].mean())*(data['C']-data['C'].mean()))+\
   sum((data['D']-data['D'].mean())*(data['D']-data['D'].mean()))
print("SSE:",SSE)

结果是
在这里插入图片描述

#均方
MSA=SSA/(4-1)
print("MSA:",MSA)

MSE=SSE/(44-4)
print("MSE:",MSE)

F=MSA/MSE
print("F分布是:",F)

结果是:
在这里插入图片描述
由于查的F阿法(3,40)=3.13

由于F>Fa ,所以我们认为地区对销售量有显著性影响,即每个地区间销售量不同。
2、不同月份的销售量是否相同?

data=data[['A','B','C','D','month']].copy()
data1=data.groupby(['month']).agg('sum').reset_index()
data1

在这里插入图片描述

#1月的均值
print((data1[data1['month']==1]['A']+data1[data1['month']==1]['B']+data1[data1['month']==1]['C']+data1[data1['month']==1]['D'])/4)
#2月的均值
print((data1[data1['month']==3]['A']+data1[data1['month']==3]['B']+data1[data1['month']==3]['C']+data1[data1['month']==3]['D'])/4)
#3月的均值
print((data1[data1['month']==12]['A']+data1[data1['month']==12]['B']+data1[data1['month']==12]['C']+data1[data1['month']==12]['D'])/4)

data1['ave']=[22445.5,13402.0,26101.75]

#总均值
sum1=data1['A'].sum()+data1['B'].sum()+data1['C'].sum()+data1['D'].sum()
ave=sum1/(4*data1.shape[0])
print(ave)

在这里插入图片描述

# SST  总误差平方和
SST=sum((data1['A']-ave)*(data1['A']-ave))+sum((data1['B']-ave)*(data1['B']-ave))+sum((data1['C']-ave)*(data1['C']-ave))+sum((data1['D']-ave)*(data1['D']-ave))
print("SST:",SST)

# SSA 水平项误差平凡和
SSA=4*sum((data1['ave']-ave)*(data1['ave']-ave))
print("SSA:",SSA)

# SSE  误差项平方和
SSE=SST-SSA
print("SSE:",SSE)

在这里插入图片描述

#均方
MSA=SSA/(4-1)
print("MSA:",MSA)

MSE=SSE/(44-4)
print("MSE:",MSE)

F=MSA/MSE
print("F分布是:",F)

在这里插入图片描述
由于F>Fa ,所以我们认为不同月份对销售量有显著性影响,即每个月销售量不同。

3、不同时间与地区的销售量是否相同?

双因素对方差分析的影响
分为行因素 和列因素
我将时间为行因素,将地区为列因素。
SSR为行因素产生的误差平方和

#SST=SSR+SSC+SSE
# SST  总误差平方和
SST=sum((data1['A']-ave)*(data1['A']-ave))+sum((data1['B']-ave)*(data1['B']-ave))+sum((data1['C']-ave)*(data1['C']-ave))+sum((data1['D']-ave)*(data1['D']-ave))
print("SST:",SST)

SSR=SSA2
print("SSR:",SSR)

SSC=SSA1
print("SSC:",SSC)

SSE=SST-SSR-SSC
print("SSE:",SSE)

在这里插入图片描述

MSR=SSR/2
print("MSR:",MSR)

MSC=SSC/3
print("MSC:",MSC)

MSE=SSE/(2*3)
print("MSE:",MSE)

在这里插入图片描述

Fr=MSR/MSE
print("Fr:",Fr)

Fc=MSC/MSE
print("Fc:",Fc)

在这里插入图片描述
Fr>Fa,Fc>Fa,所以不同时间与地区的销售量不相同。
##############################################################
@ 2020.02.23 木居居士的统计学小组 第十五周 打卡
安利公益监督学习组织 - 【公众号】数据科学家联盟
https://mp.weixin.qq.com/s/1WWmbLZucz9vIp-4tKKQ5Q
感谢木东大佬、饼干大佬、南头大佬、星空妹砸、Desitiny、 DD-Kylin的无私付出,抱拳ing~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值