Поиск…


Отрицательный бином на положительных значениях

from scipy.stats import rv_continuous
import numpy

class Neg_exp(rv_continuous): 
    def _cdf(self, x, lamda):
        return 1-numpy.exp(-lamda*x)
   
neg_exp = Neg_exp(name="Negative exponential", a=0)

print (neg_exp.pdf(0,.5))
print (neg_exp.pdf(5,.5))
print (neg_exp.cdf(5,.5))
print (neg_exp.stats(0.5))
print (neg_exp.rvs(0.5))

Очень важно определить _pdf или _cdf, поскольку scipy определяет параметры другой функции (которую вы не определяете) и порядок этих параметров в любых вызовах функций, которые вы делаете, из вашего определения. В этом случае имеется только один параметр распределения лямбда. Переменная, представляющая значение случайной переменной, появляется сначала в определении _pdf или _cdf.

Когда вы определяете только одну из этих функций, scipy будет вычислять другую численно. Для достижения большей эффективности определите оба. Аналогично, определите _stats с точки зрения известных параметров для лучшей эффективности; в противном случае scipy использует численные методы.

Обратите внимание, что поддержка дистрибутива определяется при создании экземпляра класса (переменная a устанавливается равной нулю, а b по умолчанию установлена ​​в бесконечность), а не тогда, когда она подклассифицирована. Также обратите внимание, что параметры дистрибутива задаются только при вызове одного из экземпляров класса, как в последних пяти строках кода.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow