草庐IT

条件期望:Conditional Expectation 举例详解之入门之入门之草履虫都说听懂了

车天健 2023-03-28 原文

我知道有很多人理解不了 “条件期望” (Conditional Expectation) 这个东西,有的时候没看清把随机变量看成事件,把 \(\sigma\)-algebra 看成随机变量从而思路全错的时候,我也会觉得莫名奇妙。所以在这里用一个极其简单的例子解释一下,只要你是一只上过高中的草履虫那就能听懂。

\[\]

我们来丢一枚质地均匀的硬币(意味着得到正面与反面的概率各为 \(\frac{1}{2}\)),连丢两次并记录两次结果。那么很容易可以写出全集 \(\Omega = \left\{ HH, HT, TH, TT \right\}\)\(H\)\(T\) 分别代表正面和反面。现在是第一个需要稍加思考的地方,令 \(\mathcal{G}\) 为一个 \(\sigma\)-algebra,其中包括了第一次丢硬币结果的信息,请问 \(\mathcal{G}\) 是什么?




稍加思考,不难得出 \(\mathcal{G} = \left\{\Omega, ~ \emptyset, ~ \left\{ HH, HT \right\}, ~ \left\{ TT, TH \right\} \right\}\),这里也做出一个解释。首先要明确的是,\(\Omega\) 中的元素 (例如 \(HH\)) 和 \(\mathcal{G}\) 中的元素 (例如 \(\left\{ HH, HT \right\}\)) 之间的区别:前者是结果 (outcome),后者是事件 (event)。我们对于一次 “抽样”,只能得到一种结果,例如 \(HH\),代表丢两次硬币后得到两个正面的结果。但不同的结果由于共享某些特性,可以被划分在同一个事件当中,例如,丢两次硬币产生相同的结果应有两种,即同时为正面或同时为背面 (i.e. \(HH\)\(TT\)),它们归属于 “丢两次硬币产生相同的结果” 的事件:\(\left\{ HH, TT \right\}\)。回到问题,现在我们已知了第一次丢硬币后结果的信息,也就是 "第一次丢硬币是正面还是背面",那么我们自然可以得出 \(\mathcal{G}\) 是由集类:\(\left\{ \left\{ HH, HT \right\}, ~ \left\{TT, TH \right\} \right\}\) 生成的 \(\sigma\)-algebra。这是因为第一次扔硬币的结果已经被确定——无论它是正面还是背面:如果是正面,那么结果无非两种:两次都正面或第一次正面第二次背面;如果是背面,结果也无非两种:两次都背面或第一次背面第二次正面。结合以下树结构,在得知第一次扔硬币结果的信息后,相当于从根 \(XX\) 来到了第一层 \(HX\)\(TX\)\(X\) 代表未知信息)。







同时,这也从另一个角度说明为什么概率论最终需要引入 “测度” 的定义——为了描述一种信息变化的过程。当我们并不知道第一次扔硬币的结果时,在全空间 \(\Omega\) 上定义的测度空间为 \((\Omega, \mathcal{F}, P)\),其中:

\[\mathcal{F}:= \left\{ \Omega, ~ \emptyset, ~ \left\{ HH \right\}, ~ \left\{ HT \right\}, ~ \left\{ TH \right\}, ~ \left\{ TT \right\}, ~ \left\{ HH, HT \right\}, \ldots \right\} \]

where \(\mathcal{F}\) 的 cardinality: \(|\mathcal{F}| = 2^{4} = 16\)

\[\]

而当已知第一次的信息后,\(\sigma\)-algebra 随即收缩为:

\[\mathcal{G}:= \left\{ \Omega, ~ \emptyset, ~ \left\{ HH, HT \right\}, ~ \left\{ TH, TT \right\} \right\} \]

\[\]

现在考虑条件期望: \(\mathbb{E}\left[ X ~ | ~ \mathcal{G} \right]\)。其中,\(\mathcal{G}\) 如上记作第一次丢完硬币后结果的全部信息,对于 \(\forall w \in \Omega:\) 随机变量 \(X\) 定义为:

\[X(w) = \begin{cases} a \qquad \mbox{if } ~ w = HH\\ b \qquad \mbox{if } ~ w = HT\\ c \qquad \mbox{if } ~ w = TH\\ d \qquad \mbox{if } ~ w = TT\\ \end{cases} \]

其中 \(a, b, c, d \geq 0\)




Definition. (Conditional Expectation)

\(X\) 为一个定义在 \((\Omega, \mathcal{F}, P)\) 上的非负随机变量。令 \(G_{1}, G_{2}, \ldots\) 为一个两两不相交的事件序列,且对于 \(\forall n \in \mathbb{N}^{+}: ~ P(G_{n}) > 0\),并且 \(\bigcup\limits_{n\in\mathbb{N}^{+}} G_{n} = \Omega\)。令 \(\mathcal{G}\) 为包含 \(\left\{ G_{1}, G_{2}, \ldots \right\}\) 的最小 \(\sigma\)-algebra,即,任意 \(\mathcal{G}\) 的元素都可以写作 \(\bigcup\limits_{n \in I} G_{n}\) 的形式,其中 \(I \subset \mathbb{N}^{+}\) (\(I\)\(\mathbb{N}^{+}\) 的某些子集)。那么:

\[\mathbb{E}\left[ X ~ | ~ \mathcal{G} \right](w) = \mathbb{E}\left[ X ~ | ~ G_{n} \right] = \frac{\mathbb{E}\left[ X \cdot \mathbb{I}_{G_{n}} \right]}{P(G_{n})} \qquad \qquad \mbox{if } w \in G_{n} \]

首先,\(\mathbb{I}_{G_{n}}\)是一个随机变量,或者说函数:

\[\mathbb{I}_{G_{n}}: \Omega \longrightarrow \left\{ 0, 1 \right\}, \quad x \longrightarrow \mathbb{I}_{G_{n}}(x) = \begin{cases} 1 \qquad \mbox{if } x \in G_{n}\\ 0 \qquad \mbox{otherwise} \end{cases} \]

因此则可以判定,Conditional Expectation \(\mathbb{E}\left[ X ~ | ~ \mathcal{G} \right]\) 算出来也是一个随机变量,而并非常数。最后,我们可以发现一旦假设 \(w \in G_{n}\),那么一定意味着 \(w \notin G_{k}, ~ \forall k \in \mathbb{N}^{+}\setminus\left\{n\right\}\)




回到扔硬币的例子。这里显然我们有:\(G_{1} = \left\{ HH, HT \right\}, ~ G_{2} = \left\{ TT, TH \right\}\),且 \(G_{1} \cup G_{2} = \Omega\)。那么。我们现在只需要依次假设 \(w \in G_{n}\), 并求 \(\frac{\mathbb{E}\left[ X \cdot \mathbb{I}_{G_{n}} \right]}{P(G_{n})}\),最后分类讨论逐点列出即可。

\[\]

  • 假设 \(w \in G_{1} = \left\{ HH, HT \right\}\)

\[ \begin{align*} \mathbb{E}\left[ X ~ | ~ \mathcal{G} \right](w) &= \frac{\mathbb{E}\left[ X \cdot \mathbb{I}_{G_{1}}, ~ w \in G_{1} \right]}{P(G_{1})}\\ &= \frac{\sum\limits_{w \in G_{1}}\mathbb{E}\left[ X \cdot \mathbb{I}_{G_{1}} ~ | ~ w \in G_{1} \right] \cdot P\big(\left\{ w \right\}\big)}{P(G_{1})}\\ &= \frac{\sum\limits_{w \in G_{1}} X(w) \cdot P\big(\left\{ w \right\}\big)}{P(G_{1})}\\ & = \frac{X(HH) \cdot P\big( \left\{ HH \right\} \big) + X(HT) \cdot P\big( \left\{ HT \right\} \big)}{P\big( \left\{ HH, HT \right\} \big)}\\ & = \frac{\frac{1}{4} \cdot a + \frac{1}{4} \cdot b}{\frac{1}{2}}\\ & = \frac{a + b}{2} \end{align*} \]


  • 假设 \(w \in G_{2} = \left\{ TT, TH \right\}\)

\[ \begin{align*} \mathbb{E}\left[ X ~ | ~ \mathcal{G} \right](w) &= \frac{\mathbb{E}\left[ X \cdot \mathbb{I}_{G_{2}}, ~ w \in G_{2} \right]}{P(G_{2})}\\ &= \frac{\sum\limits_{w \in G_{2}}\mathbb{E}\left[ X \cdot \mathbb{I}_{G_{2}} ~ | ~ w \in G_{2} \right] \cdot P\big(\left\{ w \right\}\big)}{P(G_{2})}\\ &= \frac{\sum\limits_{w \in G_{2}} X(w) \cdot P\big(\left\{ w \right\}\big)}{P(G_{2})}\\ & = \frac{X(TT) \cdot P\big( \left\{ TT \right\} \big) + X(TH) \cdot P\big( \left\{ TH \right\} \big)}{P\big( \left\{ TT, TH \right\} \big)}\\ & = \frac{\frac{1}{4} \cdot c + \frac{1}{4} \cdot d}{\frac{1}{2}}\\ & = \frac{c + d}{2} \end{align*} \]


综上所述:

\[\mathbb{E}\left[ X ~ | ~ \mathcal{G} \right](w) = \begin{cases} \frac{a + b}{2} \qquad \mbox{if } ~ w \in \left\{ HH, HT \right\}\\ \frac{c + d}{2} \qquad \mbox{if } ~ w \in \left\{ TT, TH \right\}\\ 0 \qquad \quad \mbox{otherwise}\\ \end{cases} \]

有关条件期望:Conditional Expectation 举例详解之入门之入门之草履虫都说听懂了的更多相关文章

  1. ruby - 如何根据特征实现 FactoryGirl 的条件行为 - 2

    我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden

  2. ruby - 在 Ruby 中有条件地定义函数 - 2

    我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin

  3. ruby - 定义方法参数的条件 - 2

    我有一个只接受一个参数的方法:defmy_method(number)end如果使用number调用方法,我该如何引发错误??通常,我如何定义方法参数的条件?比如我想在调用的时候报错:my_method(1) 最佳答案 您可以添加guard在函数的开头,如果参数无效则引发异常。例如:defmy_method(number)failArgumentError,"Inputshouldbegreaterthanorequalto2"ifnumbereputse.messageend#=>Inputshouldbegreaterthano

  4. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  5. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  6. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

  7. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  8. ruby-on-rails - 使用包含多个关联和单独的条件 - 2

    我的Gallery模型中有以下查询:media_items.includes(:photo,:video).rank(:position_in_gallery)我的图库模型有_许多媒体项,每个都有一个照片或视频关联。到目前为止,一切正常。它返回所有media_items包括它们的photo或video关联,由media_item的position_in_gallery属性排序。但是我现在需要将此查询返回的照片限制为仅具有is_processing属性的照片,即nil。是否可以进行相同的查询,但条件是返回的照片等同于:.where(photo:'photo.is_processingIS

  9. ruby-on-rails - 在 haml View 中重构条件 - 2

    除了可访问性标准不鼓励使用这一事实指向当前页面的链接,我应该怎么做重构以下View代码?#navigation%ul.tabbed-ifcurrent_page?(new_profile_path)%li{:class=>"current_page_item"}=link_tot("new_profile"),new_profile_path-else%li=link_tot("new_profile"),new_profile_path-ifcurrent_page?(profiles_path)%li{:class=>"current_page_item"}=link_tot("p

  10. ruby-on-rails - 在具有 ActiveRecord 条件的相关模型中按字段排序 - 2

    我正在尝试按Rails相关模型中的字段进行排序。我研究的所有解决方案都没有解决如果相关模型被另一个参数过滤?元素模型classItem相关模型:classPriority我正在使用where子句检索项目:@items=Item.where('company_id=?andapproved=?',@company.id,true).all我需要按相关表格中的“位置”列进行排序。问题在于,在优先级模型中,一个项目可能会被多家公司列出。因此,这些职位取决于他们拥有的company_id。当我显示项目时,它是针对一个公司的,按公司内的职位排序。完成此任务的正确方法是什么?感谢您的帮助。PS-我

随机推荐