> ## Not run:
> # Using data from Dec. 59 to estimate a model
> data(AirPassengers)
> attributes(AirPassengers)
$`tsp`
[1] 1949.000 1960.917 12.000
$class
[1] "ts"
> ap.short <- window(AirPassengers, end = c(1959, 12))
> m <- seas(ap.short)
> predict(m)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct
1949 122.7428 124.7995 124.7031 127.8244 127.4219 126.0641 125.0936 126.5901 128.7018 129.1279
1950 126.8931 133.9591 133.4131 133.5036 133.2231 138.9707 142.9243 144.9259 148.4690 145.5959
1951 159.8652 160.6817 167.3216 163.2127 182.2962 163.8660 168.4584 169.6184 172.5476 178.0648
1952 187.9971 190.1678 182.0586 183.2743 190.0194 198.9759 195.1574 201.6534 200.5197 209.4406
1953 214.8577 219.3298 226.3233 236.1808 231.9426 221.7658 220.8435 224.9566 226.6531 229.1924
1954 222.8283 215.5517 231.0617 230.1086 236.1600 238.5509 245.3708 242.4206 246.8006 247.1433
1955 263.2900 269.0895 266.0383 272.8891 275.0164 282.3492 289.1068 287.0772 296.7404 296.0618
1956 311.3712 311.5620 316.5654 319.9668 326.4097 329.9119 328.0211 330.9884 331.2101 336.1487
1957 349.0616 351.9451 355.9328 362.3763 364.8916 367.7710 369.3328 372.2951 379.2573 379.0562
1958 376.8737 373.3913 364.8144 365.7256 370.6537 382.9695 387.0827 394.5724 383.3278 392.5630
1959 395.7842 401.6768 412.0423 415.6771 423.5904 420.3457 431.3189 435.8215 440.3456 442.2425
Nov Dec
1949 131.5382 130.2987
1950 144.4407 153.0714
1951 183.7785 181.2872
1952 212.2701 216.4454
1953 224.6535 225.3688
1954 255.8652 257.2222
1955 299.1210 310.5214
1956 342.1778 340.8925
1957 381.0407 379.1889
1958 385.2539 385.7121
1959 454.2296 462.7914
> final(m) # equivalent
Jan Feb Mar Apr May Jun Jul Aug Sep Oct
1949 122.7428 124.7995 124.7031 127.8244 127.4219 126.0641 125.0936 126.5901 128.7018 129.1279
1950 126.8931 133.9591 133.4131 133.5036 133.2231 138.9707 142.9243 144.9259 148.4690 145.5959
1951 159.8652 160.6817 167.3216 163.2127 182.2962 163.8660 168.4584 169.6184 172.5476 178.0648
1952 187.9971 190.1678 182.0586 183.2743 190.0194 198.9759 195.1574 201.6534 200.5197 209.4406
1953 214.8577 219.3298 226.3233 236.1808 231.9426 221.7658 220.8435 224.9566 226.6531 229.1924
1954 222.8283 215.5517 231.0617 230.1086 236.1600 238.5509 245.3708 242.4206 246.8006 247.1433
1955 263.2900 269.0895 266.0383 272.8891 275.0164 282.3492 289.1068 287.0772 296.7404 296.0618
1956 311.3712 311.5620 316.5654 319.9668 326.4097 329.9119 328.0211 330.9884 331.2101 336.1487
1957 349.0616 351.9451 355.9328 362.3763 364.8916 367.7710 369.3328 372.2951 379.2573 379.0562
1958 376.8737 373.3913 364.8144 365.7256 370.6537 382.9695 387.0827 394.5724 383.3278 392.5630
1959 395.7842 401.6768 412.0423 415.6771 423.5904 420.3457 431.3189 435.8215 440.3456 442.2425
Nov Dec
1949 131.5382 130.2987
1950 144.4407 153.0714
1951 183.7785 181.2872
1952 212.2701 216.4454
1953 224.6535 225.3688
1954 255.8652 257.2222
1955 299.1210 310.5214
1956 342.1778 340.8925
1957 381.0407 379.1889
1958 385.2539 385.7121
1959 454.2296 462.7914
> final(update(m, x = AirPassengers))
Jan Feb Mar Apr May Jun Jul Aug Sep Oct
1949 122.7133 124.7657 125.0734 127.5286 127.3584 126.1729 125.1457 126.7024 128.8169 129.1127
1950 126.9652 133.9356 134.0148 132.9366 133.2807 139.1178 142.9399 145.0604 148.4848 145.6924
1951 160.0289 160.6949 165.2095 165.3571 182.2769 163.9040 168.6223 169.8626 172.4565 178.2798
1952 188.1778 190.2422 182.6815 182.7733 189.9504 199.0013 195.4762 201.6016 200.7790 209.6572
1953 214.9681 219.4743 227.0110 235.6320 231.6708 221.9571 221.1423 224.8974 226.8532 229.2295
1954 222.8428 215.8288 232.1046 229.5814 235.9381 238.6981 245.3815 242.5199 246.9733 246.9832
1955 263.2717 269.4386 267.8543 271.6152 274.9857 282.5125 288.8002 287.3755 296.9456 295.7621
1956 311.6350 312.2992 313.8468 323.5312 326.4293 329.7704 327.8913 331.2443 330.7961 336.1438
1957 349.8119 353.0661 359.7925 360.1808 364.7847 367.1797 369.2604 372.0201 378.9032 378.3931
1958 378.0331 375.5824 370.9383 362.8547 369.7736 382.4193 386.5488 393.5585 382.9308 390.9163
1959 397.5069 406.2698 416.8007 417.8449 420.8383 419.4645 429.9997 433.9810 439.0853 437.8677
1960 456.2693 452.9980 447.8696 471.4062 475.5142 475.0558 477.3729 479.9277 481.6406 489.6361
Nov Dec
1949 131.6409 130.4162
1950 144.5891 153.0516
1951 183.9488 181.2071
1952 212.0677 216.6910
1953 224.6545 225.5820
1954 256.0337 257.4320
1955 299.2314 310.4833
1956 342.1775 340.5172
1957 380.3348 378.8534
1958 383.5082 385.2432
1959 450.7845 461.3548
1960 489.7574 487.5447
> # Use Dec. 59 model specification to estimate data up to Dec. 60
> predict(m, AirPassengers)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct
1949 122.7133 124.7657 125.0734 127.5286 127.3584 126.1729 125.1457 126.7024 128.8169 129.1127
1950 126.9652 133.9356 134.0148 132.9366 133.2807 139.1178 142.9399 145.0604 148.4848 145.6924
1951 160.0289 160.6949 165.2095 165.3571 182.2769 163.9040 168.6223 169.8626 172.4565 178.2798
1952 188.1778 190.2422 182.6815 182.7733 189.9504 199.0013 195.4762 201.6016 200.7790 209.6572
1953 214.9681 219.4743 227.0110 235.6320 231.6708 221.9571 221.1423 224.8974 226.8532 229.2295
1954 222.8428 215.8288 232.1046 229.5814 235.9381 238.6981 245.3815 242.5199 246.9733 246.9832
1955 263.2717 269.4386 267.8543 271.6152 274.9857 282.5125 288.8002 287.3755 296.9456 295.7621
1956 311.6350 312.2992 313.8468 323.5312 326.4293 329.7704 327.8913 331.2443 330.7961 336.1438
1957 349.8119 353.0661 359.7925 360.1808 364.7847 367.1797 369.2604 372.0201 378.9032 378.3931
1958 378.0331 375.5824 370.9383 362.8547 369.7736 382.4193 386.5488 393.5585 382.9308 390.9163
1959 397.5069 406.2698 416.8007 417.8449 420.8383 419.4645 429.9997 433.9810 439.0853 437.8677
1960 456.2693 452.9980 447.8696 471.4062 475.5142 475.0558 477.3729 479.9277 481.6406 489.6361
Nov Dec
1949 131.6409 130.4162
1950 144.5891 153.0516
1951 183.9488 181.2071
1952 212.0677 216.6910
1953 224.6545 225.5820
1954 256.0337 257.4320
1955 299.2314 310.4833
1956 342.1775 340.5172
1957 380.3348 378.8534
1958 383.5082 385.2432
1959 450.7845 461.3548
1960 489.7574 487.5447
> AirPassengers %<>% matrix(nc = 12, byrow=TRUE)
> AirPassengers[nrow(AirPassengers),] <- c(242, 233, 267, 269, 270, 315, 364, 347, 312, 274, 237, 278)
> dimnames(AirPassengers) <- list(1949:1960, c('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
> AirPassengers
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1949 112 118 132 129 121 135 148 148 136 119 104 118
1950 115 126 141 135 125 149 170 170 158 133 114 140
1951 145 150 178 163 172 178 199 199 184 162 146 166
1952 171 180 193 181 183 218 230 242 209 191 172 194
1953 196 196 236 235 229 243 264 272 237 211 180 201
1954 204 188 235 227 234 264 302 293 259 229 203 229
1955 242 233 267 269 270 315 364 347 312 274 237 278
1956 284 277 317 313 318 374 413 405 355 306 271 306
1957 315 301 356 348 355 422 465 467 404 347 305 336
1958 340 318 362 348 363 435 491 505 404 359 310 337
1959 360 342 406 396 420 472 548 559 463 407 362 405
1960 242 233 267 269 270 315 364 347 312 274 237 278
> AirPassengers %<>% ts(start = 1949, end = 1960, frequency = 1) #frequency = 12,rownames became `Jan 1949`... but same error : Error: X-13 run failed
> AirPassengers
Time Series:
Start = 1949
End = 1960
Frequency = 1
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1949 112 118 132 129 121 135 148 148 136 119 104 118
1950 115 126 141 135 125 149 170 170 158 133 114 140
1951 145 150 178 163 172 178 199 199 184 162 146 166
1952 171 180 193 181 183 218 230 242 209 191 172 194
1953 196 196 236 235 229 243 264 272 237 211 180 201
1954 204 188 235 227 234 264 302 293 259 229 203 229
1955 242 233 267 269 270 315 364 347 312 274 237 278
1956 284 277 317 313 318 374 413 405 355 306 271 306
1957 315 301 356 348 355 422 465 467 404 347 305 336
1958 340 318 362 348 363 435 491 505 404 359 310 337
1959 360 342 406 396 420 472 548 559 463 407 362 405
1960 242 233 267 269 270 315 364 347 312 274 237 278
> predict(m, AirPassengers)
Error: X-13 run failed
Errors:
- Need monthly or quarterly data to perform aictest for trading day.
- Need monthly or quarterly data to perform aictest for Easter.
> final(m)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct
1949 122.7428 124.7995 124.7031 127.8244 127.4219 126.0641 125.0936 126.5901 128.7018 129.1279
1950 126.8931 133.9591 133.4131 133.5036 133.2231 138.9707 142.9243 144.9259 148.4690 145.5959
1951 159.8652 160.6817 167.3216 163.2127 182.2962 163.8660 168.4584 169.6184 172.5476 178.0648
1952 187.9971 190.1678 182.0586 183.2743 190.0194 198.9759 195.1574 201.6534 200.5197 209.4406
1953 214.8577 219.3298 226.3233 236.1808 231.9426 221.7658 220.8435 224.9566 226.6531 229.1924
1954 222.8283 215.5517 231.0617 230.1086 236.1600 238.5509 245.3708 242.4206 246.8006 247.1433
1955 263.2900 269.0895 266.0383 272.8891 275.0164 282.3492 289.1068 287.0772 296.7404 296.0618
1956 311.3712 311.5620 316.5654 319.9668 326.4097 329.9119 328.0211 330.9884 331.2101 336.1487
1957 349.0616 351.9451 355.9328 362.3763 364.8916 367.7710 369.3328 372.2951 379.2573 379.0562
1958 376.8737 373.3913 364.8144 365.7256 370.6537 382.9695 387.0827 394.5724 383.3278 392.5630
1959 395.7842 401.6768 412.0423 415.6771 423.5904 420.3457 431.3189 435.8215 440.3456 442.2425
Nov Dec
1949 131.5382 130.2987
1950 144.4407 153.0714
1951 183.7785 181.2872
1952 212.2701 216.4454
1953 224.6535 225.3688
1954 255.8652 257.2222
1955 299.1210 310.5214
1956 342.1778 340.8925
1957 381.0407 379.1889
1958 385.2539 385.7121
1959 454.2296 462.7914
> final(update(m, x = AirPassengers))
Error: X-13 run failed
Errors:
- Need monthly or quarterly data to perform aictest for trading day.
- Need monthly or quarterly data to perform aictest for Easter.
刚刚想参考 https://cran.r-project.org/web/packages/seasonal/seasonal.pdf,先测试下修改newdata后的predict(fit, x=newdata)是否一样预测值,结果出现错误信息,才能像forecast(h=1)函数一样。?
## 以下函数俩预测1960年的数据一样。
final(update(m, x = AirPassengers))
predict(m, AirPassengers)
错误信息: