网站首页 > 技术文章 正文
1. 首先,我们需要导入必要的 Python 库,如 `numpy` 和 `matplotlib.pyplot` 以及 `scipy.stats` 等。
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import *
2. 以正态分布为例,我们可以使用 `norm` 函数来生成正态分布的数据。
# 生成正态分布数据
mu = 0 # 均值
sigma = 1 # 标准差
x = np.linspace(norm.ppf(0.01, mu, sigma), norm.ppf(0.99, mu, sigma), 100)
pdf = norm.pdf(x, mu, sigma)
3. 然后,我们可以绘制出正态分布的概率密度函数图像。
# 绘制正态分布图像
plt.plot(x, pdf, 'r-', lw=5, alpha=0.6, label='norm pdf')
plt.title('Normal Distribution')
plt.xlabel('x')
plt.ylabel('Probability Density Function')
plt.legend()
plt.show()
4. 接下来,我们看看二项分布。假设进行多次独立的伯努利试验,每次试验成功的概率为 $p$,试验次数为 $n$,我们可以用 `binom` 函数来处理。
# 二项分布示例
n = 10 # 试验次数
p = 0.3 # 每次试验成功的概率
k = np.arange(0, n + 1)
binomial_pmf = binom.pmf(k, n, p)
5. 绘制二项分布的概率质量函数图像,直观地观察其分布形态。
# 绘制二项分布图像
plt.bar(k, binomial_pmf)
plt.title('Binomial Distribution')
plt.xlabel('Number of Successes')
plt.ylabel('Probability Mass Function')
plt.show()
6. 指数分布也是常见的一种,它常用于描述事件发生的时间间隔。
# 指数分布示例
lam = 0.5 # 速率参数
x_exp = np.linspace(0, 10, 100)
exponential_pdf = expon.pdf(x_exp, scale = 1/lam)
7. 同样,绘制指数分布的概率密度函数图像。
# 绘制指数分布图像
plt.plot(x_exp, exponential_pdf)
plt.title('Exponential Distribution')
plt.xlabel('x')
plt.ylabel('Probability Density Function')
plt.show()
8. 再谈谈伽马分布,它在许多领域都有应用,比如在概率论中与指数分布和卡方分布密切相关。使用 `gamma` 函数来生成伽马分布的数据。
# 伽马分布示例
a = 2.0 # 形状参数
loc = 0.0 # 位置参数
scale = 1.0 # 尺度参数
x_gamma = np.linspace(gamma.ppf(0.01, a, loc, scale), gamma.ppf(0.99, a, loc, scale), 100)
gamma_pdf = gamma.pdf(x_gamma, a, loc, scale)
9. 绘制伽马分布的概率密度函数图像,以更好地理解其分布特征。
# 绘制伽马分布图像
plt.plot(x_gamma, gamma_pdf)
plt.title('Gamma Distribution')
plt.xlabel('x')
plt.ylabel('Probability Density Function')
plt.show()
10. 对于贝塔分布,它常用于表示概率的概率分布情况。以下是使用 `beta` 函数生成贝塔分布数据的示例。
# 贝塔分布示例
a = 2.0
b = 5.0
x_beta = np.linspace(beta.ppf(0.01, a, b), beta.ppf(0.99, a, b), 100)
beta_pdf = beta.pdf(x_beta, a, b)
11. 绘制贝塔分布的概率密度函数图像,展示其分布形态。
# 绘制贝塔分布图像
plt.plot(x_beta, beta_pdf)
plt.title('Beta Distribution')
plt.xlabel('x')
plt.ylabel('Probability Density Function')
plt.show()
12. 卡方分布在统计学的假设检验等方面有重要作用。通过 `chi2` 函数来生成卡方分布的数据。
# 卡方分布示例
df = 5 # 自由度
x_chi2 = np.linspace(chi2.ppf(0.01, df), chi2.ppf(0.99, df), 100)
chi2_pdf = chi2.pdf(x_chi2, df)
13. 绘制卡方分布的概率密度函数图像,帮助理解其特性。
# 绘制卡方分布图像
plt.plot(x_chi2, chi2_pdf)
plt.title('Chi-Square Distribution')
plt.xlabel('x')
plt.ylabel('Probability Density Function')
plt.show()
14. 学生 t 分布在小样本统计推断中经常用到。利用 `t` 函数生成学生 t 分布的数据。
# 学生 t 分布示例
df_t = 10 # 自由度
x_t = np.linspace(t.ppf(0.01, df_t), t.ppf(0.99, df_t), 100)
t_pdf = t.pdf(x_t, df_t)
15. 绘制学生 t 分布的概率密度函数图像,以便直观地观察其分布情况。
# 绘制学生 t 分布图像
plt.plot(x_t, t_pdf)
plt.title('Student\'s t Distribution')
plt.xlabel('x')
plt.ylabel('Probability Density Function')
plt.show()
16. F 分布在方差分析等方面有广泛应用。使用 `f` 函数来生成 F 分布的数据。
# F 分布示例
dfn = 3 # 分子自由度
dfd = 15 # 分母自由度
x_f = np.linspace(f.ppf(0.01, dfn, dfd), f.ppf(0.99, dfn, dfd), 100)
f_pdf = f.pdf(x_f, dfn, dfd)
17. 绘制 F 分布的概率密度函数图像,清晰呈现其分布特征。
# 绘制 F 分布图像
plt.plot(x_f, f_pdf)
plt.title('F Distribution')
plt.xlabel('x')
plt.ylabel('Probability Density Function')
plt.show()
18. 离散均匀分布表示在有限个等可能值上的离散分布。以下是使用 `randint` 函数生成离散均匀分布数据的示例(这里借助 `numpy` 中的 `randint` 函数来模拟)。
# 离散均匀分布示例
low = 1
high = 6
size = 100
discrete_uniform = np.random.randint(low, high + 1, size)
19. 可以通过统计离散均匀分布数据的频率来大致了解其分布情况(这里简单打印出每个值出现的次数)。
# 统计离散均匀分布的频率
unique, counts = np.unique(discrete_uniform, return_counts=True)
for i in range(len(unique)):
print(f"Value {unique[i]}: Count {counts[i]}")
20. 几何分布用于描述在一系列独立伯努利试验中,首次成功所需的试验次数。使用 `geom` 函数来生成几何分布的数据。
# 几何分布示例
p_geom = 0.2 # 每次试验成功的概率
x_geom = np.arange(1, 10)
geom_pmf = geom.pmf(x_geom, p_geom)
21. 绘制几何分布的概率质量函数图像,展示其分布特点。
# 绘制几何分布图像
plt.bar(x_geom, geom_pmf)
plt.title('Geometric Distribution')
plt.xlabel('Number of Trials until First Success')
plt.ylabel('Probability Mass Function')
plt.show()
22. 负二项分布与几何分布相关,它表示在一系列独立伯努利试验中,成功一定次数所需的试验次数。使用 `nbinom` 函数生成负二项分布的数据。
# 负二项分布示例
n = 5 # 成功的次数
p_nbinom = 0.3 # 每次试验成功的概率
x_nbinom = np.arange(5, 20)
nbinom_pmf = nbinom.pmf(x_nbinom, n, p_nbinom)
23. 绘制负二项分布的概率质量函数图像,以便观察其分布规律。
# 绘制负二项分布图像
plt.bar(x_nbinom, nbinom_pmf)
plt.title('Negative Binomial Distribution')
plt.xlabel('Number of Trials')
plt.ylabel('Probability Mass Function')
plt.show()
24. 超几何分布常用于抽样问题,比如从有限总体中抽取一定数量的样本,其中具有特定特征的样本数量的分布。使用 `hypergeom` 函数生成超几何分布的数据。
# 超几何分布示例
M = 100 # 总体中的元素个数
n = 20 # 总体中具有特定特征的元素个数
N = 10 # 抽取的样本大小
x_hypergeom = np.arange(0, n + 1)
hypergeom_pmf = hypergeom.pmf(x_hypergeom, M, n, N)
25. 绘制超几何分布的概率质量函数图像,展现其分布形态。
# 绘制超几何分布图像
plt.bar(x_hypergeom, hypergeom_pmf)
plt.title('Hypergeometric Distribution')
plt.xlabel('Number of Elements with Specific Feature in the Sample')
plt.ylabel('Probability Mass Function')
plt.show()
- 上一篇: 如何判断体重是否超标?
- 下一篇: 泊松分布与指数分布之间的联系
猜你喜欢
- 2025-01-12 决胜国考 | 国考资料分析超全公式汇总来啦
- 2025-01-12 经济社会发展统计图表:长三角区域发展指数(2015—2022年)
- 2025-01-12 贝叶斯统计中常见先验分布选择方法总结
- 2025-01-12 非正态数据过程能力分析之一:概率法
- 2025-01-12 欧盟成员国幸福指数统计:德国意外位列“最不幸福三国”之一
- 2025-01-12 正态分布-置信区间计算
- 2025-01-12 六西格玛(六十三)——伽玛分布
- 2025-01-12 身体质量指数bmi计算公式,在线计算器
- 2025-01-12 泊松分布与指数分布之间的联系
- 2025-01-12 如何判断体重是否超标?
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- js数组插入 (83)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)