Szary pasek jest pasmem ufności dla linii regresji. Nie znam się wystarczająco na ggplot2, aby wiedzieć na pewno, czy jest to przedział ufności 1 SE, czy przedział ufności 95%, ale uważam, że jest to pierwszy ( Edytuj: ewidentnie jest to 95% CI ). Pasmo pewności reprezentuje niepewność dotyczącą twojej linii regresji. W pewnym sensie można by pomyśleć, że prawdziwa linia regresji jest tak wysoka jak góra tego pasma, tak niska jak dół lub inaczej porusza się w obrębie pasma. (Należy pamiętać, że to wyjaśnienie ma być intuicyjne i nie jest technicznie poprawne, ale w pełni poprawne wyjaśnienie jest trudne dla większości osób).
Powinieneś użyć pasma pewności, aby pomóc Ci zrozumieć / pomyśleć o linii regresji. Nie należy go używać do myślenia o punktach surowych danych. Pamiętaj, że linia regresji reprezentuje średnią w każdym punkcie X (jeśli musisz to lepiej zrozumieć, może pomóc ci przeczytać moją odpowiedź tutaj: jaka jest intuicja za warunkowymi rozkładami Gaussa? ). Z drugiej strony z pewnością nie oczekujesz, że każdy zaobserwowany punkt danych będzie równy średniej warunkowej. Innymi słowy, nie należy używać przedziału ufności do oceny, czy punkt danych jest wartością odstającą. YX
( Edycja: ta uwaga jest na marginesie głównego pytania, ale ma na celu wyjaśnienie punktu dla PO ).
Regresja wielomianowa nie jest regresją nieliniową, nawet jeśli to, co otrzymujesz, nie wygląda na linię prostą. Termin „liniowy” ma bardzo specyficzne znaczenie w kontekście matematycznym, w szczególności, że parametry, które szacujesz - bety - są współczynnikami. Regresja wielomianowa oznacza po prostu, że zmiennymi towarzyszącymi są , X 2 , X 3XX2X3 itd., To znaczy, że mają one nieliniową zależność od siebie, ale twoje bety są nadal współczynnikami, a zatem jest to nadal model liniowy. Gdyby twoje beta były, powiedzmy, wykładnikami, to miałbyś model nieliniowy.
Podsumowując, to, czy linia wygląda prosto, nie ma nic wspólnego z tym, czy model jest liniowy, czy nie. Kiedy dopasujesz model wielomianowy (powiedzmy za pomocą i X 2 ), model nie „wie”, że np. X 2 jest w rzeczywistości tylko kwadratem X 1 . „Uważa”, że są to tylko dwie zmienne (chociaż może rozpoznać, że istnieje pewna wielokoliniowość). Tak więc w rzeczywistości dopasowuje ona (prostą / płaską) płaszczyznę regresji do przestrzeni trójwymiarowej zamiast (zakrzywionej) linii regresji w przestrzeni dwuwymiarowej. Nie jest to dla nas przydatne, a nawet niezwykle trudne do zobaczenia od X 2XX2X2X1X2)Jest to doskonała funkcja . W rezultacie nie zastanawiamy się nad tym w ten sposób, a nasze wykresy są w rzeczywistości dwuwymiarowymi rzutami na płaszczyznę ( X , Y ) . Niemniej jednak w odpowiedniej przestrzeni linia jest w pewnym sensie „prosta”. X( X, Y )
Z matematycznego punktu widzenia model jest liniowy, jeśli parametry, które próbujesz oszacować, są współczynnikami. W celu dalszego wyjaśnienia, rozważ porównanie standardowego modelu regresji liniowej (OLS) z prostym modelem regresji logistycznej przedstawionym w dwóch różnych formach:
ln ( π ( Y )
Y= β0+ β1X+ ε
ln( π( Y)1 - π( Y)) = β0+ β1X
π( Y) = exp(β0+β1X)1 + exp( β0+ β1X)
βββ uogólnionego modelu liniowego, ponieważ można go przepisać jako model liniowy. Aby uzyskać więcej informacji na ten temat, pomocne może być przeczytanie mojej odpowiedzi tutaj:
Różnica między modelami logit i probit ).
Aby dodać do już istniejących odpowiedzi, przedział reprezentuje przedział ufności średniej, ale na podstawie pytania wyraźnie szukasz przedziału prognozy . Interwały przewidywania to zakres, który, jeśli narysujesz jeden nowy punkt, teoretycznie byłby zawarty w zakresie X% czasu (w którym możesz ustawić poziom X).
Możemy wygenerować ten sam wykres, który pokazałeś w swoim początkowym pytaniu, z przedziałem ufności wokół średniej wygładzonej linii regresji lessowej (domyślnie 95% przedział ufności).
Dla szybkiego i brudnego przykładu przedziałów predykcji tutaj generuję przedział predykcji za pomocą regresji liniowej z wygładzającymi splajnami (więc niekoniecznie jest to linia prosta). Z przykładowymi danymi robi to całkiem nieźle, dla 100 punktów tylko 4 są poza zakresem (i określiłem 90% przedział dla funkcji przewidywania).
Teraz jeszcze kilka notatek. Zgadzam się z Ladislavem, że powinieneś rozważyć metody prognozowania szeregów czasowych, ponieważ masz regularne serie od jakiegoś czasu w 2007 roku i z twojego fabuły jasno wynika, że jeśli spojrzysz mocno na sezonowość (połączenie punktów sprawi, że będzie to wyraźniejsze). Do tego proponuję sprawdzić na forecast.stl funkcji w pakiecie prognozy gdzie można wybrać sezonowy okna i zapewnia solidną rozkład sezonowości i trendu z wykorzystaniem lessu. Wspominam o solidnych metodach, ponieważ twoje dane mają kilka zauważalnych skoków.
Mówiąc bardziej ogólnie dla danych z szeregów innych niż czasowe, rozważę inne solidne metody, jeśli masz dane z okazjonalnymi wartościami odstającymi. Nie wiem, jak generować interwały predykcyjne przy użyciu Loess bezpośrednio, ale możesz rozważyć regresję kwantylową (w zależności od tego, jak ekstremalne muszą być interwały predykcyjne). W przeciwnym razie, jeśli chcesz po prostu dopasować, aby być potencjalnie nieliniowym, możesz rozważyć splajny, aby umożliwić zmianę funkcji w funkcji x.
źródło
Niebieska linia to gładka regresja lokalna . Możesz kontrolować poruszenie linii za pomocą
span
parametru (od 0 do 1). Ale twój przykład to „szereg czasowy”, więc spróbuj poszukać bardziej odpowiednich metod analizy niż dopasować tylko gładką krzywą (która powinna służyć jedynie do ujawnienia możliwej tendencji).Zgodnie z dokumentacją do
ggplot2
(i książki w komentarzu poniżej): stat_smooth jest przedział ufności z gładkie kolorem szarym. Jeśli chcesz wyłączyć przedział ufności, użyj se = FALSE.źródło