如果让大家写一个50次的抛硬币实验的可能结果(头像H或字T),多半人在连续三个一样的后,会换一下。因为大家都知道,连续一样的越多,概率越小,越不可能发生。大部分人不会去想,其实HHHTT和HHHHH发生的概率是一样大。

不知道大家有没看过一本书叫<秘密>(1)。此书的基本观点就是心想事成,如果你坚定地认为一件事情会发生,它就会发生。假设我非常的相信这个理论。现在做一个实验,我在与别人抛硬币打赌,我赌H,连续三次赢的胜出。打赌的过程中,我坚信我一次会赢,结果一开始就连续三次的得了H,我赢了。我们可以得出结论,<秘密>的心想事成的理论是对的吗?

我猜有人会说,不不不,T/H概率为0.5的二项分布,是HHH的概率是1/8。1/8概率的事件还是可能发生的,所以不能说就是”心想事成"的理论在起作用。Bingo!这个有力的反驳看起来很容易做到,是吗?但事实上,并不是很多的人都这么想,据调查,某位美国总统竞选人如果胜算只有30%的话,大部人的人会认为是不可能成功的(但事实常常不是这样)。某位正在减重的微胖人士,参加了一个减重活动,一个月后,发现体重确实轻了两公斤,一般他/她会认为这个减重活动很有效果,完全忽略如果什么都不做的话,一个月体重减轻两公斤也是有一定的概率的,而且还不低。用统计学的语言来说,就是大家非常容易低估随机因素的力量,我觉得用通俗的话来说,就是大家容易掉入随机陷阱。我们回到打赌实验来,如果第二次打赌,我又是头三次就都得了H,赢了,那我可以得出心想事成的理论是对的吗?

如果还不能,那第三次还一样呢?

如果还不能,要什么时候能推断出这个理论是成立的呢。

也许你会想出一个办法,我就定义,如果概率是0.01的事件还发生,我就当作是某种力量在起作用。当第二次发生的时候,概率为1/64,不成立。第三次发生,概率为1/512,小于0.01,那就是这个力量在起作用。也就是如果连续三次实验都出现头三次都抛出H,那"心想事成"的理论就是成立的。

其实这就是P值和alpha值的一个极简例子。实际算出来的1/8, 1/64, 1/512就是p值,0.01就是alpha值。P值就是旨在算出一个事件随机也会发生的概率。那为什么统计学的p值理解起来这么拗口呢。

首先,对于一个观察对象,我们不一定知道它的分布。我们这个例子是二项分布,我们知道了分布,就很容易推算出某件事件的发生概率。但如果不知道分布呢,那事情就变得非常的复杂。所以我们必须用复杂的方法来算出这个p值。没有绝对完美的方法,所以算出的p值不是绝对的准确。如果不是准确的p值,那之前的定义(某个事件随机发生的概率)也是不准确的。所以应该修正为,某种模型下的某事件的随机概率。事情变得复杂起来了是不是。如果以下无法follow,只要牢牢的记住,p值的目的就好了(算出一个事件随机发生的概率,排除随机因素对事件的影响)。

当做一个统计学实验的时候,比如说A/B test。实验的通常做法是在B上面做了某个改动。比如说对网页的某个button的位置做了改动,然后观察,改动之后,点击率是否提高。对于点击率的分布,随机因素太多了,无法给出分布。但我们有数据,比如说,

我们现在就要通过这些数据来算出,B当中多了的10是随机造成的,还是B的改动造成的。最经典的做法是,零条件假设实验。就是把A和B的数据并在一起,shuffle,然后随机分成两组,记录下差距值。重复实验n次,就有一组值,然后计算差距在10以上的概率是多少。这个概率就是p。如果这个概率小于某个规定的值(alpha),就说明这个零条件假设失败,得出结论,B实验的点击率提升是由button改动造成的。

上面这个例子也不是很难理解,是不是。问题就是大家并不是遵守同样的做法来计算p值 (并不都是遵循: merge-shuffle-resample,即使遵循了,细节也有很大不同)。有的统计学论文为了证明的自己的研究结果有效,在众多的方法中,就选择了对p值有力的方法。还记得我之前引用过的话吗, if you torture the data long enough, sooner or later it will confess.

所以,在统计学领域甚至禁止用p值来定结论。而且p值据说也在淡出学术界(真的吗?)。

在数据科学领域,P值一般来说不直接作用于模型,而是用来分析某个特征,以此决定要不要引入某个特征。

希望此文帮你破解了拗口的P值。

另,网上有无数的关于p值介绍的文章。我觉得最好的都比不上<Practical Statistics for Data Scientists>书中关于介绍条件假设实验和p值这一章。

<秘密>链接

https://www.goodreads.com/book/show/52529.The_Secret?from_search=true&from_srp=true&qid=YexYV3XWGV&rank=13

阅读作者更多最新文章,关注微信公众号:

随机陷阱和P值的更多相关文章

  1. LOJ #2542. 「PKUWC 2018」随机游走(最值反演 + 树上期望dp + FMT)

    写在这道题前面 : 网上的一些题解都不讲那个系数是怎么推得真的不良心 TAT (不是每个人都有那么厉害啊 , 我好菜啊) 而且 LOJ 过的代码千篇一律 ... 那个系数根本看不出来是什么啊 TAT ...

  2. 关于使用array_rand随机取出数组的值

    代码如下 <?php echo "<meta charset='utf-8'/>";//选择解码方式,防止乱码现象 $a = array("abc&qu ...

  3. loj 2542 随机游走 —— 最值反演+树上期望DP+fmt

    题目:https://loj.ac/problem/2542 因为走到所有点的期望就是所有点期望的最大值,所以先最值反演一下,问题变成从根走到一个点集任意一点就停止的期望值: 设 \( f[x] \) ...

  4. C#怎么从List集合中随机取出其中一个值

    1.首先在该命名空间下创建一个实体,和在Main方法下List集合,为后续做准备: /// <summary> /// 实体 /// </summary> public cla ...

  5. N个数随机相加得出固定值的排列组合

    static double[] iArr = new double[10] { 1,2,3,4,5,6,7,8,9,10 }; static Stack<double> stack = n ...

  6. 【LOJ 2542】【PKUWC2018】 随机游走(最值反演 + 树上期望dp)

    哇我太菜啦555555 不妨钦定我们需要访问的点集为$S$,在$S$已知的情况下,我们令$f(x) $表示从$x$走到点集$S$中任意一点的期望步数. 若$x∈S$,则显然$f(x)=0$,否则$f[ ...

  7. PHP随机获取预设的值

    前面我们讲了php怎么获取随机数,<?php echo rand(1000,2000); ?> 一行代码就能搞定,如果要获取ASP,PHP,JAVASCRIPT,AJAX,CSS,JQUE ...

  8. 给MD5加上salt随机盐值加密算法实现密码安全的php实现

    给MD5加上salt随机盐值加密算法实现密码安全的php实现 如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码.加上sal ...

  9. 【Java】【5】List随机取值

    //shuffle 打乱顺序 Collections.shuffle(list); //随机抽取1个值 System.out.println(list.get(0)); //随机抽取N个值 Syste ...

随机推荐

  1. jsp课堂笔记3

    Http协议是一种无状态协议,一个用户向服务器发出请求(request),然后服务器返回响应(response),在服务端不保留链接相关信息.session对象可以使服务器记住当前用户   reque ...

  2. 注册中心Eureka、Zookeeper、Consul的异同点

    先上结论: 基于CAP理论介绍: C:Consistency (强一致性)A:Available (可用性)P:Partition tolerance (分区容错性) 最多只能同时较好的满足两个 CA ...

  3. 巩固复习(Django最基础的部分_具体查看官方文档)

    Django学习路1 1.脚本不能随便运行,没准 linux 运行完就上不去了 2.pip 在 linux 上 写 pip3 同理 python 写为 python3 3.在 pycharm 上安装库 ...

  4. PHP 超级全局变量讲解

    PHP 超级全局变量 超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. PHP 超级全局变量 PHP中预定义了几个超级全局变量(superglo ...

  5. Python 字典(Dictionary) items()方法

    描述 Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组.高佣联盟 www.cgewang.com 语法 items()方法语法: dict.it ...

  6. CF321E Ciel and Gondolas Wqs二分 四边形不等式优化dp 决策单调性

    LINK:CF321E Ciel and Gondolas 很少遇到这么有意思的题目了.虽然很套路.. 容易想到dp \(f_{i,j}\)表示前i段分了j段的最小值 转移需要维护一个\(cost(i ...

  7. 教你不编程快速解析 JSON 数据

    JSON 是一种轻量级的,不受语言约束的数据存储格式,大部分编程语言都可以解析它,并且对编程人员也十分友好.我们在进行通讯/数据交互时,非常经常用到 JSON 格式. 但是,我们在进行数据存储的时候, ...

  8. DB_LINK删除

    由于业务需求,对测试库数据进行模糊化.为保生产数据安全,先删db_link; 1.共有db_link删除: select 'drop public database link '||db_link|| ...

  9. 【NOIP2016】组合数问题 题解(组合数学+递推)

    题目链接 题目大意:给定$n,m,k$,求满足$k|C_i^j$的$C_i^j$的个数.$(0\leq i\leq n,1\leq j\leq \min(i,m))$. --------------- ...

  10. 一招教你如何在Python中使用Torchmoji将文本转换为表情符号

    很难找到关于如何使用Python使用DeepMoji的教程.我已经尝试了几次,后来又出现了几次错误,于是决定使用替代版本:torchMoji. TorchMoji是DeepMoji的pyTorch实现 ...