Estou construindo um modelo no qual várias de minhas covariáveis vivem em um "círculo", no sentido em que assumem valores no intervalo [0,1) e 0 = 1. Estou pensando em técnicas para lidar com essa situação. Uma idéia é representar uma variável circular teta como um par de variáveis (sin (teta), cos (teta)). Alguma opinião sobre essa abordagem ou melhores abordagens?
Estou usando especificamente os GAMs do pacote mgcv. Existe uma maneira de dizer ao modelo que certas peças aditivas devem ter os mesmos valores nos pontos finais? Outro pacote?
Obrigado!
circular
pacote que pode, eventualmente, ser de interesse. Espero que você obtenha respostas melhores.Respostas:
Existem duas maneiras de lidar com variáveis circulares, um método hacky seria duplicar manualmente seu conjunto de dados em ambos os lados das condições de contorno, mas a solução mais elegante que eu acho seria usar as funções básicas de spline internas com condições de contorno periódicas !
Por exemplo:
bs="cc"
especifica uma splines de regressão cúbica cíclica (consultecyclic.cubic.spline
). isto é, uma regressão cúbica penalizada splines cujas extremidades correspondem, até a segunda derivada.Splines na esfera
bs="sos"
. Estes são splines bidimensionais em uma esfera. Os argumentos são latitude e longitude, e são o análogo de splines de chapa fina para a esfera. Útil para dados amostrados em uma grande parte do globo, quando a isotropia é apropriada. VejaSpherical.Spline
para detalhes.bs="cp"
fornece uma versão cíclica de um spline Pfonte
Você pode pesquisar Gill e Hangartner (2010). Dados circulares em ciência política e como lidar com isso . Eles falam sobre vários modelos de dados circulares / de relógio / sazonais, e Jeff Gill fornece código R para o artigo no qual você pode procurar inspiração. Deveria haver uma versão de apresentação deste material que entrelaçasse a metodologia e o código R juntos.
fonte