[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