当前位置:网站首页>numpy.random使用文档
numpy.random使用文档
2022-08-05 05:25:00 【ProfSnail】
正态分布
二维正态分布
random.RandomState.multivariate_normal(mean, cov, size=None, check_valid='warn', tol=1e-8)
mean = (1, 2)
cov = [[1, 0], [0, 1]]
x = np.random.multivariate_normal(mean, cov, (3, 3))
第一个参数为均值向量,第二个参数为协方差矩阵。协方差矩阵参数与相关系数的关系如下。
ρ x y = C o v ( X , Y ) σ X σ Y \rho_{xy} = \dfrac{Cov(X,Y)}{\sigma_X \sigma_Y} ρxy=σXσYCov(X,Y)
下面展示不同的相关系数对生成的分布造成怎样的影响,
import numpy as np
from numpy.random import multivariate_normal
import matplotlib.pyplot as plt
def generate_data(mu1, mu2, stv1, stv2, rho, num):
cov = np.array([[stv1**2, rho*stv1*stv2],[rho*stv1*stv2, stv2**2]])
mu = np.array([mu1, mu2])
X = multivariate_normal(mu, cov, size=num)
plt.scatter(X[:,0], X[:,1], alpha=0.5, label=r'$\rho$={:.2f}'.format(rho))
for rho in [0, 0.23, 0.45, 0.68, 0.90]:
generate_data(0,0,1,1,rho,200)
plt.legend()
plt.show()
生成结果如下图:相关系数越接近1,变量之间的线性关系越明显,也就是椭球更扁平。
另外,根据多元高斯的性质,如果构成多元高斯分布,任意多个变量子集都构成高斯分布:如果独立投影到X轴和Y轴,会发现二者都服从高斯分布。
import numpy as np
from numpy.random import multivariate_normal
import matplotlib.pyplot as plt
def show_1d_gauss(mu1, mu2, stv1, stv2, rho, num, ax):
cov = np.array([[stv1**2, rho*stv1*stv2],[rho*stv1*stv2, stv2**2]])
mu = np.array([mu1, mu2])
X = multivariate_normal(mu, cov, size=num)
X1 = X[:, 0]
X2 = X[:, 1]
ax.scatter(X1, X2, alpha=0.5)
ax.scatter(X1, np.zeros_like(X1), alpha=0.2)
ax.scatter(np.zeros_like(X2), X2, alpha=0.2)
ax.set_title(r'$\rho$={:.2f}'.format(rho))
fig, axes = plt.subplots(2, 3)
rholist = [0, 0.23, 0.45, 0.68, 0.90, 1]
for i, rho in enumerate(rholist):
show_1d_gauss(0,0,1,1,rho,200, axes.flatten()[i])
plt.show()
结果如图所示
边栏推荐
- D46_Force applied to rigid body
- [Problem has been resolved]-Virtual machine error contains a file system with errors check forced
- The 25 best free games on mobile in 2020
- 网络排错基础-学习笔记
- 网络协议基础-学习笔记
- What should I do if the SSL certificate prompts that it is expired or invalid?
- Shadowless Cloud Desktop
- config.js相关配置汇总
- 【考研结束第一天,过于空虚,想对自己进行总结一下】
- What are some things that you only know when you do operation and maintenance?
猜你喜欢

Introduction to Network Layer Protocols

Dry!Teach you to use industrial raspberries pie combining CODESYS configuration EtherCAT master station

Complete mysql offline installation in 5 minutes

多线程之传递参数

el-autocomplete use

NB-IOT智能云家具项目系列实站

GetEnumerator method and MoveNext and Reset methods in Unity

The 25 best free games on mobile in 2020

滚动条问题,未解决

Growth: IT Operations Trends Report
随机推荐
浏览器兼容汇总
通过反射获取Class对象的四种方式
7 steps to complete cloud monitoring
程序员应该这样理解I/O
config.js相关配置汇总
Xiaodu Xiaodu is here!
初识网页与浏览器
ev加密视频转换成MP4格式,亲测可用
The highlight moment of operation and maintenance starts with intelligence
DisabledDate date picker datePicker
浏览器存储WebStorage
Come, come, let you understand how Cocos Creator reads and writes JSON files
网络层协议介绍
前置++和后置++的区别
Wechat applet page jump to pass parameters
King power volume LinkSLA, realize operations engineer is happy fishing
[Problem has been resolved]-Virtual machine error contains a file system with errors check forced
Browser Storage WebStorage
云计算基础-学习笔记
错误记录集锦(遇到则记下)