Scipy stats.rv_continuous, чтобы найти MLE из двумерных данных - PullRequest
0 голосов
/ 28 ноября 2018

Ссылаясь на здесь , я хотел бы найти MLE alpha и lam, учитывая следующий PDF

import scipy.stats as st
import numpy as np

class Weib(st.rv_continuous):

    def _pdf(self, data, alpha, lam):
        t = data[0]
        delta = data[1]
        fx = (alpha * lam * (t**(alpha-1)))**(delta) * np.exp(-lam * (t**alpha))
        return fx

    def _argcheck(self, alpha, lam):
        a = alpha > 0
        l = lam > 0 
        return (a & l)

И я попытался

Weib_inst = Weib(name='Weib')
Samples = Weib_inst.rvs(alpha=1, lam=3, size = 1000)

И он говорит, что

'float' object is not subscriptable

Weib_inst._fitstart([[1,2],[2,4]]) также возвращает то же сообщение об ошибке.

Кажется, это происходит, потому что данные не одномерны, но я не могу найтиспособ обойти это.

Любая помощь может быть оценена.

1 Ответ

0 голосов
/ 28 ноября 2018

Вы можете попытаться определить _fitstart в своем подклассе.Однако эта структура предполагает одномерные распределения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...