网站后台登录不显示验证码,企业公司网站管理系统,精品课程网站源码,个人网站建设教程视频目录 正态分布
对数正态分布
伽马分布
伽马函数
贝塔函数
伽马分布
卡方分布
F分布
t分布
附录
参考文献 本文主要介绍一些常见的分布#xff0c;包括正态分布、对数正态分布、伽马分布、卡方分布、F分布、t分布。给出了分布的定义#xff0c;推导了概率密度函数包括正态分布、对数正态分布、伽马分布、卡方分布、F分布、t分布。给出了分布的定义推导了概率密度函数以及函数图像。
正态分布 当称为标准正态分布即。 对数正态分布 对数正态分布logarithmic normal distribution是指一个随机变量的对数服从正态分布则该随机变量服从对数正态分布。对数正态分布从短期来看与正态分布非常接近。但长期来看对数正态分布向上分布的数值更多一些。
证明 假设服从的正态分布为概率密度函数为服从的分布为概率密度函数为。显然有。
下面证明的概率密度函数表达式如上面所示。 一般我们通过分布函数和概率的定义来证明。 因为则, 即
两边对求导得到
即
注意到正态分布概率密度函数如下
代入后可得到表达式如上面所示。 伽马分布
伽马函数 在介绍伽马分布之前我们先对伽马函数有一个基本理解伽马函数如下
是自变量。伽马函数图像如下 伽马函数图像绘制代码如下 import numpy as np
import matplotlib.pyplot as plt
from scipy.special import gammaif __name__ __main__:x np.linspace(-5, 5, 500) # -5到5之间生成500个点y gamma(x) # 计算y的值也就是伽马函数的值plt.plot(x, y)plt.show() 为了后面方便推导卡方分布这里我们证明 。
下面利用标准正态分布的概率密度函数曲线下的面积为1来证明。即 由正态分布对称性得到 令进行换元 因为伽马函数如下 知道 伽马函数还有其他很多的函数表达式这里不再累述。
贝塔函数 在概率统计和其他应用学科中会经常用到伽玛函数和贝塔函数有的反常积分的计算最后也会归结为贝塔函数或伽玛函数。贝塔函数又称为第一类欧拉积分而第二类欧拉积分就是大名鼎鼎的伽玛函数Γ(x。贝塔函数具有很好的性质以及实用的递推公式另外需要注意的是伽玛函数和贝塔函数之间的关系。贝塔函数如下 贝塔函数是一个积分形式为参数。 下面推导伽马函数与贝塔函数之间存在的关系。我们先给出他们的关系 由伽马函数 得到 使用如下积分换元即 容易得到并且s0时v1,时v0。变换前后微元关系如下 则换元后原式如下 即 为了直观地理解贝塔函数下面我们绘制出贝塔函数的三维曲面图像。代码如下
import numpy as np
from scipy.special import beta
import matplotlib.pyplot as pltif __name__ __main__:# 创建一个网格x, y np.meshgrid(np.linspace(0.1, 1, 100), np.linspace(0.1, 1, 100))print(x, \n, x)print(y, \n, y)z beta(x, y)print(z, \n, z)plt.rcParams[font.sans-serif] [Simhei] # 显示中文fig plt.figure(figsize(10, 8))ax fig.add_subplot(111, projection3d)ax.tick_params(axisboth, labelsize12)ax.plot_surface(x, y, z, cmapviridis)ax.set_xlabel(x, fontsize13)ax.set_ylabel(y, fontsize13)ax.set_zlabel(z)ax.set_title(贝塔函数图像)plt.show()运行结果如下 伽马分布
从定义可以看到伽马分布的概率密度函数的分母中就是伽马函数。 可以通过scipy提供的统计库stats绘制出正态分布、对数正态分布、伽马分布的概率密度函数曲线代码如下 import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gamma as gamma_dis
from scipy.stats import lognorm
from scipy.stats import normif __name__ __main__:alpha 2 # 伽马分布的形状参数theta 2 # 伽马分布的比例参数# 创建一个 sample spacex np.linspace(0, 10, 200)# 计算概率密度函数 (PDF)gamma_pdf gamma_dis.pdf(x, alpha, scaletheta) # 伽马分布概率密度函数log_norm_pdf lognorm.pdf(x, loc0, s1) # 对数正态分布概率密度函数norm_pdf norm.pdf(x, loc0, scale1) # 正态分布概率密度函数plt.rcParams[font.sans-serif] [Simhei] # 显示中文# 绘制伽马分布曲线plt.plot(x, gamma_pdf)plt.plot(x, log_norm_pdf)plt.plot(x, norm_pdf)plt.legend([伽马分布, 对数正态分布, 正态分布]) # 设置图例plt.title(概率密度函数曲线)plt.xlabel(x)plt.ylabel(概率密度函数值)plt.show()运行结果如下
伽马分布有如下重要的性质
1设随机变量且相互独立则。
证明 假设随机变量的分布为概率密度函数为随机变量的概率密度函数分别为。两者的联合概率密度函数为因为相互独立显然有 因为
取值都在所以的取值也在从而当时。
当时这里将z看成常数有 使用换元将x看陈常数有
则且
得到 两边对z求导得到
。
这就是卷积公式。因为
代入得到 使用换元当时并且则 根据得到
所以 卡方分布 假设n个相互独立的随机变量均服从标准正态分布也称独立同分布于标准正态分布。则这n个服从标准正态分布的随机变量的平方和构成一个新的随机变量其分布规律称为卡方分布chi-square distribution记作n称为卡方分布的自由度degree of freedom记作。 这个分布由麦克斯韦(James Clerk Maxwell, 1831-1879)在研究空气分子的运动速度的分布时发现的他发现分子运动速度的平方服从自由度为3的卡方分布即。后来又有多人提出这种分布例如弗里德里希·罗伯特·海尔默特(Friedrich Robert Helmert, 1843-1917)于1875年故卡方分布有时在德国常见因海尔默特是德国人也称海尔默特分布另外这一结果被英国生物统计学家、优生学家、数理统计学创始人和社会达尔文主义理论家卡尔·皮尔逊(Karl Pearson, 1857-1936)推广并于1900年发表。 卡方分布的概率密度函数 下面来推导。
1当df1时。卡方分布的概率密度函数变为 假设随机变量的分布函数为概率密度函数为随机变量的分布函数为概率密度函数为随机变量的分布函数为概率密度函数为。因为服从标准正态分布有
。
因为 两边对x求导 因为所以 即 事实上它是的伽马分布即。根据如下伽马分布的概率密度函数很容易得出。
2当dfn时由上面的结论知道。另外因为相互独立所以也相互独立。根据之前证明的如下结论
如果随机变量且相互独立则。
得到服从代入伽马分布得到如下卡方分布 从结论来看卡方分布是伽马分布的一个特例即。也就是说
。 为了直观的观测卡方分布下面使用python代码绘制卡方分布曲线。代码如下
import numpy as np
from scipy.special import beta
import matplotlib.pyplot as plt
from scipy import statsif __name__ __main__:# # 创建一个网格# x, y np.meshgrid(np.linspace(0.1, 1, 100), np.linspace(0.1, 1, 100))# print(x, \n, x)# print(y, \n, y)# z beta(x, y)# print(z, \n, z)#plt.rcParams[font.sans-serif] [Simhei] # 显示中文# fig plt.figure(figsize(10, 8))# ax fig.add_subplot(111, projection3d)# ax.tick_params(axisboth, labelsize12)# ax.plot_surface(x, y, z, cmapviridis)# ax.set_xlabel(x, fontsize13)# ax.set_ylabel(y, fontsize13)# ax.set_zlabel(z)# ax.set_title(贝塔函数图像)# plt.show()X np.linspace(0.1, 14, 500)plt.subplots(figsize(8, 5))plt.plot(X, stats.chi2.pdf(X, df1), label1 d.o.f)plt.plot(X, stats.chi2.pdf(X, df2), label2 d.o.f)plt.plot(X, stats.chi2.pdf(X, df4), label4 d.o.f)plt.plot(X, stats.chi2.pdf(X, df6), label6 d.o.f)plt.plot(X, stats.chi2.pdf(X, df11), label11 d.o.f)plt.title(卡方分布)plt.legend()plt.show()代码中绘制了自由度为123411的5个卡方分布运行结果如下 F分布 由卡方分布的定义知道F分布定义可以转换为如果 ,,则
为F分布。概率密度函数的证明参见参考文献。 代码如下 X np.linspace(0.1, 4, 500)plt.plot(X, stats.f.pdf(X, 4,4), labeln14,n24)plt.plot(X, stats.f.pdf(X, 4,10), labeln14,n210)plt.plot(X, stats.f.pdf(X, 10,4), labeln110,n24)plt.plot(X, stats.f.pdf(X, 10,10), labeln110,n210)plt.title(F分布)plt.legend()plt.show() 运行结果如下 t分布 代码如下 plt.rcParams[axes.unicode_minus] False # 设置显示中文后,负号显示受影响,显示负号X np.linspace(-5, 5, 1500)plt.plot(X, stats.t.pdf(X, 1), labeln4)plt.plot(X, stats.t.pdf(X, 2), labeln2)plt.plot(X, stats.t.pdf(X, 4), labeln4)plt.plot(X, stats.t.pdf(X, 8), labeln8)plt.title(t分布)plt.legend()plt.show() 运行结果如下 附录 本节所有代码如下
import numpy as np
from scipy.special import beta
import matplotlib.pyplot as plt
from scipy import statsif __name__ __main__:# 创建一个网格x, y np.meshgrid(np.linspace(0.1, 1, 100), np.linspace(0.1, 1, 100))print(x, \n, x)print(y, \n, y)z beta(x, y)print(z, \n, z)plt.rcParams[font.sans-serif] [Simhei] # 显示中文fig plt.figure(figsize(10, 8))ax fig.add_subplot(111, projection3d)ax.tick_params(axisboth, labelsize12)ax.plot_surface(x, y, z, cmapviridis)ax.set_xlabel(x, fontsize13)ax.set_ylabel(y, fontsize13)ax.set_zlabel(z)ax.set_title(贝塔函数图像)plt.show()X np.linspace(0.1, 14, 500)plt.subplots(figsize(8, 5))plt.plot(X, stats.chi2.pdf(X, df1), label1 d.o.f)plt.plot(X, stats.chi2.pdf(X, df2), label2 d.o.f)plt.plot(X, stats.chi2.pdf(X, df4), label4 d.o.f)plt.plot(X, stats.chi2.pdf(X, df6), label6 d.o.f)plt.plot(X, stats.chi2.pdf(X, df11), label11 d.o.f)plt.title(卡方分布)plt.legend()plt.show()X np.linspace(0.1, 4, 500)plt.plot(X, stats.f.pdf(X, 4,4), labeln14,n24)plt.plot(X, stats.f.pdf(X, 4,10), labeln14,n210)plt.plot(X, stats.f.pdf(X, 10,4), labeln110,n24)plt.plot(X, stats.f.pdf(X, 10,10), labeln110,n210)plt.title(F分布)plt.legend()plt.show()plt.rcParams[axes.unicode_minus] False # 设置显示中文后,负号显示受影响,显示负号X np.linspace(-5, 5, 1500)plt.plot(X, stats.t.pdf(X, 1), labeln4)plt.plot(X, stats.t.pdf(X, 2), labeln2)plt.plot(X, stats.t.pdf(X, 4), labeln4)plt.plot(X, stats.t.pdf(X, 8), labeln8)plt.title(t分布)plt.legend()plt.show()参考文献
高数篇一-- Gamma 函数 VS Beta 函数
极坐标与直角坐标二重积分转换
F分布概率密度函数的推导
python绘制正态分布及三大抽样分布的概率密度图像