# Python蒙特卡洛相关变量SciPy模拟

{% tabs %}
{% tab title="关键词" %}
Python | 蒙特卡洛方法 | 相关结构 | 高斯联结 } scipy | Numpy | Pandas | Matplotlib | seaborn | PERT分布
{% endtab %}

{% tab title="梗概" %}
### SciPy 的概率分布和分布拟合

简述：概率分布对随机过程进行建模并将其拟合到观测数据。SciPy 的概率分布、它们的属性和方法。通过拟合 Weibull 极值分布来模拟组件寿命的示例。一个自动化的拟合程序，从大约 60 个候选分布中选择最好的。SciPy 中提供了 123 个发行版：

```python
dist_continu = [d for d in dir(stats) if
                isinstance(getattr(stats, d), stats.rv_continuous)]
dist_discrete = [d for d in dir(stats) if
                 isinstance(getattr(stats, d), stats.rv_discrete)]
print('number of continuous distributions: %d' % len(dist_continu))
print('number of discrete distributions:   %d' % len(dist_discrete))
```

### beta-PERT 分布对专家计算进行建模

简述：向 SciPy 的目录添加一个新的、用户定义的分布。在情景分析中使用概率分布。为专家计算建模。情景分析中使用PERT分布，并添加 PERT（或其他用户定义的发行版）作为新的子类以完善 SciPy 库。重新参数化 PERT 或其他分布。我们将在教程中使用正态分布、三角分布和 Beta 分布。

```python
%matplotlib inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import time
 
from scipy import stats as stats

from scipy.stats import norm as norm
from scipy.stats import triang as triang
from scipy.stats import beta as beta
from scipy.stats import rv_continuous
import scipy.optimize as opt

import warnings
warnings.filterwarnings("ignore")

ksN = 100           
ALPHA = 0.05        
```

### Python 模拟蒙特卡洛

简述：SciPy 概率分布情景分析。使用 SciPy 的内置发行版，特别是：Normal、Beta 和 Weibull。为 beta-PERT 分布添加一个新的分布子类。通过拉丁超立方抽样绘制随机数。建立三个蒙特卡罗模拟模型。

### 相关变量蒙特卡罗模拟

#### MCerp 包生成的相关性

简述：使&#x7528;_&#x4D;Cerp&#x5E93;_&#x76F8;关随机变量模拟，使我们的情景与现实保持一致，避免隐藏的偏差。

#### 高斯联结随机变量

简述：使用高斯联结随机变量模拟

### 源代码
{% endtab %}
{% endtabs %}

{% content-ref url="../zhi-dian-mi-jin-brief" %}
[zhi-dian-mi-jin-brief](../zhi-dian-mi-jin-brief)
{% endcontent-ref %}
