def _cumulative_hazard(self, params, T, Xs): mu_params = params["mu_"] mu_ = np.dot(Xs["mu_"], mu_params) sigma_params = params["sigma_"] sigma_ = np.exp(np.dot(Xs["sigma_"], sigma_params)) Z = (np.log(T) - mu_) / sigma_ return -norm.logsf(Z)
def _cumulative_hazard(self, params, T, Xs): sigma_2 = np.exp(np.dot(Xs["sigma_"], params["sigma_"])) sigma_ = np.sqrt(sigma_2) mu_ = np.dot(Xs["mu_"], params["mu_"]) Z = (np.log(T) - mu_) / sigma_ return -norm.logsf(Z)
def _cumulative_hazard( self, params: Union[DictBox, Dict[str, ndarray]], T: Union[float, ndarray], Xs: DataframeSlicer ) -> Union[ndarray, ArrayBox]: mu_params = params["mu_"] mu_ = np.dot(Xs["mu_"], mu_params) sigma_params = params["sigma_"] sigma_ = safe_exp(np.dot(Xs["sigma_"], sigma_params)) Z = (np.log(T) - mu_) / sigma_ return -norm.logsf(Z)
def _log_hazard(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.logpdf(Z) - log_sigma_ - np.log(T) - norm.logsf(Z)
def _log_hazard(self, params: DictBox, T: Union[float, ndarray], Xs: DataframeSlicer) -> ArrayBox: mu_params = params["mu_"] mu_ = np.dot(Xs["mu_"], mu_params) sigma_params = params["sigma_"] log_sigma_ = np.dot(Xs["sigma_"], sigma_params) sigma_ = safe_exp(log_sigma_) Z = (np.log(T) - mu_) / sigma_ return norm.logpdf(Z) - log_sigma_ - np.log(T) - norm.logsf(Z)
def _cumulative_hazard(self, params, times): mu_, ln_sigma_, lambda_ = params sigma_ = safe_exp(ln_sigma_) Z = (log(times) - mu_) / sigma_ ilambda_2 = 1 / lambda_**2 clipped_exp = np.clip(safe_exp(lambda_ * Z) * ilambda_2, 1e-300, 1e20) if lambda_ > 0: v = -gammainccln(ilambda_2, clipped_exp) elif lambda_ < 0: v = -gammaincln(ilambda_2, clipped_exp) else: v = -norm.logsf(Z) return v
def _log_hazard(self, params, times): mu_, ln_sigma_, lambda_ = params ilambda_2 = 1 / lambda_**2 Z = (log(times) - mu_) / safe_exp(ln_sigma_) clipped_exp = np.clip(safe_exp(lambda_ * Z) * ilambda_2, 1e-15, 1e20) if lambda_ > 0: v = (log(lambda_) - log(times) - ln_sigma_ - gammaln(ilambda_2) + -2 * log(lambda_) * ilambda_2 - clipped_exp + Z / lambda_ - gammainccln(ilambda_2, clipped_exp)) elif lambda_ < 0: v = (log(-lambda_) - log(times) - ln_sigma_ - gammaln(ilambda_2) - 2 * log(-lambda_) * ilambda_2 - clipped_exp + Z / lambda_ - gammaincln(ilambda_2, clipped_exp)) else: v = norm.logpdf(Z, loc=0, scale=1) - ln_sigma_ - log(times) - norm.logsf(Z) return v
def _log_hazard(self, params, times): mu_, sigma_ = params Z = (np.log(times) - mu_) / sigma_ return norm.logpdf( Z, loc=0, scale=1) - np.log(sigma_) - np.log(times) - norm.logsf(Z)
def _cumulative_hazard(self, params, times): mu_, sigma_ = params Z = (np.log(times) - mu_) / sigma_ return -norm.logsf(Z)