微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用指定的均值或sigma拟合拉普拉斯分布

如何解决用指定的均值或sigma拟合拉普拉斯分布

我想使Laplace分布适合特定数据。但我希望平均值等于0。 我相信在scipy.stats中使用fit函数,然后将mean(loc)参数设置为零不是逻辑解决方案。 有更好的解决方案吗?预先感谢。

from scipy.stats import laplace
import numpy as np
import matplotlib.pyplot as plt
def fit_laplace(arr,axes):
    params = laplace.fit(arr)
    x = np.linspace(min(arr),max(arr),100)
    print("ParaMS: ",params)
    pdf_fitted = laplace.pdf(x,params[1])
    axes.plot(x,pdf_fitted,color='red')

解决方法

正确的方法是先使用z-transform转换数据,然后拟合分布。

,

要将平均值限制为零,请在floc=0方法的调用中使用fit

params = laplace.fit(arr,floc=0)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。