Python方差分析实践


实践数据:链接: https://pan.baidu.com/s/1ljLoZrT_MnAZYnpOmJt0wQ 提取码: xw8p


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

#(1)提出假设

#H0:u1=u2=u3=…=un,每个地区间的销售量没有显著变化。

#H1:ui(i=1,2,3,…)不完全相等,地区对销量有显著变化。

#(2)构造检验的统计量

#计算各水平的均值 因素为地区,水平为4,因变量为销售量,根据单因素销售量

import pandasas pd

import numpyas np

data = pd.read_excel(r"D:\Users\Downloads\销售数据.xlsx")

print('A地区的均值:',data['A'].mean())

print('B地区的均值:',data['B'].mean())

print('C地区的均值:',data['C'].mean())

print('D地区的均值:',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=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)

SSA1=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(组间(水平项)误差平方和):",SSA1)

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=SSA1/(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、不同月份的销售量是否相同?

import datetime

data=data[['A','B','C','D','month']].copy()

def fun_m(x):

a=datetime.datetime.strftime(x, '%Y-%m')

return a

data['month'] = data['month'].apply(lambda x:fun_m(x))

#按月份汇总统计值

data1=data.groupby(['month']).agg('sum').reset_index()

#print(data1['month'])

print('1月的均值:', (data1[data1['month']=='2019-01']['A']+data1[data1['month']=='2019-01']['B']+data1[data1['month']=='2019-01']['C']+data1[data1['month']=='2019-01']['D'])/4)

print('3月的均值:', (data1[data1['month']=='2019-03']['A']+data1[data1['month']=='2019-03']['B']+data1[data1['month']=='2019-03']['C']+data1[data1['month']=='2019-03']['D'])/4)

print('12月的均值:',(data1[data1['month']=='2019-12']['A']+data1[data1['month']=='2019-12']['B']+data1[data1['month']=='2019-12']['C']+data1[data1['month']=='2019-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 水平项误差平凡和

SSA2=4*sum((data1['ave']-ave)*(data1['ave']-ave))

print("SSA:",SSA2)

# SSE  误差项平方和

SSE=SST-SSA2

print("SSE:",SSE)

#均方

MSA=SSA2/(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  总误差平方和

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

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,所以不同时间与地区的销售量不相同。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,696评论 0 3
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,451评论 0 13
  • # -*- coding: utf-8 -*- from __future__ import division f...
    小豆角lch阅读 1,293评论 0 0
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,340评论 0 2
  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 971评论 0 1