- ¿Existe una técnica de modelado como LOESS que permita cero, una o más discontinuidades, donde el momento de las discontinuidades no se conoce a priori?
- Si existe una técnica, ¿existe una implementación existente en R?
Respuestas:
Parece que desea realizar una detección de múltiples puntos de cambio seguida de un suavizado independiente dentro de cada segmento. (La detección puede estar en línea o no, pero es probable que su aplicación no esté en línea). Hay mucha literatura sobre esto; Las búsquedas en Internet son fructíferas.
No he buscado mucho ninguna implementación de R (había codificado una en Mathematica hace un tiempo) pero agradecería una referencia si la encuentra.
hágalo con la regresión de línea discontinua de Koencker, vea la página 18 de esta viñeta
http://cran.r-project.org/web/packages/quantreg/vignettes/rq.pdf
En respuesta al último comentario de Whuber:
Este estimador se define así.
, x ( i ) ≥ x ( i - 1 ) ,
,
, z - = max ( - z , 0 ) ,
, λ ≥ 0
da el cuantil deseado (es decir, en el ejemplo, τ = 0.9 ). λ dirige el número de punto de interrupción: para λ grande, este estimador se reduce a ningún punto de ruptura (correspondiente al estimador de regresión de cuantiles lineal classicla).
Splines de suavizado de cuantiles Roger Koenker, Pin Ng, Stephen Portnoy Biometrika, vol. 81, núm. 4 (diciembre de 1994), págs. 673-680
PD: hay un documento de trabajo de acceso abierto con el mismo nombre por los mismos otros, pero no es lo mismo.
Estos son algunos métodos y paquetes R asociados para resolver este problema.
La estimación del trillado Wavelet en regresión permite las discontonuidades. Puede usar el paquete wavethresh en R.
Una gran cantidad de métodos basados en árboles (no muy lejos de la idea de wavelet) son útiles cuando tienes descontinuidades. ¡Por lo tanto, paquete de árbol, paquete de árbol!
En la familia de los métodos de " máxima verosimilitud local " ... entre otros: Trabajo de Pozhel y Spokoiny: Pesas adaptativas Suavizado (paquete aws) Trabajo de Catherine Loader: paquete locfit
Supongo que cualquier kernel más suave con ancho de banda localmente variable hace el punto, pero no sé el paquete R para eso.
nota: Realmente no entiendo cuál es la diferencia entre LOESS y regresión ... ¿es la idea de que en LOESS los algoritmos deberían estar "en línea"?
It should be possible to code a solution in R using the non-linear regression function nls, b splines (the bs function in the spline package, for example) and the ifelse function.