|
1 | 1 | """ |
2 | | -This file contains Narx model class. |
| 2 | +The module related to nonlinear autoregressive exogenous (NARX) model for system |
| 3 | +identification. |
3 | 4 | """ |
4 | 5 |
|
5 | 6 | import math |
@@ -47,7 +48,7 @@ def make_time_shift_features(X, ids): |
47 | 48 |
|
48 | 49 | Examples |
49 | 50 | -------- |
50 | | - >>> from fastcan import make_time_shift_features |
| 51 | + >>> from fastcan.narx import make_time_shift_features |
51 | 52 | >>> X = [[1, 2], [3, 4], [5, 6], [7, 8]] |
52 | 53 | >>> ids = [[0, 0], [0, 1], [1, 1]] |
53 | 54 | >>> make_time_shift_features(X, ids) |
@@ -108,7 +109,7 @@ def make_time_shift_ids( |
108 | 109 |
|
109 | 110 | Examples |
110 | 111 | -------- |
111 | | - >>> from fastcan import make_time_shift_ids |
| 112 | + >>> from fastcan.narx import make_time_shift_ids |
112 | 113 | >>> make_time_shift_ids(2, max_delay=3, include_zero_delay=[True, False]) |
113 | 114 | array([[0, 0], |
114 | 115 | [0, 1], |
@@ -172,7 +173,7 @@ def make_poly_features(X, ids): |
172 | 173 |
|
173 | 174 | Examples |
174 | 175 | -------- |
175 | | - >>> from fastcan import make_poly_features |
| 176 | + >>> from fastcan.narx import make_poly_features |
176 | 177 | >>> X = [[1, 2], [3, 4], [5, 6], [7, 8]] |
177 | 178 | >>> ids = [[0, 0], [0, 1], [1, 1], [0, 2]] |
178 | 179 | >>> make_poly_features(X, ids) |
@@ -233,7 +234,7 @@ def make_poly_ids( |
233 | 234 |
|
234 | 235 | Examples |
235 | 236 | -------- |
236 | | - >>> from fastcan import make_poly_ids |
| 237 | + >>> from fastcan.narx import make_poly_ids |
237 | 238 | >>> make_poly_ids(2, degree=3) |
238 | 239 | array([[0, 0, 1], |
239 | 240 | [0, 0, 2], |
@@ -274,7 +275,7 @@ def _mask_missing_value(*arr): |
274 | 275 |
|
275 | 276 |
|
276 | 277 | class Narx(RegressorMixin, BaseEstimator): |
277 | | - """Nonlinear Autoregressive eXogenous model. |
| 278 | + """The Nonlinear Autoregressive eXogenous (NARX) model class. |
278 | 279 | For example, a (polynomial) Narx model is like |
279 | 280 | y(t) = y(t-1)*u(t-1) + u(t-1)^2 + u(t-2) + 1.5 |
280 | 281 | where y(t) is the system output at time t, |
@@ -332,7 +333,7 @@ class Narx(RegressorMixin, BaseEstimator): |
332 | 333 | Examples |
333 | 334 | -------- |
334 | 335 | >>> import numpy as np |
335 | | - >>> from fastcan import Narx, print_narx |
| 336 | + >>> from fastcan.narx import Narx, print_narx |
336 | 337 | >>> rng = np.random.default_rng(12345) |
337 | 338 | >>> n_samples = 1000 |
338 | 339 | >>> max_delay = 3 |
@@ -675,7 +676,7 @@ def print_narx( |
675 | 676 | Examples |
676 | 677 | -------- |
677 | 678 | >>> from sklearn.datasets import load_diabetes |
678 | | - >>> from fastcan import print_narx, Narx |
| 679 | + >>> from fastcan.narx import print_narx, Narx |
679 | 680 | >>> X, y = load_diabetes(return_X_y=True) |
680 | 681 | >>> print_narx(Narx().fit(X, y), term_space=10, coef_space=5, float_precision=0) |
681 | 682 | | Term |Coef | |
@@ -816,7 +817,7 @@ def make_narx( |
816 | 817 | -------- |
817 | 818 | >>> import numpy as np |
818 | 819 | >>> from sklearn.metrics import mean_squared_error |
819 | | - >>> from fastcan import make_narx, print_narx |
| 820 | + >>> from fastcan.narx import make_narx, print_narx |
820 | 821 | >>> rng = np.random.default_rng(12345) |
821 | 822 | >>> n_samples = 1000 |
822 | 823 | >>> max_delay = 3 |
|
0 commit comments