Python 将数据拟合到概率分布,可能是偏正态分布?

Python 将数据拟合到概率分布,可能是偏正态分布?,python,scipy,statistics,Python,Scipy,Statistics,我试图将我的数据拟合成某种概率分布,这样我就可以根据这种分布生成随机数。下面是数据点的样子,数据值后面是x轴,概率后面是y轴 它们看起来符合一个偏正态分布,平均值约为10^-4。绘图的数据实际上是从原始数据集中分块的。我尝试使用scipy.stats库拟合原始数据上的倾斜法线,但拟合根本不起作用 我想知道是否有人知道一种适合PDF格式的方法?我的绘图中的数据如下(无法发布原始数据,因为原始数据太大): 您可以使用scipy.stats.skewnorm.fit(参见文档)将数据拟合到偏正态分布

我试图将我的数据拟合成某种概率分布,这样我就可以根据这种分布生成随机数。下面是数据点的样子,数据值后面是x轴,概率后面是y轴

它们看起来符合一个偏正态分布,平均值约为10^-4。绘图的数据实际上是从原始数据集中分块的。我尝试使用
scipy.stats
库拟合原始数据上的倾斜法线,但拟合根本不起作用

我想知道是否有人知道一种适合PDF格式的方法?我的绘图中的数据如下(无法发布原始数据,因为原始数据太大):


您可以使用
scipy.stats.skewnorm.fit
(参见文档)将数据拟合到偏正态分布中

skewnorm.fit
从数据中返回形状、位置和比例参数的最大似然估计(MLE)

from scipy import stats

# define your dataset here

# let's make a sample with pre-defined parameters to demonstrate how it works
a, loc, scale = 1.6, -0.2, 3.2
data = stats.skewnorm(a, loc, scale).rvs(10000)

# estimate parameters of the sample
a_estimate, loc_estimate, scale_estimate = stats.skewnorm.fit(data)
print(a_estimate, loc_estimate, scale_estimate)
输出:

1.5784198343540448-0.18066366859003175 3.1817350641737274

“我尝试使用scipy.stats库来拟合原始数据上的倾斜法线,但拟合根本不起作用。”如果您展示了您尝试过的内容,以及没有按照您预期的方式工作的内容,可能会有人能够帮助您。
from scipy import stats

# define your dataset here

# let's make a sample with pre-defined parameters to demonstrate how it works
a, loc, scale = 1.6, -0.2, 3.2
data = stats.skewnorm(a, loc, scale).rvs(10000)

# estimate parameters of the sample
a_estimate, loc_estimate, scale_estimate = stats.skewnorm.fit(data)
print(a_estimate, loc_estimate, scale_estimate)