- Existe uma técnica de modelagem como LOESS que permite zero, uma ou mais descontinuidades, em que o momento das descontinuidades não é conhecido a priori?
- Se existe uma técnica, existe uma implementação existente no R?
Respostas:
Parece que você deseja executar várias detecções de ponto de mudança, seguidas de suavização independente em cada segmento. (A detecção pode estar online ou não, mas é provável que seu aplicativo não esteja online.) Há muita literatura sobre isso; As pesquisas na Internet são frutíferas.
Eu não procurei muito por nenhuma implementação de R (eu havia codificado uma no Mathematica há algum tempo), mas gostaria de uma referência se você a encontrar.
faça isso com a regressão de linhas quebradas de koencker, consulte a página 18 desta vinheta
http://cran.r-project.org/web/packages/quantreg/vignettes/rq.pdf
Em resposta ao último comentário de Whuber:
Este estimador é definido assim.
, ,
,
λ ≥ 0 ,
fornece o quantil desejado (ou seja, no exemplo, ). direciona o número de pontos de interrupção: para grande esse estimador encolhe para nenhum ponto de interrupção (correspondente ao estimador de regressão linear quantil clássico).
Splines de suavização de quantis Roger Koenker, Pin Ng, Stephen Portnoy Biometrika, vol. 81, n. 4 (dezembro de 1994), pp. 673-680
PS: existe um documento de trabalho de acesso aberto com o mesmo nome pelos mesmos, mas não é a mesma coisa.
Aqui estão alguns métodos e pacotes R associados para resolver esse problema
A estimativa de throld da wavelet em regressão permite descontentuidades. Você pode usar o pacote wavethresh em R.
Muitos métodos baseados em árvore (não muito longe da idéia de wavelet) são úteis quando você tem discrepâncias. Daí o pacote treethresh, árvore de pacotes!
Na família dos métodos de " máxima verossimilhança local " ... entre outros: Obra de Pozhel e Spokoiny: pesos adaptativos Suavização (aws do pacote) Obra de Catherine Loader: package locfit
Eu acho que qualquer kernel mais suave com largura de banda variando localmente faz sentido, mas eu não conheço o pacote R para isso.
nota: eu realmente não entendo qual é a diferença entre LOESS e regressão ... é a ideia de que os algoritmos do LOESS devem estar "on line"?
Deve ser possível codificar uma solução em R usando a função de regressão não linear nls, b splines (a função bs no pacote spline, por exemplo) e a função ifelse.