def cumulative_distribution_function(self, x: Array) -> Union[float, np.ndarray]: self.check_fit() u, v = split_matrix(x) a = self.alpha c = np.power(u, -a) + np.power(v, -a) - 1 return np.power(c, -np.divide(1, a))
def cumulative_distribution_function(self, x: Array) -> Union[float, np.ndarray]: self.check_fit() u, v = split_matrix(x) a = self.alpha b = np.power(-np.log(u), a) + np.power(-np.log(v), a) c = -np.power(b, np.divide(1, a)) return np.exp(c)
def cumulative_distribution_function(self, x: Array) -> Union[float, np.ndarray]: self.check_fit() u, v = split_matrix(x) a = self.alpha up = np.multiply(np.exp(-a * u) - 1, np.exp(-a * v) - 1) down = np.exp(-a) - 1 return -np.divide(1, a) * np.log(1 + np.divide(up, down))
def probability_density_function(self, x: Array) -> Union[float, np.ndarray]: self.check_fit() u, v = split_matrix(x) a = self.alpha up = (a + 1) * np.power(u * v, a) c = np.power(u, a) + np.power(v, a) - np.power(u * v, a) down = np.power(c, 1 / a + 2) return np.divide(up, down)
def probability_density_function(self, x: Array) -> Union[float, np.ndarray]: self.check_fit() u, v = split_matrix(x) a = self.alpha up = a * (1 - np.exp(-a)) * np.exp(-a * (u + v)) c = np.exp(-a) - 1 + (np.exp(-a * u) - 1) * (np.exp(-a * v) - 1) down = np.power(c, 2) return np.divide(up, down)
def probability_density_function(self, x: Array) -> Union[float, np.ndarray]: self.check_fit() u, v = split_matrix(x) a = self.alpha w = np.power(-np.log(u), a) + np.power(-np.log(v), a) m = np.power(u * v, -1) n = np.power(np.log(u) * np.log(v), a - 1) o = np.power(w, 2 / a - 2) + (a - 1) * np.power(w, 1 / a - 2) return m * n * o * self.cumulative_distribution_function(x)
def cumulative_distribution_function(self, x: Array) -> Union[float, np.ndarray]: u, v = split_matrix(x) r = self.rho s = norm.ppf(u) t = norm.ppf(v)
def pdf(self, x: Array) -> Union[float, np.ndarray]: self.check_fit() u, v = split_matrix(x) return 1 + self.alpha * (2 * u - 1) * (2 * v - 1)
def cdf(self, x: Array) -> Union[float, np.ndarray]: self.check_fit() u, v = split_matrix(x) return u * v * (1 + self.alpha * (1 - u) * (1 - v))