概率密度生成例子scipy.stats.gaussian_kde用法

概率密度生成例子scipy.stats.gaussian_kde用法

概率密度生成例子scipy.stats.gaussian_kde用法_第1张图片

源如下:

#-*-coding:utf-8-*-
#pyhon3.6运行
#time:
#version
#lwz
from scipy import stats
import numpy as np
def measure(n):
     "Measurement model, return two coupled measurements."
     m1 = np.random.normal(size=n)
     m2 = np.random.normal(scale=0.5, size=n)
     return m1+m2, m1-m2
m1, m2 = measure(2000)
xmin = m1.min()
xmax = m1.max()
ymin = m2.min()
ymax = m2.max()

X, Y = np.mgrid[xmin:xmax:100j, ymin:ymax:100j]
positions = np.vstack([X.ravel(), Y.ravel()])
values = np.vstack([m1, m2])
kernel = stats.gaussian_kde(values)
Z = np.reshape(kernel(positions).T, X.shape)

import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.imshow(np.rot90(Z), cmap=plt.cm.gist_earth_r,
           extent=[xmin, xmax, ymin, ymax])
ax.plot(m1, m2, 'k.', markersize=2)
ax.set_xlim([xmin, xmax])
ax.set_ylim([ymin, ymax])
plt.show()

你可能感兴趣的:(概率密度生成例子scipy.stats.gaussian_kde用法)