16 votos

LOESS que permite discontinuidades

  • Hay una técnica de modelado como de LOESS que permite a los cero, uno, o más discontinuidades, donde el tiempo de las discontinuidades no se conocen apriori?
  • Si existe una técnica, hay una implementación existente en R?

17voto

jldugger Puntos 7490

Suena como que usted desea realizar múltiples changepoint detección seguido por independiente de suavizado dentro de cada segmento. (Detección puede ser en línea o no, pero su aplicación no es probable que sea en línea). Hay un montón de literatura sobre este; las búsquedas en Internet son fructíferos.

  • DA Stephens escribió una introducción muy útil a Bayesiano de changepoint de detección en 1994 (App. Stat. 43 #1 pp 159-178: JSTOR).
  • Más recientemente, Pablo Fearnhead ha estado haciendo un buen trabajo (por ejemplo, Exacta y eficiente de la inferencia Bayesiana para múltiples problemas de changepoint, Stat Comput (2006) 16: 203-213: PDF Gratuito).
  • Un algoritmo recursivo que existe, basado en un hermoso análisis por D Barry & JA Hartigan
    • Producto de la Partición de los Modelos para el Punto de Cambio de los Modelos, Ann. Stat. 20:260-279: JSTOR;
    • Un Análisis Bayesiano para el Punto de Cambio de los Problemas, JASA 88:309-319: JSTOR.
  • Una implementación de Barry & Hartigan algoritmo está documentado en O. Seidou & TBMJ Ourda, Recursividad basado en Múltiples Changepoint de Detección en Multivariante de Regresión Lineal y su Aplicación a las corrientes de agua del Río, Agua de Res. Res., 2006: PDF Gratuito.

No he estudiado duro para cualquier R implementaciones (yo había codificado uno en Mathematica hace un tiempo), pero agradecería una referencia, si usted encuentra uno.

8voto

Patrick Puntos 183

hacerlo con koencker roto la línea de regresión, consulte la página 18 de esta viñeta

http://cran.r-project.org/web/packages/quantreg/vignettes/rq.pdf

En respuesta a Whuber último comentario:

Este estimador es definido como este.

$x\in\mathbb{R}$, $x_{(i)}\geq x_{(i-1)}\;\forall i$,

$e_i:=y_{i}-\beta_{i}x_{(i)}-\beta_0$,

$z^+=\max(z,0)$, $z^-=\max(-z,0)$,

$\tau \in (0,1)$, $\lambda\geq 0$

$\underset{\beta\in\mathbb{R}^n|\tau, \lambda}{\min.} \sum_{i=1}^{n} \tau e_i^++\sum_{i=1}^{n}(1-\tau)e_i^-+\lambda\sum_{i=2}^{n}|\beta_{i}-\beta_{i-1}|$

$\tau$ da la deseada cuantil (es decir, en el ejemplo, $\tau=0.9$). $\lambda$ dirige el número de breakpoint: para $\lambda$ grande este estimador se reduce a ningún punto de quiebre (correspondiente a la classicla lineal cuantil estimador de regresión).

Cuantil Splines De Suavizado Roger Koenker, Pin Ng, Stephen Portnoy Biometrika, Vol. 81, Nº 4 (Dic., 1994), pp 673-680

PS: hay un open acess documento de trabajo con el mismo nombre por el mismo a los demás pero no es la misma cosa.

7voto

David Pokluda Puntos 4284

Aquí están algunos métodos y asociados R paquetes para resolver este problema

Wavelet thresolding la estimación de la regresión permite discontonuities. Usted puede utilizar el paquete de wavethresh en R.

Un montón de árbol basado en métodos (no muy lejos de la idea de wavelet) son útiles cuando se tiene disconitnuities. Por lo tanto el paquete de treethresh, paquete de árbol !

En la familia de "local de máxima verosimilitud" métodos... entre otros: El trabajo de Pozhel y Spokoiny: Adaptación de los pesos de Suavizado (paquete de aws) Trabajo por Catherine Cargador: paquete locfit

Supongo que cualquier kernel suave con localmente variables de ancho de banda hace que el punto, pero no sé paquete de R para que.

nota: yo realmente no se cual es la diferencia entre el LOESS y regresión... es la idea de que en LOESS alrgorithms debe ser "on line" ?

2voto

tobes Puntos 19

Debería ser posible una solución de código en R utilizando la regresión no lineal de la función de la nls, b splines (bs función en la spline paquete, por ejemplo) y la ifelse función.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X