Estimado Lucas Bianchi
Para algunas cosas se usar spline, no justo smoothSpline(), tendía que
leerlo y ahora no alcanzo, pero como la idea es sobre los knot, básicamente
estos son puntos donde se coloca algo, y ese algo no es obligatorio, puede
no ser utilizado. Ese algo que es un punto es utilizado para intentar por
decirlo de alguna forma, hacer pasar la curva del ajuste, por ejemplo el
knot es 5,50, el algoritmo intentaría hacer pasar por ese punto el ajuste
de curva. Sobre los ajustes de curvas y spline y los knot leí
varias publicaciones científicas donde cambiaban el lugar y cantidad de
estos, y decían este modelo es mejor para, este otro para ...
Pienso que el problema no va a ser de R, le sugiero leer
algunas publicaciones sobre el área de la ciencia que necesita e inspirarse
en estos para comenzar, creo que podría colocar tantos knot como desde 0 a
la cantidad de días que tiene (no seguro), claro, esto último sería medio
feo, pero ...
Javier Marcuzzi
El 7 de abril de 2015, 17:24, lbianchi lbian...@zoho.com escribió:
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 lt;- 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]]
___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
[[alternative HTML version deleted]]
___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es