Free Statistics

of Irreproducible Research!

Author's title

Author*Unverified author*
R Software Modulerwasp_arimabackwardselection.wasp
Title produced by softwareARIMA Backward Selection
Date of computationTue, 04 Dec 2007 07:03:46 -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/2007/Dec/04/t1196776383o58qiy94yzl0po7.htm/, Retrieved Thu, 02 May 2024 08:58:32 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=2374, Retrieved Thu, 02 May 2024 08:58:32 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact217
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [ARIMA Backward Selection] [vraag 2] [2007-12-04 14:03:46] [c40c597932a04e0e43159741c7e63e4c] [Current]
Feedback Forum

Post a new message
Dataseries X:
103,6500
103,8700
103,9400
105,3200
105,5400
106,0800
106,2100
105,5300
105,5600
105,1400
105,9700
105,4500
106,2200
106,3100
107,3800
109,3100
110,8200
111,2200
110,6600
110,7600
110,6900
111,0800
110,9700
110,2400
112,5100
111,5200
112,1300
112,2300
112,9200
111,8900
111,9900
111,5100
112,3300
112,0400
112,0900
111,4100
112,6100
113,1400
113,6500
114,2600
114,4000
114,9300
114,8600
114,9500
116,1700
114,6000
114,6200
113,8200
115,0200
115,1800
115,5900
116,6000
117,0700
116,9600
116,6600
116,0700
116,0400
115,8100
116,2200
115,8500
116,4300
117,3900
119,1700
119,2400
120,0300




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

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

[TABLE]
[ROW][C]Summary of compuational 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]10 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=2374&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=2374&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 compuational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time10 seconds
R Server'Gwilym Jenkins' @ 72.249.127.135







ARIMA Parameter Estimation and Backward Selection
Iterationar1ar2ar3ma1sar1sar2sma1
Estimates ( 1 )-0.07190.1387-0.0788-0.01880.96780.0204-0.8672
(p-val)(0.9449 )(0.4174 )(0.6945 )(0.9856 )(0.0042 )(0.9322 )(0.2028 )
Estimates ( 2 )-0.09050.1368-0.07600.96730.0206-0.8658
(p-val)(0.4772 )(0.32 )(0.5629 )(NA )(0.0045 )(0.9317 )(0.206 )
Estimates ( 3 )-0.08920.1409-0.074800.98730-0.8659
(p-val)(0.4815 )(0.2884 )(0.567 )(NA )(0 )(NA )(5e-04 )
Estimates ( 4 )-0.09950.1432000.98710-0.8641
(p-val)(0.4273 )(0.2806 )(NA )(NA )(0 )(NA )(7e-04 )
Estimates ( 5 )00.1599000.98320-0.8506
(p-val)(NA )(0.2264 )(NA )(NA )(0 )(NA )(0.0072 )
Estimates ( 6 )00000.99210-0.8865
(p-val)(NA )(NA )(NA )(NA )(0 )(NA )(0 )

\begin{tabular}{lllllllll}
\hline
ARIMA Parameter Estimation and Backward Selection \tabularnewline
Iteration & ar1 & ar2 & ar3 & ma1 & sar1 & sar2 & sma1 \tabularnewline
Estimates ( 1 ) & -0.0719 & 0.1387 & -0.0788 & -0.0188 & 0.9678 & 0.0204 & -0.8672 \tabularnewline
(p-val) & (0.9449 ) & (0.4174 ) & (0.6945 ) & (0.9856 ) & (0.0042 ) & (0.9322 ) & (0.2028 ) \tabularnewline
Estimates ( 2 ) & -0.0905 & 0.1368 & -0.076 & 0 & 0.9673 & 0.0206 & -0.8658 \tabularnewline
(p-val) & (0.4772 ) & (0.32 ) & (0.5629 ) & (NA ) & (0.0045 ) & (0.9317 ) & (0.206 ) \tabularnewline
Estimates ( 3 ) & -0.0892 & 0.1409 & -0.0748 & 0 & 0.9873 & 0 & -0.8659 \tabularnewline
(p-val) & (0.4815 ) & (0.2884 ) & (0.567 ) & (NA ) & (0 ) & (NA ) & (5e-04 ) \tabularnewline
Estimates ( 4 ) & -0.0995 & 0.1432 & 0 & 0 & 0.9871 & 0 & -0.8641 \tabularnewline
(p-val) & (0.4273 ) & (0.2806 ) & (NA ) & (NA ) & (0 ) & (NA ) & (7e-04 ) \tabularnewline
Estimates ( 5 ) & 0 & 0.1599 & 0 & 0 & 0.9832 & 0 & -0.8506 \tabularnewline
(p-val) & (NA ) & (0.2264 ) & (NA ) & (NA ) & (0 ) & (NA ) & (0.0072 ) \tabularnewline
Estimates ( 6 ) & 0 & 0 & 0 & 0 & 0.9921 & 0 & -0.8865 \tabularnewline
(p-val) & (NA ) & (NA ) & (NA ) & (NA ) & (0 ) & (NA ) & (0 ) \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=2374&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]sar1[/C][C]sar2[/C][C]sma1[/C][/ROW]
[ROW][C]Estimates ( 1 )[/C][C]-0.0719[/C][C]0.1387[/C][C]-0.0788[/C][C]-0.0188[/C][C]0.9678[/C][C]0.0204[/C][C]-0.8672[/C][/ROW]
[ROW][C](p-val)[/C][C](0.9449 )[/C][C](0.4174 )[/C][C](0.6945 )[/C][C](0.9856 )[/C][C](0.0042 )[/C][C](0.9322 )[/C][C](0.2028 )[/C][/ROW]
[ROW][C]Estimates ( 2 )[/C][C]-0.0905[/C][C]0.1368[/C][C]-0.076[/C][C]0[/C][C]0.9673[/C][C]0.0206[/C][C]-0.8658[/C][/ROW]
[ROW][C](p-val)[/C][C](0.4772 )[/C][C](0.32 )[/C][C](0.5629 )[/C][C](NA )[/C][C](0.0045 )[/C][C](0.9317 )[/C][C](0.206 )[/C][/ROW]
[ROW][C]Estimates ( 3 )[/C][C]-0.0892[/C][C]0.1409[/C][C]-0.0748[/C][C]0[/C][C]0.9873[/C][C]0[/C][C]-0.8659[/C][/ROW]
[ROW][C](p-val)[/C][C](0.4815 )[/C][C](0.2884 )[/C][C](0.567 )[/C][C](NA )[/C][C](0 )[/C][C](NA )[/C][C](5e-04 )[/C][/ROW]
[ROW][C]Estimates ( 4 )[/C][C]-0.0995[/C][C]0.1432[/C][C]0[/C][C]0[/C][C]0.9871[/C][C]0[/C][C]-0.8641[/C][/ROW]
[ROW][C](p-val)[/C][C](0.4273 )[/C][C](0.2806 )[/C][C](NA )[/C][C](NA )[/C][C](0 )[/C][C](NA )[/C][C](7e-04 )[/C][/ROW]
[ROW][C]Estimates ( 5 )[/C][C]0[/C][C]0.1599[/C][C]0[/C][C]0[/C][C]0.9832[/C][C]0[/C][C]-0.8506[/C][/ROW]
[ROW][C](p-val)[/C][C](NA )[/C][C](0.2264 )[/C][C](NA )[/C][C](NA )[/C][C](0 )[/C][C](NA )[/C][C](0.0072 )[/C][/ROW]
[ROW][C]Estimates ( 6 )[/C][C]0[/C][C]0[/C][C]0[/C][C]0[/C][C]0.9921[/C][C]0[/C][C]-0.8865[/C][/ROW]
[ROW][C](p-val)[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](NA )[/C][C](0 )[/C][C](NA )[/C][C](0 )[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=2374&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=2374&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
Iterationar1ar2ar3ma1sar1sar2sma1
Estimates ( 1 )-0.07190.1387-0.0788-0.01880.96780.0204-0.8672
(p-val)(0.9449 )(0.4174 )(0.6945 )(0.9856 )(0.0042 )(0.9322 )(0.2028 )
Estimates ( 2 )-0.09050.1368-0.07600.96730.0206-0.8658
(p-val)(0.4772 )(0.32 )(0.5629 )(NA )(0.0045 )(0.9317 )(0.206 )
Estimates ( 3 )-0.08920.1409-0.074800.98730-0.8659
(p-val)(0.4815 )(0.2884 )(0.567 )(NA )(0 )(NA )(5e-04 )
Estimates ( 4 )-0.09950.1432000.98710-0.8641
(p-val)(0.4273 )(0.2806 )(NA )(NA )(0 )(NA )(7e-04 )
Estimates ( 5 )00.1599000.98320-0.8506
(p-val)(NA )(0.2264 )(NA )(NA )(0 )(NA )(0.0072 )
Estimates ( 6 )00000.99210-0.8865
(p-val)(NA )(NA )(NA )(NA )(0 )(NA )(0 )







Estimated ARIMA Residuals
Value
0.103649918861003
0.175823638819370
0.0559231408203393
1.08878877609752
0.169051658024421
0.258478302621255
0.0767518235054876
-0.620760938330455
0.00736006112002883
-0.253915182483503
0.66753266557509
-0.379542328179025
0.513783105806074
0.0595884330573675
0.838644600897171
1.20182340628153
1.11838989178884
-0.0398664207909832
-0.75310034460835
0.323835900859729
0.0143833581485036
0.451969208526558
-0.400117517111814
-0.54424217642364
1.82133291716348
-0.938487023526808
-0.0200215448419498
-0.664044801007921
0.118978178151534
-1.09014891652093
0.191150442294836
-0.0977087311430021
0.74390242140218
-0.2231065988089
-0.269293274255702
-0.261020532662231
0.308945933774695
0.717018816491798
0.0589107563882697
-0.245774699428009
-0.411064435867119
0.568590601942649
0.0667970960963488
0.227469691520354
0.98815428132996
-1.48521265966468
-0.296146470579635
-0.124108200856614
0.259523165482887
0.234752473374623
-0.0442727745124731
0.260127382259922
0.0118961261268151
-0.226914311953969
-0.223277284429377
-0.380961755461330
-0.376605975359689
0.206613484001451
0.335778533201609
0.103180705283678
-0.437985505972849
0.911443270324813
1.40603875532069
-0.819721339237752
0.115202425582448

\begin{tabular}{lllllllll}
\hline
Estimated ARIMA Residuals \tabularnewline
Value \tabularnewline
0.103649918861003 \tabularnewline
0.175823638819370 \tabularnewline
0.0559231408203393 \tabularnewline
1.08878877609752 \tabularnewline
0.169051658024421 \tabularnewline
0.258478302621255 \tabularnewline
0.0767518235054876 \tabularnewline
-0.620760938330455 \tabularnewline
0.00736006112002883 \tabularnewline
-0.253915182483503 \tabularnewline
0.66753266557509 \tabularnewline
-0.379542328179025 \tabularnewline
0.513783105806074 \tabularnewline
0.0595884330573675 \tabularnewline
0.838644600897171 \tabularnewline
1.20182340628153 \tabularnewline
1.11838989178884 \tabularnewline
-0.0398664207909832 \tabularnewline
-0.75310034460835 \tabularnewline
0.323835900859729 \tabularnewline
0.0143833581485036 \tabularnewline
0.451969208526558 \tabularnewline
-0.400117517111814 \tabularnewline
-0.54424217642364 \tabularnewline
1.82133291716348 \tabularnewline
-0.938487023526808 \tabularnewline
-0.0200215448419498 \tabularnewline
-0.664044801007921 \tabularnewline
0.118978178151534 \tabularnewline
-1.09014891652093 \tabularnewline
0.191150442294836 \tabularnewline
-0.0977087311430021 \tabularnewline
0.74390242140218 \tabularnewline
-0.2231065988089 \tabularnewline
-0.269293274255702 \tabularnewline
-0.261020532662231 \tabularnewline
0.308945933774695 \tabularnewline
0.717018816491798 \tabularnewline
0.0589107563882697 \tabularnewline
-0.245774699428009 \tabularnewline
-0.411064435867119 \tabularnewline
0.568590601942649 \tabularnewline
0.0667970960963488 \tabularnewline
0.227469691520354 \tabularnewline
0.98815428132996 \tabularnewline
-1.48521265966468 \tabularnewline
-0.296146470579635 \tabularnewline
-0.124108200856614 \tabularnewline
0.259523165482887 \tabularnewline
0.234752473374623 \tabularnewline
-0.0442727745124731 \tabularnewline
0.260127382259922 \tabularnewline
0.0118961261268151 \tabularnewline
-0.226914311953969 \tabularnewline
-0.223277284429377 \tabularnewline
-0.380961755461330 \tabularnewline
-0.376605975359689 \tabularnewline
0.206613484001451 \tabularnewline
0.335778533201609 \tabularnewline
0.103180705283678 \tabularnewline
-0.437985505972849 \tabularnewline
0.911443270324813 \tabularnewline
1.40603875532069 \tabularnewline
-0.819721339237752 \tabularnewline
0.115202425582448 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=2374&T=2

[TABLE]
[ROW][C]Estimated ARIMA Residuals[/C][/ROW]
[ROW][C]Value[/C][/ROW]
[ROW][C]0.103649918861003[/C][/ROW]
[ROW][C]0.175823638819370[/C][/ROW]
[ROW][C]0.0559231408203393[/C][/ROW]
[ROW][C]1.08878877609752[/C][/ROW]
[ROW][C]0.169051658024421[/C][/ROW]
[ROW][C]0.258478302621255[/C][/ROW]
[ROW][C]0.0767518235054876[/C][/ROW]
[ROW][C]-0.620760938330455[/C][/ROW]
[ROW][C]0.00736006112002883[/C][/ROW]
[ROW][C]-0.253915182483503[/C][/ROW]
[ROW][C]0.66753266557509[/C][/ROW]
[ROW][C]-0.379542328179025[/C][/ROW]
[ROW][C]0.513783105806074[/C][/ROW]
[ROW][C]0.0595884330573675[/C][/ROW]
[ROW][C]0.838644600897171[/C][/ROW]
[ROW][C]1.20182340628153[/C][/ROW]
[ROW][C]1.11838989178884[/C][/ROW]
[ROW][C]-0.0398664207909832[/C][/ROW]
[ROW][C]-0.75310034460835[/C][/ROW]
[ROW][C]0.323835900859729[/C][/ROW]
[ROW][C]0.0143833581485036[/C][/ROW]
[ROW][C]0.451969208526558[/C][/ROW]
[ROW][C]-0.400117517111814[/C][/ROW]
[ROW][C]-0.54424217642364[/C][/ROW]
[ROW][C]1.82133291716348[/C][/ROW]
[ROW][C]-0.938487023526808[/C][/ROW]
[ROW][C]-0.0200215448419498[/C][/ROW]
[ROW][C]-0.664044801007921[/C][/ROW]
[ROW][C]0.118978178151534[/C][/ROW]
[ROW][C]-1.09014891652093[/C][/ROW]
[ROW][C]0.191150442294836[/C][/ROW]
[ROW][C]-0.0977087311430021[/C][/ROW]
[ROW][C]0.74390242140218[/C][/ROW]
[ROW][C]-0.2231065988089[/C][/ROW]
[ROW][C]-0.269293274255702[/C][/ROW]
[ROW][C]-0.261020532662231[/C][/ROW]
[ROW][C]0.308945933774695[/C][/ROW]
[ROW][C]0.717018816491798[/C][/ROW]
[ROW][C]0.0589107563882697[/C][/ROW]
[ROW][C]-0.245774699428009[/C][/ROW]
[ROW][C]-0.411064435867119[/C][/ROW]
[ROW][C]0.568590601942649[/C][/ROW]
[ROW][C]0.0667970960963488[/C][/ROW]
[ROW][C]0.227469691520354[/C][/ROW]
[ROW][C]0.98815428132996[/C][/ROW]
[ROW][C]-1.48521265966468[/C][/ROW]
[ROW][C]-0.296146470579635[/C][/ROW]
[ROW][C]-0.124108200856614[/C][/ROW]
[ROW][C]0.259523165482887[/C][/ROW]
[ROW][C]0.234752473374623[/C][/ROW]
[ROW][C]-0.0442727745124731[/C][/ROW]
[ROW][C]0.260127382259922[/C][/ROW]
[ROW][C]0.0118961261268151[/C][/ROW]
[ROW][C]-0.226914311953969[/C][/ROW]
[ROW][C]-0.223277284429377[/C][/ROW]
[ROW][C]-0.380961755461330[/C][/ROW]
[ROW][C]-0.376605975359689[/C][/ROW]
[ROW][C]0.206613484001451[/C][/ROW]
[ROW][C]0.335778533201609[/C][/ROW]
[ROW][C]0.103180705283678[/C][/ROW]
[ROW][C]-0.437985505972849[/C][/ROW]
[ROW][C]0.911443270324813[/C][/ROW]
[ROW][C]1.40603875532069[/C][/ROW]
[ROW][C]-0.819721339237752[/C][/ROW]
[ROW][C]0.115202425582448[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=2374&T=2

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=2374&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.103649918861003
0.175823638819370
0.0559231408203393
1.08878877609752
0.169051658024421
0.258478302621255
0.0767518235054876
-0.620760938330455
0.00736006112002883
-0.253915182483503
0.66753266557509
-0.379542328179025
0.513783105806074
0.0595884330573675
0.838644600897171
1.20182340628153
1.11838989178884
-0.0398664207909832
-0.75310034460835
0.323835900859729
0.0143833581485036
0.451969208526558
-0.400117517111814
-0.54424217642364
1.82133291716348
-0.938487023526808
-0.0200215448419498
-0.664044801007921
0.118978178151534
-1.09014891652093
0.191150442294836
-0.0977087311430021
0.74390242140218
-0.2231065988089
-0.269293274255702
-0.261020532662231
0.308945933774695
0.717018816491798
0.0589107563882697
-0.245774699428009
-0.411064435867119
0.568590601942649
0.0667970960963488
0.227469691520354
0.98815428132996
-1.48521265966468
-0.296146470579635
-0.124108200856614
0.259523165482887
0.234752473374623
-0.0442727745124731
0.260127382259922
0.0118961261268151
-0.226914311953969
-0.223277284429377
-0.380961755461330
-0.376605975359689
0.206613484001451
0.335778533201609
0.103180705283678
-0.437985505972849
0.911443270324813
1.40603875532069
-0.819721339237752
0.115202425582448



Parameters (Session):
par1 = FALSE ; par2 = 1 ; par3 = 1 ; par4 = 0 ; par5 = 12 ; par6 = 3 ; par7 = 1 ; par8 = 2 ; par9 = 1 ;
Parameters (R input):
par1 = FALSE ; par2 = 1 ; par3 = 1 ; par4 = 0 ; par5 = 12 ; par6 = 3 ; par7 = 1 ; par8 = 2 ; 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, ncol=nrc)
pval <- matrix(NA, nrow=nrc, 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)
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')
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')