mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-08 03:22:38 +02:00
31 lines
957 B
Python
31 lines
957 B
Python
# Copyright (c) 2014 The GPy authors (see AUTHORS.txt)
|
|
# Licensed under the BSD 3-clause license (see LICENSE.txt)
|
|
|
|
import numpy as np
|
|
from ..util.univariate_Gaussian import std_norm_pdf, std_norm_cdf
|
|
import link_functions
|
|
from likelihood import Likelihood
|
|
from scipy import stats
|
|
|
|
class Negative_binomial(Symbolic):
|
|
"""
|
|
Negative binomial
|
|
|
|
.. math::
|
|
p(y_{i}|\pi(f_{i})) = \\lambda(f_{i})^{y_{i}}(1-f_{i})^{1-y_{i}}
|
|
|
|
.. Note::
|
|
Y takes values in either {-1, 1} or {0, 1}.
|
|
link function should have the domain [0, 1], e.g. probit (default) or Heaviside
|
|
|
|
.. See also::
|
|
likelihood.py, for the parent class
|
|
"""
|
|
def __init__(self, gp_link=None):
|
|
if gp_link is None:
|
|
gp_link = link_functions.Probit()
|
|
|
|
super(Bernoulli, self).__init__(gp_link, 'Bernoulli')
|
|
|
|
if isinstance(gp_link , (link_functions.Heaviside, link_functions.Probit)):
|
|
self.log_concave = True
|