python中fit内参数的类型_关于python:如何在scipy.stats.gamma.fit中获取适合参数的误差估计?...

我有一些,我用scipy.stats拟合伽马分布。我能够提取形状、位置和比例参数,它们看起来与我期望的数据范围是合理的。

我的问题是:有没有办法同时得到参数中的错误?类似于曲线拟合的输出。注意:我不直接使用曲线拟合,因为它不能正常工作,而且大多数时间无法计算伽马分布的参数。另一方面,scipy.stats.gamma.fit工作正常。

这是我正在做的事情的一个例子(不是我的实际数据)。

from scipy.stats import gamma

shape = 12; loc = 0.71; scale = 0.0166

data = gamma.rvs(shape, loc=loc, scale=scale, size=1000)

params = gamma.fit(data) # params close to but not the same as (shape, loc, scale)

# HOW TO ESTIMATE/GET ERRORS FOR EACH PARAM?

提前谢谢

编辑警告:以下说明了在问题示例之后使用GenericLikelihoodModel。然而,在伽马分布的情况下,位置参数改变了分布的支持,这被最大似然估计的一般假设所排除。更标准的用法是固定支持,floc=0,所以它只是一个双参数分布。在这种情况下,标准MLE理论适用。

StatsModels有一个用于最大似然估计的通用类,GenericLikelihoodModel。它不是为这种情况直接设计的,但是可以与一些帮助一起使用(定义属性并提供start_参数)。

import numpy as np

from statsmodels.base.model import GenericLikelihoodModel

from scipy.stats import gamma

shape = 12; loc = 0.71; scale = 0.0166

data = gamma.rvs(shape, loc=loc, scale=scale, size=1000)

params = gamma.fit(data) # params close to but not the same as (shape, loc, scale)

# HOW TO ESTIMATE/GET ERRORS FOR EACH PARAM?

print(params)

print('

')

class Gamma(GenericLikelihoodMo

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值