El problema de usar el ACF es que puede haber otras razones para picos significativos, no solo la estacionalidad. Por lo tanto, es indicativo pero no concluyente.
Si los datos tuvieran un período estacional pequeño (como 4 para datos trimestrales o 12 para datos mensuales), entonces un enfoque simple es usar la función ets
en el paquete forecast
para R. Si hay un patrón estacional, elegirá un modelo estacional.
Pero dado que tus datos son semanales (según los comentarios en la respuesta de Mark T Patterson), eso no funcionará porque el período estacional es demasiado largo y no es entero. X12 tampoco te ayudará (como sugirió @toomuchpj) ya que está diseñado solo para datos trimestrales y mensuales.
El período no entero será un problema para cualquier solución que asuma período=52, porque la diferencia entre 52 y 365/7 se hará evidente con series largas.
Un enfoque es usar el modelo tbats
, también en el paquete forecast
en R. Manejará la estacionalidad semanal y determinará automáticamente si hay un patrón estacional presente. Por ejemplo:
x <- ts(data, frequency=365/7)
fit <- tbats(x)
seasonal <- !is.null(fit$seasonal)
Luego seasonal
será TRUE
si se elige un modelo estacional y de lo contrario FALSE
.