SciPy skewnormal 拟合

Afs*_*imi 10 python scipy

我正在尝试使用SciPy Skewnorm包将数据拟合到偏斜正态分布中。

但是,我无法正确理解用法,因为我找不到有关此问题的适当文档或示例。

在帮助部分,我找到了文档并尝试使用skewnorm.fit()withskewnorm.pdf()将数据拟合到模型中并使用该模型输出分布并与原始数据进行比较。

请让我知道是否有人可以帮助解决这个问题。

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

# choose some parameters
a, loc, scale = 5.3, -0.1, 2.2
# draw a sample
data = stats.skewnorm(a, loc, scale).rvs(1000)
# estimate parameters from sample
ae, loce, scalee = stats.skewnorm.fit(data)
# Plot the PDF.
plt.figure()
plt.hist(data, bins=100, normed=True, alpha=0.6, color='g')
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = stats.skewnorm.pdf(x,ae, loce, scalee)#.rvs(100)
plt.plot(x, p, 'k', linewidth=2)
Run Code Online (Sandbox Code Playgroud)

输出:

在此处输入图片说明

Pau*_*zer 9

这是一个让您入门的示例。

>>> from scipy import stats

# choose some parameters
>>> a, loc, scale = 1.3, -0.1, 2.2
# draw a sample
>>> sample = stats.skewnorm(a, loc, scale).rvs(1000)

# estimate parameters from sample
>>> ae, loce, scalee = stats.skewnorm.fit(sample)
>>> ae
1.2495366661560348
>>> loce
-0.039775813819310835
>>> scalee
2.1126121580965536
Run Code Online (Sandbox Code Playgroud)