概率论(基于python)
(一) 随机现象与概率
1. 随机现象:
在一定条件下,并不总是出现相同结果的现象。现实生活中,我们总是能见到不少的随机现象。
2. 随机试验:
很多随机现象是可以大量重复的,如抛一枚硬币可以无限次重复,不同麦穗上的麦粒数可以大量观察等,这种可重复的随机现象又称为随机试验,简称试验。
3. 样本点:
认识一个随机现象首要的是能罗列出它的一切可能发生的基本结果,这里“基本结果”是指随机现象的最简单的结果。
4. 样本空间:
随机现象所有基本结果(样本点)的全体称为这个随机现象的样本空间。常用 Ω = \Omega= Ω= { ω } \{\boldsymbol{\omega}\} { ω} 表示,其中元素 ω \omega ω 就是样本点。在统计学中,基本结果 ω \omega ω 将是抽样的基本单元,故基本结果又称为样本点,基本空间又称为样本空间。
5. 随机事件:
随机现象的某些基本结果组成的集合称为随机事件,简称事件,常用大写字母 A , B , C A, B, C A,B,C 等表示。
6. 事件间的关系:
- 事件的包含关系:设在同一个试验里有两个事件 A A A 与 B B B,若事件 A A A 中任一基本结果必在 B B B 中,则称 A A A 被包含在 B B B 中,或 B B B 包含 A A A, 记为 A ⊂ B A \subset B A⊂B 或 B ⊃ A B \supset A B⊃A ,这时事件 A A A 的发生必导致事件 B B B 的发生 。
- 事件的相等关系:设在同一试验里有两个事件 A A A 与 B B B 。若 A A A 中任一基本结果必在 B B B 中 ( A ⊂ B ) (A \subset B) (A⊂B),而 B B B 中任一基本结果也必在 A A A 中 ( B ⊂ A ) (B \subset A) (B⊂A), 则称事件 A A A 与 B B B 相等,记为 A = B A=B A=B, 这时 A A A 与 B B B 必含有相同的基本结果。
- 事件的互不相容性:在同一个试验里,若两个事件 A A A 与 B B B 没有相同的基本结果,则称事件 A A A 与 B B B 互不相容,或称互斥。这时事件 A A A 与 B B B 不可能同时发生。
- 必然事件与不可能事件:任一个基本空间 Ω \Omega Ω 都有一个最大子集(基本空间本身 Ω \Omega Ω )和一个最小子集,用空集符号 ϕ \phi ϕ 表示。最大子集就是必然事件,最小子集就是不可能事件。
7. 事件的运算:
- 对立事件:设 A A A 为一个试验里的事件,则由不在 A A A 中的一切基本结果组成的事件称为 A A A 的对立事件,记为 A ˉ \bar{A} Aˉ 。如在掷一颗骰子的试验中,事件 A = A= A= “出现偶数点”的对立事件 A ˉ = \bar{A}= Aˉ= “出现奇数点”。因为不出现偶数点必出现奇数点。
- 并运算:事件 A \boldsymbol{A} A 与 B \boldsymbol{B} B 的并,是由事件 A A A 与 B B B 中所有基本结果(相同的只计入一次)组成的一个新事件,记为 A ∪ B A \cup B A∪B 。在掷一颗骰子的试验中,事件 A = A= A= “出现奇数点” = { 1 , 3 , 5 } =\{1,3,5\} ={ 1,3,5} 与事件 B = B= B= “出现点数不超过3“ $ ={1,2,3}$ 的并为 A ∪ B = { 1 , 2 , 3 , 5 } A \cup B=\{1,2,3,5\} A∪B={ 1,2,3,5} 。 可见,事件 A A A 与 B B B 中重复元素只须记入并事件一次。
- 交运算:事件 A A A 与 B B B 的交,是由事件 A A A 与 B B B 中公共的基本结果组成的一个新事件,记为 A ∩ B A \cap B A∩B 或 A B A B AB 。如在掷一颗骰子的试验里, A = A= A= “出现奇数点” = { 1 =\{1 ={ 1, 3 , 5 } 3,5\} 3,5} 与事件 B = B= B= “出现点数不超过3 " = { 1 , 2 , 3 } =\{1,2,3\} ={ 1,2,3} 的交 A B = { 1 , 3 } A B=\{1,3\} AB={ 1,3} 。 可见,若交事件 A B A B AB 发生,则事件 A A A 与 B B B 必同时发生,反之亦然。
- 差运算:事件 A \boldsymbol{A} A 对 B \boldsymbol{B} B 的差,是由在事件 A A A 中而不在事件 B B B 中的基本结果组成的一个新事件,记为 A − B A-B A−B 。如在掷一颗骰子试验里,事件 A = A= A= “出现奇数点” = { 1 , 3 , 5 } =\{1,3,5\} ={ 1,3,5} 对事件 B = B= B= “出现点数不超过3 " = { 1 , 2 , 3 } =\{1,2,3\} ={ 1,2,3} 的差事件是 A − B = { 5 } A-B=\{5\} A−B={ 5} 。而 B B B 对 A A A 的差事件 B − A = { 2 } B-A=\{2\} B−A={ 2} 。这是两个不同的差事件。可见,差事件 A − B A-B A−B 是表示事件 A A A 发生而事件 B B B 不发生这样一个事件。
8. 事件的概率:
随机事件的发生是带有偶然性的。但随机事件发生的可能性还是有大小之别的,是可以设法度量的。
9. 事件的独立性:
两个事件之间的独立性是指一个事件的发生不影响另一个事件的发生。
模拟频率近似概率,代码如下:
# 引入相关工具库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use("ggplot")
import warnings
warnings.filterwarnings("ignore")
plt.rcParams['font.sans-serif']=['SimHei','Songti SC','STFangsong']
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
import seaborn as sns
# 模拟抛硬币正面的概率是否会越来越接近0.5
import random
def Simulate_coin(test_num):
random.seed(100)
coin_list = [1 if (random.random()>=0.5) else 0 for i in range(test_num)] # 模拟试验结果
coin_frequence = np.cumsum(coin_list) / (np.arange(len(coin_list))+1) # 计算正面为1的频率
plt.figure(figsize=(10,6))
plt.plot(np.arange(len(coin_list))+1, coin_frequence, c='blue', alpha=0.7)
plt.axhline(0.5,linestyle='--',c='red',alpha=0.5)
plt.xlabel("test_index")
plt.ylabel("frequence")
plt.title(str(test_num)+" times")
plt.show()
Simulate_coin(test_num = 500)
Simulate_coin(test_num = 1000)
Simulate_coin(test_num = 5000)
Simulate_coin(test_num = 10000)
(二) 条件概率、乘法公式、全概率公式与贝叶斯公式
1. 条件概率:
条件概率要涉及两个事件 A A A 与 B B B ,在事件 B B B 已发生的条件下,事件 A A A 再发生的概率称为条件概率,记为 P ( A ∣ B ) P(A \mid B) P(A∣B), 它与前面讲的事件 A A A 的 (无条件)概率 P ( A ) P(A) P(A) 是两个不同的概念。
无条件概率与条件概率的区别在哪呢?假如事件 B B B的发生不会影响事件 A A A发生的概率,那么就说明这两者是相互独立的,即: P ( A ∣ B ) = P ( A ) P(A \mid B) = P(A) P(A∣B)=P(A),两者将没有区别;但是如果事件 B B B的发生会影响到事件 A A A的发生,那么 P ( A ∣ B ) ≠ P ( A ) P(A \mid B) \not= P(A) P(A∣B)=P(A)。
条件概率的准确定义:
设 A A A 与 B B B 是基本空间 Ω \Omega Ω 中的两个事件,且 P ( B ) > 0 P(B)>0 P(B)>0,在事件 B B B 已发生的条件下, 事件 A A A 的条件概率 P ( A ∣ B ) P(A \mid B) P(A∣B) 定义为 P ( A B ) / P ( B ) P(A B) / P(B) P(AB)/P(B), 即
P ( A ∣ B ) = P ( A B ) P ( B ) P(A \mid B)=\frac{P(A B)}{P(B)} P(A∣B)=P(B)P(AB)
其中 P ( A ∣ B ) P(A \mid B) P(A∣B) 也称为给定事件 B B B 下事件 A A A 的条件概率。
2. 乘法公式:
乘法公式是条件概率的第一个重要应用,他从条件概率的角度描述了两个事件A、B同时发生的概率是怎么计算的。具体公式如下:
- 若 P ( B ) > 0 P(B)>0 P(B)>0, 则 P ( A B ) = P ( B ) P ( A ∣ B ) P(A B)=P(B) P(A \mid B) P(AB)=P(B)P(A∣B)
- 若 P ( A 1 A 2 ⋯ A n − 1 ) > 0 P\left(A_{1} A_{2} \cdots A_{n-1}\right)>0 P(A1A2⋯An−1)>0, 则 P ( A 1 A 2 ⋯ A n ) = P ( A 1 ) P ( A 2 ∣ A 1 ) P ( A 3 ∣ A 1 A 2 ) ⋯ P ( A n ∣ A 1 A 2 ⋯ A n − 1 ) P\left(A_{1} A_{2} \cdots A_{n}\right)=P\left(A_{1}\right) P\left(A_{2} \mid A_{1}\right) P\left(A_{3} \mid A_{1} A_{2}\right) \cdots P\left(A_{n} \mid A_{1} A_{2} \cdots A_{n-1}\right) P(A1A2⋯An)=P(A1)P(A2∣A1)P(A3∣A1A2)⋯P(An∣A1A2⋯An−1)
其内在含义在于,如果想要计算 A A A、 B B B同时发生的概率,那么可以先让事件B发生,计算事件B发生的概率 P ( B ) P(B) P(B),再计算 B B B发生的条件下 A A A发生的概率 P ( A ∣ B ) P(A|B) P(A∣B)。
3. 全概率公式:
全概率公式是计算复杂概率的一个重要方法,使一个复杂概率的计算能化繁为简。
设 B 1 , B 2 , ⋯ , B n B_{1}, B_{2}, \cdots, B_{n} B1,B2,⋯,Bn 是基本空间 Ω \Omega Ω 的一个分割,则对 Ω \Omega Ω 中任一事件 A A A,有
P ( A ) = ∑ i = 1 n P ( A ∣ B i ) P ( B i ) P(A)=\sum_{i=1}^{n} P\left(A \mid B_{i}\right) P\left(B_{i}\right) P(A)=i=1∑nP(A∣Bi)P(Bi)
4. 贝叶斯公式:
结合条件概率公式、乘法公式和全概率公式,我们能得到强大的贝叶斯公式。
首先,我们写出所要求的复杂的 P ( B k ∣ A ) P\left(B_{k} \mid A\right) P(Bk∣A)的定义公式,即:
P ( B k ∣ A ) = P ( A B k ) P ( A ) P\left(B_{k} \mid A\right) = \frac{P(AB_k)}{P(A)} P(Bk∣A)=P(A)P(ABk)
其次,我们对分子分母分别使用乘法公式和全概率公式展开,即:
P ( B k ∣ A ) = P ( A ∣ B k ) P ( B k ) ∑ i = 1 n P ( A ∣ B i ) P ( B i ) , k = 1 , 2 , ⋯ , n P\left(B_{k} \mid A\right)=\frac{P\left(A \mid B_{k}\right) P\left(B_{k}\right)}{\sum_{i=1}^{n} P\left(A \mid B_{i}\right) P\left(B_{i}\right)}, \quad k=1,2, \cdots, n P(Bk∣A)=∑i=1nP(A∣Bi)P(Bi)P(A∣Bk)P(Bk),k=1,2,⋯,n
(三) 一维随机变量及其分布函数和密度函数
计算一个由随机变量表示的随机事件的概率的思路有两种:直接计算法(利用分布函数计算) 和 间接计算法(利用密度函数计算)。
1. 方便计算随机变量的概率的函数:分布函数。(直接计算法)
设 X X X 为一个随机变量,对任意实数 x x x,事件“ X ⩽ x X \leqslant x X⩽x ”的概率 是 x x x 的函数,记为
F ( x ) = P ( X ⩽ x ) F(x)=P(X \leqslant x) F(x)=P(X⩽x)
这个函数称为 X X X 的累积概率分布函数,简称分布函数。
分布函数本身就是为了计算随机变量的概率。
- 0 ⩽ F ( x ) ⩽ 1 0 \leqslant F(x) \leqslant 1 0⩽F(x)⩽1 。 要记住,分布函数值是特定形式事件“ X ⩽ x X \leqslant x X⩽x ”的概率,而 概率总在 0 与 1 之间。
- F ( − ∞ ) = lim x → − ∞ F ( x ) = 0 F(-\infty)=\lim _{x \rightarrow-\infty} F(x)=0 F(−∞)=limx→−∞F(x)=0 ,这是因为事件“ X ⩽ − ∞ X \leqslant-\infty X⩽−∞ "是不可能事件。
- F ( + ∞ ) = lim x → + ∞ F ( x ) = 1 F(+\infty)=\lim _{x \rightarrow+\infty} F(x)=1 F(+∞)=limx→+∞F(x)=1, 这是因为事件“ X ⩽ + ∞ X \leqslant+\infty X⩽+∞ "是必然事件。
- F ( x ) F(x) F(x) 是非降函数, 即对任意 x 1 < x 2 x_{1}<x_{2} x1<x2, 有 F ( x 1 ) ⩽ F ( x 2 ) F\left(x_{1}\right) \leqslant F\left(x_{2}\right) F(x1)⩽F(x2) 。 这是因为事件 “ X ⩽ x 2 X \leqslant x_{2} X⩽x2 ”包含事件" X ⩽ x 1 X \leqslant x_{1} X⩽x1 "。
因此:
P ( a < X ⩽ b ) = F ( b ) − F ( a ) P ( X = a ) = F ( a ) − F ( a − 0 ) P ( X ⩾ b ) = 1 − F ( b − 0 ) P ( X > b ) = 1 − F ( b ) P ( X < b ) = F ( b − 0 ) P ( a < X < b ) = F ( b − 0 ) − F ( a ) P ( a ⩽ X ⩽ b ) = F ( b ) − F ( a − 0 ) P ( a ⩽ X < b ) = F ( b − 0 ) − F ( a − 0 ) \begin{aligned} &P(a<X \leqslant b)=F(b)-F(a) \\ &P(X=a)=F(a)-F(a-0) \\ &P(X \geqslant b)=1-F(b-0) \\ &P(X>b)=1-F(b)\\ &P(X<b)=F(b-0) \\ &P(a<X<b)=F(b-0)-F(a) \\ &P(a \leqslant X \leqslant b)=F(b)-F(a-0) \\ &P(a \leqslant X<b)=F(b-0)-F(a-0) \end{aligned} P(a<X⩽b)=F(b)−F(a)P(X=a)=F(a)−F(a−0)P(X⩾b)=1−F(b−0)P(X>b)=1−F(b)P(X<b)=F(b−0)P(a<X<b)=F(b−0)−F(a)P(a⩽X⩽b)=F(b)−F(a−0)P(a⩽X<b)=F(b−0)−F(a−0)
特别当 F ( x ) F(x) F(x) 在 a a a 与 b b b 处连续时, 有
F ( a − 0 ) = F ( a ) , F ( b − 0 ) = F ( b ) F(a-0)=F(a), \quad F(b-0)=F(b) F(a−0)=F(a),F(b−0)=F(b)
2. 计算随机变量表示的随机事件的概率的间接方法——密度函数。
先来学习连续型随机变量的密度函数,现在不直接假设随机变量的概率函数是什么,我们使用:某个区间内的概率 = 区间长度 * 长度内的概率密度,就好像一个小面积的质量等于面积内的密度 * 面积。因此,概率的计算变成以下的表示:对任意两个实数 a a a 与 b b b,其中 a < b a<b a<b, 且 a a a 可为 − ∞ , b -\infty, b −∞,b 可为 + ∞ , X +\infty, X +∞,X 在区间 [ a , b ] [a, b] [a,b] 上取值的概率为曲线 p ( x ) p(x) p(x) 在该区间上曲边梯形的面积,即
P ( a ⩽ X ⩽ b ) = ∫ a b p ( x ) d x P(a \leqslant X \leqslant b)=\int_{a}^{b} p(x) d x P(a⩽X⩽b)=∫abp(x)dx
则称密度函数 p ( x ) p(x) p(x) 为连续随机变量 X X X 的概率分布,或简称 p ( x ) p(x) p(x) 为 X X X 的密度 函数,记为 X ∼ p ( x ) X \sim p(x) X∼p(x), 读作“ X X X 服从密度 p ( x ) p(x) p(x) ”。
由于概率密度函数 P ( x ) P(x) P(x)表示的概率的密度,它应该遵守概率的基本特征(概率最大为1):
∫ − ∞ ∞ p ( x ) d x = 1 , p ( x ) ⩾ 0 \int_{-\infty}^{\infty} p(x) d x=1 ,\;p(x) \geqslant 0 ∫−∞∞p(x)dx=1,p(x)⩾0
那与连续随机变量相对应的离散随机变量,它的“密度函数”怎么表示呢?对于离散随机变量来说,我们往往使用分布列去对应连续随机变量密度函数的概念。因为连续随机变量的密度函数使用的是积分来表达的,而离散情况下往往只需要简单的求和就可以了,实际上积分就是符号 ∫ \int ∫就是拉长的求和符号 ∑ \sum ∑他们本质上都是求和。因此,
设 X X X 是一个离散随机变量,如果 X X X 的所有可能取值是 x 1 , x 2 , ⋯ x_{1}, x_{2}, \cdots x1,x2,⋯, x n , ⋯ x_{n}, \cdots xn,⋯, 则称 X X X 取 x i x_{i} xi 的概率
p i = p ( x i ) = P ( X = x i ) , i = 1 , 2 , ⋯ , n , ⋯ p_{i}=p\left(x_{i}\right)=P\left(X=x_{i}\right), i=1,2, \cdots, n, \cdots pi=p(xi)=P(X=x