0%

生物统计学:概率与概率分布

背景

学校生物统计学上课实在一言难尽,我听不下去。想把一些实用的东西记录在这里。

Lecture Outline:

  • 理论分布(概率分布)
  • 大数定律和中心极限定律
  • 抽样分布:正态总体抽样
  • 抽样分布:二项总体抽样

基本的概率知识:

Def

  1. 某些确定条件下,可能出现也可能不出现的现象,成为随机事件事件

  2. 事件A在nn 次重复实验中发生了mm次,其比值mn\frac{m}{n} 称为事件A发生的频率

    W(A)=mn,0W(A)1W(A)=\frac{m}{n}, 0\leq W(A)\leq 1

  3. 实验的次数不断增大的时候频率W(A)W(A)越来越接近某一个确定值pp,定义pp为事件A发生的概率

    P(A)=p=limnmnP(A) = p =\lim_{n\to\infty}\frac{m}{n}

计算法则

  1. 加法定理:对于互斥事件, P(A+B)=P(A)+P(B)P(A+B)=P(A)+P(B)
  2. 乘法定理:对于独立事件,P(AB)=P(A)P(B)P(A\cdot B) = P(A) \cdot P(B)

概率分布

离散型随机变量的概率分布

通过表格表示,没什么好说的

连续性随机变量的概率分布

f(x)f(x)为概率密度函数,应该有:

P(x1xx2)=x1x2f(x)dxP(x_1 \leq x \leq x_2) = \int_{x_1}^{x_2} f(x)dx

x(,+)x\in(-\infty,+\infty), P(x)=f(x)dx=1P(-\infty \leq x \leq \infty) = \int_{-\infty}^{\infty} f(x)dx = 1

大数定律

Def: 概率论中用来阐述大量随机现象平均结果稳定性的一系列定律的总称。

伯努利大数定律 :m是n次独立试验中A出现的次数,而p是事件A在每次实验中出现的概率,对于任意小的正数ε,有如下关系:

limnP{mnp<ε}=1\lim_{n\to \infty}P \{ |\frac{m}{n}-p| < ε \} = 1

辛钦大数定律: 说明了为什么可以用算术平均数x\overline{x} 来推断总体平均数μ。

贝叶斯定理

P(AB)=P(BA)P(A)P(B)P(A|B)=\frac{P(B|A)P(A)}{P(B)}

中心极限定律

类似于大数定理,中心极限定理也有好几个不同的发展。但是总的思想史,在一定条件下,大量的相互独立随机变量的均值经过标准化后依分布收敛于正态分布。

这个概念我头一次看的时候还是有点懵逼的……于是举个例子:

投色子,重复一千次,然后把结果记录下来,我们有理由相信出现1~6的概率是差不多的,这显然不是一个正态分布。但是如果我们一组投三十次,将记录这三十次投出来数字的一个平均值,重复1000次,这个时候我们得到了1000个“平均值”,这些平均值满足什么样的分布规律呢?这就是中心极限定律探讨的内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import matplotlib.pyplot as plt
import numpy as np
import matplotlib
#假设我们疯狂抛色子玩
random_data = np.random.randint(1, 7, 10000)
print("平均值:" + str(random_data.mean())) # 平均值
print("标准差: " + str(random_data.std())) # 标准差
plt.style.use('ggplot')
plt.hist(random_data,bins = 6,edgecolor = 'black')
plt.show()

samples = []
samplesMean = []
samplesStd = []


for i in range(0,1000):
sample=[]
for j in range (0,30):
sample.append(random_data[int(np.random.random()*len(random_data))])
sample_np = np.array(sample)
samplesMean.append(sample_np.mean())
samplesStd.append(sample_np.std())
samples.append(sample_np)

samples_mean_np = np.array(samplesMean)
samples_std_np = np.array(samplesStd)

plt.hist(samples_mean_np,bins = 6,edgecolor = 'black')
plt.show()

image-20200318150801016

而这些平均数的分布会形成一个正态分布。

其实这是一个很好理解的事情,如果我们抽样的样本足够大,甚至和总体一样大,这个时候的样本平均数就是总体的平均数。而样本变小的过程就会让样本的平均数可能会出现偏离总体平均数的情况,样本越小,这个情况发生的可能性越大。

另外,样本均值的方差等于n\frac{总体方差}{n}. 为什么这样呢?

我们知道:

D(x+y)=D(x)+D(y)D(kx)=k2D(x)D(x+y) = D(x)+D(y) \\ D(kx) = k^2 D(x)

所以,对于大小为n的一个样本:

D(x=D(xin)=1n2D(xi)=1n2D(xi)=1nD(x)\begin{aligned} D(\overline{x})&=D(\frac{\sum x_i}{n}) = \frac{1}{n^2}D(\sum x_i) \\ &= \frac{1}{n^2} \sum D(x_i) = \frac{1}{n}D(x) \end{aligned}

进而有标准误差(standard error),或者叫平均数的标准误定义:

σx=σn\sigma_{\overline x} = \frac{\sigma}{\sqrt{n}}

常见的理论分布

二项分布

二项分布 :n次实验中出现A事件的次数:

P(x)=CnxpxqnxP(x) = C^x_np^xq^{n-x}

其中Cnx=n!x!(nx)!C^x_n = \frac{n!}{x!(n-x)!}

二项分布的总体平均数

μx=xip(xi)=npμ_x = \sum{x_ip(x_i)} = np

二项分布的总体标准差 :

σx=(xiμ)2p(xi)=np(1p)σ_x = \sqrt{\sum(x_i-μ)^2p(x_i)} = \sqrt{np(1-p)}

泊松分布

样本容量很大但是事件出现的概率很小时出现的一种特殊的二项分布。

概率函数(k是发生次数):

P(X=k)=λkk!eλ,k=0,1,P(X=k)=\frac{\lambda^k}{k!}e^{-\lambda},k=0,1,…

平均数μ=λμ=λ方差σ2=λσ^2=λ标准差σ=λσ=\sqrt{λ}

正态分布

如果随机变量X的概率密度函数为:

f(x)=12πσe(xμ)22σ2f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}

对于这种情况记作:xN(μσ2)x\sim N(\mu,\sigma^2) 参数分别对应为平均数和方差

正态分布的特征:

  1. x=μx=μ 时,f(x)f(x)取最大值12πσ\frac{1}{\sqrt{2\pi}\sigma}

  2. 平均数决定图形的位置,方差决定图形的扁平陡峭程度。

  3. 正态分布曲线下总面积为1

  4. 通过公式:

    Z=xμσZ= \frac{x-\mu}{\sigma}

    可以将任意一个正态分布进行标准化,这主要是为了方便手工查表求出给定的积累概率。在R中要容易很多,对于XN(50,102)X\sim N(50,10^2), 如果求P(30x40)P(30 \leq x \leq40)

    1
    pnorm(40,mean=50,sd=10) - pnorm(30,mean=50,sd=10)

指数分布

f(n)={λeλxx>00x0f(n)= \begin{cases} \lambda e^{-\lambda x}\quad x>0\\ 0 \quad\quad\quad x\leq0\end{cases}

χ2\chi^2 分布

n个独立标准正态随机变量平方和的分布称为具有n个自由度的χ2\chi^2分布。

Chi-square-distribution

t 分布

设随机变量ZN(0,1),Xχ2(n)Z\sim N(0,1),X\sim {\chi}^2(n), 且XZ相互独立,则称T=ZX/nT = \frac{Z}{\sqrt{X/n}}服从自由度为n的t分布,记为Tt(n)T \sim t(n)

正态分布标准差未知,在小样本条件下对总体均值的估计和检验要用到t分布。

F 分布

F分布是两个卡方分布变量的比,也就是会有两个自由度,它的图形比较类似于卡方分布,通常被用于比较不同总体的方差是否有显著差异。