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, 08 Dec 2008 12:21:54 -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/08/t1228764195u5mcdundkccw0me.htm/, Retrieved Thu, 16 May 2024 08:50:40 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=30785, Retrieved Thu, 16 May 2024 08:50:40 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact229
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
F     [Univariate Data Series] [Airline data] [2007-10-18 09:58:47] [42daae401fd3def69a25014f2252b4c2]
- RMPD  [Standard Deviation-Mean Plot] [Q5] [2008-11-29 20:10:39] [57fa5e3679c393aa19449b2f1be9928b]
-   P     [Standard Deviation-Mean Plot] [Q5] [2008-11-29 20:18:39] [57fa5e3679c393aa19449b2f1be9928b]
- RM        [Variance Reduction Matrix] [Q6 Variance] [2008-11-29 20:25:29] [57fa5e3679c393aa19449b2f1be9928b]
- RM          [(Partial) Autocorrelation Function] [Q6 ACF] [2008-11-29 20:35:57] [57fa5e3679c393aa19449b2f1be9928b]
-               [(Partial) Autocorrelation Function] [Q6 aangepaste ACF] [2008-11-29 20:44:03] [57fa5e3679c393aa19449b2f1be9928b]
- RM D            [Cross Correlation Function] [Q7] [2008-11-29 20:55:14] [57fa5e3679c393aa19449b2f1be9928b]
F RM D              [Standard Deviation-Mean Plot] [Q8 Mean plot insc...] [2008-11-29 21:03:17] [57fa5e3679c393aa19449b2f1be9928b]
F RM                  [Variance Reduction Matrix] [Q8 VRM Inschrijvi...] [2008-11-29 21:06:11] [57fa5e3679c393aa19449b2f1be9928b]
- RM                    [(Partial) Autocorrelation Function] [Q2 inschrijvingen...] [2008-12-07 14:47:46] [57fa5e3679c393aa19449b2f1be9928b]
-                         [(Partial) Autocorrelation Function] [Q3] [2008-12-07 14:59:20] [57fa5e3679c393aa19449b2f1be9928b]
- RM                        [ARIMA Backward Selection] [Q5 inschrijvingen] [2008-12-07 15:06:11] [57fa5e3679c393aa19449b2f1be9928b]
F   P                           [ARIMA Backward Selection] [Q5 inschrijvingen] [2008-12-08 19:21:54] [270782e2502ae87124d0ebdcd1862d6a] [Current]
-   P                             [ARIMA Backward Selection] [] [2008-12-11 16:10:37] [d134696a922d84037f02d49ded84b0bd]
Feedback Forum
2008-12-11 16:14:20 [Stijn Van de Velde] [reply
Fout.
Het is de bedoeling om AR, SAR, MA en SMA op het maximum te zetten, zodat we kunnen nagaan of onze bevindingen van stap 4 wel kloppen.

http://www.freestatistics.org/blog/index.php?v=date/2008/Dec/11/t1229011869g8y0z8q3hhme770.htm

We zien dat de in principe alle modellen verworpen worden. Je had dus gelijk in stap 4.
We kunnen er echter over twijfelen om het een AR2 en SMA1 model te noemen. De p-waarde van deze modellen ligt namelijk tussen 1 en 5%, welke dus minder is dan de alpha fout (die meestal 5% bedraagd). Maar dit is voor discussie vatbaar.
2008-12-14 20:26:04 [df2ed12c9b09685cd516719b004050c5] [reply
zie uitleg werkloosheiddata

Post a new message
Dataseries X:
22780
17351
21382
24561
17409
11514
31514
27071
29462
26105
22397
23843
21705
18089
20764
25316
17704
15548
28029
29383
36438
32034
22679
24319
18004
17537
20366
22782
19169
13807
29743
25591
29096
26482
22405
27044
17970
18730
19684
19785
18479
10698
31956
29506
34506
27165
26736
23691
18157
17328
18205
20995
17382
9367
31124
26551
30651
25859
25100
25778
20418
18688
20424
24776
19814
12738
31566
30111
30019
31934
25826
26835




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time12 seconds
R Server'Herman Ole Andreas Wold' @ 193.190.124.10:1001

\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 & 12 seconds \tabularnewline
R Server & 'Herman Ole Andreas Wold' @ 193.190.124.10:1001 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=30785&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]12 seconds[/C][/ROW]
[ROW][C]R Server[/C][C]'Herman Ole Andreas Wold' @ 193.190.124.10:1001[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=30785&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=30785&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 time12 seconds
R Server'Herman Ole Andreas Wold' @ 193.190.124.10:1001







ARIMA Parameter Estimation and Backward Selection
Iterationar1ma1sar1sma1
Estimates ( 1 )0.7194-0.52380.1747-1
(p-val)(0.0023 )(0.0523 )(0.2883 )(0.001 )
Estimates ( 2 )0.7464-0.5810-1.2169
(p-val)(0.0017 )(0.0274 )(NA )(0.0243 )
Estimates ( 3 )NANANANA
(p-val)(NA )(NA )(NA )(NA )
Estimates ( 4 )NANANANA
(p-val)(NA )(NA )(NA )(NA )
Estimates ( 5 )NANANANA
(p-val)(NA )(NA )(NA )(NA )
Estimates ( 6 )NANANANA
(p-val)(NA )(NA )(NA )(NA )
Estimates ( 7 )NANANANA
(p-val)(NA )(NA )(NA )(NA )

\begin{tabular}{lllllllll}
\hline
ARIMA Parameter Estimation and Backward Selection \tabularnewline
Iteration & ar1 & ma1 & sar1 & sma1 \tabularnewline
Estimates ( 1 ) & 0.7194 & -0.5238 & 0.1747 & -1 \tabularnewline
(p-val) & (0.0023 ) & (0.0523 ) & (0.2883 ) & (0.001 ) \tabularnewline
Estimates ( 2 ) & 0.7464 & -0.581 & 0 & -1.2169 \tabularnewline
(p-val) & (0.0017 ) & (0.0274 ) & (NA ) & (0.0243 ) \tabularnewline
Estimates ( 3 ) & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
Estimates ( 4 ) & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
Estimates ( 5 ) & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
Estimates ( 6 ) & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
Estimates ( 7 ) & NA & NA & NA & NA \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=30785&T=1

[TABLE]
[ROW][C]ARIMA Parameter Estimation and Backward Selection[/C][/ROW]
[ROW][C]Iteration[/C][C]ar1[/C][C]ma1[/C][C]sar1[/C][C]sma1[/C][/ROW]
[ROW][C]Estimates ( 1 )[/C][C]0.7194[/C][C]-0.5238[/C][C]0.1747[/C][C]-1[/C][/ROW]
[ROW][C](p-val)[/C][C](0.0023 )[/C][C](0.0523 )[/C][C](0.2883 )[/C][C](0.001 )[/C][/ROW]
[ROW][C]Estimates ( 2 )[/C][C]0.7464[/C][C]-0.581[/C][C]0[/C][C]-1.2169[/C][/ROW]
[ROW][C](p-val)[/C][C](0.0017 )[/C][C](0.0274 )[/C][C](NA )[/C][C](0.0243 )[/C][/ROW]
[ROW][C]Estimates ( 3 )[/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][/ROW]
[ROW][C]Estimates ( 4 )[/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][/ROW]
[ROW][C]Estimates ( 5 )[/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][/ROW]
[ROW][C]Estimates ( 6 )[/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][/ROW]
[ROW][C]Estimates ( 7 )[/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][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=30785&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=30785&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
Iterationar1ma1sar1sma1
Estimates ( 1 )0.7194-0.52380.1747-1
(p-val)(0.0023 )(0.0523 )(0.2883 )(0.001 )
Estimates ( 2 )0.7464-0.5810-1.2169
(p-val)(0.0017 )(0.0274 )(NA )(0.0243 )
Estimates ( 3 )NANANANA
(p-val)(NA )(NA )(NA )(NA )
Estimates ( 4 )NANANANA
(p-val)(NA )(NA )(NA )(NA )
Estimates ( 5 )NANANANA
(p-val)(NA )(NA )(NA )(NA )
Estimates ( 6 )NANANANA
(p-val)(NA )(NA )(NA )(NA )
Estimates ( 7 )NANANANA
(p-val)(NA )(NA )(NA )(NA )







Estimated ARIMA Residuals
Value
0.0563564424430245
-0.783820409977628
0.818787227129614
-0.516784259958787
0.607519755359095
0.190009988523005
4.03489373548588
-3.06499947073276
1.49576156265039
3.86309216002059
2.84677241366012
-1.04411883434967
-0.359118274760269
-4.02892027042027
0.297197121799522
-0.243674234836553
-1.49067678209133
1.95989254099287
-0.0303046356899331
0.177727070234002
-2.16177193907807
-2.60089085655105
-1.4559293740424
0.632223557876254
2.59878294042536
-2.28797617889283
1.43382431131285
-1.02229715521635
-3.44184162348377
0.971861226544021
-3.14813867906487
2.38372103204257
2.09570728677785
2.16636067655532
-1.05740508942266
3.16172987368864
-2.32486582687228
-1.61828901283311
-0.522783895043787
-1.85037292640478
-0.703143275228537
-0.318945857594845
-3.57841546601133
1.32032076274658
-0.830062383165623
-0.96823900053091
-0.944002906684148
1.30323726653082
1.14575386876810
0.840887818972337
0.776763517648367
0.357648163146274
1.81698127574663
1.36564938847468
0.980313661105642
-0.000215999935086300
1.62562478716134
-1.87863844502181
3.54771040243397
0.676224603334014
0.696109113773888

\begin{tabular}{lllllllll}
\hline
Estimated ARIMA Residuals \tabularnewline
Value \tabularnewline
0.0563564424430245 \tabularnewline
-0.783820409977628 \tabularnewline
0.818787227129614 \tabularnewline
-0.516784259958787 \tabularnewline
0.607519755359095 \tabularnewline
0.190009988523005 \tabularnewline
4.03489373548588 \tabularnewline
-3.06499947073276 \tabularnewline
1.49576156265039 \tabularnewline
3.86309216002059 \tabularnewline
2.84677241366012 \tabularnewline
-1.04411883434967 \tabularnewline
-0.359118274760269 \tabularnewline
-4.02892027042027 \tabularnewline
0.297197121799522 \tabularnewline
-0.243674234836553 \tabularnewline
-1.49067678209133 \tabularnewline
1.95989254099287 \tabularnewline
-0.0303046356899331 \tabularnewline
0.177727070234002 \tabularnewline
-2.16177193907807 \tabularnewline
-2.60089085655105 \tabularnewline
-1.4559293740424 \tabularnewline
0.632223557876254 \tabularnewline
2.59878294042536 \tabularnewline
-2.28797617889283 \tabularnewline
1.43382431131285 \tabularnewline
-1.02229715521635 \tabularnewline
-3.44184162348377 \tabularnewline
0.971861226544021 \tabularnewline
-3.14813867906487 \tabularnewline
2.38372103204257 \tabularnewline
2.09570728677785 \tabularnewline
2.16636067655532 \tabularnewline
-1.05740508942266 \tabularnewline
3.16172987368864 \tabularnewline
-2.32486582687228 \tabularnewline
-1.61828901283311 \tabularnewline
-0.522783895043787 \tabularnewline
-1.85037292640478 \tabularnewline
-0.703143275228537 \tabularnewline
-0.318945857594845 \tabularnewline
-3.57841546601133 \tabularnewline
1.32032076274658 \tabularnewline
-0.830062383165623 \tabularnewline
-0.96823900053091 \tabularnewline
-0.944002906684148 \tabularnewline
1.30323726653082 \tabularnewline
1.14575386876810 \tabularnewline
0.840887818972337 \tabularnewline
0.776763517648367 \tabularnewline
0.357648163146274 \tabularnewline
1.81698127574663 \tabularnewline
1.36564938847468 \tabularnewline
0.980313661105642 \tabularnewline
-0.000215999935086300 \tabularnewline
1.62562478716134 \tabularnewline
-1.87863844502181 \tabularnewline
3.54771040243397 \tabularnewline
0.676224603334014 \tabularnewline
0.696109113773888 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=30785&T=2

[TABLE]
[ROW][C]Estimated ARIMA Residuals[/C][/ROW]
[ROW][C]Value[/C][/ROW]
[ROW][C]0.0563564424430245[/C][/ROW]
[ROW][C]-0.783820409977628[/C][/ROW]
[ROW][C]0.818787227129614[/C][/ROW]
[ROW][C]-0.516784259958787[/C][/ROW]
[ROW][C]0.607519755359095[/C][/ROW]
[ROW][C]0.190009988523005[/C][/ROW]
[ROW][C]4.03489373548588[/C][/ROW]
[ROW][C]-3.06499947073276[/C][/ROW]
[ROW][C]1.49576156265039[/C][/ROW]
[ROW][C]3.86309216002059[/C][/ROW]
[ROW][C]2.84677241366012[/C][/ROW]
[ROW][C]-1.04411883434967[/C][/ROW]
[ROW][C]-0.359118274760269[/C][/ROW]
[ROW][C]-4.02892027042027[/C][/ROW]
[ROW][C]0.297197121799522[/C][/ROW]
[ROW][C]-0.243674234836553[/C][/ROW]
[ROW][C]-1.49067678209133[/C][/ROW]
[ROW][C]1.95989254099287[/C][/ROW]
[ROW][C]-0.0303046356899331[/C][/ROW]
[ROW][C]0.177727070234002[/C][/ROW]
[ROW][C]-2.16177193907807[/C][/ROW]
[ROW][C]-2.60089085655105[/C][/ROW]
[ROW][C]-1.4559293740424[/C][/ROW]
[ROW][C]0.632223557876254[/C][/ROW]
[ROW][C]2.59878294042536[/C][/ROW]
[ROW][C]-2.28797617889283[/C][/ROW]
[ROW][C]1.43382431131285[/C][/ROW]
[ROW][C]-1.02229715521635[/C][/ROW]
[ROW][C]-3.44184162348377[/C][/ROW]
[ROW][C]0.971861226544021[/C][/ROW]
[ROW][C]-3.14813867906487[/C][/ROW]
[ROW][C]2.38372103204257[/C][/ROW]
[ROW][C]2.09570728677785[/C][/ROW]
[ROW][C]2.16636067655532[/C][/ROW]
[ROW][C]-1.05740508942266[/C][/ROW]
[ROW][C]3.16172987368864[/C][/ROW]
[ROW][C]-2.32486582687228[/C][/ROW]
[ROW][C]-1.61828901283311[/C][/ROW]
[ROW][C]-0.522783895043787[/C][/ROW]
[ROW][C]-1.85037292640478[/C][/ROW]
[ROW][C]-0.703143275228537[/C][/ROW]
[ROW][C]-0.318945857594845[/C][/ROW]
[ROW][C]-3.57841546601133[/C][/ROW]
[ROW][C]1.32032076274658[/C][/ROW]
[ROW][C]-0.830062383165623[/C][/ROW]
[ROW][C]-0.96823900053091[/C][/ROW]
[ROW][C]-0.944002906684148[/C][/ROW]
[ROW][C]1.30323726653082[/C][/ROW]
[ROW][C]1.14575386876810[/C][/ROW]
[ROW][C]0.840887818972337[/C][/ROW]
[ROW][C]0.776763517648367[/C][/ROW]
[ROW][C]0.357648163146274[/C][/ROW]
[ROW][C]1.81698127574663[/C][/ROW]
[ROW][C]1.36564938847468[/C][/ROW]
[ROW][C]0.980313661105642[/C][/ROW]
[ROW][C]-0.000215999935086300[/C][/ROW]
[ROW][C]1.62562478716134[/C][/ROW]
[ROW][C]-1.87863844502181[/C][/ROW]
[ROW][C]3.54771040243397[/C][/ROW]
[ROW][C]0.676224603334014[/C][/ROW]
[ROW][C]0.696109113773888[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=30785&T=2

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=30785&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.0563564424430245
-0.783820409977628
0.818787227129614
-0.516784259958787
0.607519755359095
0.190009988523005
4.03489373548588
-3.06499947073276
1.49576156265039
3.86309216002059
2.84677241366012
-1.04411883434967
-0.359118274760269
-4.02892027042027
0.297197121799522
-0.243674234836553
-1.49067678209133
1.95989254099287
-0.0303046356899331
0.177727070234002
-2.16177193907807
-2.60089085655105
-1.4559293740424
0.632223557876254
2.59878294042536
-2.28797617889283
1.43382431131285
-1.02229715521635
-3.44184162348377
0.971861226544021
-3.14813867906487
2.38372103204257
2.09570728677785
2.16636067655532
-1.05740508942266
3.16172987368864
-2.32486582687228
-1.61828901283311
-0.522783895043787
-1.85037292640478
-0.703143275228537
-0.318945857594845
-3.57841546601133
1.32032076274658
-0.830062383165623
-0.96823900053091
-0.944002906684148
1.30323726653082
1.14575386876810
0.840887818972337
0.776763517648367
0.357648163146274
1.81698127574663
1.36564938847468
0.980313661105642
-0.000215999935086300
1.62562478716134
-1.87863844502181
3.54771040243397
0.676224603334014
0.696109113773888



Parameters (Session):
par1 = FALSE ; par2 = 0.4 ; par3 = 0 ; par4 = 1 ; par5 = 12 ; par6 = 1 ; par7 = 1 ; par8 = 1 ; par9 = 1 ;
Parameters (R input):
par1 = FALSE ; par2 = 0.4 ; par3 = 0 ; par4 = 1 ; par5 = 12 ; par6 = 1 ; par7 = 1 ; par8 = 1 ; par9 = 1 ;
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')