@@ -163,35 +163,53 @@ def test_decomposition(self):
163
163
self .assertEqual (dcdf .index [0 ], (1999 , 1 ))
164
164
self .assertEqual (dcdf .index [- 1 ], (2010 , 4 ))
165
165
self .assertEqual (dcdf .shape , (48 , 4 ))
166
- self .assertEqual (list (dcdf .columns ), [u'data' , u'seasonal' , u'trend' , u'remainder' ])
167
- self .assertAlmostEqual (dcdf .data [(1999 , 1 )], 30.0525 , places = 3 )
168
- self .assertAlmostEqual (dcdf .data [(2010 , 4 )], 47.9137 , places = 3 )
169
- self .assertAlmostEqual (dcdf .seasonal [(1999 , 1 )], 5.5077 , places = 3 )
170
- self .assertAlmostEqual (dcdf .seasonal [(2010 , 4 )], 0.7848 , places = 3 )
171
- self .assertAlmostEqual (dcdf .trend [(1999 , 1 )], 24.3714 , places = 3 )
172
- self .assertAlmostEqual (dcdf .trend [(2010 , 4 )], 47.1525 , places = 3 )
173
- self .assertAlmostEqual (dcdf .remainder [(1999 , 1 )], 0.1732 , places = 3 )
174
- self .assertAlmostEqual (dcdf .remainder [(2010 , 4 )], - 0.0236 , places = 3 )
166
+ self .assertEqual (list (dcdf .columns ),
167
+ [u'data' , u'seasonal' , u'trend' , u'remainder' ])
168
+ self .assertAlmostEqual (dcdf .data [(1999 , 1 )],
169
+ self .aus_ts .rx (1 )[0 ], places = 3 )
170
+ self .assertAlmostEqual (dcdf .data [(2010 , 4 )],
171
+ self .aus_ts .rx (48 )[0 ], places = 3 )
172
+ self .assertAlmostEqual (dcdf .seasonal [(1999 , 1 )],
173
+ dc .rx2 ('time.series' ).rx (1 , 1 )[0 ], places = 3 )
174
+ self .assertAlmostEqual (dcdf .seasonal [(2010 , 4 )],
175
+ dc .rx2 ('time.series' ).rx (48 , 1 )[0 ], places = 3 )
176
+ self .assertAlmostEqual (dcdf .trend [(1999 , 1 )],
177
+ dc .rx2 ('time.series' ).rx (1 , 2 )[0 ], places = 3 )
178
+ self .assertAlmostEqual (dcdf .trend [(2010 , 4 )],
179
+ dc .rx2 ('time.series' ).rx (48 , 2 )[0 ], places = 3 )
180
+ self .assertAlmostEqual (dcdf .remainder [(1999 , 1 )],
181
+ dc .rx2 ('time.series' ).rx (1 , 3 )[0 ], places = 3 )
182
+ self .assertAlmostEqual (dcdf .remainder [(2010 , 4 )],
183
+ dc .rx2 ('time.series' ).rx (48 , 3 )[0 ], places = 3 )
175
184
176
185
dc = wrappers .decompose (self .aus_ts )
177
186
dcdf = converters .decomposition (dc )
178
187
self .assertEqual (type (dcdf .index ), pandas .core .index .MultiIndex )
179
188
self .assertEqual (dcdf .index [0 ], (1999 , 1 ))
180
189
self .assertEqual (dcdf .index [- 1 ], (2010 , 4 ))
181
190
self .assertEqual (dcdf .shape , (48 , 4 ))
182
- self .assertEqual (list (dcdf .columns ), [u'data' , u'seasonal' , u'trend' , u'remainder' ])
183
- self .assertAlmostEqual (dcdf .data [(1999 , 1 )], 30.0525 , places = 3 )
184
- self .assertAlmostEqual (dcdf .data [(2010 , 4 )], 47.9137 , places = 3 )
185
- self .assertAlmostEqual (dcdf .seasonal [(1999 , 1 )], 8.5906 , places = 3 )
186
- self .assertAlmostEqual (dcdf .seasonal [(2010 , 4 )], 1.5042 , places = 3 )
187
- self .assertAlmostEqual (dcdf .trend [(1999 , 3 )], 25.7805 , places = 3 )
188
- self .assertAlmostEqual (dcdf .trend [(2010 , 2 )], 46.514102 , places = 3 )
191
+ self .assertEqual (list (dcdf .columns ),
192
+ [u'data' , u'seasonal' , u'trend' , u'remainder' ])
193
+ self .assertAlmostEqual (dcdf .data [(1999 , 1 )],
194
+ self .aus_ts .rx (1 )[0 ], places = 3 )
195
+ self .assertAlmostEqual (dcdf .data [(2010 , 4 )],
196
+ self .aus_ts .rx (48 )[0 ], places = 3 )
197
+ self .assertAlmostEqual (dcdf .seasonal [(1999 , 1 )],
198
+ dc .rx2 ('seasonal' ).rx (1 )[0 ], places = 3 )
199
+ self .assertAlmostEqual (dcdf .seasonal [(2010 , 4 )],
200
+ dc .rx2 ('seasonal' ).rx (48 )[0 ], places = 3 )
201
+ self .assertAlmostEqual (dcdf .trend [(1999 , 3 )],
202
+ dc .rx2 ('trend' ).rx (3 )[0 ], places = 3 )
203
+ self .assertAlmostEqual (dcdf .trend [(2010 , 2 )],
204
+ dc .rx2 ('trend' ).rx (46 )[0 ], places = 3 )
189
205
self .assertTrue (dcdf .trend .isnull ()[(1999 , 1 )])
190
206
self .assertTrue (dcdf .trend .isnull ()[(1999 , 2 )])
191
207
self .assertTrue (dcdf .trend .isnull ()[(2010 , 3 )])
192
208
self .assertTrue (dcdf .trend .isnull ()[(2010 , 4 )])
193
- self .assertAlmostEqual (dcdf .remainder [(1999 , 3 )], 1.3091 , places = 3 )
194
- self .assertAlmostEqual (dcdf .remainder [(2010 , 2 )], - 2.9993 , places = 3 )
209
+ self .assertAlmostEqual (dcdf .remainder [(1999 , 3 )],
210
+ dc .rx2 ('random' ).rx (3 )[0 ], places = 3 )
211
+ self .assertAlmostEqual (dcdf .remainder [(2010 , 2 )],
212
+ dc .rx2 ('random' ).rx (46 )[0 ], places = 3 )
195
213
self .assertTrue (dcdf .remainder .isnull ()[(1999 , 1 )])
196
214
self .assertTrue (dcdf .remainder .isnull ()[(1999 , 2 )])
197
215
self .assertTrue (dcdf .remainder .isnull ()[(2010 , 3 )])
@@ -205,16 +223,20 @@ def test_prediction_intervals(self):
205
223
self .assertEqual (list (pred .index ), range (2011 , 2021 ))
206
224
self .assertEqual (list (pred .columns ), [u'point_fc' , u'lower80' ,
207
225
u'upper80' , u'lower95' , u'upper95' ])
208
- self .assertAlmostEqual (pred .point_fc [2011 ], 370.3502 , places = 3 )
209
- self .assertAlmostEqual (pred .point_fc [2020 ], 370.3502 , places = 3 )
210
- self .assertAlmostEqual (pred .lower80 [2011 ], 204.1084 , places = 3 )
211
- self .assertAlmostEqual (pred .lower80 [2020 ], 204.1084 , places = 3 )
212
- self .assertAlmostEqual (pred .upper80 [2011 ], 536.5920 , places = 3 )
213
- self .assertAlmostEqual (pred .upper80 [2020 ], 536.5920 , places = 3 )
214
- self .assertAlmostEqual (pred .lower95 [2011 ], 112.9187 , places = 3 )
215
- self .assertAlmostEqual (pred .lower95 [2020 ], 112.9187 , places = 3 )
216
- self .assertAlmostEqual (pred .upper95 [2011 ], 627.7818 , places = 3 )
217
- self .assertAlmostEqual (pred .upper95 [2020 ], 627.7818 , places = 3 )
226
+ self .assertAlmostEqual (pred .point_fc [2011 ],
227
+ self .fc_oil .rx2 ('mean' ).rx (1 )[0 ], places = 3 )
228
+ self .assertAlmostEqual (pred .point_fc [2020 ],
229
+ self .fc_oil .rx2 ('mean' ).rx (10 )[0 ], places = 3 )
230
+ lower = self .fc_oil .rx2 ('lower' )
231
+ upper = self .fc_oil .rx2 ('upper' )
232
+ self .assertAlmostEqual (pred .lower80 [2011 ], lower .rx (1 , 1 )[0 ], places = 3 )
233
+ self .assertAlmostEqual (pred .lower80 [2020 ], lower .rx (10 , 1 )[0 ], places = 3 )
234
+ self .assertAlmostEqual (pred .upper80 [2011 ], upper .rx (1 , 1 )[0 ], places = 3 )
235
+ self .assertAlmostEqual (pred .upper80 [2020 ], upper .rx (10 , 1 )[0 ], places = 3 )
236
+ self .assertAlmostEqual (pred .lower95 [2011 ], lower .rx (1 , 2 )[0 ], places = 3 )
237
+ self .assertAlmostEqual (pred .lower95 [2020 ], lower .rx (10 , 2 )[0 ], places = 3 )
238
+ self .assertAlmostEqual (pred .upper95 [2011 ], upper .rx (1 , 2 )[0 ], places = 3 )
239
+ self .assertAlmostEqual (pred .upper95 [2020 ], upper .rx (10 , 2 )[0 ], places = 3 )
218
240
self .assertRaises (ValueError , converters .prediction_intervals , self .oil_ts )
219
241
220
242
@@ -228,9 +250,14 @@ def test_accuracy(self):
228
250
acdf2 .shape == (7 , 2 )
229
251
set (acdf2 .columns ) == {'Train' , 'Test' }
230
252
self .assertTrue (acdf1 .Train .round (5 ).equals (acdf2 .Train .round (5 )))
231
- self .assertAlmostEqual (acdf2 .Test .ix ['ME' ], - 20.3502 , places = 3 )
232
- self .assertAlmostEqual (acdf2 .Test .ix ['MAE' ], 20.3502 , places = 3 )
233
- self .assertAlmostEqual (acdf2 .Test .ix ['RMSE' ], 20.3502 , places = 3 )
253
+ r_test_vals = list (acc2 .rx (2 , True ))
254
+ r_cols = list (robjects .r .colnames (acc2 ))
255
+ self .assertAlmostEqual (acdf2 .Test ['ME' ],
256
+ r_test_vals [r_cols .index ('ME' )], places = 3 )
257
+ self .assertAlmostEqual (acdf2 .Test ['MAE' ],
258
+ r_test_vals [r_cols .index ('MAE' )], places = 3 )
259
+ self .assertAlmostEqual (acdf2 .Test ['RMSE' ],
260
+ r_test_vals [r_cols .index ('RMSE' )], places = 3 )
234
261
235
262
236
263
0 commit comments