首页 > 其他分享 >统计力学中的概率论基础(二)

统计力学中的概率论基础(二)

时间:2024-05-14 18:42:34浏览次数:16  
标签:infty frac int 基础 统计力学 mu 概率论 sigma lambda

技术背景

上一篇文章,我们继续记录统计力学中的一些基础的概率论知识。这一篇文章主要介绍的是一些常用的概率密度函数的对应参数计算,如期望值、方差等。

伯努利分布

在离散分布中,最简单的分布为伯努利(Bernoulli)分布,也叫0-1分布。伯努利分布的随机变量就跟抛硬币一样只有两种:0(失败)和1(成功),对应的概率可以表示为:

\[p=P(X=1),q=P(X=0)=1-p \]

因为伯努利分布是一个单次试验,因此根据期望值定义可以计算得:

\[\mu=E(X)=\sum_{i=0}^nX_iP(X_i)=X_0P(X=0)+X_1P(X=1)=0*q+1*p=p \]

方差为:

\[E[(X-\mu)^2]=E(X^2-2\mu X+\mu^2)=E(X^2)-2\mu E(X)+\mu^2=E(X^2)-p^2\\ E(X^2)=\sum_{i=0}^nX_i^2P(X_i)=X_0^2P(X=0)+X_1^2P(X=1)=p\\ \sigma^2=E[(X-\mu)^2]=p-p^2=pq \]

如果\(p=\frac{1}{2},q=1-p=\frac{1}{2}\),那么对应的伯努利分布的期望值为\(\mu=p=\frac{1}{2}\),方差为:\(\sigma^2=pq=\frac{1}{4}\)。

二项分布

二项分布是\(n\)次伯努利试验中成功次数的分布,记为\(B(n,p)\),事件\(X_i\)表示在\(n\)次的伯努利试验中成功了\(i\)次。关于二项分布的期望值推导,可以使用期望值的定义:

\[E(X)=\sum_{i=0}^nX_iP(X_i)=\sum_{i=0}^nC_{n}^{i}X_ip^iq^{n-i} \]

写到此处,我们应该要想起两数求和的\(n\)次方形式:

\[(p+q)^n=\sum_{i=0}^np^iq^{n-i}=1 \]

那么回头再计算期望值就可以直接使用这个结果:

\[\begin{align} \mu=E(X)&=\sum_{i=0}^nC_{n}^{i}X_ip^iq^{n-i}\\ &=\sum_{i=1}^nC_n^iX_ip^iq^{n-i}+0\\ &=\sum_{i=1}^n\frac{n!}{i!(n-i)!}ip^iq^{(n-i)}\\ &=\sum_{i=1}^n\frac{n(n-1)!}{(i-1)![(n-1)-(i-1)]!}pp^{i-1}q^{[(n-1)-(i-1)]}\\ &=np\sum_{k=0}^{n-1}\frac{(n-1)!}{k!(n-1-k)!}p^kq^{(n-1-k)}\\ &=np(p+q)^{n-1}\\ &=np \end{align} \]

类似的,二项分布的方差为:

\[\begin{align} \sigma^2=E[(X-\mu)^2]&=E(X^2)-\mu^2\\ &=\sum_{i=0}^nC_{n}^{i}X_i^2p^iq^{n-i}-\mu^2\\ &=\sum_{i=1}^n\frac{n!}{i!(n-i)!}i^2p^iq^{n-i}+0-\mu^2\\ &=\mu\sum_{k=0}^{n-1}\frac{(n-1)!}{k!(n-1-k)!}(k+1)p^kq^{(n-1-k)}-\mu^2\\ &=\mu\sum_{k=0}^m\frac{m!}{(k)!(m-k)!}kp^kq^{(m-k)}+\mu-\mu^2\\ &=\mu(n-1)p+\mu-\mu^2\\ &=np-np^2\\ &=npq \end{align} \]

关于这里面的概率系数\(C_{n}^{i}p^iq^{n-i}\),我们可以把它画出来看一下:

import numpy as np
import matplotlib.pyplot as plt

def C(n,k,p):
    return p**n if k==0 else (1-p)**n if k==n else p**k*(1-p)**(n-k)*np.prod(np.arange(1,n+1))/np.prod(np.arange(1,k+1))/np.prod(np.arange(1,n-k+1))

vC = lambda n,kk, p: [C(n,k,p) for k in kk]

N=20
p=0.5
kk = np.arange(N+1)
res = vC(N,kk,p)

plt.figure()
plt.plot(kk,res,color='black')
plt.plot(kk,res,'o',color='red')
plt.show()

泊松分布

泊松分布可以看作是二项分布的变种,事件都是一系列的伯努利分布,但是每个事件发生的概率由如下形式给出:

\[Pr(X=k)=p(k;\lambda)=\frac{e^{-\lambda}\lambda^k}{k!} \]

同样的我们也可以把这个分布画出来:

import numpy as np
import matplotlib.pyplot as plt
N = 20
k = np.arange(N+1)
ps = lambda lbd, kk: [np.exp(-lbd) if k==0 else np.exp(-lbd)*(lbd**k)/np.prod(np.arange(1, k+1)) for k in kk]
plt.figure()
plt.plot(k, ps(0.1, k), label=r'$\lambda=0.1$')
plt.plot(k, ps(0.5, k), label=r'$\lambda=0.5$')
plt.plot(k, ps(1, k), label=r'$\lambda=1$')
plt.plot(k, ps(2, k), label=r'$\lambda=2$')
plt.plot(k, ps(3, k), label=r'$\lambda=3$')
plt.plot(k, ps(4, k), label=r'$\lambda=4$')
plt.plot(k, ps(5, k), label=r'$\lambda=5$')
plt.plot(k, ps(6, k), label=r'$\lambda=6$')
plt.legend()
plt.show()

得到的结果如下:

这是一个\(\lambda\)越小,整体采样分布越靠近\(0\)的概率函数。那么我们可以使用期望值的定义来计算泊松分布的期望值:

\[\mu=E(X)=\sum_{k=0}^NX_k\frac{e^{-\lambda}\lambda^k}{k!}=\lambda\sum_{k=1}^N \frac{e^{-\lambda}\lambda^{(k-1)}}{(k-1)!}=\lambda\sum_{n=0}^N \frac{e^{-\lambda}\lambda^n}{n!}=\lambda\sum_{n=0}^N Pr(X_n)=\lambda \]

类似地,泊松分布的方差为:

\[\begin{align} \sigma^2=E(X^2)-\mu^2&=\sum_{k=0}^Nk^2\frac{e^{-\lambda}\lambda^k}{k!}-\mu^2\\ &=\sum_{k=1}^Nk\frac{e^{-\lambda}\lambda^k}{(k-1)!}-\mu^2\\ &=e^{-\lambda}\lambda+\lambda\sum_{k=2}^Nk\frac{e^{-\lambda}\lambda^(k-1)}{(k-1)!}-\mu^2\\ &=e^{-\lambda}\lambda+\lambda\sum_{m=1}^N(m+1)\frac{e^{-\lambda}\lambda^m}{m!}-\mu^2\\ &=e^{-\lambda}\lambda+\lambda\sum_{m=1}^Nm\frac{e^{-\lambda}\lambda^m}{m!}+\lambda\sum_{m=1}^N\frac{e^{-\lambda}\lambda^m}{m!}-\mu^2\\ &=e^{-\lambda}\lambda+\lambda^2+\lambda(1-e^{-\lambda})-\lambda^2\\ &=\lambda \end{align} \]

正态分布

正态分布是一个极其重要的连续分布,其概率密度函数为:

\[f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{1}{2}(\frac{x-\mu}{\sigma})^2} \]

看到这个形式的概率密度函数,我们应该率先想到高斯积分:

\[I=\int_{-\infty}^{+\infty}e^{-x^2}dx \]

对该积分取一个平方,形式变成了一个二元积分:

\[I^2=\int_{-\infty}^{+\infty}\int_{-\infty}^{+\infty}e^{-(x^2+y^2)}dxdy \]

要求解这个积分,常规的方法是做一个极坐标变换,在知乎上有一个问题专门讨论了直角坐标系与极坐标系两个不同的矢量空间的积分问题。我们知道上述积分表达式中的\(dxdy\)表示的是一个面积元\(dS\),那么能直接定义\(dS=dxdy\)吗?其实我们画两个图就看明白了:

在这个图中可以看出,其实只有在\(x,y\)为正交的坐标系下(即矢量\(d\textbf{x}\cdot d\textbf{y}\)=0时)才成立。关于面积元更加准确的定义应该是这样的:

\[d\textbf{S}=d\textbf{x}\times d\textbf{y}=dxdy\sin\theta \]

因此对于一个坐标变换\(x=f(m,n),y=g(m,n)\)来说,对应的面积元的变换形式为:

\[\begin{align} d\textbf{S}=d\textbf{x}\times d\textbf{y}&=\left[\frac{df(m,n)}{dm}d\textbf{m}+\frac{df(m,n)}{dn}d\textbf{n}\right]\times\left[\frac{dg(m,n)}{dm}d\textbf{m}+\frac{dg(m,n)}{dn}d\textbf{n}\right]\\ &=\frac{df(m,n)}{dm}\frac{dg(m,n)}{dn}d\textbf{m}\times d\textbf{n}+\frac{df(m,n)}{dn}\frac{dg(m,n)}{dm}d\textbf{n}\times d\textbf{m}\\ &=\left[\frac{df(m,n)}{dm}\frac{dg(m,n)}{dn}-\frac{df(m,n)}{dn}\frac{dg(m,n)}{dm}\right]d\textbf{m}\times d\textbf{n} \end{align} \]

此时代入一个极坐标变换\(x=f(r,\theta)=r\cos\theta,y=g(r,\theta)=r\sin\theta\)有:

\[\begin{align} d\textbf{x}\times d\textbf{y}&=(\cos\theta\cdot r\cos\theta+r\sin\theta\cdot\sin\theta)d\vec{r}\times d\vec{\theta}\\ &=rd\vec{r}d\vec{\theta} \end{align} \]

所以常规的写法就是\(dxdy=rdrd\theta\),那么此时再回到高斯积分:

\[\begin{align} I^2&=\int_{-\pi}^{\pi}\int_{0}^{+\infty}e^{-r^2}rdrd\theta\\ &=-\frac{1}{2}\int_{-\pi}^{\pi}\left(\left.e^{-r^2}\right|_{0}^{+\infty}\right)d\theta\\ &=\frac{1}{2}\int_{-\pi}^{\pi}d\theta\\ &=\pi \end{align} \]

即\(I=\int_{-\infty}^{+\infty}e^{-x^2}dx=\sqrt{\pi}\)。此时回头看正态分布有:

\[\begin{align} \int_{-\infty}^{+\infty}e^{-\frac{1}{2}(\frac{x-\mu}{\sigma})^2}dx&=\int_{-\infty}^{+\infty}e^{-(\frac{x}{\sqrt{2}\sigma})^2}dx\\ &=\sqrt{2}\sigma\int_{-\infty}^{+\infty}e^{-y^2}dy\\ &=\sqrt{2\pi}\sigma \end{align} \]

也就是说,\(\int_{-\infty}^{+\infty}\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{1}{2}(\frac{x-\mu}{\sigma})^2}dx\),这表示正态分布给出的概率函数,在\(x\)轴上的积分为1,这符合我们对概率密度函数的预期。很显然的是,正态分布函数\(f(x)\)是关于\(x=\mu\)对称的一个函数,即\(P(x<\mu)=P(x>\mu)\),按照连续分布的期望值定义:

\[\begin{align} E(x)=\int xf(x)dx&=\int_{x<\mu} xf(x)dx+\int_{x=\mu}xf(x)dx+\int_{x>\mu}xf(x)dx\\ &=\int_{x<\mu} xf(x)dx+0+\int_{x<\mu} (2\mu-x)f(x)dx\\ &=2\mu\int_{x<\mu}f(x)dx\\ &=\mu \end{align} \]

至于方差,根据定义有:

\[\begin{align} E[(x-\mu)^2]=\int_{-\infty}^{+\infty}(x-\mu)^2f(x)dx&=\int_{-\infty}^{+\infty}x^2f(x)dx-\mu^2\\ &=\int_{-\infty}^{+\infty}x^2\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{1}{2}(\frac{x-\mu}{\sigma})^2}dx-\mu^2 \end{align} \]

考虑到积分项\(x\)带了一个平方,而概率幅在指数项上也带了一个\(x^2\),因此我们可以考虑构造一个分部积分\((uv)'=u'v+uv'\rightarrow uv'=(uv)'-u'v\)来进行求解。首先我们定义一个变量\(y=\frac{x-\mu}{\sqrt{2}\sigma}\)便于求解,那么有:\(x=\sqrt{2}\sigma y+\mu, dx=\sqrt{2}\sigma dy\),代入方差:

\[\begin{align} E(x^2)&=\frac{1}{\sqrt{2\pi}\sigma}\int_{-\infty}^{+\infty}(\sqrt{2}\sigma y+\mu)^2e^{-y^2}\sqrt{2}\sigma dy\\ &=\frac{1}{\sqrt{\pi}}\int_{-\infty}^{+\infty}2\sigma^2y^2e^{-y^2}dy+\frac{1}{\sqrt{\pi}}\int_{-\infty}^{+\infty}2\sqrt{2}\mu\sigma ye^{-y^2}dy+\frac{1}{\sqrt{\pi}}\int_{-\infty}^{+\infty}\mu^2e^{-y^2}dy\\ &=\frac{2\sigma^2}{\sqrt{\pi}}\int_{-\infty}^{+\infty}y^2e^{-y^2}dy+\frac{2\sqrt{2}\mu\sigma}{\sqrt{pi}}\int_{-infty}^{+\infty}ye^{-y^2}dy+\frac{\mu^2}{\sqrt{\pi}}\int_{-\infty}^{+\infty}e^{-y^2}dy\\ &=\frac{2\sigma^2}{\sqrt{\pi}}\int_{-\infty}^{+\infty}y^2e^{-y^2}dy+\mu^2\\ &=\frac{\sigma^2}{\sqrt{\pi}}\int_{-\infty}^{+\infty}e^{-y^2}dy-\frac{\sigma^2}{\sqrt{\pi}}\left.\left(ye^{-y^2}\right)\right|_{-\infty}^{+\infty}+\mu^2\\ &=\sigma^2+\mu^2 \end{align} \]

因此最终的方差为:

\[E[(x-\mu)^2]=E(x^2)-\mu^2=\sigma^2 \]

这里面用到了一个洛必达法则:\(\lim_{x\to -\infty}xe^{-x^2}=\lim_{x\to +\infty}xe^{-x^2}=\lim_{x\to \infty}\frac{1}{2xe^{x^2}}=0\)。因此,正态分布函数中的\(\mu\)和\(\sigma\)也是它的期望值和标准差。特别地,当\(\mu=0,\sigma=1\)时,该分布称为标准正态分布。

均匀分布

均匀分布,其实可以认为是所有分布的基础。我们可以通过均匀随机数结合一个累积分布函数,去构造其概率密度采样。均匀随机数的概率密度函数为:

\[f(x)=\left\{ \begin{matrix} \frac{1}{b-a}, && a\leq x\leq b\\ 0, && others \end{matrix} \right. , a<b \]

那么这个函数在整个轴上的积分为:\(\int_{-\infty}^{+\infty}\frac{1}{b-a}dx=\frac{1}{b-a}\left.(x)\right|_{a}^b=1\)。类似的,也可以简单的推导均匀分布的期望值:

\[\mu=\frac{1}{b-a}\int_{a}^bxdx=\frac{1}{2(b-a)}\left.(x^2)\right|_{a}^b=\frac{a+b}{2} \]

还有均匀分布的方差:

\[\sigma^2=\frac{1}{b-a}\int_{a}^bx^2dx=\frac{1}{3(b-a)}\left.(x^3)\right|_{a}^b=\frac{(b-a)^2}{12} \]

其实关于均匀分布,更多的时候选用的是\(x~U(0,1)\),也就是0~1区间内的均匀随机采样,这也是各种编程框架下默认使用的均匀分布随机数。其实别看这个均匀随机数形式上简简单单,在蒙特卡洛采样中有非常多的应用,比如可以用均匀采样估计圆周率\(\pi\)的值:

import numpy as np
res = lambda n: np.sum(np.linalg.norm(np.random.random(size=(n,2)),axis=-1)<1)*4./n
for i in [10,100,1000,10000]: print ('The {} samples evaluation value of π is: {}'.format(i,res(i)))
# The 10 samples evaluation value of π is: 3.2
# The 100 samples evaluation value of π is: 3.44
# The 1000 samples evaluation value of π is: 3.284
# The 10000 samples evaluation value of π is: 3.1808

这个算法就是在一个边长为1的正方形内均匀采样,然后取\(\frac{1}{4}\)圆内的点做统计,最终落在圆形内部的点会占总样本数的\(\frac{\pi}{4}\),以此来估计圆周率\(\pi\)。

指数分布

指数分布是一个“单调”分布,其概率密度函数形式为:

\[f(x)=\lambda e^{-\lambda x}, x\geq 0 \]

首先还是对这个概率密度函数做一个归一化的校验:\(\int_{0}^{+\infty}\lambda e^{-\lambda x}dx=-\left.e^{-\lambda x}\right|_{0}^{+\infty}=1\),然后照例计算其期望值:

\[\mu=\lambda\int_{0}^{+\infty}xe^{-\lambda x}dx=\int_{0}^{+\infty}e^{-\lambda x}dx-\left.(xe^{-\lambda x})\right|_{0}^{+\infty}=\frac{1}{\lambda} \]

指数分布的期望值为:

\[\sigma^2=\lambda\int_{0}^{+\infty}x^2e^{-\lambda x}dx-\mu^2=\int_0^{+\infty}2xe^{-\lambda x}dx-\left.(x^2e^{-\lambda x})\right|_0^{+\infty}-\mu^2=\frac{2}{\lambda^2}-\frac{1}{\lambda^2}=\frac{1}{\lambda^2} \]

类似于正态分布中的计算,这里也用到了分部积分和洛必达法则。

大数定理

简单理解大数定理就是,在执行的采样数量\(n\)足够大的时候,样本概率\(\frac{m}{n}\)会趋近于真实概率\(p\),也叫依概率收敛:

\[\lim_{n\rightarrow \infty}P(\left|\frac{m}{n}-p\right|<\epsilon)=1 \]

这里\(\epsilon\rightarrow0\)是一个小数。除了事件概率收敛外,还有期望值大数定理和方差大数定理,都是依概率收敛:

\[\lim_{n\rightarrow \infty}P(\left|\frac{1}{n}\sum_{i=1}^nX_i-\mu\right|<\epsilon)=1,\lim_{n\rightarrow \infty}P(\left|\frac{1}{n}\sum_{i=1}^n\left(X_i-\mu\right)^2-\sigma^2\right|<\epsilon)=1 \]

总结概要

可以理解的是,概率密度函数,一般情况下都是连续的。但是对于采样或者随机试验来说,其实都是离散采样。大数定理通过取一个极限,将概率密度函数跟试验联系了起来。这篇文章主要介绍的是常用的几个概率密度函数的期望值和方差的计算,以及大数定理的基本概念。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/prob-2.html

作者ID:DechinPhy

更多原著文章:https://www.cnblogs.com/dechinphy/

请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

参考资料

  1. 《统计力学导引》--郑伟谋

标签:infty,frac,int,基础,统计力学,mu,概率论,sigma,lambda
From: https://www.cnblogs.com/dechinphy/p/18191203/prob-2

相关文章

  • Java面试题 - Java基础
    参考教程【本文参考自以下文章,部分图片及代码片段也取自以下文章,如果构成侵权,请联系我进行修改/删除】【如果构成侵权,请联系我进行修改/删除】【如果构成侵权,请联系我进行修改/删除】【如果构成侵权,请联系我进行修改/删除】自学精灵-首页(本文几乎所有的内容都是自学精灵上......
  • 【反向思维】怎么判断面试者是否有扎实的前端基础?
    前鹅厂前端,待了4年,也算是个前端部分还有点复杂的项目的负责人。在鹅厂面试了几百人,慢慢总结了一下自己的经验,希望对求职的同学有帮助,反向思维及去准备。【技术大厂,前后端可投】我一般就问四个问题,主要还是引导让候选人自个发挥。1,问项目(40分)做过哪些项目,在其中怎么思考的。如果......
  • 热力学基础
    目录目录前言1.热力学第一定律2.理想气体的热容3.理想气体四种过程的计算前言其实是想直接开始写热力学基础的内容的,但是我发现这部分非常需要前置的气体动理论的支撑,因此先写完了气体动理论再开始写热力学基础相关内容。鉴于这部分的内容量比较大,我也不打算再分多篇了,就直......
  • 探索Vue.js:从基础到进阶
    前言随着现代Web应用程序的日益复杂,前端开发框架也在不断演进,为开发者提供更强大、更高效的工具和技术。在这些框架中,Vue.js以其简洁、灵活和响应式的特点而备受青睐。本文将带领读者深入探索Vue.js,从基础概念到进阶技巧,让你全面了解这个令人惊叹的前端开发框架。Vue.js基......
  • 企业组网:构建智慧型网络基础设施,驱动未来商业发展
    随着数字化浪潮的汹涌而至,企业组网已不再是简单的网络连接,而是成为推动企业创新、提升竞争力的重要驱动力。智慧型网络基础设施的构建,不仅为企业内部协作提供了高效平台,更为企业拓展外部市场、应对未来挑战奠定了坚实基础。一、智慧型网络:企业发展的核心引擎在智能化、信息化的......
  • java基础 韩顺平老师的 枚举和注解 自己记的部分笔记
    424,枚举类引出 packagecom.hspedu.enum_;publicclassEnumeration{publicstaticvoidmain(String[]args){//使用Seasonspring=newSeason("春天","温暖");Seasonsummer=newSeason("夏天","炎热&quo......
  • selenium UI自动化基础知识
    元素定位:1.怎么判断元素是否存在?判断元素是否存在和是否出现不同,判断是否存在意味着如果这个元素压根就不存在,就会抛出NoSuchElementException这样就可以使用trycatch,如果catch到NoSuchElementException就返回false。通常在项目中会把这个功能封装在isElementPresent方法中......
  • 统计力学中的概率论基础(一)
    技术背景统计力学是一门通过粒子的纯粹微观量来表示系统宏观量的学科,从统计分布出发,用无偏/有偏估计来研究各种不同的系综。本文内容部分参考自郑伟谋老师所著《统计力学导引》,主要介绍其中概率论基础的部分。但因为大多是个人的理解,如有差错,与参考文献作者无关。事件与概率假......
  • 02-Excel基础操作-学习笔记
    01替换场景描述:在excel表中由“部门”列,将其中的’‘一部门’‘改为’‘一车间’‘在excel表中由“地区”列,上面记录着既有“苏州”又有“苏州市”,现在要求将‘’地区‘’所在列中的“苏州”改为“苏州市”。分班:将列表中的63名同学分成2个班级,3个班级又该如何操作......
  • 软件测评笔记07--测试基础
    基本路径测试法概念在程序控制流程图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例,设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次 五种基本结构  控制流图描述程序控制流的一种图示方法,其基本符号有圆圈和箭线,圆圈为......