1 动手学概率_1
github 上pdf版本及ipynb版本:https://github.com/cx-333/Math-Modeling
1.1 随机现象与概率
-
随机现象:在一定条件下,并不总是出现相同结果的现象。
-
随机试验:很多随机现象是可以大量重复的,如抛一枚硬币可以无限次重复,不同麦穗上的麦粒数可以大量观察等,这种可重复的随机现象又称为随机试验,简称试验。
-
随机事件:随机现象的某些基本结果组成的集合称为随机事件,简称事件,常用大写字母(如 A 、 B 、 C A、B、C A、B、C)表示。
-
事件间的关系与事件的运算,设实验 E E E的样本空间为 S S S,而 A 、 B 、 A k , ( k = 1 , 2 , ⋯ ) A、B、A_{k}, (k=1,2, \cdots) A、B、Ak,(k=1,2,⋯)是 S S S的子集。
-
- 若 A ⊂ B A \subset B A⊂B,则称事件 B B B包含事件 A A A。若 A ⊂ B 且 B ⊂ A A\subset B 且 B\subset A A⊂B且B⊂A, 则 A = B A = B A=B。
-
- 事件 A ∪ B = { x ∣ x ∈ A 或 x ∈ B } A\cup B = \{x| x\in A 或x \in B\} A∪B={x∣x∈A或x∈B}称为 事件 A A A和事件 B B B的和事件。
-
- 事件 A ∩ B = { x ∣ x ∈ A 且 x ∈ B } A \cap B = \{x| x\in A 且x \in B\} A∩B={x∣x∈A且x∈B}称为 事件 A A A和事件 B B B的积事件。
-
- 事件 A − B = { x ∣ x ∈ A 且 x ∉ B } A - B = \{x| x\in A 且x \notin B\} A−B={x∣x∈A且x∈/B}称为 事件 A A A和事件 B B B的差事件。
-
- 若 A ∩ B = ∅ A \cap B = \varnothing A∩B=∅,则称事件 A A A与事件 B B B互不相容(或互斥)。
-
- 若 A ∪ B = S A \cup B = S A∪B=S,则称事件 A A A与事件 B B B互为逆事件(对立事件)。
-
- 交换律: A ∪ B = B ∪ A , A ∩ B = B ∩ A A\cup B = B\cup A, A\cap B = B \cap A A∪B=B∪A,A∩B=B∩A。
-
- 结合律: A ∪ ( B ∪ C ) = ( A ∪ B ) ∪ C , A ∩ ( B ∩ C ) = ( A ∩ B ) ∩ C A \cup (B \cup C) = (A \cup B) \cup C, A \cap (B \cap C) = (A \cap B) \cap C A∪(B∪C)=(A∪B)∪C,A∩(B∩C)=(A∩B)∩C。
-
- 分配律: A ∪ ( B ∩ C ) = ( A ∪ B ) ∩ ( A ∪ C ) , A ∩ ( B ∪ C ) = ( A ∩ B ) ∪ ( A ∩ C ) A\cup (B \cap C) = (A \cup B)\cap (A \cup C), A\cap (B \cup C) = (A \cap B)\cup (A \cap C) A∪(B∩C)=(A∪B)∩(A∪C),A∩(B∪C)=(A∩B)∪(A∩C)。
-
- 德摩根律: A ∪ B ‾ = A ˉ ∩ B ˉ , A ∩ B ‾ = A ˉ ∪ B ˉ \overline{A\cup B}=\bar{A}\cap \bar{B}, \overline{A\cap B}=\bar{A}\cup \bar{B} A∪B=Aˉ∩Bˉ,A∩B=Aˉ∪Bˉ。
-
-
事件的概率:表示事件发生的可能性。
事件的概率 P ( ⋅ ) P(\cdot) P(⋅)满足的条件:
- 非负性:对于每一个事件 A , P ( A ) ≥ 0 A, P(A) \ge 0 A,P(A)≥0。
- 规范性:对于必然事件 S , P ( S ) = 1 S, P(S) = 1 S,P(S)=1。
- 可列可加性:设 A 1 , A 2 , ⋯ , A k A_{1}, A_{2}, \cdots, A_{k} A1,A2,⋯,Ak是两两不相容的事件,即 A i A j = ∅ , i ≠ j , i , j = 1 , 2 , ⋯ , k . A_{i}A_{j}=\varnothing, i\ne j, i,j = 1,2, \cdots, k. AiAj=∅,i=j,i,j=1,2,⋯,k.,有 P ( A 1 ∪ A 2 ∪ ⋯ ∪ A k ) = P ( A 1 ) + P ( A 2 ) + ⋯ + P ( A k ) P(A_{1}\cup A_{2}\cup \cdots \cup A_{k}) = P(A_{1})+P(A_{2})+\cdots +P(A_{k}) P(A1∪A2∪⋯∪Ak)=P(A1)+P(A2)+⋯+P(Ak)。
- 事件的独立性:若事件 A A A和事件 B B B满足 P ( A B ) = P ( A ) P ( B ) P(AB)=P(A)P(B) P(AB)=P(A)P(B),则称事件 A A A和事件 B B B相互独立。
- 定理一:设 A , B A, B A,B是两事件,且 P ( A ) > 0 P(A) > 0 P(A)>0,若 A , B A, B A,B相互独立,则 P ( B ∣ A ) = P ( B ) P(B|A) =P(B) P(B∣A)=P(B),反之亦然( P ( A ∣ B ) = P ( A ) P(A|B) = P(A) P(A∣B)=P(A))。
- 定理二:若事件 A , B A, B A,B相互独立,则下列各对事件也相互独立: A 与 B ˉ , A ˉ 与 B , A ˉ 与 B ˉ A与\bar{B}, \bar{A}与B, \bar{A}与\bar{B} A与Bˉ,Aˉ与B,Aˉ与Bˉ
python代码(模拟频率近似概率)
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
import random
def simulat_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)
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(f"{str(test_num)} times")
plt.show()
simulat_coin(500)
simulat_coin(1000)
simulat_coin(5000)
simulat_coin(10000)
1.2 条件概率、乘法公式、全概率公式与贝叶斯公式
- 条件概率:考虑的是事件
A
A
A已发生的条件下事件
B
B
B发生的概率,记为
P
(
B
∣
A
)
P(B|A)
P(B∣A)。条件概率的计算公式为:
P ( B ∣ A ) = P ( A B ) P ( A ) P(B|A) = \frac{P(AB)}{P(A)} P(B∣A)=P(A)P(AB)
条件概率 P ( ⋅ ∣ A ) P(\cdot|A) P(⋅∣A)也满足概率定义的三个条件:
- 非负性:对于每一个事件 B B B,有 P ( B ∣ A ) ≥ 0 P(B|A) \ge 0 P(B∣A)≥0。
- 规范性:对于必然事件 S S S,有 P ( S ∣ A ) = 1 P(S|A) = 1 P(S∣A)=1。
- 可列可加性:设 B 1 , B 2 , ⋯ , B k B_{1}, B_{2}, \cdots, B_{k} B1,B2,⋯,Bk是两两不相容事件,则有: P ( B 1 ∪ B 2 ∪ ⋯ ∪ B k ∣ A ) = P ( B 1 ∣ A ) + P ( B 2 ∣ A ) + ⋯ + P ( B k ∣ A ) P(B_{1}\cup B_{2} \cup \cdots \cup B_{k}|A) = P(B_{1}|A) + P(B_{2}|A) + \cdots + P(B_{k}|A) P(B1∪B2∪⋯∪Bk∣A)=P(B1∣A)+P(B2∣A)+⋯+P(Bk∣A)
- 乘法公式(定理):设
P
(
A
)
>
0
P(A)> 0
P(A)>0,由条件概率的计算公式可推得:
P ( A B ) = P ( B ∣ A ) P ( A ) P(AB) = P(B|A)P(A) P(AB)=P(B∣A)P(A)
推广到多个事件的积事件的情况:
- P ( A B C ) = P ( C ∣ A B ) P ( B ∣ A ) P ( A ) P(ABC) = P(C|AB)P(B|A)P(A) P(ABC)=P(C∣AB)P(B∣A)P(A)
- P ( A 1 A 2 ⋯ A n ) = P ( A n ∣ A 1 ⋯ A n − 1 ) P ( A n − 1 ∣ A 1 ⋯ A n − 2 ) ⋯ P ( A 2 ∣ A 1 ) P ( A 1 ) P(A_{1}A_{2}\cdots A_{n}) = P(A_{n}|A{1}\cdots A_{n-1})P(A_{n-1}|A_{1}\cdots A_{n-2})\cdots P(A_{2}|A{1})P(A_{1}) P(A1A2⋯An)=P(An∣A1⋯An−1)P(An−1∣A1⋯An−2)⋯P(A2∣A1)P(A1)
-
全概率公式:设实验 E E E的样本空间为 S S S, A A A为 E E E的事件, B 1 , B 2 , ⋯ , B n B_{1}, B{2}, \cdots, B_{n} B1,B2,⋯,Bn为 S S S的一个划分,且 P ( B i ) > 0 ( i = 1 , 2 , ⋯ , n ) P(B_{i}) > 0 (i=1, 2, \cdots, n) P(Bi)>0(i=1,2,⋯,n),则
-
P ( A ) = P ( A B 1 ) + P ( A B 2 ) + ⋯ + P ( A B n ) = P ( A ∣ B 1 ) P ( B 1 ) + P ( A ∣ B 2 ) P ( B 2 ) + ⋯ + P ( A ∣ B n ) P ( B n ) \begin{aligned} P(A) &= P(AB_{1}) + P(AB_{2}) + \cdots + P(AB_{n}) \\ &= P(A|B_{1})P(B_{1}) + P(A|B_{2})P(B_{2}) + \cdots + P(A|B_{n})P(B_{n}) \end{aligned} P(A)=P(AB1)+P(AB2)+⋯+P(ABn)=P(A∣B1)P(B1)+P(A∣B2)P(B2)+⋯+P(A∣Bn)P(Bn)
-
贝叶斯公式:设实验 E E E的样本空间为 S S S, A A A为 E E E的事件, B 1 , B 2 , ⋯ , B n B_{1}, B_{2}, \cdots, B_{n} B1,B2,⋯,Bn为 S S S的一个划分,且 P ( A ) > 0 , P ( B i ) > 0 ( i = 1 , 2 , ⋯ , n ) P(A)>0, P(B_{i})>0 (i=1,2, \cdots, n) P(A)>0,P(Bi)>0(i=1,2,⋯,n),则
-
P ( B i ∣ A ) = P ( A B i ) P ( A ) = P ( A ∣ B i ) P ( B i ) P ( A ∣ B 1 ) P ( B 1 ) + P ( A ∣ B 2 ) P ( B 2 ) + ⋯ P ( A ∣ B n ) P ( B n ) \begin{aligned} P(B_{i}|A) = \frac{P(AB_{i})}{P(A)} = \frac {P(A|B_{i})P(B_{i})}{P(A|B_{1})P(B_{1})+P(A|B_{2})P(B_{2})+ \cdots P(A|B_{n})P(B_{n})} \end{aligned} P(Bi∣A)=P(A)P(ABi)=P(A∣B1)P(B1)+P(A∣B2)P(B2)+⋯P(A∣Bn)P(Bn)P(A∣Bi)P(Bi)
三门问题(例子):是一个源自博弈论的数学游戏问题, 大致出自美国的 电视游戏节目 Let’s Make a Deal。问题的名字来自该节目的主持人蒙提・霍尔 (Monty Hall)。这个游戏的玩法是:参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门就可以赢得该汽车, 而另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人会开启剩下两扇门的其中一扇, 露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的机会率?
分析:设 A i ( i = 1 , 2 , 3 ) A_{i} (i = 1, 2, 3) Ai(i=1,2,3)表示第 i i i扇门及门后为山羊, A i ˉ \bar{A_{i}} Aiˉ表示第 i i i扇门及门后为汽车。
- 参赛者不改变决策时,则结果和主持人没有关系,只与参赛者与门后面的物品有关,参赛者选中门 i i i为汽车的概率为:
门1(车) | 门2(羊) | 门3(羊) |
---|
P ( c a r ) = 1 3 P(car) = \frac{1}{3} P(car)=31
- 参赛者改变决策时,可能的情况为:
门1(车) | 门2(羊) | 门3(羊) |
---|---|---|
选 | 开 | 换 |
换 | 选 | 开 |
换 | 开 | 选 |
P ( c a r ) = 2 3 P(car) = \frac{2}{3} P(car)=32
python代码(模拟三门问题)
import random
class Montyhall():
def __init__(self, test_num):
self.test_num = test_num
self.no_change = 0 # 记录未换门获得汽车的次数
self.change = 0 # 记录换门后获得汽车的次数
def start(self):
door_list = [1, 2, 3]
for i in range(self.test_num):
choice = random.choice(door_list) # 参赛者随机选一个门
car = random.choice(door_list) # 随机假定一个门后是汽车
if choice == car :
self.no_change += 1 # 参赛者选中的门后恰是汽车,不改变即获得汽车
else:
self.change += 1 # 参赛者选中的门后不是汽车,主持人打开另一扇是山羊的门,参赛者则换门后获得汽车
print("参赛者不改变决策获得汽车的概率:{}".format((self.no_change/self.test_num)*100), '%')
print("参赛者改变决策获得汽车的概率:{}".format((self.change/self.test_num)*100), '%')
montyhall = Montyhall(10000)
montyhall.start()
参赛者不改变决策获得汽车的概率:33.35 %
参赛者改变决策获得汽车的概率:66.64999999999999 %
1.3 一维随机变量及其分布函数和密度函数
-
随机变量:取值带有随机性的变量 X \bf{X} X称为随机变量。
-
离散型随机变量:随机变量 X \bf{X} X的取值是有限个或可列无限多个,这种变量称为离散型随机变量。
三种重要的离散型随机变量及其分布律:
- ( 0 − 1 ) (0 - 1) (0−1)分布:随机变量 X \bf{X} X的取值为 0 或 1,分布律为: P { X = k } = p k ( 1 − p ) 1 − k , k = 0 , 1 ( 0 < p < 1 ) P\{{\bf{X}}=k\}=p^{k}(1-p)^{1-k}, k = 0, 1 (0 < p < 1) P{X=k}=pk(1−p)1−k,k=0,1(0<p<1)
- 二项分布:设实验 E E E只有可能两个结果: A , A ˉ A, \bar{A} A,Aˉ,则称 E E E为伯努利实验。设 P ( A ) = p ( 0 < p < 1 ) P(A)=p (0< p < 1) P(A)=p(0<p<1),此时 P ( A ˉ ) = 1 − p P(\bar{A}) = 1-p P(Aˉ)=1−p,将 E E E独立重复地进行 n n n次,则称为 n n n重伯努利实验。 n n n重伯努利实验服从二项分布,分布律为: P { X = k } = C n k p k ( 1 − p ) n − k , k = 1 , 2 , ⋯ , n P\{{\bf{X}}=k\}=C_{n}^{k}p^{k}(1-p)^{n-k}, k =1, 2, \cdots, n P{X=k}=Cnkpk(1−p)n−k,k=1,2,⋯,n X \bf{X} X表示实验中 A A A发生的次数。
- 泊松分布:设随机变量所有可能的取值为 0 , 1 , 2 , ⋯ 0, 1, 2, \cdots 0,1,2,⋯,而取各个值的概率为: P { X = k } = λ k e − λ k ! , k = 0 , 1 , 2 , ⋯ , P\{{\bf{X}}=k\} = \frac{\lambda ^{k} e^{-\lambda}}{k!}, k= 0, 1, 2, \cdots, P{X=k}=k!λke−λ,k=0,1,2,⋯, 其中 λ > 0 \lambda > 0 λ>0是常数,则称 X \bf{X} X服从参数为 λ \lambda λ的泊松分布,记为 X ∼ π ( λ ) \bf{X} \sim \pi (\lambda) X∼π(λ)
泊松定理:设 λ > 0 \lambda > 0 λ>0是一个常数, n n n是任意正整数,设 n p n = λ np_{n}=\lambda npn=λ,则对一任意固定的非负整数 k k k,有 lim n → ∞ C n k p n k ( 1 − p n ) n − k = λ k e − λ k ! \lim_{n \to \infty}C_{n}^{k}p_{n}^{k}(1-p_{n})^{n-k}= \frac{\lambda ^{k} e^{-\lambda}}{k!} n→∞limCnkpnk(1−pn)n−k=k!λke−λ
- 随机变量
X
\bf{X}
X的分布函数
F
F
F:设
X
\bf{X}
X是一个随机变量,
x
x
x是任意实数,函数
F
(
x
)
=
P
{
X
≤
x
}
,
−
∞
<
x
<
∞
F(x)=P\{{\bf{X}} \le x\}, -\infty < x < \infty
F(x)=P{X≤x},−∞<x<∞ 称为
X
\bf{X}
X的分布函数。
对于任意的实数 x 1 , x 2 x_{1}, x_{2} x1,x2,有: P { x 1 < X ≤ x 2 } = P { X ≤ x 2 } − P { X ≤ x 1 } = F ( x 2 ) − F ( x 1 ) P\{x_{1} < {\bf{X}} \le x_{2} \} = P\{{\bf{X}} \le x_{2}\} -P\{{\bf{X}} \le x_{1}\} = F(x_{2}) - F(x_{1}) P{x1<X≤x2}=P{X≤x2}−P{X≤x1}=F(x2)−F(x1)。
分布函数 F ( x ) F(x) F(x)的基本性质:
- F ( x ) F(x) F(x)是一个不减函数。
- 0 < F ( x ) < 1 0 < F(x) < 1 0<F(x)<1,且 F ( − ∞ ) = lim x → − ∞ F ( x ) = 0 , F ( ∞ ) = lim x → ∞ F ( x ) = 1 F(-\infty) = \lim_{x \to -\infty}F(x) = 0, F(\infty) = \lim_{x \to \infty}F(x) = 1 F(−∞)=x→−∞limF(x)=0,F(∞)=x→∞limF(x)=1。
- F ( x + 0 ) = F ( x ) F(x+0) = F(x) F(x+0)=F(x),即 F ( x ) F(x) F(x)是右连续的。
-
连续型随机变量:随机变量 X \bf{X} X的取值是连续的(无限多、不可列),这种变量称为连续型随机变量。
-
连续型随机变量的概率密度函数:因为分布函数 F ( x ) = ∫ − ∞ x f ( t ) d t F(x)= \int_{-\infty}^{x}f(t)dt F(x)=∫−∞xf(t)dt,其中, f ( x ) f(x) f(x)称为随机变量的概率密度函数。
概率密度函数 f ( x ) f(x) f(x)的性质:
- f ( x ) g e 0 f(x) \ ge 0 f(x) ge0。
- ∫ − ∞ ∞ f ( x ) d x = 1 \int_{-\infty}^{\infty}f(x)dx = 1 ∫−∞∞f(x)dx=1。
- 对于任意实数 x 1 , x 2 ( x 1 ≤ x 2 ) x_{1}, x_{2} (x_{1} \le x_{2}) x1,x2(x1≤x2),有 P { x 1 < X ≤ x 2 } = F ( x 2 ) − F ( x 1 ) = ∫ x 1 x 2 f ( x ) d x P\{x_{1}< {\bf{X}} \le x_{2}\} = F(x_{2})-F(x_{1}) = \int_{x_{1}}^{x_{2}}f(x)dx P{x1<X≤x2}=F(x2)−F(x1)=∫x1x2f(x)dx
- 若 f ( x ) f(x) f(x)在点 x x x处连续,则有 F ′ ( x ) = f ( x ) F^{'}(x) =f(x) F′(x)=f(x)。
- 注:对于连续性随机变量, P { a < X ≤ b } = P { a ≥ X ≤ b } = P { a < X < b } P\{a< {\bf{X}} \le b\}=P\{a\ge {\bf{X}} \le b\} = P\{a< {\bf{X}} < b\} P{a<X≤b}=P{a≥X≤b}=P{a<X<b}。
python代码(分布函数和概率密度的求解)
# 1. 已知概率密度求解分布函数
from sympy import *
x = symbols('x')
fx = (1/pi) * (1/(1+x**2))
print("已知概率密度函数f(x)={}".format(fx))
Fx = integrate(fx, (x, -oo, x))
print("则其分布函数F(x)={}".format(Fx))
# 2. 已知分布函数求解概率密度函数
Fx = (1/pi) * (atan(x) + pi/2)
fx = diff(Fx, x)
print("已知分布函数F(x)={}".format(Fx))
print("则其概率密度函数f(x)={}".format(fx))
已知概率密度函数f(x)=1/(pi*(x**2 + 1))
则其分布函数F(x)=atan(x)/pi + 1/2
已知分布函数F(x)=(atan(x) + pi/2)/pi
则其概率密度函数f(x)=1/(pi*(x**2 + 1))
三种重要的连续型随机变量:
- 均匀分布:若连续型随机变量 X {\bf{X}} X具有概率密度函数 f ( x ) = { 1 b − a , a < x < b 0 , 其 它 f(x)=\left\{ \begin{aligned}&\frac{1}{b-a}, &a < x < b \\ &0, &其它 \end{aligned}\right. f(x)=⎩⎨⎧b−a1,0,a<x<b其它 则称 X {\bf{X}} X在区间 ( a , b ) (a, b) (a,b)上服从均匀分布,记为 X ∼ U ( a , b ) {\bf{X}} \sim U(a, b) X∼U(a,b)。
- 指数分布:若连续型随机变量 X {\bf{X}} X具有概率密度函数 f ( x ) = { 1 θ e − x / θ , x > 0 0 , 其 它 f(x)=\left \{ \begin{aligned} &\frac{1}{\theta}e^{-x/\theta}, &x>0 \\ &0, &其它\end{aligned}\right. f(x)=⎩⎨⎧θ1e−x/θ,0,x>0其它其中 θ > 0 \theta > 0 θ>0为常数,则称 X {\bf{X}} X服从参数为 θ \theta θ的指数分布。
- 正态分布:若连续型随机变量 X {\bf{X}} X具有概率密度函数 f ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 , − ∞ < x < ∞ f(x)=\frac{1}{\sqrt{2\pi \sigma}}e^{-\frac{(x-\mu)^2}{2\sigma ^ {2}}}, -\infty < x < \infty f(x)=2πσ1e−2σ2(x−μ)2,−∞<x<∞其中, μ , σ ( σ > 0 ) \mu, \sigma (\sigma > 0) μ,σ(σ>0)为常数,则称为 X {\bf{X}} X服从参数为 μ , σ \mu, \sigma μ,σ的正态分布或高斯分布,记为 X ∼ N ( μ , σ 2 ) {\bf{X}} \sim N(\mu, \sigma ^{2}) X∼N(μ,σ2)。
python代码(三种重要的连续型随机变量)
import numpy as np
from sympy import *
import matplotlib.pyplot as plt
# 1. 均匀分布 U(a, b),
a, b = 1, 6
x1 = symbols("x1")
f1x = (1 / (b - a))
F1x = integrate(f1x, (x1, a, x1))
# 2. 指数分布,theta = 1
theta = 1
x2 = symbols("x2")
f2x = (1/ theta) * (exp(-x2/theta))
F2x = integrate(f2x, (x2, 0, x2))
# 3. 正态分布 N(mu, sigma^2) ~ (0, 1), (0, 5), (2, 5)
x3 = symbols("x3")
mu1, sigma1 = 0, 1
f3x = (1/sqrt(2*pi*sigma1))*exp(-(x3 - mu1)**2 / (2*(sigma1**2)))
F3x = integrate(f3x)
# 画图
x1_1 = [f1x for i in np.arange(1, 7, 0.1)] # f1x的纵坐标
x1_2 = [F1x.evalf(subs={x1:i}) for i in np.arange(1, 7, step=0.1)] # F1x的纵坐标
x2_1 = [f2x.evalf(subs={x2:i}) for i in np.arange(0, 10, 0.1)]
x2_2 = [F2x.evalf(subs={x2:i}) for i in np.arange(0, 10, 0.1)]
x3_1 = [f3x.evalf(subs={x3:i}) for i in np.arange(-10, 10, 0.1)]
x3_2 = [F3x.evalf(subs={x3:i}) for i in np.arange(-10, 10, 0.1)]
fig = plt.figure(figsize=(10, 6))
plt.subplot(3, 2, 1)
plt.plot(list(np.arange(1, 7, 0.1)), x1_1)
plt.title("Union Distribution Probability")
plt.xlabel('x1')
plt.ylabel('f1x')
plt.xlim(0, 10)
plt.subplot(3,2, 2)
plt.plot(list(np.arange(1, 7, 0.1)), x1_2)
plt.title("Union Distribution")
plt.xlabel('x1')
plt.ylabel('F1x')
plt.xlim(0, 10)
plt.subplot(3, 2, 3)
plt.plot(list(np.arange(0, 10, 0.1)), x2_1)
plt.title("EXP Distribution Probability")
plt.xlabel('x2')
plt.ylabel('f2x')
plt.subplot(3, 2, 4)
plt.plot(list(np.arange(0, 10, 0.1)), x2_2)
plt.title("EXP Distribution")
plt.xlabel('x2')
plt.ylabel('F2x')
plt.subplot(3, 2, 5)
plt.plot(list(np.arange(-10, 10, 0.1)), x3_1)
plt.title("Normalization Distribution Probability")
plt.xlabel('x3')
plt.ylabel('f3x')
plt.subplot(3, 2, 6)
plt.plot(list(np.arange(-10, 10, 0.1)), x3_2)
plt.title("Normalization Distribution")
plt.xlabel('x3')
plt.ylabel('F3x')
fig.tight_layout(pad=0.4, w_pad=0, h_pad=0)
plt.show()
scipy.stats包中包含了统计学一些专用的概率密度函数及分布函数以及其它的功能,它是一个专门用来进行统计学方法调用的包
1.4 一维随机变量的数字特征:期望、方差、分位数与中位数
- 数学期望(均值)
对于离散型随机变量: 设离散型随机变量 X {\bf{X}} X的分布律为 P X = x k = p k , k = 1 , 2 , ⋯ , n . P{{\bf{X}}=x_{k}}=p_{k}, k = 1, 2, \cdots, n. PX=xk=pk,k=1,2,⋯,n. 若级数 ∑ k = 1 ∞ x k p k \sum_{k=1}^{\infty}x_{k}p_{k} k=1∑∞xkpk绝对收敛,则称级数 ∑ k = 1 ∞ x k p k \sum_{k=1}^{\infty}x_{k}p_{k} ∑k=1∞xkpk的和为随机变量 X {\bf{X}} X的数学期望,记为 E ( X ) = ∑ k = 1 ∞ x k p k E({\bf{X}})=\sum_{k=1}^{\infty}x_{k}p_{k} E(X)=k=1∑∞xkpk
对于连续型随机变量:设连续型随机变量 X {\bf{X}} X的概率密度为 f ( x ) f(x) f(x),若积分 ∫ − ∞ ∞ x f ( x ) d x \int_{-\infty}^{\infty}xf(x)dx ∫−∞∞xf(x)dx绝对收敛,则称积分 ∫ − ∞ ∞ x f ( x ) d x \int_{-\infty}^{\infty}xf(x)dx ∫−∞∞xf(x)dx的值为随机变量 X {\bf{X}} X的数学期望,记为 E ( X ) = ∫ − ∞ ∞ x f ( x ) d x E({\bf{X}}) = \int_{-\infty}^{\infty}xf(x)dx E(X)=∫−∞∞xf(x)dx
期望的几个重要性质:
- 1.设 C C C是常数,有 E ( C ) = C E(C)=C E(C)=C。
- 2.设 X {\bf{X}} X是一个随机变量, C C C是常数,则有 E ( C X ) = C E ( X ) E(C{\bf{X}})=CE({\bf{X}}) E(CX)=CE(X)
- 3.设 X , Y {\bf{X}}, {\bf{Y}} X,Y是两个随机变量,则有 E ( X + Y ) = E ( X ) + E ( Y ) E({\bf{X}+\bf{Y}}) = E({\bf{X}}) + E({\bf{Y}}) E(X+Y)=E(X)+E(Y)
- 4.设 X , Y {\bf{X}}, {\bf{Y}} X,Y是相互独立的随机变量,则有 E ( X Y ) = E ( X ) E ( Y ) E({\bf{XY}})=E({\bf{X}})E({\bf{Y}}) E(XY)=E(X)E(Y)
常见分布的数学期望:
- 0-1分布: E ( X ) = p E({\bf{X}})=p E(X)=p
- 二项分布: E ( X ) = n p E({\bf{X}}) = np E(X)=np
- 泊松分布: E ( X ) = λ E({\bf{X}}) = \lambda E(X)=λ
- 均匀分布: E ( X ) = a + b 2 E({\bf{X}}) = \frac{a+b}{2} E(X)=2a+b
- 指数分布: E ( X ) = 1 θ E({\bf{X}}) = \frac{1}{\theta} E(X)=θ1
- 正态分布: E ( X ) = μ E({\bf{X}}) = \mu E(X)=μ
- 方差和标准差
设 X {\bf{X}} X是一个随机变量,若 E { [ X − E ( X ) ] 2 } E\{[{\bf{X}} - E({\bf{X}})]^{2}\} E{[X−E(X)]2}存在,则称 E { [ X − E ( X ) ] 2 } E\{[{\bf{X}} - E({\bf{X}})]^{2}\} E{[X−E(X)]2}为 X {\bf{X}} X的方差,记为 D ( X ) 或 V a r ( X ) D({\bf{X}})或Var({\bf{X}}) D(X)或Var(X),即 D ( X ) = V a r ( X ) = E { [ X − E ( X ) ] 2 } D({\bf{X}})=Var({\bf{X}})=E\{[{\bf{X}} - E({\bf{X}})]^{2}\} D(X)=Var(X)=E{[X−E(X)]2} 引入 D ( X ) \sqrt{D({\bf{X}})} D(X),记为 σ ( X ) \sigma{(\bf{X})} σ(X),称为标准差或均方差。
方差化简计算公式: D ( X ) = E ( X 2 ) − [ E ( X ) ] 2 D({\bf{X}})=E({\bf{X}}^{2}) - [E({\bf{X}})]^{2} D(X)=E(X2)−[E(X)]2
方差的性质:
- 设 C C C是常数,则 D ( C ) = 0 D(C)=0 D(C)=0
- 设 X \bf{X} X是随机变量, C C C是常数,则 D ( C X ) = C 2 D ( X ) , D ( X + C ) = D ( X ) D(C{\bf{X}})=C^{2}D({\bf{X}}), D({\bf{X}}+C)=D({\bf{X}}) D(CX)=C2D(X),D(X+C)=D(X)
- 设 X , Y \bf{X}, \bf{Y} X,Y是两个随机变量,则有 D ( X + Y ) = D ( X ) + D ( Y ) + 2 E { ( X − E ( X ) ) ( Y − E ( Y ) ) } D({\bf{X}}+{\bf{Y}}) = D({\bf{X}})+D({\bf{Y}}) + 2E\{({\bf{X}} - E({\bf{X}}))({\bf{Y}} - E({\bf{Y}}))\} D(X+Y)=D(X)+D(Y)+2E{(X−E(X))(Y−E(Y))} 特别地,若 X , Y \bf{X}, \bf{Y} X,Y相互独立,则有 D ( X + Y ) = D ( X ) + D ( Y ) D({\bf{X}}+{\bf{Y}}) = D({\bf{X}})+D({\bf{Y}}) D(X+Y)=D(X)+D(Y)
- D ( X ) = 0 D({\bf{X}})=0 D(X)=0的充分必要条件是 X {\bf{X}} X以概率 1 1 1取常数 E ( X ) E({\bf{X}}) E(X),即 P { X = E ( X ) } = 1 P\{{\bf{X}} = E({\bf{X}})\} = 1 P{X=E(X)}=1
常见分布的方差:
- 0-1分布: V a r ( X ) = p ( 1 − p ) Var({\bf{X}}) = p(1-p) Var(X)=p(1−p)
- 二项分布: V a r ( X ) = n p ( 1 − p ) Var({\bf{X}}) = np(1-p) Var(X)=np(1−p)
- 泊松分布: V a r ( X ) = λ Var({\bf{X}}) = \lambda Var(X)=λ
- 均匀分布: V a r ( X ) = ( b − a ) 2 12 Var({\bf{X}}) = \frac{(b-a)^{2}}{12} Var(X)=12(b−a)2
- 正态分布: V a r ( X ) = σ 2 Var({\bf{X}}) = \sigma^2 Var(X)=σ2
- 指数分布: V a r ( X ) = 1 θ 2 Var({\bf{X}}) = \frac{1}{\theta^{2}} Var(X)=θ21
python代码(利用scipy.stats包计算常见分布的均值和方差)
import numpy as np
from scipy.stats import bernoulli # 0 - 1 分布
from scipy.stats import binom # 二项分布
from scipy.stats import poisson # 泊松分布
from scipy.stats import uniform # 均匀分布
from scipy.stats import norm # 正态分布
from scipy.stats import expon # 指数分布
from scipy.stats import rv_continuous # 建立自己的分布函数
print("0 - 1 分布(p=0.5)的均值:{}, 方差: {}, 标准差:{}".format(bernoulli(p=0.5).mean(),
bernoulli(p=.5).var(), bernoulli(p=0.5).std()))
print("二项分布b(100, 0.5)的均值:{}, 方差: {}, 标准差:{}".format(binom(n=100, p=0.5).mean(),
binom(n=100, p=0.5).var(), binom(n=100, p=0.5).std()))
print("泊松分布(lambda=0.6)的均值:{}, 方差: {}, 标准差:{}".format(poisson(0.6).mean(), poisson(0.6).var(), poisson(0.6).std()))
print("均匀分布(1, 6)的均值:{}, 方差: {}, 标准差:{}".format(uniform(1, 5).mean(), uniform(1, 5).var(), uniform(1, 5).std()))
print("正态分布(0, 0.1)的均值:{}, 方差: {}, 标准差:{}".format(norm(0, 0.1).mean(), norm(0, 0.1).var(), norm(0, 0.1).std()))
print("指数分布(theta = 5)的均值:{}, 方差: {}, 标准差:{}".format(expon(scale=1.0/5.0).mean(), expon(scale=1.0/5.0).var(), expon(scale=1.0/5.0).std()))
# 利用rv_continuous创建一个自己的分布函数
class My_distribution(rv_continuous):
def _cdf(self, x):
return np.where(x>0., 1, 0)
example = My_distribution(name='example')
x= np.array([1, -1, 2, 3, 4, -1])
print("example(x=[1, -1, 2, 3, 4, -1])的均值:{}, 方差: {}, 标准差:{}".format(example(x).mean(), example(x).var(), example(x).std()))
0 - 1 分布(p=0.5)的均值:0.5, 方差: 0.25, 标准差:0.5
二项分布b(100, 0.5)的均值:50.0, 方差: 25.0, 标准差:5.0
泊松分布(lambda=0.6)的均值:0.6, 方差: 0.6, 标准差:0.7745966692414834
均匀分布(1, 6)的均值:3.5, 方差: 2.083333333333333, 标准差:1.4433756729740643
正态分布(0, 0.1)的均值:0.0, 方差: 0.010000000000000002, 标准差:0.1
指数分布(theta = 5)的均值:0.2, 方差: 0.04000000000000001, 标准差:0.2
example(x=[1, -1, 2, 3, 4, -1])的均值:[ 1. -1. 2. 3. 4. -1.], 方差: [2.38155178e-29 2.38155178e-29 2.38155178e-29 2.38155178e-29
2.38155178e-29 2.38155178e-29], 标准差:[4.88011452e-15 4.88011452e-15 4.88011452e-15 4.88011452e-15
4.88011452e-15 4.88011452e-15]
- 分位数与中位数(连续型随机变量)
设连续随机变量 X X X 的分布函数为 F ( x ) F(x) F(x),密度函数为 p ( x ) p(x) p(x)。 对任意 p ∈ ( 0 , 1 ) p \in(0,1) p∈(0,1), 称满足条件
F ( x p ) = ∫ − ∞ x p p ( x ) d x = p F\left(x_{p}\right)=\int_{-\infty}^{x_{p}} p(x) \mathrm{d} x=p F(xp)=∫−∞xpp(x)dx=p
的 x p x_{p} xp 为此分布的 p p p 分位数, 又称下侧 p p p 分位数。
分位数与上侧分位数是可以相互转换的, 其转换公式为: x p ′ = x 1 − p , x p = x 1 − p ′ x_{p}^{\prime}=x_{1-p}, \quad x_{p}=x_{1-p}^{\prime} xp′=x1−p,xp=x1−p′
中位数就是p=0.5时的分位数点,设连续随机变量 X X X 的分布函数为 F ( x ) F(x) F(x), 密度函数为 p ( x ) p(x) p(x)。 称 p = 0.5 p=0.5 p=0.5 时的 p p p 分位数 x 0.5 x_{0.5} x0.5 为此分布的中位数,即 x 0.5 x_{0.5} x0.5 满足 F ( x 0.5 ) = ∫ − ∞ x 0.5 p ( x ) d x = 0.5 F\left(x_{0.5}\right)=\int_{-\infty}^{x_{0.5}} p(x) \mathrm{d} x=0.5 F(x0.5)=∫−∞x0.5p(x)dx=0.5
python代码(计算标准正态分布的0.25,0.5(中位数),0.75,0.95分位数点。)
from scipy.stats import norm
print("标准正态分布(0,1)的0.25分位数点:{}".format(norm.ppf(0.25)))
print("标准正态分布(0,1)的0.5分位数点:{}".format(norm.ppf(0.5)))
print("标准正态分布(0,1)的0.75分位数点:{}".format(norm.ppf(0.75)))
print("标准正态分布(0,1)的0.95分位数点:{}".format(norm.ppf(0.95)))
标准正态分布(0,1)的0.25分位数点:-0.6744897501960817
标准正态分布(0,1)的0.5分位数点:0.0
标准正态分布(0,1)的0.75分位数点:0.6744897501960817
标准正态分布(0,1)的0.95分位数点:1.6448536269514722