Skip to content

Commit 0fe68cc

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent a130bf8 commit 0fe68cc

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

machine_learning/arima.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717

1818

1919
class ARIMAModel:
20-
def __init__(self, ar_order: int = 1, diff_order: int = 0, ma_order: int = 0) -> None:
20+
def __init__(
21+
self, ar_order: int = 1, diff_order: int = 0, ma_order: int = 0
22+
) -> None:
2123
"""Initialize ARIMA model.
2224
Args:
2325
ar_order: Autoregressive order (p)
@@ -51,9 +53,11 @@ def fit(self, time_series: np.ndarray) -> "ARIMAModel":
5153
y = np.asarray(time_series)
5254
y_diff = self.difference(y, self.diff_order)
5355
# Build lagged feature matrix
54-
feature_matrix = np.column_stack([np.roll(y_diff, i) for i in range(1, self.ar_order + 1)])
55-
feature_matrix = feature_matrix[self.ar_order:]
56-
target = y_diff[self.ar_order:]
56+
feature_matrix = np.column_stack(
57+
[np.roll(y_diff, i) for i in range(1, self.ar_order + 1)]
58+
)
59+
feature_matrix = feature_matrix[self.ar_order :]
60+
target = y_diff[self.ar_order :]
5761
# Add intercept
5862
feature_matrix = np.hstack(
5963
[np.ones((feature_matrix.shape[0], 1)), feature_matrix]
@@ -79,10 +83,10 @@ def predict(self, time_series: np.ndarray, n_periods: int = 1) -> np.ndarray:
7983
array([10.99999999, 12.00000001])
8084
"""
8185
y = np.asarray(time_series)
82-
y_pred = list(y[-self.ar_order:])
86+
y_pred = list(y[-self.ar_order :])
8387
for _ in range(n_periods):
8488
# Build feature vector for prediction
85-
features = [1] + y_pred[-self.ar_order:][::-1]
89+
features = [1] + y_pred[-self.ar_order :][::-1]
8690
next_val = np.dot(features, self.coef_)
8791
y_pred.append(next_val)
88-
return np.array(y_pred[self.ar_order:])
92+
return np.array(y_pred[self.ar_order :])

0 commit comments

Comments
 (0)