Estoy construyendo un modelo en el que varias de mis covariables viven en un "círculo", en el sentido de que toman valores en el intervalo [0,1) y 0 = 1. Me pregunto acerca de las técnicas para lidiar con esta situación. Una idea es representar una variable circular theta como un par de variables (sin (theta), cos (theta)). ¿Alguna idea sobre este enfoque o enfoques mejores?
Estoy utilizando específicamente el paquete mgcv GAM. ¿Hay alguna manera de decirle al modelo que ciertas piezas aditivas deben tener los mismos valores en los puntos finales? Otro paquete?
¡Gracias!
circular
paquete que posiblemente pueda ser de interés. Sin embargo, espero obtener mejores respuestas.Respuestas:
Hay dos formas de tratar con variables circulares, un método hacky sería duplicar manualmente su conjunto de datos a cada lado de las condiciones de contorno, pero la solución más elegante, creo, sería utilizar las funciones de base de spline incorporadas con condiciones de contorno periódicas !
Por ejemplo:
bs="cc"
especifica una splines de regresión cúbica cíclica (vercyclic.cubic.spline
). es decir, una splines de regresión cúbica penalizada cuyos extremos coinciden, hasta la segunda derivada.Splines en la esfera
bs="sos"
. Estas son splines bidimensionales en una esfera. Los argumentos son latitud y longitud, y son el análogo de las estrías de placas delgadas para la esfera. Útil para los datos muestreados en una gran parte del globo, cuando la isotropía es apropiada. VerSpherical.Spline
para más detalles.bs="cp"
da una versión cíclica de una P-splinefuente
Es posible que desee ver a Gill y Hangartner (2010). Datos circulares en ciencias políticas y cómo manejarlos . Hablan sobre varios modelos de datos circulares / de reloj / estacionales, y Jeff Gill proporciona el código R para el documento en el que puede buscar inspiración. Debería haber una versión de presentación de este material que entrelazaría la metodología y el código R.
fuente