Zoeken…


Negatief binomiaal op positieve reals

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))

Het is essentieel om _pdf of _cdf te definiëren omdat scipy de parameters van de andere functie (die u niet definieert), en de volgorde van deze parameters in alle functieaanroepen die u maakt, afleidt vanuit uw definitie. In dit geval is er slechts één distributieparameter, lambda. De variabele die de waarde van de willekeurige variabele vertegenwoordigt, verschijnt eerst in de definitie van _pdf of _cdf.

Wanneer u slechts een van deze functies definieert, berekent Scipy de andere numeriek. Voor beide een grotere efficiëntie, definieer beide. Definieer op dezelfde manier _statistieken in termen van bekende parameters voor de beste efficiëntie; anders gebruikt scipy numerieke methoden.

Merk op dat de ondersteuning van de distributie wordt gedefinieerd wanneer de klasse wordt geïnstantieerd (variabele a is ingesteld op nul en b is standaard ingesteld op oneindig), in plaats van wanneer deze wordt onderverdeeld. Merk ook op dat de parameters van de distributie alleen worden ingesteld wanneer een van de klasse-instanties wordt aangeroepen, zoals in de laatste vijf regels code.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow