Wiem, jak wykonać regresję liniową na zbiorze punktów. To znaczy, wiem, jak dopasować wybrany wielomian do danego zestawu danych (w sensie LSE). Jednak nie wiem, jak zmusić moje rozwiązanie do przejścia przez niektóre wybrane punkty. Widziałem to już wcześniej, ale nie pamiętam, jak nazywała się ta procedura, nie mówiąc już o tym, jak to zrobiono.
Jako bardzo prosty i konkretny przykład, powiedzmy, że mam 100 punktów rozproszonych na płaszczyźnie XY i wybieram dopasowanie przez nie wielomianu dowolnej kolejności. Wiem, jak bardzo dobrze wykonać tę regresję liniową. Powiedzmy jednak, że chcę „wymusić” moje rozwiązanie, aby przejść przez, powiedzmy, trzy moje punkty danych na współrzędnych , i , (i odpowiadające im współrzędne y oczywiście).x = 19 x = 89
Jak nazywa się ta ogólna procedura, jak to się robi i czy są jakieś szczególne pułapki, o których muszę wiedzieć?
Edytować:
Chciałbym dodać, że szukam konkretnego sposobu na to. Napisałem program, który faktycznie wykonuje regresję liniową na jeden z dwóch sposobów, odwracając bezpośrednio macierz kowariancji lub poprzez opadanie gradientu. Pytam, w jaki sposób krok po kroku mam modyfikować to, co zrobiłem, tak aby zmusić rozwiązanie wielomianowe do przejścia przez określone punkty?
Dzięki!
Odpowiedzi:
Model, o którym mowa, można napisać
gdzie jest wielomianem stopnia przechodzącym przez określone punkty a jest losowy. (Użyj wielomianu interpolującego Lagrange'a ). Pisanie pozwala nam przepisać ten model jako d - 1 ( x 1 , y 1 ) , … , ( x d , y d ) ε ( x - x 1 ) ⋯ ( x - x d ) = r ( x )p ( xja) = yja re- 1 ( x1, y1) , … , ( Xre, yre) ε ( x - x1) ⋯ ( x - xre) = r ( x )
który jest standardowym OLS problemem regresji wielokrotnej o takiej samej strukturze błędu, co oryginał , w którym zmienne niezależne są takie ilości . Wystarczy obliczyć te zmienne i uruchomić znane oprogramowanie do regresji , upewniając się, że nie zawiera ono stałego terminu. Obowiązują zwykłe zastrzeżenia dotyczące regresji bez stałego terminu; w szczególności może być sztucznie wysoki; zwykłe interpretacje nie mają zastosowania.R ( x ), x i , i = 0 , 1 , ... , p R 2p + 1 r (x ) xja, i = 0 , 1 , … , s R2)
(W rzeczywistości regresja przez początek jest szczególnym przypadkiem tej konstrukcji, w której , , a , więc model to )( x 1 , y 1 ) = ( 0 , 0 ) p ( x ) = 0 y = β 0 x + ⋯ + β p x p + 1 + ε .re= 1 ( x1, y1) = ( 0 , 0 ) p ( x ) = 0 y= β0x + ⋯ + βpxp + 1+ ε .
Oto działający przykład (w
R
)Trzy stałe punkty są pokazane na czerwono - nie są częścią danych. Nieograniczone dopasowanie do najmniejszych kwadratów wielomianu czwartego rzędu jest oznaczone czarną kropkowaną linią (ma pięć parametrów); ograniczone dopasowanie (rzędu pięciu, ale tylko z trzema wolnymi parametrami) jest pokazane czerwoną linią.
Sprawdzanie wyniku najmniejszych kwadratów (
summary(fit0)
isummary(fit)
) może być pouczające - pozostawiam to zainteresowanemu czytelnikowi.źródło
Jeśli chcesz zmusić linię regresji do przejścia przez jeden punkt, możesz to zrobić na okrągło. Powiedzmy, że masz na . Po prostu ponownie wyśrodkuj swoje dane z tym punktem jako punktem początkowym. Oznacza to, że odejmujesz od każdej wartości , a od każdej wartości . Teraz punkt znajduje się na początku płaszczyzny współrzędnych. Następnie po prostu dopasowujesz linię regresji, jednocześnie tłumiąc punkt przecięcia (wymuszając, aby punkt przecięcia wynosił (0,0). Ponieważ jest to transformacja liniowa, możesz łatwo później przekształcić wszystko później, jeśli chcesz. x i x y i y(xi,yi) xi x yi y
Jeśli chcesz zmusić linię do przejścia przez dwa punkty na płaszczyźnie XY, jest to również dość łatwe. Dowolne dwa punkty można dopasować do linii. Możesz użyć wzoru punkt-nachylenie, aby obliczyć swoje nachylenie, a następnie użyć jednego z punktów, nachylenia i równania linii, aby znaleźć punkt przecięcia.
Należy pamiętać, że dopasowanie prostej przez trzy punkty na płaszczyźnie współrzędnych może nie być możliwe. Możemy jednak zagwarantować, że będą idealnie pasować do paraboli (tzn. Zarówno jak i ). Jest do tego również algebra, ale gdy przechodzimy w górę, łatwiej jest po prostu dopasować model do oprogramowania, włączając tylko te trzy (więcej) punkty do zestawu danych. Podobnie można uzyskać linię prostą najlepiej zbliżoną do tych trzech punktów, dopasowując model, który ma dostęp tylko do tych trzech punktów. X 2X X2
Czuję się jednak zmuszony wspomnieć w tym miejscu, że może to nie być świetna rzecz (chyba że twoja teoria zawiera bardzo solidne powody, aby to zrobić). Możesz także przyjrzeć się regresji bayesowskiej , w której możesz pozwolić swojemu modelowi znaleźć najlepszą kombinację informacji w twoich danych oraz kilka wcześniejszych informacji (które możesz wykorzystać do silnego odchylenia twojego przechwytywania do zera, na przykład bez całkiem zmuszając to).
źródło
Aby dodać trochę dodatkowych informacji do doskonałego pokrycia przypadku liniowego @ gung, w przypadku wielomianowym wyższego rzędu istnieje kilka sposobów, aby to zrobić dokładnie lub w przybliżeniu (ale tak dokładnie, jak potrzebujesz).
Po pierwsze, zwróć uwagę, że stopnie swobody wielomianu (a nawet dowolnej dopasowanej funkcji) muszą być co najmniej tak duże, jak liczba „znanych” punktów. Jeśli stopnie swobody są równe, dane w ogóle nie są potrzebne, ponieważ krzywa jest całkowicie określona. Jeśli jest więcej „znanych” punktów, nie możesz ich rozwiązać (chyba że wszystkie leżą na dokładnie tym samym wielomianu określonego stopnia, w którym to przypadku wystarczą podzbiory odpowiedniej wielkości). Odtąd porozmawiam tylko o tym, kiedy wielomian ma więcej df niż znane punkty (takie jak sześcienny - z 4df - i trzy znane punkty, tak że sześcienny nie jest nadmiernie określony przez znane punkty ani całkowicie przez nie określony) .
1) „krzywa musi przejść przez ten punkt” jest ograniczeniem liniowym parametrów, skutkującym ograniczonym oszacowaniem lub ograniczonymi najmniejszymi kwadratami (chociaż oba terminy mogą zawierać inne rzeczy niż ograniczenia liniowe, takie jak ograniczenia dodatni). Możesz dołączyć wiązania liniowe przez jedno z nich
(a) przekształcenie parametryzacji w celu niejawnego uwzględnienia każdego ograniczenia skutkującego modelem niższego rzędu.
(b) przy użyciu standardowych narzędzi, które mogą zawierać ograniczenia liniowe dotyczące parametrów dopasowania co najmniej kwadratów. (zwykle za pomocą wzoru podobnego do powyższego linku)
2) Innym sposobem jest regresja ważona. Jeśli nadasz znanym punktom wystarczająco dużą wagę, możesz uzyskać zasadniczo takie samo dopasowanie jak w (1). Często jest to łatwo wdrażane, może być znacznie szybsze niż zmiana parametrów i może być wykonane w pakietach, które nie oferują ograniczonego dopasowania.
Obowiązują wszystkie zastrzeżenia @ gung
źródło