[R-es] Consulta sobre el correcto uso de smoothSpline()

Olivier Nuñez onunez en unex.es
Mie Abr 8 09:42:18 CEST 2015


Lucas, 

en tu lugar, optaría por una media móvil que es un suavizado básico y fácil de controlar.
El paquete "zoo" es muy útil para el manejo de series temporales.
La función rollmean() de este paquete debería darte buenos resultados.
Un saludo. Olivier


----- Mensaje original -----
De: "Javier Marcuzzi" <javier.ruben.marcuzzi en gmail.com>
Para: "lbianchi" <lbianchi en zoho.com>
CC: "r-help-es" <r-help-es en r-project.org>
Enviados: Martes, 7 de Abril 2015 22:49:31
Asunto: Re: [R-es] Consulta sobre el correcto uso de smoothSpline()

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 <lbianchi en 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 <- 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 en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

	[[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es