子类化scipy.stats.rv_continuous

问题描述

我已经花了很大的力气和搜索来尝试将scipy.stats.rv_continuous子类化以生成Weibull概率分布(weibull_max)的新参数化,但是不知道该怎么做。我正在尝试将发行版设置为能够使用pdf,cdf,随机变量和拟合方法

我可以使用以下独立功能生成所需的pdf:

def weibull3P_pdf(x,shape,thres=0,loc=0,scale=1):
    return np.flip(scistats.weibull_max
                   .pdf(-x - thres,loc=loc,scale=scale))

一个人会猜到以下应该起作用:

class weibull3P_gen(scistats.rv_continuous):

    def _argcheck(self,c,k):
        return (c > 0) & (k < 0)

    def _get_support(self,k):
        return k,-k

    def _pdf(self,x,k):
        # Adjusted accordingly from weibull_max._pdf
        return c * pow(-x - k,c - 1) * np.exp(-pow(-x - k,c))


weibull3P = weibull3P_gen(name="weibull3P")

,但是pdf方法不会产生相同的结果。任何指针都欢迎。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)