Chciałbym lepiej zrozumieć zalety / wady stosowania splajnów less lub wygładzających do wygładzania niektórych krzywych.
Inną odmianą mojego pytania jest to, czy istnieje sposób na skonstruowanie wygładzającego splajnu w sposób, który da takie same wyniki, jak użycie lessa.
Wszelkie odniesienia lub informacje są mile widziane.
regression
splines
loess
Tal Galili
źródło
źródło
Odpowiedzi:
Oto kod R / przykład, który pozwoli ci porównać pasowanie dla dopasowania mniejszego i dopasowania do splajnu:
Możesz spróbować z danymi i zmienić kod, aby wypróbować inne typy lub opcje. Możesz także przyjrzeć się
loess.demo
funkcji w pakiecie TeachingDemos, aby lepiej zrozumieć, co robi algorytm lessa. Zauważ, że to, co widzisz z lessu, jest często kombinacją lessa z drugim wygładzaniem interpolacji (czasem sam splajn),loess.demo
funkcja faktycznie pokazuje zarówno wygładzone, jak i surowe dopasowanie lessa.Teoretycznie zawsze można znaleźć splajn, który przybliża inną funkcję ciągłą tak blisko, jak chcesz, ale jest mało prawdopodobne, aby istniał prosty wybór węzłów, który niezawodnie zapewni ścisłe przybliżenie mniejszego dopasowania dla dowolnego zestawu danych.
źródło
Rzeczywiste wyniki wygładzania splajnu lub lessu będą bardzo podobne. Mogą wyglądać nieco inaczej na krawędziach podpory, ale dopóki upewnisz się, że jest to „naturalny” wygładzający splajn, będą wyglądać naprawdę podobnie.
Jeśli używasz tylko jednego, aby dodać „wygładzenie” do wykresu rozrzutu, nie ma żadnego prawdziwego powodu, aby preferować jeden od drugiego. Jeśli zamiast tego chcesz przewidywać nowe dane, na ogół znacznie łatwiej jest użyć wygładzającego splajnu. Jest tak, ponieważ wygładzający splajn jest bezpośrednim rozszerzeniem pierwotnych danych; jeśli użyłeś 100 węzłów, aby to zrobić, oznacza to, że utworzyłeś ~ 100 nowych zmiennych z oryginalnej zmiennej. Zamiast tego Loess jedynie szacuje odpowiedź przy wszystkich doświadczonych wartościach (lub podzbiorach warstwowych dla dużych danych).
Ogólnie rzecz biorąc, istnieją algorytmy optymalizacji wartości kary za wygładzanie splajnów (mgcv w R prawdopodobnie robi to najlepiej). Loess nie jest tak wyraźny, ale generalnie nadal uzyskasz rozsądną wydajność z dowolnej implementacji. MGCV daje również poczucie równoważności stopni swobody, dzięki czemu możesz poczuć, jak „nieliniowe” są twoje dane.
Uważam, że podczas modelowania na bardzo dużych danych, prostszy naturalny splajn często zapewnia podobne wyniki przy minimalnych obliczeniach w porównaniu do wygładzania splajnu lub lessu.
źródło