MIŁOŚĆ, która pozwala na nieciągłości

14
  • Czy istnieje technika modelowania, taka jak LOESS, która pozwala na zero, jedną lub więcej nieciągłości, w których czas nieciągłości nie jest znany apriori?
  • Jeśli istnieje technika, czy istnieje implementacja w języku R?
Jeromy Anglim
źródło
1
nieciągłości przy znanych wartościach X lub przy nieznanych wartościach X? (znany x jest dość łatwy)
Glen_b
@glen Zaktualizowałem pytanie: Interesują mnie sytuacje, w których czas nieciągłości nie jest znany apriori.
Jeromy Anglim
To może być dyskusyjne / nierozsądne pytanie, ale mówisz „timing”: czy można go stosować z szeregami czasowymi? Uważam, że większość odpowiedzi poniżej zakłada to („punkt zmiany itp.”), Chociaż LOESS można zastosować w sytuacjach nie szeregowych, z nieciągłością. Myślę.
Wayne

Odpowiedzi:

15

Wygląda na to, że chcesz wykonać wykrywanie wielu punktów wymiany, a następnie niezależne wygładzenie w każdym segmencie. (Wykrywanie może odbywać się online, ale nie jest prawdopodobne, że twoja aplikacja będzie dostępna online.) Jest o tym dużo literatury; Wyszukiwania w Internecie są owocne.

  • DA Stephens napisał użyteczne wprowadzenie do wykrywania bayesowskich punktów wymiany w 1994 r. (App. Stat. 43 # 1 str. 159-178: JSTOR ).
  • Ostatnio Paul Fearnhead wykonuje niezłą pracę (np. Dokładne i skuteczne wnioskowanie bayesowskie w przypadku problemów z wieloma punktami wymiany , Stat Comput (2006) 16: 203-213: Darmowy PDF ).
  • Istnieje algorytm rekurencyjny, oparty na pięknej analizie D Barry'ego i JA Hartigan
    • Modele podziału produktu dla modeli punktów zmiany, Ann. Stat. 20: 260–279: JSTOR ;
    • Analiza bayesowska dla problemów ze zmianą punktu, JASA 88: 309-319: JSTOR .
  • Jedna implementacja algorytmu Barry'ego i Hartigana została udokumentowana w O. Seidou i TBMJ Ourda, oparte na rekurencji wielokrotne wykrywanie Changepoint w wielowymiarowej regresji liniowej i zastosowanie do przepływów rzecznych, Res wody. Res., 2006: Darmowy plik PDF .

Nie szukałem żadnych implementacji języka R (już jakiś czas kodowałem w Mathematica), ale doceniłbym referencję, jeśli ją znajdziesz.

Whuber
źródło
3
Znalazłem pakiet bcp R jstatsoft.org/v23/i03/paper, który implementuje algorytm Barry & Hartigan
Jeromy Anglim
@Jeromy: Dziękujemy za pakiet R i wstawienie linków do odnośników.
whuber
7

zrób to z regresją przerywaną Koenckera, patrz strona 18 tej winiety

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

W odpowiedzi na ostatni komentarz Whuber:

Ten estymator jest zdefiniowany w ten sposób.

, x ( i )x ( i - 1 )xR ,x(i)x(i1)i

,ei:=yiβix(i)β0

, z - = maks. ( - z ,z+=max(z,0)z=max(z,0)

τ(0,1)λ0

min.βRn|τ,λi=1nτei++i=1n(1τ)ei+λi=2n|βiβi1|

ττ=0.9λ kieruje liczbą punktu przerwania: dla λ large this estimator shrinks to no break point (corresponding to the classicla linear quantile regression estimator).

Quantile Smoothing Splines Roger Koenker, Pin Ng, Stephen Portnoy Biometrika, Vol. 81, No. 4 (Dec., 1994), pp. 673-680

PS: there is a open acess working paper with the same name by the same others but it's not the same thing.

user603
źródło
That's a neat idea: thanks for the reference. However, the residuals to that particular fit look pretty bad, which makes me wonder how well it identifies potential changepoints.
whuber
whuber: i do not know how much you are familiar with the theory of quantile regression. These lines have a major advantage over splines: they do not assume any error distribution (i.e. they do not assume the residuals to be Gaussian).
user603
@kwak This looks interesting. Not assuming a normal error distribution would be useful for one of my applications.
Jeromy Anglim
Rzeczywiście, z tego oszacowania wynikają rzeczywiste kwantyle warunkowe: w skrócie są to splajny / regresje LOESS, czym są wykresy pudełkowe dla pary (średnia, sd): znacznie bogatszy widok twoich danych. Zachowują również ważność w kontekście nie gaussowskim (takim jak błędy asymetryczne, ...).
user603
@kwak: Resztki są silnie skorelowane ze współrzędną x. Na przykład istnieją długie serie ujemnych lub małych dodatnich reszt. To, czy mają rozkład Gaussa, czy nie, jest zatem nieistotne (jak również nie ma znaczenia w żadnej analizie eksploracyjnej): ta korelacja pokazuje, że dopasowanie jest słabe.
whuber
6

Here are some methods and associated R packages to solve this problem

Wavelet thresolding estimation in regression allows for discontonuities. You may use the package wavethresh in R.

A lot of tree based methods (not far from the idea of wavelet) are usefull when you have disconitnuities. Hence package treethresh, package tree !

In the familly of "local maximum likelihood" methods... among others: Work of Pozhel and Spokoiny: Adaptive weights Smoothing (package aws) Work by Catherine Loader: package locfit

I guess any kernel smoother with locally varying bandwidth makes the point but I don't know R package for that.

note: I don't really get what is the difference between LOESS and regression... is it the idea that in LOESS alrgorithms should be "on line" ?

robin girard
źródło
1
Re LOESS: Perhaps my terminology is not quite right. By LOESS I'm referring to models that predict Y from X using some form of localised curve fitting. e.g., as seen in most of these graphs: google.com/…
Jeromy Anglim
2

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.

Andrew Robinson
źródło