Linia najlepszego dopasowania nie wygląda na dobre dopasowanie. Dlaczego?

82

Spójrz na ten wykres Excela: wykres

Linia najlepszego dopasowania „zdrowego rozsądku” byłaby prawie pionową linią przechodzącą przez środek punktów (edytowaną ręcznie na czerwono). Jednak liniowa linia trendu ustalona przez Excel jest pokazaną ukośną czarną linią.

  1. Dlaczego Excel stworzył coś, co (dla ludzkiego oka) wydaje się błędne?
  2. Jak mogę stworzyć linię najlepszego dopasowania, która wygląda trochę bardziej intuicyjnie (tj. Coś w rodzaju czerwonej linii)?

Aktualizacja 1. Arkusz kalkulacyjny Excel z danymi i wykresem jest dostępny tutaj: przykładowe dane , CSV w Pastebin . Czy techniki regresji typu 1 i typu 2 są dostępne jako funkcje programu Excel?

Aktualizacja 2. Dane przedstawiają paralotnię wspinającą się w termie podczas dryfowania z wiatrem. Ostatecznym celem jest zbadanie, jak siła i kierunek wiatru zmienia się w zależności od wysokości. Jestem inżynierem, NIE matematykiem ani statystykiem, więc informacje zawarte w tych odpowiedziach dały mi znacznie więcej obszarów do badań.

ConanTheGerbil
źródło
5
Szczerze mówiąc, wątpię, aby była to regresja Deminga vs. OLS. Patrząc na bardzo małej zmienności absolutnej i , to bym raczej, że może to być problem numeryczne w programie Excel. Czy możesz edytować swoje pytanie, aby uwzględnić dane? yxy
Stephan Kolassa
12
Zjawisko to było jednym z głównych odkryć statystycznych XIX wieku (jeśli nie zawsze). Nazywa się to regresją w kierunku średniej . Rzeczywiście, właśnie z tego powodu ta procedura statystyczna nazywa się „regresją”!
whuber
3
Powinienem dodać, że głównym powodem, dla którego pasowania wyglądają tak inaczej, jest to, że wykres tak bardzo wyolbrzymia skalę na osi y. Rysując je tam, gdzie obie skale są proporcjonalne do marginalnych odchyleń standardowych, możesz dojść do zupełnie innych wniosków, co do tego, które dopasowanie jest bardziej „zdrowym rozsądkiem”.
whuber
6
@StephanKolassa - Zwróć uwagę, jak duży byłby błąd, gdybyś użył czerwonej linii i przewidział dla ; czerwona linia nie może być najlepiej dopasowana do najmniejszych kwadratów. Excel z pewnością ma swoje problemy, ale myślę, że to nie jeden z nich. x = - 0,714yx=0.714
łucznik
7
Zostało to już rozwiązane wiele razy na stronie (np. Patrz tutaj ). Kiedy zrozumiesz, czym jest linia regresji, łatwo zrozumieć, dlaczego jest to czarna linia. Zadaj sobie dwa pytania: 1: jaka jest średnia wartość y, gdy x wynosi około 0,712? 2. Co przewidują czerwone i czarne linie? ... [Na razie wstrzymałem zamykanie jako duplikat, ponieważ istnieją pewne problemy z Twoimi danymi, na które warto skoncentrować swoje pytanie]
Glen_b

Odpowiedzi:

111

Czy istnieje zmienna zależna?

Linia trendu w programie Excel pochodzi z regresji zmiennej zależnej „lat” na zmiennej niezależnej „lon”. To, co nazywasz „linią zdrowego rozsądku”, można uzyskać, gdy nie wyznaczysz zmiennej zależnej i traktujesz jednocześnie szerokość i długość geograficzną. To ostatnie można uzyskać przez zastosowanie PCA . W szczególności jest to jeden z wektorów własnych macierzy kowariancji tych zmiennych. Możesz myśleć o tym jak o linii minimalizującej najkrótszą odległość od danego punktu do samej linii, tzn. Rysujesz prostopadle do linii i minimalizujesz sumę tych dla każdej obserwacji.(xi,yi)

wprowadź opis zdjęcia tutaj

Oto jak możesz to zrobić w R:

> para <- read.csv("para.csv")
> plot(para)
> 
> # run PCA
> pZ=prcomp(para,rank.=1)
> # look at 1st PC
> pZ$rotation
           PC1
lon 0.09504313
lat 0.99547316
> 
> colMeans(para) # PCA was centered
       lon        lat 
-0.7129371 53.9368720 
> # recover the data from 1st PC
> pc1=t(pZ$rotation %*% t(pZ$x) )
> # center and show
> lines(pc1 + t(t(rep(1,123))) %*% c)

Linia trendu uzyskana z Excela jest tak samo zdrowa, jak wektor własny z PCA, gdy zrozumiesz, że w regresji Excel zmienne nie są równe. Tutaj minimalizujesz pionową odległość od do , gdzie oś y jest szerokością geograficzną, a oś x jest długością geograficzną. y ( x i )yiy(xi)

To, czy chcesz traktować zmienne jednakowo, zależy od celu. To nie jest nieodłączna jakość danych. Musisz wybrać odpowiednie narzędzie statystyczne do analizy danych, w tym przypadku wybierz między regresją a PCA.

Odpowiedź na pytanie, które nie zostało zadane

Dlaczego więc w twoim przypadku linia trendu (regresja) w programie Excel nie wydaje się odpowiednim narzędziem dla twojego przypadku? Powodem jest to, że linia trendu jest odpowiedzią na pytanie, które nie zostało zadane. Dlatego.

Regresja Excela próbuje oszacować parametry linii . Tak więc pierwszym problemem jest to, że szerokość geograficzna nie jest nawet funkcją długości geograficznej, mówiąc ściśle (zobacz notatkę na końcu postu), i nawet nie jest to główny problem. Prawdziwy problem polega na tym, że nie jesteś nawet zainteresowany lokalizacją skrzydła, jesteś zainteresowany wiatrem.lat=a+b×lon

Wyobraź sobie, że nie było wiatru. Paralotniarz krążyłby ciągle w kółko. Jaka byłaby linia trendu? Oczywiście byłaby to płaska linia pozioma, jej nachylenie wynosiłoby zero, ale to nie znaczy, że wiatr wieje w kierunku poziomym!

Oto symulowana fabuła na wypadek silnego wiatru wzdłuż osi y, podczas gdy paralotnia tworzy idealne koła. Możesz zobaczyć, w jaki sposób regresja liniowa daje bezsensowny wynik, poziomą linię trendu. W rzeczywistości jest nawet nieco negatywny, ale nie znaczący. Kierunek wiatru jest pokazany czerwoną linią:yx

wprowadź opis zdjęcia tutaj

Kod R do symulacji:

t=1:123
a=1 #1
b=0 #1/10
y=10*sin(t)+a*t
x=10*cos(t)+b*t

plot(x,y,xlim=c(-60,60))
xp=-60:60
lines(b*t,a*t,col='red')

model=lm(y~x)
lines(xp,xp*model$coefficients[2]+model$coefficients[1])

Tak więc kierunek wiatru wyraźnie nie jest wcale zgodny z linią trendu. Są ze sobą powiązane, ale w niebanalny sposób. Stąd moje stwierdzenie, że linia trendu Excela jest odpowiedzią na pewne pytanie, ale nie na to, o które pytałeś.

Dlaczego PCA

Jak zauważyłeś, istnieją co najmniej dwa elementy ruchu paralotni: dryf z wiatrem i ruch okrężny kontrolowany przez paralotnię. Widać to wyraźnie po połączeniu kropek na wykresie:

wprowadź opis zdjęcia tutaj

Z jednej strony ruch okrężny jest dla Ciebie naprawdę uciążliwy: interesuje Cię wiatr. Z drugiej strony nie obserwujesz prędkości wiatru, obserwujesz jedynie skrzydło. Twoim celem jest zatem wywnioskowanie niewidzialnego wiatru z odczytów lokalizacji obserwowalnych skrzydeł. Właśnie w takiej sytuacji przydatne mogą być narzędzia takie jak analiza czynnikowa i PCA.

Celem PCA jest wyodrębnienie kilku czynników, które określają wiele wyników, poprzez analizę korelacji w wynikach. Jest skuteczny, gdy dane wyjściowe są powiązane z czynnikami liniowymi, co zdarza się w danych: dryf wiatru po prostu dodaje współrzędne ruchu kołowego, dlatego PCA tutaj działa.

Konfiguracja PCA

Ustaliliśmy więc, że PCA powinna mieć tutaj szansę, ale jak to właściwie skonfigurować? Zacznijmy od dodania trzeciej zmiennej, time. Przydzielimy czas od 1 do 123 każdej obserwacji 123, zakładając stałą częstotliwość próbkowania. Oto jak wygląda wykres 3D danych, ukazując jego spiralną strukturę:

wprowadź opis zdjęcia tutaj

Kolejna fabuła pokazuje wyimaginowany środek obrotu skrzydła w postaci brązowych kół. Możesz zobaczyć, jak unosi się na płaszczyźnie lat-lon wraz z wiatrem, podczas gdy wokół niego krąży skrzydło pokazane z niebieską kropką. Czas jest na osi pionowej. Połączyłem środek obrotu z odpowiednią lokalizacją paralotni pokazującej tylko dwa pierwsze okręgi.

wprowadź opis zdjęcia tutaj

Odpowiedni kod R:

library(plotly)       

 para <- read.csv("C:/Users/akuketay/Downloads/para.csv")
 n=24

   para$t=1:123 # add time parameter

   # run PCA
     pZ3=prcomp(para)
     c3=colMeans(para) # PCA was centered
     # look at PCs in columns
       pZ3$rotation

       # get the imaginary center of rotation 
       pc31=t(pZ3$rotation[,1] %*% t(pZ3$x[,1]) )
     eye = pc31 + t(t(rep(1,123))) %*% c3
     eyedata = data.frame(eye)

     p = plot_ly(x=para[1:n,1],y=para[1:n,2],z=para[1:n,3],mode="lines+markers",type="scatter3d") %>%
       layout(showlegend=FALSE,scene=list(xaxis = list(title = 'lat'),yaxis = list(title = 'lon'),zaxis = list(title = 't'))) %>%
     add_trace(x=eyedata[1:n,1],y=eyedata[1:n,2],z=eyedata[1:n,3],mode="markers",type="scatter3d") 
     for( i in 1:n){
         p = add_trace(p,x=c(eyedata[i,1],para[i,1]),y=c(eyedata[i,2],para[i,2]),z=c(eyedata[i,3],para[i,3]),color="black",mode="lines",type="scatter3d")
       }

subplot(p)

Dryft środka obrotu skrzydła jest spowodowany głównie przez wiatr, a ścieżka i prędkość dryfu jest skorelowana z kierunkiem i prędkością wiatru, nieobserwowalnymi zmiennymi będącymi przedmiotem zainteresowania. Oto jak dryf wygląda podczas rzutowania na płaszczyznę lat-lon:

wprowadź opis zdjęcia tutaj

Regresja PCA

Wcześniej ustaliliśmy, że regresja liniowa nie wydaje się tutaj dobrze działać. Doszliśmy do wniosku, dlaczego: ponieważ nie odzwierciedla on leżącego u podstaw procesu, ponieważ ruch skrzydeł jest wysoce nieliniowy. Jest to połączenie ruchu kołowego i dryfu liniowego. Omówiliśmy również, że w tej sytuacji pomocna może być analiza czynnikowa. Oto zarys jednego z możliwych podejść do modelowania tych danych: regresja PCA . Ale najpierw pokażę ci dopasowaną krzywą regresji PCA :

wprowadź opis zdjęcia tutaj

Zostało to uzyskane w następujący sposób. Uruchom PCA na zestawie danych, który ma dodatkową kolumnę t = 1: 123, jak omówiono wcześniej. Otrzymasz trzy główne elementy. Pierwszy to po prostu t. Drugi odpowiada kolumnie lon, a trzeci do kolumny lat.

Dopasowuję dwa ostatnie główne składniki do zmiennej w postaci , gdzie są wyodrębniane z analizy spektralnej składników. Zdarza się, że mają tę samą częstotliwość, ale różne fazy, co nie jest zaskakujące, biorąc pod uwagę ruch kołowy.ω , φasin(ωt+φ)ω,φ

Otóż ​​to. Aby uzyskać dopasowane wartości, odzyskujesz dane z dopasowanych komponentów, podłączając transpozycję macierzy obrotu PCA do przewidywanych głównych komponentów. Mój kod R powyżej pokazuje części procedury, a resztę możesz łatwo zrozumieć.

Wniosek

Ciekawie jest zobaczyć, jak potężna jest PCA i inne proste narzędzia, jeśli chodzi o zjawiska fizyczne, w których procesy leżące u ich podstaw są stabilne, a dane wejściowe przekładają się na dane wyjściowe za pomocą zależności liniowych (lub linearyzowanych). Zatem w naszym przypadku ruch kołowy jest bardzo nieliniowy, ale łatwo zlinearyzowaliśmy go za pomocą funkcji sinus / cosinus na parametrze czasu t. Moje wykresy zostały wyprodukowane z kilkoma liniami kodu R, jak widzieliście.

Model regresji powinien odzwierciedlać proces leżący u podstaw, wtedy tylko Ty możesz oczekiwać, że jego parametry są znaczące. Jeśli jest to paralotnia dryfująca na wietrze, wówczas prosty wykres rozproszenia, taki jak w pierwotnym pytaniu, ukryje strukturę czasową procesu.

Również regresja Excela była analizą przekrojową, dla której regresja liniowa działa najlepiej, podczas gdy dane są procesem szeregów czasowych, w którym obserwacje są uporządkowane w czasie. W tym przypadku należy zastosować analizę szeregów czasowych i przeprowadzono ją w regresji PCA.

Uwagi na temat funkcji

Ponieważ paralotnia tworzy koła, będzie wiele szerokości geograficznych odpowiadających jednej długości geograficznej. W matematyce funkcja odwzorowuje wartość na pojedynczą wartość . Jest to relacja wiele do jednego, co oznacza, że ​​wielokrotność może odpowiadać , ale nie wielokrotność odpowiada pojedynczemu . Właśnie dlatego nie jest funkcją, ściśle mówiąc.x y x y y x l a t = f ( l o n )y=f(x)xyxyyxlat=f(lon)

Aksakal
źródło
11
Dobry chwyt spiralnej struktury! Dwa boczne komentarze: Łatwiej jest pracować z jako alternatywną parametryzacją. Istnieje wiele przypadków, w których wybieramy uśrednianie według okresowości, która nie jest interesująca ani istotna dla głównego problemu. a sin ωt+b cos ωt
Nick Cox
11
To, czy chcesz traktować je jednakowo, czy nie, zależy od celu. To nie jest nieodłączna jakość danych. - Świetny punkt i +1.
Richard Hardy,
@NickCox, zgadza się, też byłoby mniej pracy
Aksakal
Warto zauważyć, że PCA jest uogólnieniem regresji osi głównej do sytuacji, w której masz> 2 zmienne. Ale ponieważ w tym przypadku istnieją tylko 2 zmienne, standardową nazwą tej techniki byłaby regresja osi głównej (czasami nazywana również regresją ortogonalną lub regresją typu II).
Tom Wenseleers
61

Odpowiedź prawdopodobnie dotyczy tego, jak mentalnie oceniasz odległość do linii regresji. Regresja standardowa (typ 1) minimalizuje błąd do kwadratu, gdzie błąd jest obliczany na podstawie odległości w pionie od linii .

Regresja typu 2 może być bardziej analogiczna do oceny najlepszej linii. W nim zminimalizowany błąd kwadratu to prostopadła odległość do linii . Różnica ta ma szereg konsekwencji. Jednym z ważnych jest to, że jeśli zamienisz osie X i Y na swoim wykresie i ponownie dopasujesz linię, uzyskasz inny związek między zmiennymi dla regresji typu 1. W przypadku regresji typu 2 relacja pozostaje taka sama.

Mam wrażenie, że istnieje spora debata na temat tego, gdzie zastosować regresję typu 1 a typ 2, dlatego sugeruję uważne przeczytanie różnic przed podjęciem decyzji, którą zastosować. Regresja typu 1 jest często zalecana w przypadkach, w których jedna oś jest kontrolowana eksperymentalnie lub przynajmniej mierzona ze znacznie mniejszym błędem niż druga. Jeśli te warunki nie zostaną spełnione, regresja typu 1 spowoduje odchylenie nachylenia w kierunku 0, dlatego zaleca się regresję typu 2. Jednak przy wystarczającym hałasie w obu osiach regresja typu 2 najwyraźniej dąży do ich przesunięcia w kierunku 1. Warton i in. (2006) i Smith (2009) są dobrym źródłem do zrozumienia debaty.

Należy również zauważyć, że istnieje kilka subtelnie różnych metod, które mieszczą się w szerokiej kategorii regresji typu 2 (główna oś, zmniejszona główna oś i standardowa regresja głównych osi), i że terminologia dotycząca konkretnych metod jest niespójna.

Warton, DI, IJ Wright, DS Falster i M. Westoby. 2006. Dwuwymiarowe metody dopasowania linii dla allometrii. Biol. Rev. 81: 259–291. doi: 10.1017 / S1464793106007007

Smith, RJ 2009. W sprawie zastosowania i niewłaściwego wykorzystania zmniejszonej głównej osi do dopasowania linii. Jestem. J. Phys. Antropol. 140: 476–486. doi: 10.1002 / ajpa.21090


EDYCJA :

@amoeba wskazuje, że to, co nazywam powyższą regresją typu 2, jest również znane jako regresja ortogonalna; może to być bardziej odpowiedni termin. Jak powiedziałem powyżej, terminologia w tym obszarze jest niespójna, co wymaga dodatkowej uwagi.

Mkt
źródło
19
Debata na temat tego, czy użyć typu 1, czy typu 2? Nie ma o czym dyskutować, kiedy wiesz, jaki jest twój cel (funkcja celu lub funkcja straty). A jeśli nie, cóż, powinieneś to wyjaśnić przed kontynuowaniem.
Richard Hardy,
7
Typ 2 daje również bezsensowne wyniki, jeśli obie osie używają różnych jednostek.
John Dvorak,
4
Używasz „Typu 1” i „Typu 2” tak, jakby to były standardowe warunki. Czy oni są? Nigdy nie kierowałem nikim, kto nazywa zwykłą regresją i regresją ortogonalną „typ 1” i „typ 2”.
ameba
2
@RichardHardy Oczywiście najlepiej jest wyjaśnić konkretny cel. Ale, jak powiedziałem w odpowiedzi, mam wrażenie , że trwa dyskusja na temat ich wykorzystania w podzbiorze przypadków - i te cytowane przeze mnie artykuły (a także sprzeczne rekomendacje, które otrzymuję od recenzentów) wydają się to potwierdzać.
mkt
3
@mkt, dziękuję za wyjaśnienie. Rzeczywiście, może być trochę debaty wśród ludzi, którzy nie są pewni, czego szukają. Tam debata koncentruje się na tym, które z nich jest bardziej odpowiednie dla ich celu merytorycznego. Chciałem podkreślić, że nie ma debaty, gdy cel jest dobrze zdefiniowany, tzn. Cel przedmiotowy jest tłumaczony na język statystyczny (co jest nieuniknione, jeśli stosuje się metody statystyczne). Więc chyba się zgadzamy, podkreślamy tylko różne części argumentu.
Richard Hardy,
31

Pytanie, na które Excel próbuje odpowiedzieć, brzmi: „Zakładając, że y zależy od x, która linia przewiduje y najlepiej”. Odpowiedź jest taka, że ​​z powodu ogromnych różnic w y żadna linia nie mogłaby być szczególnie dobra, a to, co wyświetla Excel, jest najlepsze, co możesz zrobić.

Jeśli weźmiesz proponowaną czerwoną linię i kontynuujesz ją do x = -0,714 i x = -0,712, przekonasz się, że jej wartości są bardzo oddalone od wykresu i znajduje się w dużej odległości od odpowiednich wartości y .

Pytanie, na które Excel nie odpowiada, „która linia jest najbliższa punktom danych”, ale „która linia najlepiej przewidzieć wartości y na podstawie wartości x” i robi to poprawnie.

gnasher729
źródło
4
Dokładnie. Podstawowym założeniem jest „podano x, y jest mierzone / prognozowane”.
Floris,
12

Nie chcę dodawać niczego do innych odpowiedzi, ale chcę powiedzieć, że zostałeś wprowadzony w błąd przez złą terminologię, w szczególności termin „linia najlepszego dopasowania”, który jest używany w niektórych kursach statystycznych.

Intuicyjnie „linia najlepszego dopasowania” wyglądałaby jak Twoja czerwona linia. Ale linia stworzona przez Excela nie jest „linią najlepszego dopasowania”; to nawet nie próbuje być. Jest to wiersz, który odpowiada na pytanie: biorąc pod uwagę wartość x, jaka jest moja najlepsza możliwa prognoza dla y? lub alternatywnie, jaka jest średnia wartość y dla każdej wartości x?

Zwróć uwagę na asymetrię między xiy; użycie nazwy „linia najlepszego dopasowania” przesłania to. Podobnie Excel używa „linii trendu”.

Jest to bardzo dobrze wyjaśnione pod następującym linkiem:

https://www.stat.berkeley.edu/~stark/SticiGui/Text/regression.htm

Możesz chcieć czegoś bardziej podobnego do tego, co nazywa się „Typ 2” w powyższej odpowiedzi lub „Linia SD” na stronie kursu statystyki Berkeley.

Flądrarz
źródło
11

Część problemu optycznego pochodzi z różnych skal - jeśli użyjesz tej samej skali na obu osiach, będzie wyglądać już inaczej.

Innymi słowy, możesz sprawić, że większość takich „najlepiej dopasowanych” linii będzie wyglądać „nieintuicyjnie”, rozkładając jedną skalę osi.

Aganju
źródło
1
Zgadzam się, że to odpowiedź - zakres wartości X wynosi około 0,02 szerokości, ale zakres Y tylko około 0,005 - w rzeczywistości wykres powinien być około 4 razy szerszy niż jest wysoki, i byłoby oczywiste, że najlepsze dopasowanie byłoby poziome. Zjawisko w pytaniu jest czysto wizualne ze względu na różne skale.
RemcoGerlich,
3
@RemcoGerlich Możemy się zgodzić, że jak pokazano w pytaniu, proporcje wykresu nie są pomocne. Ale sugestia, że ​​potrzebujesz wykresu 4 razy szerszego niż wysoki, ponieważ liczbowo zakresy są w tym stosunku, jest nieprawdopodobna i na pewno nie jest faktem. Jeśli jednostki na którejkolwiek z osi zostałyby zmienione 1000 razy, czy sugerowałbyś współczynnik proporcji 4000 lub 0,004? Współczynnik 4x prawdopodobnie będzie jedynie efektem ubocznym różnych jednostek.
Nick Cox,
4
Inne odpowiedzi dają prawidłową odpowiedź. Ten niestety nie. Jeśli przeskalujemy wartości w taki sposób, że otrzymamy ten sam obraz wizualny, ale z jednakowymi osiami, nadal będzie to problem dopasowania „typu 1” w porównaniu z „typem 2”.
Hans Janssen
1
Mówi o „zdroworozsądkowym rozsądku”, który najlepiej pasuje do „ludzkiego oka”. A następnie skalowanie osi jest najważniejsze.
RemcoGerlich,
Ma rację, czasem na to, co wygląda intuicyjnie, wpływ mają głupie rzeczy, takie jak skalowanie, choć nie jest to przypadek taki. Tutaj mamy prawdziwy rozdźwięk między tym, co robi Excel, a tym, czego chce OP
Aksakal
4

Kilka osób zauważyło, że problem jest wizualny - zastosowane skalowanie graficzne wytwarza mylące informacje. Mówiąc dokładniej, skalowanie „lon” jest takie, że wydaje się być ciasną spiralą, co sugeruje, że linia regresji zapewnia słabe dopasowanie (ocena, z którą się zgadzam, rysowana przez ciebie czerwona linia zapewniłaby błędy o niższej kwadratowej wartości, gdyby dane zostały ukształtowane w sposób przedstawiony).

Poniżej przedstawiam wykres rozrzutu utworzony w programie Excel ze zmienionym skalowaniem dla „lon”, aby nie tworzyło ciasnej spirali w twoim wykresie rozrzutu. Dzięki tej zmianie linia regresji zapewnia teraz lepsze dopasowanie wizualne i myślę, że pomaga wykazać, w jaki sposób skalowanie w oryginalnym wykresie rozrzutu zapewniło mylącą ocenę dopasowania.

Myślę, że regresja działa tutaj dobrze. Nie sądzę, że potrzebna jest bardziej złożona analiza.

wprowadź opis zdjęcia tutaj

Dla wszystkich zainteresowanych narysowałem dane za pomocą narzędzia do mapowania i pokazałem regresję dopasowaną do danych. Czerwone kropki to zarejestrowane dane, a zielona to linia regresji.

wprowadź opis zdjęcia tutaj

A oto te same dane na wykresie punktowym z linią regresji; tutaj lat jest traktowane jako zależne, a wyniki lat są odwracane w celu dopasowania do profilu geograficznego.

wprowadź opis zdjęcia tutaj

Bryan
źródło
1
Regresja nie pokazuje kierunku dryfu wiatru
Aksakal
Wiemy tylko lat i lon, a dla podanych danych pokazuje zmianę jednego względem drugiego.
Bryan,
Co oznacza ta linia trendu?
Aksakal
Zakładając, że pierwszym punktem w pliku danych jest lokalizacja początkowa, wydaje się, że istnieje niewielki wzrost na północy trasy dalej na wschód. Dane nie dostarczają żadnych informacji o sile wiatru ani wysokości, ale wskazują kierunek - wschód od północy.
Bryan
Korekta, oprogramowanie do mapowania, którego użyłem, żąda lat-lon, ale jego dane są lon-lat, więc kierunek wiatru byłby nieznaczny na północ od wschodu, tj. Jest niewielki ruch wschodni, im dalej na północ podróż (lub niewielki ruch zachodni, im dalej południe podróżował).
Bryan
1

Twoja myląca regresja zwykłej najmniejszej liczby kwadratów (OLS) (która minimalizuje sumę kwadratowego odchylenia względem przewidywanych wartości, (obserwowana-przewidywana) ^ 2) i regresja osi głównej (która minimalizuje sumy kwadratów odległości prostopadłej między każdym punktem i linia regresji, czasami nazywana jest regresją typu II, regresją ortogonalną lub standardową regresją składowych głównych).

Jeśli chcesz porównać dwa podejścia właśnie w R, po prostu sprawdź

data=read.csv("https://pastebin.com/raw/4TsstQYm")
require(lmodel2)
fit = lmodel2(lat ~ lon, data=data)
plot(fit,method="OLS") # ordinary least squares regression

wprowadź opis zdjęcia tutaj

plot(fit,method="MA") # major axis regression

wprowadź opis zdjęcia tutaj

To, co uważasz za najbardziej intuicyjne (czerwona linia), to tylko regresja głównej osi, która wizualnie jest rzeczywiście najbardziej logiczna, ponieważ minimalizuje prostopadłą odległość do twoich punktów. Regresja OLS pojawi się, aby zminimalizować prostopadłą odległość do punktów tylko wtedy, gdy zmienna xiy ma tę samą skalę pomiaru i / lub ma taką samą ilość błędów (możesz to zobaczyć po prostu na podstawie twierdzenia Pitagorasa). W twoim przypadku twoja zmienna y ma o wiele większy zasięg, stąd różnica ...

Tom Wenseleers
źródło
0

Odpowiedź PCA jest najlepsza, ponieważ myślę, że powinieneś to zrobić, biorąc pod uwagę opis problemu, jednak odpowiedź PCA może mylić PCA i regresję, które są zupełnie innymi rzeczami. Jeśli chcesz ekstrapolować ten konkretny zestaw danych, musisz wykonać regresję i prawdopodobnie chcesz wykonać regresję Deminga (co, jak sądzę, czasami przebiega według typu II, nigdy nie słyszałem o tym opisie). Jeśli jednak chcesz dowiedzieć się, które kierunki są najważniejsze (wektory własne) i mieć miarę ich względnego wpływu na zbiór danych (wartości własne), PCA jest właściwym podejściem.

Andrew H
źródło
4
Jest to głównie seria komentarzy do innych odpowiedzi. Lepiej byłoby skomentować każdy z nich bezpośrednio. Nie widzę, aby odpowiedź @Aksakal w ogóle myliła PCA i regresję.
Nick Cox
Chciałem skomentować bezpośrednio, ale nie byłem wystarczająco wiarygodny. Nie sądzę, aby Aksakal mylił regresję, ale pomyślałem, że warto wskazać OP, że PCA i regresja są zupełnie inne.
Andrew H