En referencia a Rob Hyndman el post de arriba http://stats.stackexchange.com/a/1214/70282
El hallazgo.freq función funciona a la perfección. En el conjunto de datos que estoy utilizando, correctamente trabajado la frecuencia de 7.
Cuando me lo probé sólo los días de la semana, se menciona la frecuencia es de 23, que está muy cerca de 21.42857=29.6*5/7, que es el número promedio de días de trabajo en un mes. (O a la inversa, 23*7/5 es de 32.)
Mirando hacia atrás en mis datos diarios, experimenté con una corazonada de tomar el primer período, con un promedio de por que y, a continuación, encontrar el próximo período, etc. Ver a continuación:
encontrar.freq.todos=function(x){
f=buscar.freq(x);
freqs=c(f);
mientras(f>1){
inicio=1; #también intentar start=f;
x=período.aplica(x,seq(inicio,longitud(x),f),media);
f=buscar.freq(x);
freqs=c(freqs,f);
}
si(largo(freqs)==1){ return(freqs); }
for(i in 2:longitud(freqs)){
freqs[i]=freqs[i]*freqs[i-1];
}
freqs[1:(length(freqs)-1)];
}
encontrar.freq.todos(dailyts) #utilizando datos diarios
El de arriba te da (7,28) o (7,35) dependiendo de si la secuencia se inicia con 1 o f. (Ver comentario anterior).
Lo cual implicaría que los períodos estacionales para ha(...) debe ser (7,28) o (7,35).
La lógica parece sensible a las condiciones iniciales, dada la sensibilidad de los parámetros del algoritmo. La media de 28 y 35 años es del 31,5 que está cerca de la longitud media de un mes.
Sospecho que me reinventado la rueda, ¿cuál es el nombre de este algoritmo? Existe una mejor implementación en R en algún lugar?
Más tarde, me encontré con el código de arriba en tratar todo comienza de 1 a 7 y tengo 35,35,28,28,28,28,28 para el segundo periodo. El promedio de las obras a 30, que es el número promedio de días en un mes. Interesante...
Cualquier pensamiento o comentarios?