ANOVA(analysis of variance),方差分析,曾经以为它是一个多么复杂的简写。。。

一、理解F分布

要理解F分布,就要先理解卡方分布,要理解卡方分布,就要先理解正态分布。

1.正态分布的概率密度函数的表达式:

画出它的图像:

集中分布在随机变量的均值附近,对称

2.卡方分布

如果有n个服从正态分布的随机变量x,我们从这n个随机变量创造出一个新的随机变量,让它们平方然后相加(至于为什么要这么创造,这得去看卡方分布的创造过程):

假如我们就给这个新的随机变量取名叫“卡方”,那么卡方的概率密度函数为:

公式打着太费时间了,转战这篇博文:

https://blog.csdn.net/huangjx36/article/details/78002996

补充一下,gamma函数的表达式为:

可以证明,这个gamma函数的值一定存在,而且大于0

为什么这个复杂?人家就是傲娇地服从这个规律并且被找出来了。

这里的k(或者n)叫做自由度,它决定了卡方分布的概率密度曲线长什么样,就像均值方差决定正态分布长什么样一样。

3.F分布

我们再从两个服从卡方分布的随机变量创造一个新的随机变量,我们取名叫F:

https://baike.baidu.com/item/F-%E5%88%86%E5%B8%83/6311687

那么F的概率密度函数表达式和图象为:

对,一个更复杂的表达式。图象的长相由两个参数,自由度1和自由度2决定。

2. 理解ANOVA中的F值和p值

ANOVA我这里是用来做特征选择。

我假设,同一特征不同组间的均值是一样的。那我有多大的概率接受这个假设?

现在我要做的就是根据我的数据计算出F值(其实按照我的理解,这里的F就是一个随机变量,只是这个随机变量不是可以像投硬币一样把这个事件本身当做一个随机变量这么简单,而是要根据组间的数据计算一下,计算的过程参考https://en.wikipedia.org/wiki/One-way_analysis_of_variance#Example)

从计算的过程可以推出,其实我们默认了 组间方差或组内方差服从卡方分布。

这里的F值是一个比值,组间平均方差和组内平均方差的比值,当组间方差和组内方差一样(我们认为这两个组别差别很小),那么F值为1,组间方差远大于组内方差时这个F值也就会比较大。

下面这幅图是F分布的图像

可以看出,每一个F值都会对应一个p值,F值越大,p值越小,我就越不可能接受我的假设,也就认为组间的特征差别大。

所以,p值越小,这个特征就越该被保留下来。

建议看:

https://stats.stackexchange.com/questions/12398/how-to-interpret-f-and-p-value-in-anova

如何理解ANOVA中的F值与P值相关推荐

  1. 如何理解CNN中的权值共享

    记录一下深度学习中CNN中的权值共享 首先,卷积网络的核心思想是将:局部感受野.权值共享(或者权值复制)以及时间或空间亚采样这三种结构思想结合起来获得了某种程度的位移.尺度.形变不变性. 通俗理解,所 ...

  2. c语言中字符串关于左值,关于左值lvalue和右值rvalue的一点理解

    发现很多朋友对"lvalue"和"rvalue"理解有误,我先谈谈自己对此的一些理解,并期望能够引起更多朋友的广泛讨论.也算起到抛砖引玉的作用吧.引用:注:这里 ...

  3. python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递

    python 的 深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是&q ...

  4. c++类指针赋值表达式必须是可修改的左值_C++进阶教程系列:全面理解C++中的类...

    原标题:C++进阶教程系列:全面理解C++中的类 关注Linux公社 最近刷了一些题,也面试了一些公司,把关于C++中关于类的一些概念总结了一下. 在这里也反思一下,面试前信心满满自以为什么都懂,毫无 ...

  5. java引用传递_理解Java中的引用传递和值传递

    关于Java传参时是引用传递还是值传递,是一个讨论比较多的话题, 有说Java中只有值传递,也有些地方说引用传递和值传递都存在,本篇记录思考过程,不保证正确性, 感兴趣的同学一起讨论. 1.基本类型和 ...

  6. java 值栈的结构_Struts2 | 深入浅出理解struts2中的值栈

    在没有struts框架的时候,我们通常在Servlet中使用域对象进行存值和取值,将其作为载体来承载页面和后台之间的数据传递. 在struts2中,我们又有了一种新的机制来进行数据的传递. 那就是st ...

  7. 理解逻辑回归中的ROC曲线和KS值

    1.回归和分类任务 分类和回归都属于监督学习(训练样本带有信息标记,利用已有的训练样本信息学习数据的规律预测未知的新样本标签) 分类预测的结果是离散的(例如预测明天天气-阴,晴,雨) 回归预测的任务是 ...

  8. 理解C和C++中的左值和右值

    翻译至https://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c/ C/C++编程中不是 ...

  9. 理解C++中的左值和右值

    一.前言 一直以来,我都对C++中左值(lvalue)和右值(lvalue)的概念模糊不清.我认为是时候好好理解他们了,因为这些概念随着C++语言的进化变得越来越重要. 二.左值和右值--一个友好的定 ...

最新文章

  1. 浅析redis与zookeeper构建分布式锁的异同
  2. TCP三次握手与四次断开
  3. mysql 更改数据库编码_更改MySQL数据库的编码为utf8mb4
  4. OpenKruise 如何实现 K8s 社区首个规模化镜像预热能力
  5. 【有三说深度学习】深度学习前夕
  6. Python之socketserver模块和验证客户端链接的合法性
  7. 2.Idea分支的merge
  8. Java学习笔记(二):String
  9. Unity3dRPG 相机跟随player旋转_跟随式灌装机
  10. 关于智能推荐的几点思考
  11. python if else 与 if elif else 的区别
  12. mac下缺乏make wget怎么办?
  13. 成员函数指针有多态的效果吗?
  14. js2D物理引擎插件
  15. vscode任务栏图标突然不显示
  16. ODC预制光纤连接器
  17. Clojure 语言在 2020 年的现状
  18. Android 磁场传感器 地磁倾角计算 SensorManager.getInclination方法
  19. PCB工艺多层盲孔板+树脂塞孔工艺——深亚电子
  20. postman报错500 Internal Server Error

热门文章

  1. 大前端各阶段知识点,视频,软件,书籍,源码,面试题等汇总
  2. 计算机vba函数,excel vba求平均值_求VBA编程或EXCEL公式(函数)
  3. 软件测试实习生(月薪3k-5k)需要具备哪些技能才能找到工作?
  4. Dojo.Book中文版
  5. 4、python开源——scrapy爬虫天气预报
  6. 咱们也真够疯狂的。。
  7. 明码(十进制转二进制,输出格式)
  8. 一个跑步时用的轨迹记录和计步器APP
  9. 香港理工大学王淑君老师课题组招收全奖博士生/实习生
  10. 计算机的喇叭接口显示的英文,电脑没声音右下角小喇叭显示红X,播放设备AMDHDMIOUTPUT...