This commit is contained in:
by931
2022-09-06 22:30:37 +08:00
parent 66970f3e38
commit 3d6528675a
796 changed files with 3382 additions and 3382 deletions

View File

@@ -176,7 +176,7 @@ function hide_canvas() {
</blockquote>
<p>概率的定义式非常重要,如果你能灵活运用,并结合一定的代码开发,有时候可以快速解决一个复杂的数学问题。</p>
<p>我们举个例子,在一个正方形内有一个内切圆,在正方形内随机选取一点,问该点也在圆内的概率是多少?
<img src="assets/CgqCHl-zjyKAWZQDAABRFSgu6k0435.png" alt="Lark20201117-165117.png" />
<img src="assets/CgqCHl-zjyKAWZQDAABRFSgu6k0435.png" alt="png" />
这是个数学问题,但你可以借助概率的定义式完成计算,代码如下:</p>
<pre><code>import random
def main():
@@ -199,7 +199,7 @@ if __name__ == '__main__':
<li>最后,打印出 m 和 n 的比值。</li>
</ul>
<p>我们运行程序的结果如下:
<img src="assets/CgqCHl-zj0mAcEsZAABNWAtZ0sk472.png" alt="Drawing 1.png" /></p>
<img src="assets/CgqCHl-zj0mAcEsZAABNWAtZ0sk472.png" alt="png" /></p>
<p>这个题目如果从数学的视角来计算,结果就是 P =πr2÷4r2= π÷4 = 0.785,这与我们的计算结果是一样的。</p>
<p>未来,如果你遇到复杂的概率计算时,不妨试着用这种统计法来求解。</p>
<h3>用加乘法则来计算复杂事件的概率</h3>
@@ -209,7 +209,7 @@ if __name__ == '__main__':
<p>加法原理可以理解为,一个事件有多个可能的发生路径,那么这个事件发生的概率,就是所有路径发生的概率之和。</p>
<p>例如,在掷骰子的游戏中,掷出的点数大于 4 的概率是多少?</p>
<p>掷骰子的 6 个可能的点数是 6 个路径,每个路径发生的概率是 1/6其中满足条件中点数大于 4 的只有最后两条路径。利用加法原理则有,点数大于 4 的概率为 1/6 + 1/6 = 1/3如下图
<img src="assets/Ciqc1F-zj1qAN-hzAACxn7OHrQI389.png" alt="Lark20201117-165123.png" /></p>
<img src="assets/Ciqc1F-zj1qAN-hzAACxn7OHrQI389.png" alt="png" /></p>
<h4>2.乘法原理</h4>
<p>如果将加法原理理解为是串行的逻辑,那么乘法原理就是个并行的逻辑。乘法原理可以理解为,某个事件的发生,依赖多个事件的同时发生。那么原事件发生的概率,就是所有这必须发生的多个事件的乘积。</p>
<p>例如,你与大迷糊一起玩掷骰子的游戏,求大迷糊掷出 4 点的同时,你最终获胜的概率是多少?</p>
@@ -234,7 +234,7 @@ print obj/10000
<li>最终,打印出 obj 除以 10000。</li>
</ul>
<p>这段代码运行的结果如下图,跟我们计算的结果几乎一致。
<img src="assets/Ciqc1F-zj2iAQDXfAAIhj_Pzl0k278.png" alt="Lark20201117-165125.png" /></p>
<img src="assets/Ciqc1F-zj2iAQDXfAAIhj_Pzl0k278.png" alt="png" /></p>
<h3>条件概率</h3>
<p>刚刚的加乘法则,适用于独立事件的概率求解。独立事件的含义,就是上面所提到的原子事件。也就是,拆解出的子事件之间没有任何的先后或互相影响结果的因素。例如,大迷糊爱喝咖啡,和大漂亮爱穿高跟鞋,就是两个毫无关系的独立事件。对于独立事件,应用加乘法则可以很快得到整体的概率。</p>
<p>那么,如果我们无法得到独立的事件,而都是耦合在一起的事件,又该如何计算概率呢?这就需要用到条件概率的知识了。</p>
@@ -272,7 +272,7 @@ print 1.0*fenzi/fenmu
<li>最终打印出分子和分母的比值。</li>
</ul>
<p>程序执行的效果如下图所示,结果与我们计算的近似相等:
<img src="assets/Ciqc1F-zj3eAfosoAAIjh42fWgA084.png" alt="Lark20201117-165128.png" />
<img src="assets/Ciqc1F-zj3eAfosoAAIjh42fWgA084.png" alt="png" />
当你遇到一个复杂事件的时候,一定要通过串行或并行的两重逻辑进行拆解。再基于加乘法则,利用每个原子粒度事件的概率,合成最终复杂事件发生的概率。</p>
<p>接下来,我们看一些更复杂的问题。</p>
<h3>一个概率计算的案例</h3>
@@ -284,7 +284,7 @@ print 1.0*fenzi/fenmu
<p>再分别拆解两部分概率,根据乘法原理和条件概率,则有</p>
<p><strong>P(点击并购买) = P(购买|点击并获得红包) × P(获得红包|点击) × P(点击) + P(购买|点击并未获得红包) × P(未获得红包|点击) × P(点击)</strong></p>
<p>假设策略上线后,大漂亮根据上线前后的数据,统计得到了每个环节的概率如下表所示:</p>
<p><img src="assets/CgqCHl-zj4WAWvnJAAG9FsQTO-g751.png" alt="Lark20201117-165130.png" /></p>
<p><img src="assets/CgqCHl-zj4WAWvnJAAG9FsQTO-g751.png" alt="png" /></p>
<p>从表中数据可以发现以下几个结论:</p>
<ul>
<li>投放红包是在点击之后,因此对点击率无影响;</li>