使用 Python 在统计学中显示 Pearson 3 型分布

pythonserver side programmingprogramming

Pearson 3 型分布是一种在统计学中广泛使用的连续概率分布。它具有偏斜分布。三个参数决定了分布的形状:位置、尺度和形状。发现这种分布类型将使统计学家能够更有效地分析他们的数据并做出更精确的预测。

我们可以使用 pearson3.rvs 函数从分布中生成随机数,并借助 pearson3.pdf 函数计算给定点的 pdf(概率密度函数)。

Pearson 3 型分布的参数

  • 形状参数 - 此参数确定分布概率密度的扩展。最大值应为0。当此值小于0时,分布是膨胀的。

  • 位置参数 - 此参数确定分布图的位置。它应该为null。

  • 比例参数 - 此参数确定分布图的比例。最大值应为 0。当此值小于 0 时,分布被扩展。

语法

用于从分布中生成随机数。

ran_num = pearson3.rvs(shape, loc, scale, size)

方法 1:这里我们从给定的分布中计算随机数

示例 1

从分布中生成 12 个随机数。

from scipy.stats import pearson3

#Pearson 3 型分布的参数
shape = 2.7
loc = 1.0
scale = 0.7

# 从分布中生成随机数分布
ran_num = pearson3.rvs(shape, loc, scale, size=12)
# 打印数字
print(ran_num)

输出

[1.78675698 1.2868774  0.79792263 1.73894349 1.06018355 0.90932737
 1.03330347 0.79210384 0.61598714 0.5778327  0.4899408  0.72123621]

在此示例中,我们首先定义了三个参数(shape、loc、scale),然后应用 pearson3.rvs 函数生成 12 个随机数。

示例 2

从分布中生成并绘制 12 个随机数的直方图。

from scipy.stats import pearson3
import matplotlib.pyplot as plt

#Pearson 3 型分布的参数
shape = 2.7
loc = 1.0
scale = 0.7

#从分布中生成随机数
ran_num = pearson3.rvs(shape, loc, scale, size=12)

#生成的随机数的直方图
plt.hist(ran_num, bins=15) #bins 定义条形数
plt.xlabel('随机数')
plt.ylabel('频率')
plt.title('随机数直方图')
plt.show()

输出


在此示例中,我们首先定义了三个参数(shape、loc、scale),然后应用 pearson3.rvs 函数生成 12 个随机数。最后,我们绘制了直方图来测量这些随机数。

示例 3

从分布中计算 12 个随机数的平均值和中位数。

from scipy.stats import pearson3
import numpy as np

#Pearson 3 型分布的参数
shape = 2.7
loc = 1.0
scale = 0.7

# 从分布中生成随机数
ran_num = pearson3.rvs(shape, loc, scale, size=12)

# 计算生成的随机数的平均值和中位数
mean = np.mean(ran_num)
median = np.median(ran_num)

print("平均值:", mean)
print("中位数:", median)

输出

平均值:0.7719624059755859
中位数:0.6772205996213376

在此示例中,我们首先定义了三个参数(shape、loc、scale),然后应用 pearson3.rvs 函数生成 12 个随机数,之后我们计算 12 个随机数的平均值和中位数。

方法 2:这里我们从给定的分布计算概率密度函数

平均值

从分布计算概率密度函数。

pdf = pearson3.pdf(value, shape, loc, scale)

示例 1

从特定点的分布计算概率密度函数 (pdf)。

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import pearson3

# 皮尔逊 III 型分布的参数
shape = 2.7
loc = 1.0
scale = 0.7

# 计算特定点上的分布 PDF
value = 3.5
pdf = pearson3.pdf(value, shape, loc, scale)

print(pdf)

输出

0.015858643122817345

在此示例中,我们定义了三个参数并给出了一个特定值。然后应用 pearson3.pdf 函数计算概率密度函数。

示例 2

从范围为 0 到 10 的分布计算概率密度函数 (pdf)。

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import pearson3

# Pearson III 型分布的参数
shape = 2.7
loc = 1.0
scale = 0.7

# 值的范围
value = np.linspace(0, 10, 50)

# 计算分布的 PDF
pdf = pearson3.pdf(value, shape, loc, scale)

print(pdf)

输出

[0.00000000e+00 0.00000000e+00 0.00000000e+00 1.38886232e+00
 7.32109657e-01 4.75891782e-01 3.31724610e-01 2.39563951e-01
 1.76760034e-01 1.32313927e-01 1.00074326e-01 7.62827095e-02
 5.85022291e-02 4.50857115e-02 3.48854378e-02 2.70832764e-02
 2.10857325e-02 1.64563072e-02 1.28704163e-02 1.00845296e-02
 7.91457807e-03 6.22057784e-03 4.89551703e-03 3.85722655e-03
 3.04237200e-03 2.40197479e-03 1.89804851e-03 1.50105698e-03
 1.18798272e-03 9.40852230e-04 7.45605438e-04 5.91225860e-04
 4.69069138e-04 3.72343273e-04 2.95705253e-04 2.34947290e-04
 1.86752271e-04 1.48502788e-04 1.18131774e-04 9.40054875e-05
 7.48317202e-05 5.95877020e-05 4.74634014e-05 3.78168933e-05
 3.01391876e-05 2.40264885e-05 1.91582965e-05 1.52801078e-05
 1.21897366e-05 9.72649439e-06]

在此示例中,我们定义了三个参数并给出了从 0 到 10 范围内的值。然后应用 pearson3.pdf 函数计算概率密度函数并打印结果。

示例 3

分布的概率密度函数 (pdf) 的可视化表示。

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import pearson3

# Pearson III 型分布的参数
shape = 2.7
loc = 1.0
scale = 0.7

# 值的范围
value = np.linspace(0, 10, 50)

# 计算分布的 PDF
pdf = pearson3.pdf(value, shape, loc, scale)

# 绘制PDF
plt.plot(value, pdf)
plt.xlabel('value')
plt.ylabel('PDF')
plt.title('概率密度函数 (PDF)')
plt.show()

输出


在此示例中,我们可以看到概率密度函数的图形表示。

结论

总之,Pearson 3 型分布是一种重要的概率分布。这种分析在概率论和统计学中占有重要地位。我们可以使用各种库和包,例如 SciPy、NumPy 和 Pandas,在 Python 中对皮尔逊 3 型分布进行建模。


相关文章


有用资源