昆仑山:眼中无形心中有穴之穴人合一

夫君子之行,静以修身,俭以养德;非澹泊无以明志,非宁静无以致远。夫学须静也,才须学也;非学无以广才,非志无以成学。怠慢则不能励精,险躁则不能冶性。年与时驰,意与岁去,遂成枯落,多不接世。悲守穷庐,将复何及!

 

常见的连续型分布密度函数图像


import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import uniform, norm, lognorm, t, f, expon, gamma, chi2, beta, laplace, cauchy, pareto, weibull_min, multivariate_normal

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号


# 创建图像网格
fig, axs = plt.subplots(4, 4, figsize=(20, 16))
fig.subplots_adjust(hspace=0.4, wspace=0.4)

# 1. 均匀分布
x = np.linspace(0, 1, 100)
axs[0, 0].plot(x, uniform.pdf(x, loc=0, scale=1), color='b')
axs[0, 0].set_title('均匀分布')
axs[0, 0].grid(True, alpha=0.7)

# 2. 正态分布
x = np.linspace(-5, 5, 100)
axs[0, 1].plot(x, norm.pdf(x, loc=0, scale=1), color='g')
axs[0, 1].set_title('正态分布')
axs[0, 1].grid(True, alpha=0.7)

# 3. 对数正态分布
x = np.linspace(0.01, 10, 100)
axs[0, 2].plot(x, lognorm.pdf(x, s=1), color='r')
axs[0, 2].set_title('对数正态分布')
axs[0, 2].grid(True, alpha=0.7)

# 4. t 分布
x = np.linspace(-5, 5, 100)
axs[0, 3].plot(x, t.pdf(x, df=5), color='c')
axs[0, 3].set_title('t 分布')
axs[0, 3].grid(True, alpha=0.7)

# 5. F 分布
x = np.linspace(0.01, 5, 100)
axs[1, 0].plot(x, f.pdf(x, dfn=5, dfd=5), color='m')
axs[1, 0].set_title('F 分布')
axs[1, 0].grid(True, alpha=0.7)

# 6. 指数分布
x = np.linspace(0, 10, 100)
axs[1, 1].plot(x, expon.pdf(x, loc=0, scale=1), color='y')
axs[1, 1].set_title('指数分布')
axs[1, 1].grid(True, alpha=0.7)

# 7. 带有位置参数的指数分布
x = np.linspace(2, 12, 100)
axs[1, 2].plot(x, expon.pdf(x, loc=2, scale=1), color='k')
axs[1, 2].set_title('带有位置参数的指数分布')
axs[1, 2].grid(True, alpha=0.7)

# 8. Gamma 分布
x = np.linspace(0, 10, 100)
axs[1, 3].plot(x, gamma.pdf(x, a=2), color='orange')
axs[1, 3].set_title('Gamma 分布')
axs[1, 3].grid(True, alpha=0.7)

# 9. 卡方分布
x = np.linspace(0, 20, 100)
axs[2, 0].plot(x, chi2.pdf(x, df=5), color='purple')
axs[2, 0].set_title('卡方分布')
axs[2, 0].grid(True, alpha=0.7)

# 10. Beta 分布
x = np.linspace(0, 1, 100)
axs[2, 1].plot(x, beta.pdf(x, a=2, b=5), color='brown')
axs[2, 1].set_title('Beta 分布')
axs[2, 1].grid(True, alpha=0.7)

# 11. Laplace 分布
x = np.linspace(-5, 5, 100)
axs[2, 2].plot(x, laplace.pdf(x, loc=0, scale=1), color='pink')
axs[2, 2].set_title('Laplace 分布')
axs[2, 2].grid(True, alpha=0.7)

# 12. Cauchy 分布
x = np.linspace(-5, 5, 100)
axs[2, 3].plot(x, cauchy.pdf(x, loc=0, scale=1), color='gray')
axs[2, 3].set_title('Cauchy 分布')
axs[2, 3].grid(True, alpha=0.7)

# 13. Pareto 分布
x = np.linspace(1, 10, 100)
axs[3, 0].plot(x, pareto.pdf(x, b=2, scale=1), color='olive')
axs[3, 0].set_title('Pareto 分布')
axs[3, 0].grid(True, alpha=0.7)

# 14. 幂函数分布
x = np.linspace(0, 1, 100)
a = 2
axs[3, 1].plot(x, a * x**(a - 1), color='teal')
axs[3, 1].set_title('幂函数分布')
axs[3, 1].grid(True, alpha=0.7)

# 15. Weibull 分布
x = np.linspace(0, 5, 100)
axs[3, 2].plot(x, weibull_min.pdf(x, c=2), color='navy')
axs[3, 2].set_title('Weibull 分布')
axs[3, 2].grid(True, alpha=0.7)

# 16. 多元正态分布(展示二维情况)
x = np.linspace(-3, 3, 100)
y = np.linspace(-3, 3, 100)
X, Y = np.meshgrid(x, y)
pos = np.dstack((X, Y))
rv = multivariate_normal([0, 0], [[1, 0.5], [0.5, 1]])
axs[3, 3].contourf(X, Y, rv.pdf(pos), cmap='viridis')
axs[3, 3].set_title('多元正态分布')
axs[3, 3].grid(False)

# 调整图像布局
plt.tight_layout()

# 显示所有图像
plt.show()




posted on 2025-05-22 16:07  Indian_Mysore  阅读(16)  评论(0)    收藏  举报

导航