0
# Continuous Distributions
1
2
Continuous probability distributions for modeling real-valued random variables, including univariate and multivariate distributions with various parameterizations and covariance structures.
3
4
## Capabilities
5
6
### Univariate Normal Distribution
7
8
Standard normal distribution with location and scale parameters.
9
10
```python { .api }
11
class Normal(Distribution):
12
def __init__(self, loc, scale):
13
"""
14
Normal distribution.
15
16
Parameters:
17
- loc: mean parameter (float or array)
18
- scale: standard deviation parameter (float or array, must be positive)
19
"""
20
21
@property
22
def loc(self): ...
23
@property
24
def scale(self): ...
25
@property
26
def event_shape(self): ...
27
@property
28
def batch_shape(self): ...
29
```
30
31
### Alternative Normal Parameterizations
32
33
Normal distribution parameterized by log standard deviation for numerical stability.
34
35
```python { .api }
36
class LogStddevNormal(Distribution):
37
def __init__(self, loc, log_scale):
38
"""
39
Normal distribution parameterized by log standard deviation.
40
41
Parameters:
42
- loc: mean parameter (float or array)
43
- log_scale: log standard deviation parameter (float or array)
44
"""
45
46
@property
47
def loc(self): ...
48
@property
49
def log_scale(self): ...
50
@property
51
def scale(self): ...
52
```
53
54
### Beta Distribution
55
56
Beta distribution for modeling probabilities and proportions.
57
58
```python { .api }
59
class Beta(Distribution):
60
def __init__(self, concentration1, concentration0):
61
"""
62
Beta distribution.
63
64
Parameters:
65
- concentration1: first concentration parameter (must be positive)
66
- concentration0: second concentration parameter (must be positive)
67
"""
68
69
@property
70
def concentration1(self): ...
71
@property
72
def concentration0(self): ...
73
```
74
75
### Gamma Distribution
76
77
Gamma distribution for modeling positive continuous variables.
78
79
```python { .api }
80
class Gamma(Distribution):
81
def __init__(self, concentration, rate):
82
"""
83
Gamma distribution.
84
85
Parameters:
86
- concentration: shape parameter (must be positive)
87
- rate: rate parameter (must be positive)
88
"""
89
90
@property
91
def concentration(self): ...
92
@property
93
def rate(self): ...
94
```
95
96
### Laplace Distribution
97
98
Laplace (double exponential) distribution.
99
100
```python { .api }
101
class Laplace(Distribution):
102
def __init__(self, loc, scale):
103
"""
104
Laplace distribution.
105
106
Parameters:
107
- loc: location parameter (float or array)
108
- scale: scale parameter (float or array, must be positive)
109
"""
110
111
@property
112
def loc(self): ...
113
@property
114
def scale(self): ...
115
```
116
117
### Logistic Distribution
118
119
Logistic distribution for sigmoid-shaped densities.
120
121
```python { .api }
122
class Logistic(Distribution):
123
def __init__(self, loc, scale):
124
"""
125
Logistic distribution.
126
127
Parameters:
128
- loc: location parameter (float or array)
129
- scale: scale parameter (float or array, must be positive)
130
"""
131
132
@property
133
def loc(self): ...
134
@property
135
def scale(self): ...
136
```
137
138
### Gumbel Distribution
139
140
Gumbel distribution for modeling extreme values.
141
142
```python { .api }
143
class Gumbel(Distribution):
144
def __init__(self, loc, scale):
145
"""
146
Gumbel distribution.
147
148
Parameters:
149
- loc: location parameter (float or array)
150
- scale: scale parameter (float or array, must be positive)
151
"""
152
153
@property
154
def loc(self): ...
155
@property
156
def scale(self): ...
157
```
158
159
### Uniform Distribution
160
161
Uniform distribution over a specified interval.
162
163
```python { .api }
164
class Uniform(Distribution):
165
def __init__(self, low, high):
166
"""
167
Uniform distribution.
168
169
Parameters:
170
- low: lower bound (float or array)
171
- high: upper bound (float or array, must be > low)
172
"""
173
174
@property
175
def low(self): ...
176
@property
177
def high(self): ...
178
```
179
180
### Von Mises Distribution
181
182
Von Mises (circular normal) distribution for circular data.
183
184
```python { .api }
185
class VonMises(Distribution):
186
def __init__(self, loc, concentration):
187
"""
188
Von Mises distribution.
189
190
Parameters:
191
- loc: mean direction parameter (float or array)
192
- concentration: concentration parameter (float or array, must be >= 0)
193
"""
194
195
@property
196
def loc(self): ...
197
@property
198
def concentration(self): ...
199
```
200
201
### Multivariate Normal with Diagonal Covariance
202
203
Multivariate normal distribution with diagonal covariance matrix.
204
205
```python { .api }
206
class MultivariateNormalDiag(Distribution):
207
def __init__(self, loc, scale_diag):
208
"""
209
Multivariate normal with diagonal covariance.
210
211
Parameters:
212
- loc: mean vector (array of shape [..., d])
213
- scale_diag: diagonal standard deviations (array of shape [..., d], must be positive)
214
"""
215
216
@property
217
def loc(self): ...
218
@property
219
def scale_diag(self): ...
220
@property
221
def event_shape(self): ...
222
```
223
224
### Multivariate Normal with Full Covariance
225
226
Multivariate normal distribution with full covariance matrix.
227
228
```python { .api }
229
class MultivariateNormalFullCovariance(Distribution):
230
def __init__(self, loc, covariance_matrix):
231
"""
232
Multivariate normal with full covariance matrix.
233
234
Parameters:
235
- loc: mean vector (array of shape [..., d])
236
- covariance_matrix: covariance matrix (array of shape [..., d, d], must be positive definite)
237
"""
238
239
@property
240
def loc(self): ...
241
@property
242
def covariance_matrix(self): ...
243
```
244
245
### Multivariate Normal with Triangular Parameterization
246
247
Multivariate normal distribution parameterized by triangular matrices.
248
249
```python { .api }
250
class MultivariateNormalTri(Distribution):
251
def __init__(self, loc, scale_tri, scale_diag):
252
"""
253
Multivariate normal with triangular parameterization.
254
255
Parameters:
256
- loc: mean vector (array of shape [..., d])
257
- scale_tri: lower triangular matrix (array of shape [..., d, d])
258
- scale_diag: diagonal scale factors (array of shape [..., d])
259
"""
260
261
@property
262
def loc(self): ...
263
@property
264
def scale_tri(self): ...
265
@property
266
def scale_diag(self): ...
267
```
268
269
### Multivariate Normal with Low-Rank Plus Diagonal
270
271
Multivariate normal with diagonal plus low-rank covariance structure.
272
273
```python { .api }
274
class MultivariateNormalDiagPlusLowRank(Distribution):
275
def __init__(self, loc, scale_diag, scale_identity_multiplier, scale_perturb_factor):
276
"""
277
Multivariate normal with diagonal plus low-rank covariance.
278
279
Parameters:
280
- loc: mean vector (array of shape [..., d])
281
- scale_diag: diagonal component (array of shape [..., d])
282
- scale_identity_multiplier: scalar multiplier for identity (float or array)
283
- scale_perturb_factor: low-rank perturbation factor (array of shape [..., d, k])
284
"""
285
286
@property
287
def loc(self): ...
288
@property
289
def scale_diag(self): ...
290
@property
291
def scale_identity_multiplier(self): ...
292
@property
293
def scale_perturb_factor(self): ...
294
```
295
296
### Multivariate Normal from Bijector
297
298
Multivariate normal distribution constructed using a bijector transformation.
299
300
```python { .api }
301
class MultivariateNormalFromBijector(Distribution):
302
def __init__(self, shift, bijector):
303
"""
304
Multivariate normal constructed via bijector.
305
306
Parameters:
307
- shift: location parameter (array of shape [..., d])
308
- bijector: bijector defining the transformation from standard normal
309
"""
310
311
@property
312
def shift(self): ...
313
@property
314
def bijector(self): ...
315
```
316
317
### Dirichlet Distribution
318
319
Dirichlet distribution for modeling probability vectors.
320
321
```python { .api }
322
class Dirichlet(Distribution):
323
def __init__(self, concentration):
324
"""
325
Dirichlet distribution.
326
327
Parameters:
328
- concentration: concentration parameters (array of shape [..., k], must be positive)
329
"""
330
331
@property
332
def concentration(self): ...
333
@property
334
def event_shape(self): ...
335
```