10
10
def test_rockad_univariate ():
11
11
"""Test ROCKAD univariate output."""
12
12
rng = check_random_state (seed = 2 )
13
- series = rng .normal (size = (100 ,))
14
- series [50 :58 ] -= 5
13
+ train_series = rng .normal (size = (100 ,))
14
+ test_series = rng .normal (size = (100 ,))
15
+ test_series [50 :58 ] -= 5
15
16
16
17
ad = ROCKAD (
17
18
n_estimators = 100 ,
@@ -22,7 +23,8 @@ def test_rockad_univariate():
22
23
stride = 1 ,
23
24
)
24
25
25
- pred = ad .fit_predict (series , axis = 0 )
26
+ ad .fit (train_series , axis = 0 )
27
+ pred = ad .predict (test_series , axis = 0 )
26
28
27
29
assert pred .shape == (100 ,)
28
30
assert pred .dtype == np .float64
@@ -32,9 +34,10 @@ def test_rockad_univariate():
32
34
def test_rockad_multivariate ():
33
35
"""Test ROCKAD multivariate output."""
34
36
rng = check_random_state (seed = 2 )
35
- series = rng .normal (size = (100 , 3 ))
36
- series [50 :58 , 0 ] -= 5
37
- series [87 :90 , 1 ] += 0.1
37
+ train_series = rng .normal (size = (100 , 3 ))
38
+ test_series = rng .normal (size = (100 , 3 ))
39
+ test_series [50 :58 , 0 ] -= 5
40
+ test_series [87 :90 , 1 ] += 0.1
38
41
39
42
ad = ROCKAD (
40
43
n_estimators = 1000 ,
@@ -45,7 +48,8 @@ def test_rockad_multivariate():
45
48
stride = 1 ,
46
49
)
47
50
48
- pred = ad .fit_predict (series , axis = 0 )
51
+ ad .fit (train_series , axis = 0 )
52
+ pred = ad .predict (test_series , axis = 0 )
49
53
50
54
assert pred .shape == (100 ,)
51
55
assert pred .dtype == np .float64
@@ -55,21 +59,28 @@ def test_rockad_multivariate():
55
59
def test_rockad_incorrect_input ():
56
60
"""Test ROCKAD incorrect input."""
57
61
rng = check_random_state (seed = 2 )
58
- series = rng .normal (size = (100 ,))
62
+ train_series = rng .normal (size = (100 ,))
63
+ test_series = rng .normal (size = (5 ,))
59
64
60
65
with pytest .raises (ValueError , match = "The window size must be at least 1" ):
61
66
ad = ROCKAD (window_size = 0 )
62
- ad .fit_predict ( series )
67
+ ad .fit ( train_series )
63
68
with pytest .raises (ValueError , match = "The stride must be at least 1" ):
64
69
ad = ROCKAD (stride = 0 )
65
- ad .fit_predict ( series )
70
+ ad .fit ( train_series )
66
71
with pytest .raises (
67
72
ValueError , match = r"Window count .* has to be larger than n_neighbors .*"
68
73
):
69
74
ad = ROCKAD (stride = 1 , window_size = 100 )
70
- ad .fit_predict ( series )
75
+ ad .fit ( train_series )
71
76
with pytest .warns (
72
77
UserWarning , match = r"Power Transform failed and thus has been disabled."
73
78
):
74
79
ad = ROCKAD (stride = 1 , window_size = 5 )
75
- ad .fit_predict (series )
80
+ ad .fit (train_series )
81
+ with pytest .raises (
82
+ ValueError , match = r"window shape cannot be larger than input array shape"
83
+ ):
84
+ ad = ROCKAD (stride = 1 , window_size = 10 )
85
+ ad .fit (train_series )
86
+ ad .predict (test_series )
0 commit comments