Module likelihood.models.utils
Classes
class FeaturesArima-
Expand source code
class FeaturesArima: """Base class for ARIMA feature computations.""" def forward(self, y_sum: np.ndarray, theta: list, mode: bool, noise: float) -> np.ndarray: """Compute the forward pass of the model. Parameters ---------- y_sum : `np.ndarray` Summed data points. theta : `list` Model parameters. mode : `bool` Forward pass mode. noise : `float` Noise level. Returns ------- `np.ndarray` Computed values. """ if mode: y_vec = [] y_t = np.dot(theta, y_sum) n = y_sum.shape[0] for i in range(n): try: n_int = np.where(y_sum != y_sum[i])[0] y_i = (y_t - np.dot(theta[n_int], y_sum[n_int])) / theta[i] y_i += np.random.rand() * noise except: y_i = (y_t - np.dot(theta[0:i], y_sum[0:i])) / theta[i] y_vec.append(y_i) else: y_t = np.dot(theta, y_sum) + y_sum[0] n_int = np.where(y_sum != y_sum[0])[0] y_i = (y_t - np.dot(theta[n_int], y_sum[n_int])) / theta[0] y_i += np.random.rand() * noise return y_i return np.array(y_vec) def integrated(self, datapoints: np.ndarray) -> np.ndarray: """Compute integrated values. Parameters ---------- datapoints : `np.ndarray` Input data points. Returns ------- `np.ndarray` Integrated values. """ datapoints = self.datapoints y_sum = list(np.diff(datapoints, self.d)) y_sum.insert(0, datapoints[0]) return np.array(y_sum) def average(self, datapoints: np.ndarray) -> np.ndarray: """Compute average values. Parameters ---------- datapoints : `np.ndarray` Input data points. Returns ------- `np.ndarray` Average values. """ y_sum_average = cal_average(datapoints) y_sum_eps = datapoints - y_sum_average return y_sum_epsBase class for ARIMA feature computations.
Subclasses
Methods
def average(self, datapoints: numpy.ndarray) ‑> numpy.ndarray-
Expand source code
def average(self, datapoints: np.ndarray) -> np.ndarray: """Compute average values. Parameters ---------- datapoints : `np.ndarray` Input data points. Returns ------- `np.ndarray` Average values. """ y_sum_average = cal_average(datapoints) y_sum_eps = datapoints - y_sum_average return y_sum_epsCompute average values.
Parameters
datapoints:np.ndarray- Input data points.
Returns
np.ndarrayAverage values. def forward(self, y_sum: numpy.ndarray, theta: list, mode: bool, noise: float) ‑> numpy.ndarray-
Expand source code
def forward(self, y_sum: np.ndarray, theta: list, mode: bool, noise: float) -> np.ndarray: """Compute the forward pass of the model. Parameters ---------- y_sum : `np.ndarray` Summed data points. theta : `list` Model parameters. mode : `bool` Forward pass mode. noise : `float` Noise level. Returns ------- `np.ndarray` Computed values. """ if mode: y_vec = [] y_t = np.dot(theta, y_sum) n = y_sum.shape[0] for i in range(n): try: n_int = np.where(y_sum != y_sum[i])[0] y_i = (y_t - np.dot(theta[n_int], y_sum[n_int])) / theta[i] y_i += np.random.rand() * noise except: y_i = (y_t - np.dot(theta[0:i], y_sum[0:i])) / theta[i] y_vec.append(y_i) else: y_t = np.dot(theta, y_sum) + y_sum[0] n_int = np.where(y_sum != y_sum[0])[0] y_i = (y_t - np.dot(theta[n_int], y_sum[n_int])) / theta[0] y_i += np.random.rand() * noise return y_i return np.array(y_vec)Compute the forward pass of the model.
Parameters
y_sum:np.ndarray- Summed data points.
theta:list- Model parameters.
mode:bool- Forward pass mode.
noise:float- Noise level.
Returns
np.ndarrayComputed values. def integrated(self, datapoints: numpy.ndarray) ‑> numpy.ndarray-
Expand source code
def integrated(self, datapoints: np.ndarray) -> np.ndarray: """Compute integrated values. Parameters ---------- datapoints : `np.ndarray` Input data points. Returns ------- `np.ndarray` Integrated values. """ datapoints = self.datapoints y_sum = list(np.diff(datapoints, self.d)) y_sum.insert(0, datapoints[0]) return np.array(y_sum)Compute integrated values.
Parameters
datapoints:np.ndarray- Input data points.
Returns
np.ndarrayIntegrated values.