Free Statistics

of Irreproducible Research!

Author's title

Author*The author of this computation has been verified*
R Software Modulerwasp_arimabackwardselection.wasp
Title produced by softwareARIMA Backward Selection
Date of computationMon, 22 Dec 2008 15:20:15 -0700
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2008/Dec/22/t1229984460g8novs4cjsku3je.htm/, Retrieved Mon, 13 May 2024 08:55:02 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=36241, Retrieved Mon, 13 May 2024 08:55:02 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact136
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-     [Standard Deviation-Mean Plot] [Paper: Standard D...] [2008-12-14 15:51:58] [9e54d1454d464f1bf9ee4a54d5d56945]
- RMPD  [ARIMA Backward Selection] [Foutmelding ARIMA...] [2008-12-14 16:26:39] [e5bda6b6848b0ab955ad3ac4ac2be548]
-   P     [ARIMA Backward Selection] [Paper: Arima Back...] [2008-12-14 16:40:23] [9e54d1454d464f1bf9ee4a54d5d56945]
-   P         [ARIMA Backward Selection] [] [2008-12-22 22:20:15] [27189814204044fdc56e2241a9375b9f] [Current]
Feedback Forum

Post a new message
Dataseries X:
17.3
15.4
16.9
20.8
16.4
11.3
17.5
16.6
17.5
19.5
18.8
20.2
19.2
14.4
24.5
25.7
27.1
21
18.6
20
21.8
20.4
18
21.5
19.1
19.7
26
26.3
24.6
22.4
32
24
30
24.1
26.3
29.8
21.9
22.8
29.2
27.5
27.4
31
26.1
22.2
34
26.9
31.9
34.2
31.2
28.5
37.1
36
34.8
32.1
37.2
36.3
39.5
37.1
35.6
36.2
35.9
32.5
39.2
39.4
42.8
34.5
43.7
46.3
40.8
48.4
43.2
48.1
42.8




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time3 seconds
R Server'Gwilym Jenkins' @ 72.249.127.135

\begin{tabular}{lllllllll}
\hline
Summary of computational transaction \tabularnewline
Raw Input & view raw input (R code)  \tabularnewline
Raw Output & view raw output of R engine  \tabularnewline
Computing time & 3 seconds \tabularnewline
R Server & 'Gwilym Jenkins' @ 72.249.127.135 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=36241&T=0

[TABLE]
[ROW][C]Summary of computational transaction[/C][/ROW]
[ROW][C]Raw Input[/C][C]view raw input (R code) [/C][/ROW]
[ROW][C]Raw Output[/C][C]view raw output of R engine [/C][/ROW]
[ROW][C]Computing time[/C][C]3 seconds[/C][/ROW]
[ROW][C]R Server[/C][C]'Gwilym Jenkins' @ 72.249.127.135[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=36241&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=36241&T=0

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time3 seconds
R Server'Gwilym Jenkins' @ 72.249.127.135







ARIMA Parameter Estimation and Backward Selection
Iterationar1ar2ar3ma1sma1
Estimates ( 1 )-0.39550.75120.64410.9013-0.9789
(p-val)(0.0012 )(0 )(0 )(0 )(0 )
Estimates ( 2 )00.52360.5370.3747-0.9999
(p-val)(NA )(0 )(0 )(0.0091 )(1e-04 )
Estimates ( 3 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 4 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 5 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 6 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 7 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 8 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 9 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )

\begin{tabular}{lllllllll}
\hline
ARIMA Parameter Estimation and Backward Selection \tabularnewline
Iteration & ar1 & ar2 & ar3 & ma1 & sma1 \tabularnewline
Estimates ( 1 ) & -0.3955 & 0.7512 & 0.6441 & 0.9013 & -0.9789 \tabularnewline
(p-val) & (0.0012 ) & (0 ) & (0 ) & (0 ) & (0 ) \tabularnewline
Estimates ( 2 ) & 0 & 0.5236 & 0.537 & 0.3747 & -0.9999 \tabularnewline
(p-val) & (NA ) & (0 ) & (0 ) & (0.0091 ) & (1e-04 ) \tabularnewline
Estimates ( 3 ) & NA & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
Estimates ( 4 ) & NA & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
Estimates ( 5 ) & NA & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
Estimates ( 6 ) & NA & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
Estimates ( 7 ) & NA & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
Estimates ( 8 ) & NA & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
Estimates ( 9 ) & NA & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=36241&T=1

[TABLE]
[ROW][C]ARIMA Parameter Estimation and Backward Selection[/C][/ROW]
[ROW][C]Iteration[/C][C]ar1[/C][C]ar2[/C][C]ar3[/C][C]ma1[/C][C]sma1[/C][/ROW]
[ROW][C]Estimates ( 1 )[/C][C]-0.3955[/C][C]0.7512[/C][C]0.6441[/C][C]0.9013[/C][C]-0.9789[/C][/ROW]
[ROW][C](p-val)[/C][C](0.0012 )[/C][C](0 )[/C][C](0 )[/C][C](0 )[/C][C](0 )[/C][/ROW]
[ROW][C]Estimates ( 2 )[/C][C]0[/C][C]0.5236[/C][C]0.537[/C][C]0.3747[/C][C]-0.9999[/C][/ROW]
[ROW][C](p-val)[/C][C](NA )[/C][C](0 )[/C][C](0 )[/C][C](0.0091 )[/C][C](1e-04 )[/C][/ROW]
[ROW][C]Estimates ( 3 )[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][/ROW]
[ROW][C](p-val)[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][/ROW]
[ROW][C]Estimates ( 4 )[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][/ROW]
[ROW][C](p-val)[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][/ROW]
[ROW][C]Estimates ( 5 )[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][/ROW]
[ROW][C](p-val)[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][/ROW]
[ROW][C]Estimates ( 6 )[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][/ROW]
[ROW][C](p-val)[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][/ROW]
[ROW][C]Estimates ( 7 )[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][/ROW]
[ROW][C](p-val)[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][/ROW]
[ROW][C]Estimates ( 8 )[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][/ROW]
[ROW][C](p-val)[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][/ROW]
[ROW][C]Estimates ( 9 )[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][C]NA[/C][/ROW]
[ROW][C](p-val)[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=36241&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=36241&T=1

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

ARIMA Parameter Estimation and Backward Selection
Iterationar1ar2ar3ma1sma1
Estimates ( 1 )-0.39550.75120.64410.9013-0.9789
(p-val)(0.0012 )(0 )(0 )(0 )(0 )
Estimates ( 2 )00.52360.5370.3747-0.9999
(p-val)(NA )(0 )(0 )(0.0091 )(1e-04 )
Estimates ( 3 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 4 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 5 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 6 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 7 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 8 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )
Estimates ( 9 )NANANANANA
(p-val)(NA )(NA )(NA )(NA )(NA )







Estimated ARIMA Residuals
Value
0.00449426931803149
0.0868007079227236
-0.179995812661140
0.533273235299134
0.151994769070685
0.499967781293965
0.190360591717072
-0.497963586543849
-0.325939330761006
0.136651261265965
-0.105725139408776
-0.360700288228164
0.128628056299895
-0.0108066835047175
0.40878173562427
0.13069467580514
-0.0506496421980348
-0.199619590146883
0.445492596711069
0.680424894017557
-0.211097615963259
0.0338451416811574
-0.380499126026487
0.227413101639085
0.0431780281195425
-0.200354264309863
-0.143139520200556
0.214410985306298
-0.324980670992663
0.01474785481886
0.761765819153176
-0.345369091069228
-0.472690997958402
0.436424875403612
0.149962801144101
0.212075530385510
0.130995485211969
0.208371826225697
-0.145057099529445
0.194225304852744
-0.243540917669519
0.0982236304861151
-0.0579995647660544
0.361981453776365
0.173278149055973
0.0247426312374525
-0.0657162142466524
-0.119212640314882
-0.245792915420061
0.168549464603583
0.0514498001546216
-0.090323339388916
-0.148975632123559
0.399723269304695
-0.196536734630864
0.371771050425011
0.457526732574684
-0.359157329142487
0.286238041727226
-0.0565735889815298
0.177722482782912
-0.280875174427762

\begin{tabular}{lllllllll}
\hline
Estimated ARIMA Residuals \tabularnewline
Value \tabularnewline
0.00449426931803149 \tabularnewline
0.0868007079227236 \tabularnewline
-0.179995812661140 \tabularnewline
0.533273235299134 \tabularnewline
0.151994769070685 \tabularnewline
0.499967781293965 \tabularnewline
0.190360591717072 \tabularnewline
-0.497963586543849 \tabularnewline
-0.325939330761006 \tabularnewline
0.136651261265965 \tabularnewline
-0.105725139408776 \tabularnewline
-0.360700288228164 \tabularnewline
0.128628056299895 \tabularnewline
-0.0108066835047175 \tabularnewline
0.40878173562427 \tabularnewline
0.13069467580514 \tabularnewline
-0.0506496421980348 \tabularnewline
-0.199619590146883 \tabularnewline
0.445492596711069 \tabularnewline
0.680424894017557 \tabularnewline
-0.211097615963259 \tabularnewline
0.0338451416811574 \tabularnewline
-0.380499126026487 \tabularnewline
0.227413101639085 \tabularnewline
0.0431780281195425 \tabularnewline
-0.200354264309863 \tabularnewline
-0.143139520200556 \tabularnewline
0.214410985306298 \tabularnewline
-0.324980670992663 \tabularnewline
0.01474785481886 \tabularnewline
0.761765819153176 \tabularnewline
-0.345369091069228 \tabularnewline
-0.472690997958402 \tabularnewline
0.436424875403612 \tabularnewline
0.149962801144101 \tabularnewline
0.212075530385510 \tabularnewline
0.130995485211969 \tabularnewline
0.208371826225697 \tabularnewline
-0.145057099529445 \tabularnewline
0.194225304852744 \tabularnewline
-0.243540917669519 \tabularnewline
0.0982236304861151 \tabularnewline
-0.0579995647660544 \tabularnewline
0.361981453776365 \tabularnewline
0.173278149055973 \tabularnewline
0.0247426312374525 \tabularnewline
-0.0657162142466524 \tabularnewline
-0.119212640314882 \tabularnewline
-0.245792915420061 \tabularnewline
0.168549464603583 \tabularnewline
0.0514498001546216 \tabularnewline
-0.090323339388916 \tabularnewline
-0.148975632123559 \tabularnewline
0.399723269304695 \tabularnewline
-0.196536734630864 \tabularnewline
0.371771050425011 \tabularnewline
0.457526732574684 \tabularnewline
-0.359157329142487 \tabularnewline
0.286238041727226 \tabularnewline
-0.0565735889815298 \tabularnewline
0.177722482782912 \tabularnewline
-0.280875174427762 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=36241&T=2

[TABLE]
[ROW][C]Estimated ARIMA Residuals[/C][/ROW]
[ROW][C]Value[/C][/ROW]
[ROW][C]0.00449426931803149[/C][/ROW]
[ROW][C]0.0868007079227236[/C][/ROW]
[ROW][C]-0.179995812661140[/C][/ROW]
[ROW][C]0.533273235299134[/C][/ROW]
[ROW][C]0.151994769070685[/C][/ROW]
[ROW][C]0.499967781293965[/C][/ROW]
[ROW][C]0.190360591717072[/C][/ROW]
[ROW][C]-0.497963586543849[/C][/ROW]
[ROW][C]-0.325939330761006[/C][/ROW]
[ROW][C]0.136651261265965[/C][/ROW]
[ROW][C]-0.105725139408776[/C][/ROW]
[ROW][C]-0.360700288228164[/C][/ROW]
[ROW][C]0.128628056299895[/C][/ROW]
[ROW][C]-0.0108066835047175[/C][/ROW]
[ROW][C]0.40878173562427[/C][/ROW]
[ROW][C]0.13069467580514[/C][/ROW]
[ROW][C]-0.0506496421980348[/C][/ROW]
[ROW][C]-0.199619590146883[/C][/ROW]
[ROW][C]0.445492596711069[/C][/ROW]
[ROW][C]0.680424894017557[/C][/ROW]
[ROW][C]-0.211097615963259[/C][/ROW]
[ROW][C]0.0338451416811574[/C][/ROW]
[ROW][C]-0.380499126026487[/C][/ROW]
[ROW][C]0.227413101639085[/C][/ROW]
[ROW][C]0.0431780281195425[/C][/ROW]
[ROW][C]-0.200354264309863[/C][/ROW]
[ROW][C]-0.143139520200556[/C][/ROW]
[ROW][C]0.214410985306298[/C][/ROW]
[ROW][C]-0.324980670992663[/C][/ROW]
[ROW][C]0.01474785481886[/C][/ROW]
[ROW][C]0.761765819153176[/C][/ROW]
[ROW][C]-0.345369091069228[/C][/ROW]
[ROW][C]-0.472690997958402[/C][/ROW]
[ROW][C]0.436424875403612[/C][/ROW]
[ROW][C]0.149962801144101[/C][/ROW]
[ROW][C]0.212075530385510[/C][/ROW]
[ROW][C]0.130995485211969[/C][/ROW]
[ROW][C]0.208371826225697[/C][/ROW]
[ROW][C]-0.145057099529445[/C][/ROW]
[ROW][C]0.194225304852744[/C][/ROW]
[ROW][C]-0.243540917669519[/C][/ROW]
[ROW][C]0.0982236304861151[/C][/ROW]
[ROW][C]-0.0579995647660544[/C][/ROW]
[ROW][C]0.361981453776365[/C][/ROW]
[ROW][C]0.173278149055973[/C][/ROW]
[ROW][C]0.0247426312374525[/C][/ROW]
[ROW][C]-0.0657162142466524[/C][/ROW]
[ROW][C]-0.119212640314882[/C][/ROW]
[ROW][C]-0.245792915420061[/C][/ROW]
[ROW][C]0.168549464603583[/C][/ROW]
[ROW][C]0.0514498001546216[/C][/ROW]
[ROW][C]-0.090323339388916[/C][/ROW]
[ROW][C]-0.148975632123559[/C][/ROW]
[ROW][C]0.399723269304695[/C][/ROW]
[ROW][C]-0.196536734630864[/C][/ROW]
[ROW][C]0.371771050425011[/C][/ROW]
[ROW][C]0.457526732574684[/C][/ROW]
[ROW][C]-0.359157329142487[/C][/ROW]
[ROW][C]0.286238041727226[/C][/ROW]
[ROW][C]-0.0565735889815298[/C][/ROW]
[ROW][C]0.177722482782912[/C][/ROW]
[ROW][C]-0.280875174427762[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=36241&T=2

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=36241&T=2

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Estimated ARIMA Residuals
Value
0.00449426931803149
0.0868007079227236
-0.179995812661140
0.533273235299134
0.151994769070685
0.499967781293965
0.190360591717072
-0.497963586543849
-0.325939330761006
0.136651261265965
-0.105725139408776
-0.360700288228164
0.128628056299895
-0.0108066835047175
0.40878173562427
0.13069467580514
-0.0506496421980348
-0.199619590146883
0.445492596711069
0.680424894017557
-0.211097615963259
0.0338451416811574
-0.380499126026487
0.227413101639085
0.0431780281195425
-0.200354264309863
-0.143139520200556
0.214410985306298
-0.324980670992663
0.01474785481886
0.761765819153176
-0.345369091069228
-0.472690997958402
0.436424875403612
0.149962801144101
0.212075530385510
0.130995485211969
0.208371826225697
-0.145057099529445
0.194225304852744
-0.243540917669519
0.0982236304861151
-0.0579995647660544
0.361981453776365
0.173278149055973
0.0247426312374525
-0.0657162142466524
-0.119212640314882
-0.245792915420061
0.168549464603583
0.0514498001546216
-0.090323339388916
-0.148975632123559
0.399723269304695
-0.196536734630864
0.371771050425011
0.457526732574684
-0.359157329142487
0.286238041727226
-0.0565735889815298
0.177722482782912
-0.280875174427762



Parameters (Session):
par1 = FALSE ; par2 = 0.5 ; par3 = 0 ; par4 = 1 ; par5 = 12 ; par6 = 3 ; par7 = 1 ; par8 = 0 ; par9 = 1 ;
Parameters (R input):
par1 = FALSE ; par2 = 0.5 ; par3 = 0 ; par4 = 1 ; par5 = 12 ; par6 = 3 ; par7 = 1 ; par8 = 0 ; par9 = 1 ; par10 = ; par11 = ; par12 = ; par13 = ; par14 = ; par15 = ; par16 = ; par17 = ; par18 = ; par19 = ; par20 = ;
R code (references can be found in the software module):
library(lattice)
if (par1 == 'TRUE') par1 <- TRUE
if (par1 == 'FALSE') par1 <- FALSE
par2 <- as.numeric(par2) #Box-Cox lambda transformation parameter
par3 <- as.numeric(par3) #degree of non-seasonal differencing
par4 <- as.numeric(par4) #degree of seasonal differencing
par5 <- as.numeric(par5) #seasonal period
par6 <- as.numeric(par6) #degree (p) of the non-seasonal AR(p) polynomial
par7 <- as.numeric(par7) #degree (q) of the non-seasonal MA(q) polynomial
par8 <- as.numeric(par8) #degree (P) of the seasonal AR(P) polynomial
par9 <- as.numeric(par9) #degree (Q) of the seasonal MA(Q) polynomial
armaGR <- function(arima.out, names, n){
try1 <- arima.out$coef
try2 <- sqrt(diag(arima.out$var.coef))
try.data.frame <- data.frame(matrix(NA,ncol=4,nrow=length(names)))
dimnames(try.data.frame) <- list(names,c('coef','std','tstat','pv'))
try.data.frame[,1] <- try1
for(i in 1:length(try2)) try.data.frame[which(rownames(try.data.frame)==names(try2)[i]),2] <- try2[i]
try.data.frame[,3] <- try.data.frame[,1] / try.data.frame[,2]
try.data.frame[,4] <- round((1-pt(abs(try.data.frame[,3]),df=n-(length(try2)+1)))*2,5)
vector <- rep(NA,length(names))
vector[is.na(try.data.frame[,4])] <- 0
maxi <- which.max(try.data.frame[,4])
continue <- max(try.data.frame[,4],na.rm=TRUE) > .05
vector[maxi] <- 0
list(summary=try.data.frame,next.vector=vector,continue=continue)
}
arimaSelect <- function(series, order=c(13,0,0), seasonal=list(order=c(2,0,0),period=12), include.mean=F){
nrc <- order[1]+order[3]+seasonal$order[1]+seasonal$order[3]
coeff <- matrix(NA, nrow=nrc*2, ncol=nrc)
pval <- matrix(NA, nrow=nrc*2, ncol=nrc)
mylist <- rep(list(NULL), nrc)
names <- NULL
if(order[1] > 0) names <- paste('ar',1:order[1],sep='')
if(order[3] > 0) names <- c( names , paste('ma',1:order[3],sep='') )
if(seasonal$order[1] > 0) names <- c(names, paste('sar',1:seasonal$order[1],sep=''))
if(seasonal$order[3] > 0) names <- c(names, paste('sma',1:seasonal$order[3],sep=''))
arima.out <- arima(series, order=order, seasonal=seasonal, include.mean=include.mean, method='ML')
mylist[[1]] <- arima.out
last.arma <- armaGR(arima.out, names, length(series))
mystop <- FALSE
i <- 1
coeff[i,] <- last.arma[[1]][,1]
pval [i,] <- last.arma[[1]][,4]
i <- 2
aic <- arima.out$aic
while(!mystop){
mylist[[i]] <- arima.out
arima.out <- arima(series, order=order, seasonal=seasonal, include.mean=include.mean, method='ML', fixed=last.arma$next.vector)
aic <- c(aic, arima.out$aic)
last.arma <- armaGR(arima.out, names, length(series))
mystop <- !last.arma$continue
coeff[i,] <- last.arma[[1]][,1]
pval [i,] <- last.arma[[1]][,4]
i <- i+1
}
list(coeff, pval, mylist, aic=aic)
}
arimaSelectplot <- function(arimaSelect.out,noms,choix){
noms <- names(arimaSelect.out[[3]][[1]]$coef)
coeff <- arimaSelect.out[[1]]
k <- min(which(is.na(coeff[,1])))-1
coeff <- coeff[1:k,]
pval <- arimaSelect.out[[2]][1:k,]
aic <- arimaSelect.out$aic[1:k]
coeff[coeff==0] <- NA
n <- ncol(coeff)
if(missing(choix)) choix <- k
layout(matrix(c(1,1,1,2,
3,3,3,2,
3,3,3,4,
5,6,7,7),nr=4),
widths=c(10,35,45,15),
heights=c(30,30,15,15))
couleurs <- rainbow(75)[1:50]#(50)
ticks <- pretty(coeff)
par(mar=c(1,1,3,1))
plot(aic,k:1-.5,type='o',pch=21,bg='blue',cex=2,axes=F,lty=2,xpd=NA)
points(aic[choix],k-choix+.5,pch=21,cex=4,bg=2,xpd=NA)
title('aic',line=2)
par(mar=c(3,0,0,0))
plot(0,axes=F,xlab='',ylab='',xlim=range(ticks),ylim=c(.1,1))
rect(xleft = min(ticks) + (0:49)/50*(max(ticks)-min(ticks)),
xright = min(ticks) + (1:50)/50*(max(ticks)-min(ticks)),
ytop = rep(1,50),
ybottom= rep(0,50),col=couleurs,border=NA)
axis(1,ticks)
rect(xleft=min(ticks),xright=max(ticks),ytop=1,ybottom=0)
text(mean(coeff,na.rm=T),.5,'coefficients',cex=2,font=2)
par(mar=c(1,1,3,1))
image(1:n,1:k,t(coeff[k:1,]),axes=F,col=couleurs,zlim=range(ticks))
for(i in 1:n) for(j in 1:k) if(!is.na(coeff[j,i])) {
if(pval[j,i]<.01) symb = 'green'
else if( (pval[j,i]<.05) & (pval[j,i]>=.01)) symb = 'orange'
else if( (pval[j,i]<.1) & (pval[j,i]>=.05)) symb = 'red'
else symb = 'black'
polygon(c(i+.5 ,i+.2 ,i+.5 ,i+.5),
c(k-j+0.5,k-j+0.5,k-j+0.8,k-j+0.5),
col=symb)
if(j==choix) {
rect(xleft=i-.5,
xright=i+.5,
ybottom=k-j+1.5,
ytop=k-j+.5,
lwd=4)
text(i,
k-j+1,
round(coeff[j,i],2),
cex=1.2,
font=2)
}
else{
rect(xleft=i-.5,xright=i+.5,ybottom=k-j+1.5,ytop=k-j+.5)
text(i,k-j+1,round(coeff[j,i],2),cex=1.2,font=1)
}
}
axis(3,1:n,noms)
par(mar=c(0.5,0,0,0.5))
plot(0,axes=F,xlab='',ylab='',type='n',xlim=c(0,8),ylim=c(-.2,.8))
cols <- c('green','orange','red','black')
niv <- c('0','0.01','0.05','0.1')
for(i in 0:3){
polygon(c(1+2*i ,1+2*i ,1+2*i-.5 ,1+2*i),
c(.4 ,.7 , .4 , .4),
col=cols[i+1])
text(2*i,0.5,niv[i+1],cex=1.5)
}
text(8,.5,1,cex=1.5)
text(4,0,'p-value',cex=2)
box()
residus <- arimaSelect.out[[3]][[choix]]$res
par(mar=c(1,2,4,1))
acf(residus,main='')
title('acf',line=.5)
par(mar=c(1,2,4,1))
pacf(residus,main='')
title('pacf',line=.5)
par(mar=c(2,2,4,1))
qqnorm(residus,main='')
title('qq-norm',line=.5)
qqline(residus)
residus
}
if (par2 == 0) x <- log(x)
if (par2 != 0) x <- x^par2
(selection <- arimaSelect(x, order=c(par6,par3,par7), seasonal=list(order=c(par8,par4,par9), period=par5)))
bitmap(file='test1.png')
resid <- arimaSelectplot(selection)
dev.off()
resid
bitmap(file='test2.png')
acf(resid,length(resid)/2, main='Residual Autocorrelation Function')
dev.off()
bitmap(file='test3.png')
pacf(resid,length(resid)/2, main='Residual Partial Autocorrelation Function')
dev.off()
bitmap(file='test4.png')
cpgram(resid, main='Residual Cumulative Periodogram')
dev.off()
bitmap(file='test5.png')
hist(resid, main='Residual Histogram', xlab='values of Residuals')
dev.off()
bitmap(file='test6.png')
densityplot(~resid,col='black',main='Residual Density Plot', xlab='values of Residuals')
dev.off()
bitmap(file='test7.png')
qqnorm(resid, main='Residual Normal Q-Q Plot')
qqline(resid)
dev.off()
ncols <- length(selection[[1]][1,])
nrows <- length(selection[[2]][,1])-1
load(file='createtable')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'ARIMA Parameter Estimation and Backward Selection', ncols+1,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Iteration', header=TRUE)
for (i in 1:ncols) {
a<-table.element(a,names(selection[[3]][[1]]$coef)[i],header=TRUE)
}
a<-table.row.end(a)
for (j in 1:nrows) {
a<-table.row.start(a)
mydum <- 'Estimates ('
mydum <- paste(mydum,j)
mydum <- paste(mydum,')')
a<-table.element(a,mydum, header=TRUE)
for (i in 1:ncols) {
a<-table.element(a,round(selection[[1]][j,i],4))
}
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'(p-val)', header=TRUE)
for (i in 1:ncols) {
mydum <- '('
mydum <- paste(mydum,round(selection[[2]][j,i],4),sep='')
mydum <- paste(mydum,')')
a<-table.element(a,mydum)
}
a<-table.row.end(a)
}
a<-table.end(a)
table.save(a,file='mytable.tab')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Estimated ARIMA Residuals', 1,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Value', 1,TRUE)
a<-table.row.end(a)
for (i in (par4*par5+par3):length(resid)) {
a<-table.row.start(a)
a<-table.element(a,resid[i])
a<-table.row.end(a)
}
a<-table.end(a)
table.save(a,file='mytable1.tab')