Exemplo n.º 1
0
def calculate_log_likelihood(x, w, y):

    latent_pred = x @ w

    log_lik_elementwise = (y * norm.logcdf(latent_pred) + (1 - y) *
                           norm.logcdf(-latent_pred))

    return np.sum(log_lik_elementwise)
Exemplo n.º 2
0
    def _log_1m_sf(self, params, T, Xs):
        mu_params = params["mu_"]
        mu_ = np.dot(Xs["mu_"], mu_params)

        sigma_params = params["sigma_"]

        log_sigma_ = np.dot(Xs["sigma_"], sigma_params)
        sigma_ = np.exp(log_sigma_)
        Z = (np.log(T) - mu_) / sigma_
        return norm.logcdf(Z)
Exemplo n.º 3
0
    def _log_1m_sf(self, params, T, *Xs):
        mu_params = params[self._LOOKUP_SLICE["mu_"]]
        mu_ = np.dot(Xs[0], mu_params)

        sigma_params = params[self._LOOKUP_SLICE["sigma_"]]

        log_sigma_ = np.dot(Xs[1], sigma_params)
        sigma_ = np.exp(log_sigma_)
        Z = (np.log(T) - mu_) / sigma_
        return norm.logcdf(Z, loc=0, scale=1)
Exemplo n.º 4
0
    def _log_1m_sf(self, params, T, *Xs):
        mu_params = params[self._LOOKUP_SLICE["mu_"]]
        mu_ = np.dot(Xs[0], mu_params)

        sigma_params = params[self._LOOKUP_SLICE["sigma_"]]

        log_sigma_ = np.dot(Xs[1], sigma_params)
        sigma_ = np.exp(log_sigma_)
        Z = (np.log(T) - mu_) / sigma_
        return norm.logcdf(Z, loc=0, scale=1)
Exemplo n.º 5
0
    def _log_1m_sf(self, params, times):
        mu_, ln_sigma_, lambda_ = params
        sigma_ = safe_exp(ln_sigma_)

        ilambda_2 = 1 / lambda_**2
        Z = (log(times) - mu_) / sigma_
        clipped_exp = np.clip(safe_exp(lambda_ * Z) * ilambda_2, 1e-15, 1e20)

        if lambda_ > 0:
            v = gammaincln(1 / lambda_**2, clipped_exp)
        elif lambda_ < 0:
            v = gammainccln(1 / lambda_**2, clipped_exp)
        else:
            v = norm.logcdf(Z)
        return v
Exemplo n.º 6
0
def logpx(x, mu=0.0, log_std=1.0, alpha=10.0):
    return norm.logpdf(x, mu, np.exp(log_std)) + \
           norm.logcdf(alpha * x, mu, np.exp(log_std)) + \
           np.log(2)
Exemplo n.º 7
0
 def _log_1m_sf(self, params, times):
     mu_, sigma_ = params
     Z = (np.log(times) - mu_) / sigma_
     return norm.logcdf(Z, loc=0, scale=1)
Exemplo n.º 8
0
    def probit_log_lik(fi, fj):

        return norm.logcdf(fi - fj)