测试算法有效性:显著性分析[通俗易懂]

测试算法有效性:显著性分析[通俗易懂]前言今天偶尔刷到一篇博客如下,里面涉及到了很多数学小知识点,基本都是很实用的数学常识,不论从事什么领域,其实都很有帮助,为此记录一下吧。https://mp.weixin.qq.com/s/RLbrf-HNc79P7jaU2Sr29Q下面分多个大标题,记录一下各个使用的点显著性分析这是非常重要了,可以参考https://blog.csdn.net/championkai/article/details/80206704基本上我们要分析两个变量或多个变量之间的差异有多大,就会用到显

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

目录

前言

显著性分析

delta method

Delta Method的结果

一些其他有趣的讨论和优化

总结


前言

今天偶尔刷到一篇博客如下,里面涉及到了很多数学小知识点,基本都是很实用的数学常识,不论从事什么领域,其实都很有帮助,为此记录一下吧。

十分钟读懂Delta Method在AB测试中的应用

下面分多个大标题,记录一下各个使用的点【下面多张图片均来源于以上博客】

显著性分析

这是非常重要了,可以参考

关于显著性检验,你想要的都在这儿了!!(基础篇)_championkai的博客-CSDN博客_显著性差异

基本上我们要分析两个变量或多个变量之间的差异有多大,就会用到显著性分析,而该场景可以说太多了,所以学好显著性分析非常有用,之间在大学和考研期间学过一些皮毛,脑海中能记得就是一堆假设检验,不过一般的话我们只需要使用这些简单的就够了

delta method

我们知道一个随机变量X的方差var(X),那么经过线性变化Y=ax+b 后,Y的方差也是知道的:a^{2}*var(X), 但如果不是线性变化呢即泛化成 f(X)?delta method就是解决这一类问题的,大概思路就是如果我们将f(X)转化成一个线性变化,而这个线性变化是逼近f(X),那不就行了,即该线性变化又能代表f(X),又能直接利用a^{2}*var(X)得到新构建随机变量Y的方差,所以问题转变为怎么求得f(X)的近似线性函数,delta method基于的是泰勒展开式,用近似的方法估计随机变量函数的方差。

复杂的变化,可以查看更多文献,但简单概括来说其解决了如下问题:

Y = f(X) \\ D(Y) = ({f(X)}')^{2}D(X)

测试算法有效性:显著性分析[通俗易懂]

这是一元的(一个随机变量),如果是多元的

测试算法有效性:显著性分析[通俗易懂]

下面我们通过一个例子来详细看看delta method的具体计算过程即博客中的一个例子推导:

测试算法有效性:显著性分析[通俗易懂]

博客中直接给出了结果,那么详细过程是什么呢?其实如下:

var(\frac{\overline{X}}{\overline{Y}})=\begin{pmatrix} \frac{\partial g(\mu_{x},\mu_{y}))}{\partial \mu_{x}}& \frac{\partial g(\mu_{x},\mu_{y}))}{\partial \mu_{y}} \end{pmatrix}\begin{pmatrix} var(\overline{X}) & COV(\overline{X},\overline{Y}))\\ COV(\overline{Y},\overline{X})) & var(\overline{Y}) \end{pmatrix}\begin{pmatrix} \frac{\partial g(\mu_{x},\mu_{y}))}{\partial \mu_{x}}& \frac{\partial g(\mu_{x},\mu_{y}))}{\partial \mu_{y}} \end{pmatrix}^{T}\\= \begin{pmatrix} \frac{1}{\mu_{y}} & -\frac{\mu_{x}}{\mu_{y}^{2}} \end{pmatrix}\begin{pmatrix} var(\overline{X}) & COV(\overline{X},\overline{Y}))\\ COV(\overline{Y},\overline{X})) & var(\overline{Y}) \end{pmatrix}\begin{pmatrix} \frac{1}{\mu_{y}} & -\frac{\mu_{x}}{\mu_{y}^{2}} \end{pmatrix}^{T}

=\begin{pmatrix} \frac{var(\overline{X})}{\mu_{y}} -\frac{\mu_{x}COV(\overline{X},\overline{Y})}{\mu_{y}^{2}}& \frac{COV(\overline{X},\overline{Y})}{\mu_{y}}-\frac{\mu_{x}var(\overline{Y})}{\mu_{y}^{2}} \end{pmatrix}\begin{pmatrix} \frac{1}{\mu_{y}} & -\frac{\mu_{x}}{\mu_{y}^{2}} \end{pmatrix}^{T}

=\frac{var(\overline{X})}{\mu _{y}^{2}}-\frac{\mu_{x}COV(\overline{X},\overline{Y})}{\mu _{y}^{3}}-\frac{\mu _{x}COV(\overline{X},\overline{Y})}{\mu _{y}^{3}}+\frac{\mu _{x}^{2}var(\overline{Y})}{\mu _{y}^{4}}

=\frac{var(\overline{X})}{\mu _{y}^{2}}+\frac{\mu _{x}^{2}var(\overline{Y})}{\mu _{y}^{4}}-\frac{2\mu_{x}COV(\overline{X},\overline{Y})}{\mu _{y}^{3}}

=\frac{var(\overline{X})}{​{\overline{Y}}^{2}}+\frac{\overline{X}^{2}var(\overline{Y})}{\overline{Y}^{4}}-2\frac{\overline{X}COV(\overline{X},\overline{Y})}{\overline{Y}^{3}}{\color{Red} (1)}

=\frac{var(\frac{X}{n})}{​{\overline{Y}}^{2}}+\frac{\overline{X}^{2}var(\frac{Y}{n})}{\overline{Y}^{4}}-2\frac{\overline{X}COV(\frac{X}{n},\frac{Y}{n})}{\overline{Y}^{3}}

=\frac{1}{n}(\frac{var(X)}{​{\overline{Y}}^{2}}+\frac{\overline{X}^{2}var(Y)}{\overline{Y}^{4}}-2\frac{\overline{X}COV(X,Y)}{\overline{Y}^{3}}) {\color{Green} (2)}

上述(1)(2)分别对应图片中的红框和绿框。其中

测试算法有效性:显著性分析[通俗易懂]

需要注意的是:

测试算法有效性:显著性分析[通俗易懂]

所以博客中开头中得到的公式是:

测试算法有效性:显著性分析[通俗易懂]

没有了协方差。

Delta Method的结果

博客中对比了传统的测试算法有效性:显著性分析[通俗易懂]和新得到的测试算法有效性:显著性分析[通俗易懂]

\frac{var(\bar{y_{t}})+var(\bar{y_{c}})}{y_{c}^{2}}\frac{var(\bar{y_{t}})+(\frac{\bar{y_{t}}}{\bar{y_{c}}})^{2}var(\bar{y_{c}})}{y_{c}^{2}},前者是下表中的错误方法,后者是Delta Method, Bootstrap是标准

测试算法有效性:显著性分析[通俗易懂]

可以看到Delta Method是和Bootstrap标准更趋近。

一些其他有趣的讨论和优化

可以看博客中的特殊情况讨论一节,挺有意思

总结

(1)显著性分析,应用很广泛,一些基本概念要知道,比如原假设H0和备择假设H1,第一类错误和第二类错误,P值

(2)delta method可用于解决非线性多元随机变量方差求解

欢迎关注笔者微信公众号

测试算法有效性:显著性分析[通俗易懂]
​​​​​​​

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223029.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ZigBee开发环境搭建[通俗易懂]

    1、IAREmbeddedWorkbench的安装  Step1、双击安装程序,进行安装   Step2、一直采用默认NEXT,直到点击Accept之后:   Step3、关键:双击打开文件IARkegenPartA.exe. Win7、8用户请右键以管理员身份打开 Step4、点击Generate

    2022年4月13日
    74
  • 孤立的SQL用户

    孤立的SQL用户

    2021年11月26日
    42
  • MFC_recvfrom

    MFC_recvfromrecvfrom():socket接收函数函数原型:ssize_trecvfrom(intsockfd,void*buf,size_tlen,unsignedintflags,structsockaddr*from,socket_t*fromlen);返回值:成功则返回接收到的字符数,失败返回-1.参数描述:sockfd:标识一个已连接套接口的描述字。buf:接收数据缓冲区。len:缓冲区长度。flags:调用操作方式。是以下一个或者多个标志的组合体,可通过“|

    2022年7月23日
    8
  • mysql text mediumtext_MySQL修改字段长度

    mysql text mediumtext_MySQL修改字段长度一、数字类型类型范围说明Char(N)[binary]N=1~255个字元binary:分辨大小写固定长度std_namecahr(32)notnullVarChar(N)[binary]N=1~255个字元binary:分辨大小写可变长度std_addressvarchar(256)TinyBlob最大长度255个…

    2022年8月13日
    9
  • pycharm2021.9 激活码(JetBrains全家桶)[通俗易懂]

    (pycharm2021.9 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月26日
    50
  • Kafka教程_图解kafka

    Kafka教程_图解kafkakafka详细教程,Kafka面试题。kafka最初是由Linkedin公司基于Scala和Java语言开发的分布式消息发布-订阅系统,现已捐献给Apache软件基金会。Kafka最被广为人知的是作为一个消息队列系统存在,而事实上kafka已然成为一个流行的分布式流处理平台。其具有高吞吐、低延迟的特性,许多大数据处理系统比如storm、spark、flink等都能很好地与之集成。本文详细介绍了Kafka的实战知识。

    2022年10月16日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号