Skip to content

Commit bed3b9f

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

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

machine_learning/arima.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@
1212
array([10.99999999, 12.00000001])
1313
"""
1414

15-
1615
import numpy as np
1716

1817

1918
class ARIMAModel:
20-
def __init__(self, ar_order: int = 1, diff_order: int = 0, ma_order: int = 0) -> None:
19+
def __init__(
20+
self, ar_order: int = 1, diff_order: int = 0, ma_order: int = 0
21+
) -> None:
2122
"""Initialize ARIMA model.
2223
Args:
2324
ar_order: Autoregressive order (p)
@@ -51,9 +52,11 @@ def fit(self, time_series: np.ndarray) -> "ARIMAModel":
5152
y = np.asarray(time_series)
5253
y_diff = self.difference(y, self.diff_order)
5354
# 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:]
55+
feature_matrix = np.column_stack(
56+
[np.roll(y_diff, i) for i in range(1, self.ar_order + 1)]
57+
)
58+
feature_matrix = feature_matrix[self.ar_order :]
59+
target = y_diff[self.ar_order :]
5760
# Add intercept
5861
feature_matrix = np.hstack(
5962
[np.ones((feature_matrix.shape[0], 1)), feature_matrix]
@@ -79,10 +82,10 @@ def predict(self, time_series: np.ndarray, n_periods: int = 1) -> np.ndarray:
7982
array([10.99999999, 12.00000001])
8083
"""
8184
y = np.asarray(time_series)
82-
y_pred = list(y[-self.ar_order:])
85+
y_pred = list(y[-self.ar_order :])
8386
for _ in range(n_periods):
8487
# Build feature vector for prediction
85-
features = [1] + y_pred[-self.ar_order:][::-1]
88+
features = [1] + y_pred[-self.ar_order :][::-1]
8689
next_val = np.dot(features, self.coef_)
8790
y_pred.append(next_val)
88-
return np.array(y_pred[self.ar_order:])
91+
return np.array(y_pred[self.ar_order :])

0 commit comments

Comments
 (0)