统计学中使用 Python 的 Moyal 分布

2025年3月17日 | 阅读 3 分钟

scipy.stats.moyal 描述了 Moyal 连续随机变量。它是从通用方法继承的 rv_continuous 类的一个实例。它通过添加特定于此分布的技术细节来完善这些技术。

提供 Moyal 分布的概率密度函数(Probability Density Function)如下:

Moyal Distribution in Statistics using Python

对于任何实数 x。

定义的 moyal 分布的概率密度函数是标准化形式。我们使用 loc 和 scale 参数来移动和缩放分布。位置的移动并不会使其成为非中心分布。moyal.pdf(x, loc, scale) 等于 moyal.pdf(y) / scale,其中 y = (x - loc) / scale。

Moyal 分布中包含的参数

  • q: 它被称为下尾和上尾的概率。
  • x: 它指的是分位数。
  • loc: 用于指代位置参数。此参数是可选的。
  • scale: 它指的是尺度参数。此参数是可选的。
  • moments:它由不同的字母组成 ['msvk']
    • 'm': 均值
    • 'v': 方差
    • 's': 费舍尔偏度
    • 'k': 费舍尔峰度

默认值为 'mv'(平均值和方差)

  • Size: 它定义了形状或随机变量。它是一个整数数据类型的元组。这是一个可选参数。
  • 结果: 它返回 Moyal 连续随机变量。

Python 在 scipy.stats 库中提供了 moyal 模块,该模块用于查找 Moyal 分布。

在 Python 中导入 moyal() 库

让我们通过不同情况下的不同程序来帮助理解统计学中 Moyal 分布的概念。

程序 1:创建 Moyal 分布随机变量的程序

代码

输出

Random Variable : 
 

说明

我们使用 moyal() 函数为 Moyal 分布创建了一个随机变量。我们首先导入了模块,分配了两个变量,然后使用 moyal() 函数打印了随机变量。

程序 2:创建 Moyal 连续变异数和概率分布的程序。

代码

输出

Random Variates : 
 5.433057489802547
The Probability Distribution : 
 [0.00000000e+000 0.00000000e+000 0.00000000e+000 0.00000000e+000
 0.00000000e+000 0.00000000e+000 0.00000000e+000 0.00000000e+000
 0.00000000e+000 1.71574983e-257 6.45284818e-149 4.82438362e-093
 7.66841150e-062 3.16667935e-043 1.69312620e-031 9.11678236e-024
 1.79604652e-018 9.98985023e-015 5.29128092e-012 5.66170389e-010
 1.98046197e-008 3.11086502e-007 2.72050184e-006 1.53744531e-005
 6.23980859e-005 1.96266675e-004 5.05959515e-004 1.11453385e-003
 2.16511397e-003 3.79994588e-003 6.13937970e-003 9.26625611e-003
 1.32181547e-002 1.79872053e-002 2.35255454e-002 2.97540234e-002
 3.65720193e-002 4.38668423e-002 5.15217984e-002 5.94225337e-002
 6.74616140e-002 7.55415155e-002 8.35762953e-002 9.14922397e-002
 9.92277665e-002 1.06732820e-001 1.13967946e-001 1.20903201e-001
 1.27516990e-001 1.33794916e-001 1.39728688e-001 1.45315106e-001
 1.50555158e-001 1.55453209e-001 1.60016308e-001 1.64253578e-001
 1.68175711e-001 1.71794536e-001 1.75122659e-001 1.78173171e-001
 1.80959406e-001 1.83494751e-001 1.85792486e-001 1.87865668e-001
 1.89727039e-001 1.91388951e-001 1.92863320e-001 1.94161592e-001
 1.95294716e-001 1.96273137e-001 1.97106788e-001 1.97805096e-001
 1.98376988e-001 1.98830903e-001 1.99174806e-001 1.99416207e-001
 1.99562173e-001 1.99619354e-001 1.99593998e-001 1.99491972e-001
 1.99318779e-001 1.99079582e-001 1.98779220e-001 1.98422224e-001
 1.98012838e-001 1.97555036e-001 1.97052534e-001 1.96508810e-001
 1.95927118e-001 1.95310497e-001 1.94661790e-001 1.93983655e-001
 1.93278575e-001 1.92548869e-001 1.91796703e-001 1.91024102e-001
 1.90232956e-001]

说明

我们使用 numpy 数组分配的 .pdf 方法打印了随机连续变异数和概率分布

程序 3:图形化表示 Moyal 概率分布的程序。

代码

输出

Distribution : 
 [0.         0.04081633 0.08163265 0.12244898 0.16326531 0.20408163
 0.24489796 0.28571429 0.32653061 0.36734694 0.40816327 0.44897959
 0.48979592 0.53061224 0.57142857 0.6122449  0.65306122 0.69387755
 0.73469388 0.7755102  0.81632653 0.85714286 0.89795918 0.93877551
 0.97959184 1.02040816 1.06122449 1.10204082 1.14285714 1.18367347
 1.2244898  1.26530612 1.30612245 1.34693878 1.3877551  1.42857143
 1.46938776 1.51020408 1.55102041 1.59183673 1.63265306 1.67346939
 1.71428571 1.75510204 1.79591837 1.83673469 1.87755102 1.91836735
 1.95918367 2.        ]

Moyal Distribution in Statistics using Python

说明

我们使用 numpy 数组打印了分布,然后使用 matplotlib,我们使用概率密度函数打印了Moyal 分布的图。

程序 4:图形化表示 Moyal 概率分布函数中变化的方位参数的程序。

代码

输出

[,
 ]

Moyal Distribution in Statistics using Python

说明

我们创建了一个具有线性、等距的 numpy 数组,然后使用概率密度函数绘制了两个不同Moyal 分布的图。