如何使用固定位置参数来拟合物流分布?

问题描述 投票:0回答:1

我使用 scipy.stats.logistic.fit() 和固定位置值,来获得估计的尺度参数,而残差不保持 qqplot 的正态性。

我应该如何改进它以及如何可视化错误?还有其他方法来估计逻辑分布的参数吗?

谢谢你!

scipy logistic-regression curve-fitting distribution mle
1个回答
0
投票

让我们创建一个综合数据集:

import numpy as np
from scipy import stats, optimize

np.random.seed(123456)

law = stats.logistic(loc=1.2, scale=2.3)
data = law.rvs(30000)

您可以使用固定参数进行拟合:

stats.logistic.fit(data, floc=1.2)
# (1.2, 2.30433453917283)

如果您想自己执行 MLE,只需说明可能性:

def factory(x, loc=0.):
    def wrapped(p):
        return - stats.logistic(loc=loc, scale=p[0]).logpdf(x).sum()
    return wrapped

likelihood = factory(data, loc=1.2)

sol = optimize.minimize(likelihood, x0=[1])
#   message: Optimization terminated successfully.
#   success: True
#    status: 0
#       fun: 85067.14024628093
#         x: [ 2.304e+00]
#       nit: 7
#       jac: [ 0.000e+00]
#  hess_inv: [[ 1.238e-04]]
#      nfev: 16
#      njev: 8

这也为您提供了参数估计的不确定性 (

hess_inv
)。

© www.soinside.com 2019 - 2024. All rights reserved.