Hola a todos:
quiero consultarles para estar seguro de que estoy entendiendo bien el
funcionamiento de la función smoothSpline() del paquete 'timeSeries'.
Tengo una serie temporal con datos mensuales a la cual quiero suavizar
usando splines para, por ejemplo, comparar con otras series temporales.
Por lo que estuve viendo, me conviene usar la función smoothSpline() que
se basa en smooth.spline() del paquete 'stats'.
Pero me quedan algunas dudas respecto de los argumentos que se utilizan en
ambas funciones. Principalmente, el que más me interesa es 'nknots' y no
logro estar seguro de su funcionamiento.
Digamos que tengo una serie mensual con 30 años de datos, es decir 360
registros, uno por cada mes.
Yo quisiera hacer y comparar distintos suavizados, por ejemplo,
"agrupando" de a 6, 12, 24 y 60 meses (perdón pero no sé cuál serÃa el
término exacto en lugar de agrupar).
Las dudas que me surgen son:
1- ¿el número que le asigno a 'nknots' divide a la serie en partes
iguales?...yo creo que sÃ, pero no estoy seguro
2- ¿nknots es el número de puntos internos? ¿sin considerar los extremos?
3- si es asÃ, y considerando que tengo 360 datos, si defino nknots=59
¿estoy dividiendo a la serie en 60 partes, es decir agrupando cada 6 meses
(360/60)? y si, por ejemplo, defino nknots=29 ¿la divido en 30 partes, es
decir agrupando cada 12 meses (360/30)?...y asà sucesivamente.
Por ejemplo, el código serÃa
# sri1 es una serie temporal con 360 registros mensuales
.
.
# calculo la curva suavizada con knots=29
sri1.smooth29 <- smoothSpline(sri1, all.knots=FALSE, nknots=29)
# dibujo la serie original con la suavizada sobre ella
plot(sri1.smooth29, plot.type="single", main="Knots=29 -- 12 meses")
.
.
# lo mismo podrÃa hacer para los otros casos y luego compararlos
Espero que se entienda lo que quiero hacer y me puedan ayudar a responder
si ¿está bien lo que estoy haciendo? ¿hay alguna otra forma mejor de
hacerlo?
MuchÃsimas gracias,
Saludos,
Lucas.
[[alternative HTML version deleted]]