Geometric
- class paddle.distribution. Geometric ( probs: float | Tensor ) [source]
-
Geometric distribution parameterized by probs.
In probability theory and statistics, the geometric distribution is one of discrete probability distributions, parameterized by one positive shape parameter, denoted by probs. In n Bernoulli trials, it takes k+1 trials to get the probability of success for the first time. In detail, it is: the probability that the first k times failed and the kth time succeeded. The geometric distribution is a special case of the Pascal distribution when r=1.
The probability mass function (pmf) is
Pr(Y=k)=(1−p)kpwhere k is number of trials failed before seeing a success, and p is probability of success for each trial and k=0,1,2,3,4…, p belong to (0,1].
- Parameters :
-
probs (Real|Tensor) – Probability parameter. The value of probs must be positive. When the parameter is a tensor, probs is probability of success for each trial.
- Returns :
-
Geometric distribution for instantiation of probs.
Examples
>>> import paddle >>> from paddle.distribution import Geometric >>> geom = Geometric(0.5) >>> print(geom.mean) Tensor(shape=[], dtype=float32, place=Place(cpu), stop_gradient=True, 1.) >>> print(geom.variance) Tensor(shape=[], dtype=float32, place=Place(cpu), stop_gradient=True, 2.) >>> print(geom.stddev) Tensor(shape=[], dtype=float32, place=Place(cpu), stop_gradient=True, 1.41421354)
-
probs
(
value: Tensor
)
Tensor
probs¶
-
Probability density/mass function.
Note
This method will be deprecated in the future, please use prob instead.
- property mean : Tensor
-
Mean of geometric distribution.
- property variance : Tensor
-
Variance of geometric distribution.
- property stddev : Tensor
-
Standard deviation of Geometric distribution.
-
pmf
(
k: int | Tensor
)
Tensor
pmf¶
-
Probability mass function evaluated at k.
P(X=k)=(1−p)kp,k=0,1,2,3,…- Parameters :
-
k (int) – Value to be evaluated.
- Returns :
-
Probability.
- Return type :
-
Tensor
Examples
>>> import paddle >>> from paddle.distribution import Geometric >>> geom = Geometric(0.5) >>> print(geom.pmf(2)) Tensor(shape=[], dtype=float32, place=Place(cpu), stop_gradient=True, 0.12500000)
-
log_pmf
(
k: int | Tensor
)
Tensor
log_pmf¶
-
Log probability mass function evaluated at k.
logP(X=k)=log(1−p)kp- Parameters :
-
k (int) – Value to be evaluated.
- Returns :
-
Log probability.
- Return type :
-
Tensor
Examples
>>> import paddle >>> from paddle.distribution import Geometric >>> geom = Geometric(0.5) >>> print(geom.log_pmf(2)) Tensor(shape=[], dtype=float32, place=Place(cpu), stop_gradient=True, -2.07944131)
-
sample
(
shape: Sequence[int] = []
)
Tensor
sample¶
-
Sample from Geometric distribution with sample shape.
- Parameters :
-
shape (Sequence[int]) – Sample shape.
- Returns :
-
Sampled data with shape sample_shape + batch_shape + event_shape.
Examples
>>> import paddle >>> from paddle.distribution import Geometric >>> paddle.seed(2023) >>> geom = Geometric(0.5) >>> print(geom.sample((2,2))) Tensor(shape=[2, 2], dtype=float32, place=Place(cpu), stop_gradient=True, [[0., 0.], [1., 0.]])
-
rsample
(
shape: Sequence[int] = []
)
Tensor
rsample¶
-
Generate samples of the specified shape.
- Parameters :
-
shape (Sequence[int]) – The shape of generated samples.
- Returns :
-
A sample tensor that fits the Geometric distribution.
- Return type :
-
Tensor
Examples
>>> import paddle >>> from paddle.distribution import Geometric >>> paddle.seed(2023) >>> geom = Geometric(0.5) >>> print(geom.rsample((2,2))) Tensor(shape=[2, 2], dtype=float32, place=Place(cpu), stop_gradient=True, [[0., 0.], [1., 0.]])
-
entropy
(
)
Tensor
entropy¶
-
Entropy of dirichlet distribution.
H(X)=−[1plogp+1−pp2log(1−p)]- Returns :
-
Entropy.
- Return type :
-
Tensor
Examples
>>> import paddle >>> from paddle.distribution import Geometric >>> geom = Geometric(0.5) >>> print(geom.entropy()) Tensor(shape=[], dtype=float32, place=Place(cpu), stop_gradient=True, 1.38629425)
-
cdf
(
k: int | Tensor
)
Tensor
cdf¶
-
Cdf of geometric distribution.
F(X≤k)=1−(1−p)(k+1),k=0,1,2,…- Parameters :
-
k – The number of trials performed.
- Returns :
-
Entropy.
- Return type :
-
Tensor
Examples
>>> import paddle >>> from paddle.distribution import Geometric >>> geom = Geometric(0.5) >>> print(geom.cdf(4)) Tensor(shape=[], dtype=float32, place=Place(cpu), stop_gradient=True, 0.96875000)
- property batch_shape : Sequence[int]
-
Returns batch shape of distribution
- Returns :
-
batch shape
- Return type :
-
Sequence[int]
- property event_shape : Sequence[int]
-
Returns event shape of distribution
- Returns :
-
event shape
- Return type :
-
Sequence[int]
-
kl_divergence
(
other: Geometric
)
Tensor
[source]
kl_divergence¶
-
Calculate the KL divergence KL(self || other) with two Geometric instances.
KL(P‖- Parameters :
-
other (Geometric) – An instance of Geometric.
- Returns :
-
The kl-divergence between two geometric distributions.
- Return type :
-
Tensor
Examples
>>> import paddle >>> from paddle.distribution import Geometric >>> geom_p = Geometric(0.5) >>> geom_q = Geometric(0.1) >>> print(geom_p.kl_divergence(geom_q)) Tensor(shape=[], dtype=float32, place=Place(cpu), stop_gradient=True, 0.51082563)
-
log_prob
(
value: Tensor
)
Tensor
log_prob¶
-
Log probability density/mass function.
-
prob
(
value: Tensor
)
Tensor
prob¶
-
Probability density/mass function evaluated at value.
- Parameters :
-
value (Tensor) – value which will be evaluated