python无数据画 偏态分布 正态分布曲线
更改mu/sigma/beta(偏态参数)调整曲线
import numpy as np
import matplotlib.pyplot as plt
# 定义偏态分布的参数
mu, sigma = -.4, 1.2 # 均值和标准差
beta = 0 # 偏态度参数
mu2, sigma2 = -.4, 1.3 # 均值和标准差
beta2 = 4 # 偏态度参数
mu3, sigma3 = 0, 1 # 均值和标准差
beta3 = 1.5 # 偏态度参数
# 创建偏态分布的随机样本
sample_size = 1000
x = np.linspace(-5, 5, sample_size)
# 定义偏态分布的密度函数(PDF)
pdf1 = (1 / (sigma * (2 * np.pi)**0.5)) * (np.exp(-(x - mu)**2 / (2 * sigma**2)) )
#pdf1 = (1 / (sigma * (2 * np.pi)**0.5)) * (np.exp(-(x - mu)**2 / (2 * sigma**2)) / (1 + np.exp(-beta * (x - mu))))
pdf2 = (1 / (sigma2 * (2 * np.pi)**0.5)) * (np.exp(-(x - mu2)**2 / (2 * sigma2**2)) / (1 + np.exp(-beta2 * (x - mu2))))
pdf3 = (1 / (sigma3 * (2 * np.pi)**0.5)) * (np.exp(-(x - mu3)**2 / (2 * sigma3**2)) / (1 + np.exp(-beta3 * (x - mu3))))
# 绘制偏态分布曲线
plt.figure(figsize=(16, 8))
plt.plot(x, pdf1)
plt.plot(x, pdf2, 'r--', linewidth=2)
plt.plot(x, pdf3,'b--')
plt.xticks(fontsize=15)
plt.yticks(fontsize=15)
# plt.title('Biweight Distribution')
# plt.xlabel('x')
# plt.ylabel('Probability Density')
plt.grid(color='gray',alpha=0.5)
plt.text(1.8, 0.22, "—— Normal Distribution\n-- Positive Skewed Distribution",fontsize=15,family="monospace",
bbox={'facecolor': 'w', 'alpha': 1, 'edgecolor': 'gray', 'boxstyle': 'square'})
plt.show()