tf.contrib.distributions.InverseGammaWithSoftplusConcentrationRate
InverseGamma с софтплс concentration и rate.
Наследуется от: InverseGamma
tf.contrib.distributions.InverseGammaWithSoftplusConcentrationRate(
concentration, rate, validate_args=False, allow_nan_stats=True,
name='InverseGammaWithSoftplusConcentrationRate'
)
| Атрибуты | |
|---|---|
allow_nan_stats | Python bool, описывающий поведение при неопределённом статистическом показателе. Статистики возвращают +/- бесконечность, когда это имеет смысл. Например, дисперсия распределения Коши равна бесконечности. Однако иногда статистический показатель неопределён, например, если плотность вероятности распределения не достигает максимума внутри области определения распределения, мода неопределена. Если среднее значение неопределено, то по определению дисперсия также неопределена. Например, среднее значение распределения Стьюдента для df = 1 неопределено (нет явного способа сказать, что оно равно либо + либо - бесконечности), поэтому дисперсия = E[(X - среднее)**2] также неопределена. |
batch_shape | Форма одного образца из одного индекса события в виде TensorShape. Может быть частично определена или неизвестна. Размеры пакета — это индексы в независимых, нетождественных параметризациях этого распределения. |
concentration | Параметр концентрации. |
dtype | DType Tensor обработанных этим Distribution. |
event_shape | Форма одного образца из одного набора в виде TensorShape. Может быть частично определена или неизвестна. |
name | Префикс имени для всех операций, созданных этим Distribution. |
parameters | Словарь параметров, используемых для создания этого Distribution. |
rate | Параметр скорости. |
reparameterization_type | Описывает, как перепараметризуются образцы из распределения. В настоящее время это один из статических экземпляров |
validate_args | Python bool, указывающий на включение, возможно, дорогостоящих проверок. |
Методы
batch_shape_tensor
batch_shape_tensor(
name='batch_shape_tensor'
)
Форма одного образца из одного индекса события в виде одномерного Tensor.
Размеры пакета — это индексы в независимых, нетождественных параметризациях этого распределения.
| Аргументы | |
|---|---|
name | имя для операции |
| Возвращаемое значение | |
|---|---|
batch_shape | Tensor. |
cdf
cdf(
value, name='cdf'
)
Функция кумулятивного распределения.
Для случайной величины X, функция кумулятивного распределения cdf равна:
cdf(x) := P[X <= x]
| Аргументы | |
|---|---|
value | float или double Tensor. |
name | Python str префикс для имён операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
cdf | Tensor формы sample_shape(x) + self.batch_shape с типами значений self.dtype. |
copy
copy(
**override_parameters_kwargs
)
Создаёт глубокую копию распределения.
Примечание: распределение копии может продолжать зависеть от исходных аргументов инициализации.
| Аргументы | |
|---|---|
**override_parameters_kwargs | Словарь строк/значений аргументов инициализации для переопределения новыми значениями. |
| Возвращаемое значение | |
|---|---|
distribution | Новый экземпляр type(self), инициализированный из объединения self.parameters и override_parameters_kwargs, т.е., dict(self.parameters, **override_parameters_kwargs). |
covariance
covariance(
name='covariance'
)
Ковариация.
Ковариация (возможно) определена только для распределений со значениями, отличными от скаляров.
Например, для векторного распределения длиной k, оно вычисляется как,
Cov[i, j] = Covariance(X_i, X_j) = E[(X_i - E[X_i]) (X_j - E[X_j])]
где Cov — (пакет) k x k матрица, 0 <= (i, j) < k, а E обозначает математическое ожидание.
В качестве альтернативы, для не векторных, многомерных распределений (например, матричных, Вишарта), Covariance вернёт (пакет) матриц при некотором векторизации событий, т.е.,
Cov[i, j] = Covariance(Vec(X)_i, Vec(X)_j) = [as above]
где Cov — (пакет) k' x k' матриц, 0 <= (i, j) < k' = reduce_prod(event_shape), и Vec — некоторая функция, отображающая индексы размерностей событий этого распределения в индексы вектора длиной k'.
| Аргументы | |
|---|---|
name | Python str префикс для имён операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
covariance | Числовое значение с плавающей точкой Tensor формы [B1, ..., Bn, k', k'], где первые n измерения — координаты пакета и k' = reduce_prod(self.event_shape). |
cross_entropy
cross_entropy(
other, name='cross_entropy'
)
Вычисляет кросс-энтропию (Шеннона).
Обозначим это распределение (self) через P и распределение other через Q. Предполагая, что P, Q абсолютно непрерывны друг относительно друга и допускают плотности p(x) dr(x) и q(x) dr(x), (энтропия Шеннона) кросс-энтропия определяется как:
H[P, Q] = E_p[-log q(X)] = -int_F p(x) log q(x) dr(x)
где F обозначает область определения случайной величины X ~ P.
| Аргументы | |
|---|---|
other | Экземпляр tfp.distributions.Distribution. |
name | Python str префикс для имён операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
cross_entropy | Числовое значение self.dtype Tensor с формой [B1, ..., Bn] представляющей различные вычисления (энтропии Шеннона) кросс-энтропии. |
entropy
entropy(
name='entropy'
)
Энтропия Шеннона в натах.
event_shape_tensor
event_shape_tensor(
name='event_shape_tensor'
)
Форма одного образца из одного набора в виде одномерного целочисленного Tensor.
| Аргументы | |
|---|---|
name | имя для операции |
| Возвращаемое значение | |
|---|---|
event_shape | Tensor. |
is_scalar_batch
is_scalar_batch(
name='is_scalar_batch'
)
Указывает, что batch_shape == [].
| Аргументы | |
|---|---|
name | Python str префикс для имён операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
is_scalar_batch | bool скаляр Tensor. |
is_scalar_event
is_scalar_event(
name='is_scalar_event'
)
Указывает, что event_shape == [].
| Аргументы | |
|---|---|
name | Python str добавленный к именам операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
is_scalar_event | bool скаляр Tensor. |
kl_divergence
kl_divergence(
other, name='kl_divergence'
)
Вычисляет расстояние Кульбака—Лайблера.
Обозначим это распределение (self) как p, а распределение other — как q. Предполагая, что p, q абсолютно непрерывны относительно меры отсчёта r, расстояние Кульбака—Лайблера определяется как:
KL[p, q] = E_p[log(p(X)/q(X))]
= -int_F p(x) log q(x) dr(x) + int_F p(x) log p(x) dr(x)
= H[p, q] - H[p]
где F обозначает область определения случайной величины X ~ p, H[., .] обозначает (поперечную) взаимную энтропию, а H[.] обозначает (поперечную) энтропию.
| Аргументы | |
|---|---|
other | Экземпляр tfp.distributions.Distribution. |
name | Python str добавленный к именам операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
kl_divergence | self.dtype Tensor с формой [B1, ..., Bn], представляющей n различные вычисления расстояния Кульбака—Лайблера. |
log_cdf
log_cdf(
value, name='log_cdf'
)
Логарифмическая функция кумулятивного распределения.
Для случайной величины X, функция кумулятивного распределения cdf имеет вид:
log_cdf(x) := Log[ P[X <= x] ]
Часто для log_cdf(x) используется численное приближение, которое даёт более точный ответ, чем просто взятие логарифма cdf при x << -1.
| Аргументы | |
|---|---|
value | float или double Tensor. |
name | Python str добавленный к именам операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
logcdf | тензор с формой sample_shape(x) + self.batch_shape и значениями типа self.dtype. |
log_prob
log_prob(
value, name='log_prob'
)
Логарифмическая плотность/вероятность.
| Аргументы | |
|---|---|
value | float или double Tensor. |
name | Python str добавленный к именам операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
log_prob | тензор с формой sample_shape(x) + self.batch_shape и значениями типа self.dtype. |
log_survival_function
log_survival_function(
value, name='log_survival_function'
)
Логарифмическая функция выживания.
Для случайной величины X, функция выживания определяется как:
log_survival_function(x) = Log[ P[X > x] ]
= Log[ 1 - P[X <= x] ]
= Log[ 1 - cdf(x) ]
Обычно для логарифмической функции выживания используются различные численные приближения, которые более точны, чем 1 - cdf(x) при x >> 1.
| Аргументы | |
|---|---|
value | float или double Tensor. |
name | Python str добавленный к именам операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
тензор с формой sample_shape(x) + self.batch_shape и значениями типа self.dtype. |
mean
mean(
name='mean'
)
Среднее.
Дополнительная документация из InverseGamma.
Среднее обратного гамма-распределения равно rate / (concentration - 1), если concentration > 1, и NaN в противном случае. Если self.allow_nan_stats равно False, будет выброшено исключение вместо возвращения NaN
mode
mode(
name='mode'
)
Мода.
Дополнительная документация из InverseGamma.
Мода обратного гамма-распределения равна rate / (concentration + 1).
param_shapes
@classmethod
param_shapes(
sample_shape, name='DistributionParamShapes'
)
Формы параметров для заданной формы вызова sample().
Это метод класса, описывающий требуемые ключевые/значения аргументы для создания данного Distribution, чтобы получить определенную форму для вызова sample() этого экземпляра.
Подклассы должны переопределить метод класса _param_shapes.
| Аргументы | |
|---|---|
sample_shape | Tensor или список/кортеж Python. Желаемая форма вызова sample(). |
name | Имя для добавления к операциям. |
| Возвращаемое значение | |
|---|---|
Словарь от имени параметра к формам Tensor. |
param_static_shapes
@classmethod
param_static_shapes(
sample_shape
)
TensorShape формы параметров.
Это метод класса, описывающий требуемые ключевые/значения аргументы для создания данного Distribution, чтобы получить определенную форму для вызова sample() этого экземпляра. Предполагает, что форма выборки известна статически.
Подклассы должны переопределить метод класса _param_shapes, чтобы возвращать тензоры с постоянными значениями при подаче постоянных значений.
| Аргументы | |
|---|---|
sample_shape | TensorShape или список/кортеж Python. Желаемая форма вызова sample(). |
| Возвращаемое значение | |
|---|---|
Словарь от имени параметра к TensorShape. |
| Исключения | |
|---|---|
ValueError | если sample_shape является TensorShape и не полностью определен. |
prob
prob(
value, name='prob'
)
Плотность/вероятность.
| Аргументы | |
|---|---|
value | float или double Tensor. |
name | Python str добавленный к именам операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
prob | тензор с формой sample_shape(x) + self.batch_shape и значениями типа self.dtype. |
quantile
quantile(
value, name='quantile'
)
Функция квантиля. Также известна как обратная функция кумулятивного распределения или функция процентильного значения.
Для случайной величины X и p in [0, 1], quantile определяется как:
quantile(p) := x such that P[X <= x] == p
| Аргументы | |
|---|---|
value | float или double Tensor. |
name | Python str добавляется к именам операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
quantile | тензор Tensor формы sample_shape(x) + self.batch_shape с значениями типа self.dtype. |
sample
sample(
sample_shape=(), seed=None, name='sample'
)
Генерирует выборки указанной формы.
Обратите внимание, что вызов sample() без аргументов сгенерирует одну выборку.
| Аргументы | |
|---|---|
sample_shape | 0D или 1D int32 Tensor. Форма генерируемых выборок. |
seed | Целое число Python для инициализации генератора псевдослучайных чисел. |
name | Имя для операции. |
| Возвращаемое значение | |
|---|---|
samples | тензор Tensor с добавленными в начале размерностями sample_shape. |
stddev
stddev(
name='stddev'
)
Стандартное отклонение.
Стандартное отклонение определяется как,
stddev = E[(X - E[X])**2]**0.5
где X — случайная величина, связанная с этим распределением, E обозначает математическое ожидание, и stddev.shape = batch_shape + event_shape.
| Аргументы | |
|---|---|
name | Python str добавляется к именам операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
stddev | Число с плавающей точкой Tensor с формой, совпадающей с формой batch_shape + event_shape, то есть той же формой, что и self.mean(). |
survival_function
survival_function(
value, name='survival_function'
)
Функция выживания.
Для случайной величины X, функция выживания определяется как:
survival_function(x) = P[X > x]
= 1 - P[X <= x]
= 1 - cdf(x).
| Аргументы | |
|---|---|
value | float или double Tensor. |
name | Python str добавляется к именам операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
тензор Tensor с формой sample_shape(x) + self.batch_shape и значениями типа self.dtype. |
variance
variance(
name='variance'
)
Дисперсия.
Дисперсия определяется как,
Var = E[(X - E[X])**2]
где X — случайная величина, связанная с этим распределением, E обозначает математическое ожидание, и Var.shape = batch_shape + event_shape.
Дополнительная документация из InverseGamma:
Дисперсия для обратного гамма-распределения определена только для concentration > 2. Если self.allow_nan_stats равно False, будет возбуждено исключение вместо возврата NaN.
| Аргументы | |
|---|---|
name | Python str добавляется к именам операций, созданных этой функцией. |
| Возвращаемое значение | |
|---|---|
variance | Число с плавающей точкой Tensor с формой, совпадающей с формой batch_shape + event_shape, то есть той же формой, что и self.mean(). |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/distributions/InverseGammaWithSoftplusConcentrationRate