[R] x12 ARIMA Moving Seasonality F Test Issue

oosw1oo at comcast.net oosw1oo at comcast.net
Mon Jun 25 03:58:44 CEST 2012


I'm having a great deal of trouble replicating x12 ARIMA's F-test used to
detect moving seasonality. According to all literature I could find, the
test is apparently a 2-way ANOVA with year and month as factors for the SI
ratios determined by x12's smoothing algorithm. Note the SI ratio is simply
the detrended series. The summary I get from manually running this 2-way
ANOVA using the final SI series from x12 is significantly different than the
summary given by R's x12 package and the actual x12 software. The 1-way
ANOVA for stable seasonality is consistent, however, so I assume the error
is in how I'm performing the 2-way ANOVA. Whether it's my design of the
F-test or something else, I don't know. 

Here's the results from the two ANOVAs using x12:

For the 1-way ANOVA for stable seasonality I get:

    Test for the presence of seasonality assuming stability.

                           Sum of     Dgrs.of         Mean
                          Squares     Freedom        Square       F-Value
    Between months       23461.7861       11       2132.88965     191.610**
          Residual        1469.3431      132         11.13139
             Total       24931.1292      143

And for the 2-way ANOVA for moving seasonality:

  Moving Seasonality Test
                         Sum of     Dgrs.of         Mean
                        Squares     Freedom        Square       F-value
   Between Years         236.0512       11        21.459200       2.681* 
           Error         968.4973      121         8.004110

Here's me doing it manually with some sample data:

library(x12)
library(TSA) ### for cycle function

data(AirPassengers)

x12path <- "C:/WinX12/x12a/x12a.exe"

x12out <- x12(AirPassengers,x12path=x12path,
	
period=12,automdl=TRUE,transform="auto",outlier=c("AO","LS"),forecast_years=
0)

si <- as.vector(x12out$d8) ### SI ratios -- i.e., final detrended series
mo <- factor(cycle(x12out$d8))
yr <- factor(floor(time(x12out$d8)))

summary(aov(si ~ mo))		### test for stable seasonality
summary(aov(si ~ mo + yr))	### test for moving seasonality; this one is
my problem

> summary(aov(si ~ mo))
             Df Sum Sq Mean Sq F value Pr(>F)    
mo           11 2.3462 0.21329   191.6 <2e-16 ***
Residuals   132 0.1469 0.00111                   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 


> summary(aov(si ~ mo + yr))
             Df Sum Sq Mean Sq F value Pr(>F)    
mo           11 2.3462 0.21329 180.477 <2e-16 ***
yr           11 0.0039 0.00036   0.303  0.984    
Residuals   121 0.1430 0.00118                   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


So in sum, doing the test manually, the 2-way ANOVA for seasonality gives me
an F-value of 0.303 while x12 gives 2.781. This is a significant difference.
Any help would be fantastic!



More information about the R-help mailing list