首页

专栏

python

文章详情

0

统计科学之方差分析

张俊红发布于 今天 07:40

上一篇讲了假设检验,这一篇讲讲方差分析。

1.背景:

假如你们现在针对用户提出了三种提高客单价的策略A、B、C,现在想看一下这三种策略最后对提高客单价的效果有什么不同,那我们怎么才能知道这三种策略效果有什么不同?最简单的方法就是做一个实验,我们可以随机挑选一部分用户,然后把这些用户分成三组A、B、C组,A组用户使用A策略、B组用户使用B策略、C组用户使用C策略,等策略实施一段时间以后,我们来看一下这三组分别的客单价是什么水平?哪组平均客单价高,就说明哪组策略有效果。真的可以得出这的结论吗?是可以,但是不够严谨。

为什么说不够严谨呢?是因为我们用来做实验的用户是随机挑选的,有可能客单价高的那部分用户(比如高价值用户)本身就要比其他用户群体的客单价高,那为了避免这种可能是因为随机抽样造成的结果不一致问题,我们就需要去证明下,到底是不是因为随机挑选的原因,如果不是,我们就可以去比较各组的平均客单价,哪组客单价较高,就说明哪组策略更有效果。

我们的最终目的其实就是为了比较各组的平均客单价,但是在比较均值之前,我们需要先证明下各组之间的结果不同是因为策略的原因还是随机挑选的原因,我们把这个过程叫做方差分析。

2.三个假设:

方差分析有三个假设:

正态检验主要有两种大的方法,一种是统计检验的方法:主要有基于峰度和偏度的SW检验、基于拟合度的KS、CVM、AD检验;另一种是用描述的方法:Q-Q图和P-P图、茎叶图,利用四分位数间距和标准差来判断。

方差齐性的主要判断方法有:方差比、Hartley检验、Levene检验、BF法。

由于篇幅问题,关于上面涉及到的方法以后专门来讲,有兴趣的同学可以先自行查阅。

3.方差分析流程

3.1建立假设

H0:各组的客单价均值相等;

H1:各组的客单价均值不相等或不全等。

检验水准为0.05。

3.2计算检验统计量F值

F值 = 组间方差/组内方差。我们主要是通过比较F值的大小来判断各组之间是否存在显著差异。

所谓的组间方差就是用来反映组与组之间的差异程度,组内方差就是用来反映各组内部数据的差异程度。

如果各组之间的客单价相等,即假设H0成立,也就意味着各组之间是没啥区别的,也就是组间方差会很小甚至为0,与之对应的方差很大的概率会很低,所以如果F值越大,表明在假设H0成立的前提下出现出现这一结果的概率越小,相当于我们前面提到的小概率事件,如果一旦小概率事件发生了,我们就有理由去拒绝原假设。

要来计算方差,我们需要先计算平方和。为了让大家能够更加理解,我们来举个例子来讲解各个指标怎么计算。

现在有两组数据:

第一组:80、85、96

第二组:110、125、130、145、160

第一组和第二组的总算术平均值为:

(80+85+96+110+125+130+145+160)/8 = 116.375。

第一组的算术平均值:(80+85+96)/3 = 87

第二组的算术平均值:

(110+125+130+145+160)/5 = 134

组间平方和(SSA):

= 第一组平均值与总体平均值的平方和×第一组样本数+第二组平均值与总体平均值的平方和×第二组样本数

= (87-116.375)^2×3 + (134-116.375)^2×5 = 4141.875

组内平方和(SSE):

= 第一组平方和 + 第二组平方和

=(80-87)^2+(85-87)^2+(96-87)^2

+(110-134)^2+(125-134)^2+(130-134)^2

+(145-134)^2+(160-134)^2

=134+1470=1604

总体平方和(SST):

=所有样本数据与总体平均值之间的平方和

=(80-116.375)^2+(85-116.375)^2+(96-116.375)^2

+(110-116.375)^2+(125-116.375)^2+(130-116.375)^2

+(145-116.375)^2+(160-116.375)^2

=5745.875

通过以上数据,我们可以看出 SST = SSA + SSE。

总平方和会有一个问题,就是随着数据量越大,这个值会越大,所以我们引入另外一个概念:均方。均方=平方和/自由度,其中自由度是样本数-1。

组间均方(MSA) = SSA/自由度 = 4141.875/(2-1) = 4141.875

组内均方(MSE) = SSE/自由度 = 1604/(8-2) = 267.333

MSA又称为组间方差,MSE称为组内方差。

F = MSA/MSE = 4141.875/267.333 = 15.4933

3.3确定边界值并做出决策

此时我们就可以通过查F表,来获得置信度为95%时的F边界值:

如果F

如果F≥F边界值表面各组数据之间存在明显差异,拒绝H0假设,接受H1假设。

如果我们证实了各组数据之间是存在明显差异的,这个时候就可以去拿各组的均值来进行比较,均值越大,可以说明策略效果越好。

一般最后我们都可以得到下面这么一个表:

以上就是简单的方差分析的基本原理与流程,也是单因素方差分析(单因素,就是只有策略这一个维度),还有双因素方差分析,就是不止考虑策略这一个维度,还需要别的维度,比如时间、地域之类的,还有交叉作用的双因素分析,就是不止策略和地域分别的影响,这两者结合在一起可能会产生第三种影响。关于方差分析的更多内容,我们之后再来分享。

mysqlpython机器学习数据挖掘网页爬虫

阅读 36发布于 今天 07:40

赞收藏

分享

本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议

俊红的数据分析之路

公众号:《俊红的数据分析之路》,分享数据分析相关的内容。

关注专栏

张俊红

公众号:《俊红的数据分析之路》,分享数据分析相关的内容。

1声望

0粉丝

关注作者

0 条评论

得票时间

提交评论

张俊红

公众号:《俊红的数据分析之路》,分享数据分析相关的内容。

1声望

0粉丝

关注作者

宣传栏

上一篇讲了假设检验,这一篇讲讲方差分析。

1.背景:

假如你们现在针对用户提出了三种提高客单价的策略A、B、C,现在想看一下这三种策略最后对提高客单价的效果有什么不同,那我们怎么才能知道这三种策略效果有什么不同?最简单的方法就是做一个实验,我们可以随机挑选一部分用户,然后把这些用户分成三组A、B、C组,A组用户使用A策略、B组用户使用B策略、C组用户使用C策略,等策略实施一段时间以后,我们来看一下这三组分别的客单价是什么水平?哪组平均客单价高,就说明哪组策略有效果。真的可以得出这的结论吗?是可以,但是不够严谨。

为什么说不够严谨呢?是因为我们用来做实验的用户是随机挑选的,有可能客单价高的那部分用户(比如高价值用户)本身就要比其他用户群体的客单价高,那为了避免这种可能是因为随机抽样造成的结果不一致问题,我们就需要去证明下,到底是不是因为随机挑选的原因,如果不是,我们就可以去比较各组的平均客单价,哪组客单价较高,就说明哪组策略更有效果。

我们的最终目的其实就是为了比较各组的平均客单价,但是在比较均值之前,我们需要先证明下各组之间的结果不同是因为策略的原因还是随机挑选的原因,我们把这个过程叫做方差分析。

2.三个假设:

方差分析有三个假设:

正态检验主要有两种大的方法,一种是统计检验的方法:主要有基于峰度和偏度的SW检验、基于拟合度的KS、CVM、AD检验;另一种是用描述的方法:Q-Q图和P-P图、茎叶图,利用四分位数间距和标准差来判断。

方差齐性的主要判断方法有:方差比、Hartley检验、Levene检验、BF法。

由于篇幅问题,关于上面涉及到的方法以后专门来讲,有兴趣的同学可以先自行查阅。

3.方差分析流程

3.1建立假设

H0:各组的客单价均值相等;

H1:各组的客单价均值不相等或不全等。

检验水准为0.05。

3.2计算检验统计量F值

F值 = 组间方差/组内方差。我们主要是通过比较F值的大小来判断各组之间是否存在显著差异。

所谓的组间方差就是用来反映组与组之间的差异程度,组内方差就是用来反映各组内部数据的差异程度。

如果各组之间的客单价相等,即假设H0成立,也就意味着各组之间是没啥区别的,也就是组间方差会很小甚至为0,与之对应的方差很大的概率会很低,所以如果F值越大,表明在假设H0成立的前提下出现出现这一结果的概率越小,相当于我们前面提到的小概率事件,如果一旦小概率事件发生了,我们就有理由去拒绝原假设。

要来计算方差,我们需要先计算平方和。为了让大家能够更加理解,我们来举个例子来讲解各个指标怎么计算。

现在有两组数据:

第一组:80、85、96

第二组:110、125、130、145、160

第一组和第二组的总算术平均值为:

(80+85+96+110+125+130+145+160)/8 = 116.375。

第一组的算术平均值:(80+85+96)/3 = 87

第二组的算术平均值:

(110+125+130+145+160)/5 = 134

组间平方和(SSA):

= 第一组平均值与总体平均值的平方和×第一组样本数+第二组平均值与总体平均值的平方和×第二组样本数

= (87-116.375)^2×3 + (134-116.375)^2×5 = 4141.875

组内平方和(SSE):

= 第一组平方和 + 第二组平方和

=(80-87)^2+(85-87)^2+(96-87)^2

+(110-134)^2+(125-134)^2+(130-134)^2

+(145-134)^2+(160-134)^2

=134+1470=1604

总体平方和(SST):

=所有样本数据与总体平均值之间的平方和

=(80-116.375)^2+(85-116.375)^2+(96-116.375)^2

+(110-116.375)^2+(125-116.375)^2+(130-116.375)^2

+(145-116.375)^2+(160-116.375)^2

=5745.875

通过以上数据,我们可以看出 SST = SSA + SSE。

总平方和会有一个问题,就是随着数据量越大,这个值会越大,所以我们引入另外一个概念:均方。均方=平方和/自由度,其中自由度是样本数-1。

组间均方(MSA) = SSA/自由度 = 4141.875/(2-1) = 4141.875

组内均方(MSE) = SSE/自由度 = 1604/(8-2) = 267.333

MSA又称为组间方差,MSE称为组内方差。

F = MSA/MSE = 4141.875/267.333 = 15.4933

3.3确定边界值并做出决策

此时我们就可以通过查F表,来获得置信度为95%时的F边界值:

如果F

如果F≥F边界值表面各组数据之间存在明显差异,拒绝H0假设,接受H1假设。

如果我们证实了各组数据之间是存在明显差异的,这个时候就可以去拿各组的均值来进行比较,均值越大,可以说明策略效果越好。

一般最后我们都可以得到下面这么一个表:

以上就是简单的方差分析的基本原理与流程,也是单因素方差分析(单因素,就是只有策略这一个维度),还有双因素方差分析,就是不止考虑策略这一个维度,还需要别的维度,比如时间、地域之类的,还有交叉作用的双因素分析,就是不止策略和地域分别的影响,这两者结合在一起可能会产生第三种影响。关于方差分析的更多内容,我们之后再来分享。

python方差分析图_【Python】统计科学之方差分析相关推荐

  1. python方差齐性检验_【Python】统计科学之方差齐性检验

    首页 专栏 python 文章详情 0 统计科学之方差齐性检验 张俊红发布于 今天 10:38 1.前言 我们在方差分析里面有讲过,方差分析有一个很重要的前提就是叫方差齐性.这一篇来讲讲如何来检验方差 ...

  2. python 方差分解_干货 :教你用Python来计算偏差-方差权衡

    原标题:干货 :教你用Python来计算偏差-方差权衡 作者:Jason Brownlee 翻译:吴振东 本文约3800字,建议阅读8分钟. 本文为你讲解模型偏差.方差和偏差-方差权衡的定义及联系,并 ...

  3. python方差齐性检验_方差分析中的方差齐性检验_方差齐性检验结果分析

    方差分析中的方差齐性检验_方差齐性检验结果分析_方差分析 齐性检验 方差分析时的方差齐性检验是方差分析的前提条件,还是只是后面进行均值的多重比较时选择分析方法的依据?看过几本书,这两种观点都有.我看方 ...

  4. python方差齐性检验_讲讲如何来检验方差齐性

    1.前言 我们在方差分析里面有讲过,方差分析有一个很重要的前提就是叫方差齐性.这一篇来讲讲如何来检验方差齐性. 先讲讲什么是方差齐性,方差齐性是指不同组间的总体方差是一样的.那为什么方差分析的前提是要 ...

  5. python 病毒 基因_#Python#提取基因对应的蛋白质名

    提取基因对应的蛋白质官方名 最开始,是需要将基因跟其编码的蛋白质对应起来,找遍了各种数据库都没发现有相关的注释文件,Uniprot作为处理蛋白质的大佬,结果里都有,肯定有办法能够满足需求. 搜索TP5 ...

  6. python keyboard模块_[python] PyMouse、PyKeyboard用python操作鼠标和键盘

    1.PyUserInput 简介 PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,非常方便使用.支持的平台及依赖如下: Linux - Xlib Mac - Quartz, ...

  7. python 显著性差异_比萨斜塔——统计显著性检验

    Dataset 比萨斜塔是意大利最大的旅游景点之一.几百年来这座塔慢慢靠向一边,最终达到5.5度的倾斜角度,在顶端水平偏离了近3米.年度数据pisa.csv文件记录了从1975年到1987年测量塔的倾 ...

  8. python 方差齐性检验_方差齐性的考察和应对策略

    以真实商业案例为数据基础,课程内容围绕scipy.stats和statsmodels包的相关功能展开,从统计分析实战的角度出发详细介绍了如何在Python中完成数据描述.t检验.单因素方差分析.卡方检 ...

  9. python 博弈论 社会网络_【 统计应用 】 社会网络分析SNA报告-学习

    因对社会计算和舆情感兴趣,决定从SNA报告开始学习. 一个舆情事件通常有六要素:who,when,where,why,how,result.根据第三方的统计结果,平均一个热点持续时间为15天,且平均一 ...

最新文章

  1. VOICE VOER IP(VoIP)理论(NP水平学的)
  2. 5G NPN 行业专网 — 媒体行业 5G 专网部署方案
  3. BZOJ 2456 : mode
  4. 《深入理解计算机系统》读书笔记六:整数表示
  5. Python导入CSV短代码(pandas?),以';'分隔 和','全部
  6. 门道多:一次MaxCompute PS任务的问题排查之旅
  7. python3 2.00gb怎么去掉单位_最值得期待的Python 3.9的新功能
  8. vue快速复制快捷键_⌨️ Vue项目给应用优雅的绑定快捷键
  9. java addcallback函数_java中怎么使用callback函数?
  10. mysql cleaned up_MySQL数据库无法启动的简单排错
  11. drools 7.x 决策表使用
  12. 10 分钟,带你快速入门前端三大技术(HTML、CSS、JavaScript)
  13. ECharts之force力导向布局图——数据源说明及后端API约定
  14. 测试晶面间距软件_DM3软件使用 透射电镜照片上晶格间距的测量是从两条线的最里面测量...
  15. 计算机病毒教学评课,计算机病毒评课稿样稿.doc
  16. 质量免费--读书笔记(上篇)
  17. matlab地震p波,如何确定地震深度?试试远震P波
  18. 小米MIUI备份/小米助手数据通过BAK进行恢复 | 生成MIUI的descript.xml文件进行数据恢复 | 手动恢复MIUI备份/小米助手数据
  19. 一位软件测试工程师的5年成长经历,这些职场黑话,你需要知道
  20. 微信小程序小技巧分享

热门文章

  1. 微软Bing突然爆炸级更新!BingChat全面开放,下一代搜索要来啦!
  2. 幽默经典语录太经典了
  3. OpenGL实现物体动画和视频特效(视频水印、美白、滤镜等)
  4. 开车旅行 travel
  5. python爬虫百度云资源分享吧_python爬虫入门 实战(七)---爬取并闪存微信群里的百度云资源...
  6. 阵列卡直通模式和raid模式_linux入门系列13--磁盘管理之RAID、LVM技术
  7. 正能量系列]失业的程序员(四)
  8. 岗位廉政风险防控措施
  9. C语言密码破解案例,精彩啊!
  10. JS字符串替换函数全部替换方法