Czy po dopasowaniu modelu liniowego możliwe jest rozłożenie dopasowanych reszt na odchylenie i wariancję?


9

Chciałbym sklasyfikować punkty danych jako wymagające bardziej złożonego modelu lub niepotrzebujące bardziej złożonego modelu. Moje obecne myślenie polega na dopasowaniu wszystkich danych do prostego modelu liniowego i obserwacji wielkości reszt, aby dokonać tej klasyfikacji. Następnie przeczytałem trochę na temat wkładu błędu i wariancji w błąd i zdałem sobie sprawę, że jeśli mógłbym bezpośrednio obliczyć błąd systematyczny, może to być lepsza miara niż praca z błędem całkowitym (resztkowym lub standaryzowanym resztkowym).

Czy możliwe jest oszacowanie odchylenia bezpośrednio za pomocą modelu liniowego? Z danymi testowymi czy bez? Czy pomocna byłaby tutaj walidacja krzyżowa?

Jeśli nie, to czy można użyć uśrednionego zestawu ładującego modeli liniowych (myślę, że nazywa się to „workowaniem”) w celu przybliżenia błędu?


1
Może są one równoważne (odchylenie szczątkowe vs odchylenie), ponieważ wariancja jest stała?
kmace

1
Czy możesz wyjaśnić, co masz na myśli, w pierwszym oświadczeniu swojego postu? W tym celu chcesz sklasyfikować „punkty danych” (indywidualne obserwacje?) Jako „wymagające bardziej złożonego lub nie wymagającego bardziej złożonego modelu”. Nie jest dla mnie jasne, co to znaczy (choć brzmi to jak wykrywanie wartości odstających lub inny problem z dobrością dopasowania), ani w jaki sposób odnosi się do późniejszych pytań na temat szacowania błędu.
Ryan Simmons,

Mam na myśli to, że istnieje podzbiór moich próbek, które mają inną funkcję docelową . Powiedzmy, że dla większości próbek prawdziwa funkcja docelowa jest następująca: a dla mniejszości próbek funkcja docelowa to: . Jeśli nie zezwalam na warunki interakcji w moim modelu (mój zestaw hipotez ich nie zawiera), powinienem dopasować wszystkie dane i zobaczyć, że próbki, które mają duży błąd, prawdopodobnie mają funkcję celuf(x)f1(x)=3x1+2x2f2(x)=3x1+2x2+x1x2f2
kmace

2
Jak już zauważył Ryan, pytanie nie jest jasno określone. Twój komentarz wskazuje kierunek „dobroci dopasowania”. Ale nie można tego zmienić. Wydaje się, że masz na myśli wstępną koncepcję, która wprowadza w błąd. Możesz obliczyć wiele rzeczy, jeśli połączysz model i niektóre dane i określisz parametry modelu. Ale biorąc pod uwagę, że zawsze zaczynasz od statystycznie ograniczonego zestawu danych, nie ma prawdy, którą możesz odkryć, mocniej kopiąc lub używając więcej łopat. Żadna metoda, którą zastosujesz, nie przyniesie prawdy, ale może wskazywać, jak bardzo możesz się mylić.
cherubin

Odpowiedzi:


12

Zasadniczo nie można rozłożyć błędu (reszty) na składniki błędu i wariancji. Prostym powodem jest to, że na ogół nie znasz prawdziwej funkcji. Przypomnij sobie, że błąd i że jest nieznaną rzeczą, którą chcesz oszacować.bias(f^(x))=E[f^(x)f(x)],f(x)

Co z ładowaniem? Możliwe jest oszacowanie odchylenia estymatora przez ładowanie, ale nie chodzi o tworzenie worków i nie sądzę, że istnieje sposób na użycie bootstrap do oceny błędu w ponieważ ładowanie jest nadal oparte na jakimś pojęciu Prawdy i nie może, pomimo początków jego nazwy, stworzyć czegoś z niczego.f^(x),

Aby wyjaśnić: oszacowanie obciążenia początkowego błędu w estymatorze wynosi θ^

bias^B=θ^()θ^,

z jest średnią obliczoną na swojej statystyce próbek bootstrap . Ten proces naśladuje próbkowanie z pewnej populacji i obliczanie ilości twojego zainteresowania. Działa to tylko wtedy, gdy można zasadniczo obliczyć bezpośrednio z populacji. Szacunkowa wartość błędu początkowego ocenia, czy oszacowanie wtyczki - tj. Dokonując tego samego obliczenia na próbce zamiast w populacji - jest tendencyjne.θ^()B θ^

Jeśli chcesz tylko użyć resztek do oceny dopasowania modelu, jest to całkowicie możliwe. Jeśli, jak mówisz w komentarzach, chcesz porównać modele zagnieżdżone i , możesz wykonać ANOVA, aby sprawdzić, czy większy model znacznie zmniejsza sumę błąd kwadratu.f1(x)=3x1+2x2f2(x)=3x1+2x2+x1x2


8

Jedną z sytuacji, w której można oszacować rozkład jest sytuacja, w której replikowano punkty (tj. Aby uzyskać więcej niż jedną odpowiedź dla różnych kombinacji predyktorów).

Jest to głównie ograniczone do sytuacji, w których masz kontrolę nad zmiennymi niezależnymi (np. W eksperymentach) lub gdy wszystkie są dyskretne (gdy nie ma zbyt wielu kombinacji x i możesz pobrać wystarczająco dużą próbkę, aby kombinacje wartości x zdobyć wiele punktów).

Replikowane punkty umożliwiają bezobsługowy model oszacowania średniej warunkowej. W takich sytuacjach istnieje możliwość dekompozycji resztkowej sumy kwadratów na czysty błąd i brak dopasowania , ale masz również bezpośrednie (choć niekoniecznie głośne) oszacowania błędu dla każdej kombinacji wartości x, na które masz wiele odpowiedzi.


Nie sądzę, żeby to zadziałało. Rozważ przypadek, w którym pominąłeś ważną zmienną objaśniającą w swoim modelu. Jeśli ta zmienna objaśniająca jest ortogonalna względem wszystkich innych zmiennych objaśniających, uważam, że jej wpływu (lub jej braku) nie można wykryć za pomocą tej lub innej metodologii sugerowanej w innych odpowiedziach.
Cagdas Ozgenc

2
@Cagdas To nie działa we wszystkich okolicznościach; wykrywa stronniczość z niewłaściwie określonej formy modelu, niekoniecznie brakuje predyktorów
Glen_b

1

W nieco bardziej złożonym obszarze filtrowania Kalmana czasami ludzie testują wartości resztkowe (obserwowane pomiary minus przewidywane pomiary) w celu znalezienia zmian w modelu lub warunków uszkodzenia. Teoretycznie, jeśli model jest idealny, a hałas jest gaussowski, wówczas reszty powinny być również gaussowskie ze średnią zerową i być zgodne z przewidywaną macierzą kowariancji. Ludzie mogą testować niezerową średnią za pomocą testów sekwencyjnych, takich jak test współczynnika prawdopodobieństwa sekwencyjnego (SPRT). Twoja sytuacja jest inna, ponieważ masz stałą partię danych, a nie stały strumień nowych danych. Ale podstawowa idea spojrzenia na rozkład próbek reszt może nadal obowiązywać.

Wskazujesz, że modelowany proces może się czasem zmieniać. Następnie, aby zrobić więcej z danymi, które posiadasz, prawdopodobnie będziesz musiał zidentyfikować inne czynniki powodujące tę zmianę. Rozważ 2 możliwości: (1) być może potrzebujesz modeli lokalnych zamiast jednego modelu globalnego, np. Ponieważ istnieją poważne nieliniowości tylko w niektórych regionach operacyjnych, lub (2), być może proces zmienia się w czasie.

Jeśli jest to system fizyczny, a twoje próbki nie są rozbierane w dużych odstępach czasu, możliwe jest, że te zmiany procesu utrzymują się przez znaczny okres czasu. Oznacza to, że prawdziwe parametry modelu mogą czasami ulec zmianie, utrzymując się przez pewien czas. Jeśli twoje dane są oznaczone datą, możesz spojrzeć na pozostałości w czasie. Załóżmy na przykład, że dopasowałeś y = Ax + b wykorzystując wszystkie swoje dane, znajdując A i b. Następnie wróć i przetestuj resztkową sekwencję r [k] = y [k] - Ax [k] - b, gdzie k jest indeksem odpowiadającym czasom w kolejności sekwencyjnej. Poszukaj wzorców w czasie, np. Okresów, w których statystyki podsumowujące, takie jak || r [k] || przez pewien czas pozostaje wyższy niż normalnie. Testy sekwencyjne byłyby najbardziej czułe na wykrywanie błędów o charakterze ciągłego błędu systematycznego, takich jak SPRT lub nawet CUSUM dla poszczególnych wskaźników wektorowych.


1

Odpowiedź brzmi: nie , ponieważ błąd i wariancja są atrybutami parametrów modelu, a nie danymi wykorzystywanymi do ich oszacowania. Istnieje częściowy wyjątek od tego stwierdzenia, który dotyczy zmienności stronniczości i zmienności (ha!) W przestrzeni predyktora; więcej na ten temat poniżej. Zauważ, że nie ma to absolutnie nic wspólnego ze znajomością jakiejś „prawdziwej” funkcji dotyczącej predyktorów i zmiennych odpowiedzi.

Rozważ oszacowanie w regresji liniowej, , gdzie jest macierzą predyktorów, jest oszacowań parametrów, a jest wektorem odpowiedzi . Załóżmy dla argumentu, że mamy nieskończoną populację danych, z których można czerpać (nawiasem mówiąc, nie jest to całkowicie śmieszne - gdybyśmy aktywnie rejestrowali dane z jakiegoś fizycznego procesu, moglibyśmy szybko rejestrować dane predykcyjne i odpowiedzi , co praktycznie spełnia to założenie). Rysujemy więc obserwacji, z których każda składa się z jednej wartości odpowiedzi i wartości dla każdej zββ^=(XT.X)-1XT.YXN.×P.β^P.×1YN.×1N.P.PredyktoryNastępnie obliczamy nasze oszacowanie i rejestrujemy wartości. Weźmy zatem cały ten proces i powtórzmy to razy, za każdym razem czyniąc niezależnym losowaniem z populacji. Będziemy gromadzić szacunki nad którymi możemy obliczyć wariancję każdego elementu w wektorze parametrów. Należy zauważyć, że wariancja tych oszacowań parametrów jest odwrotnie proporcjonalna do i proporcjonalna do , zakładając ortogonalność predyktorów.β^N.jatmirN.N.jatmirβ^N.P.

Odchylenie każdego parametru można oszacować podobnie. Chociaż możemy nie mieć dostępu do funkcji „true”, załóżmy, że możemy wykonać dowolną dużą liczbę losowań z populacji w celu obliczenia , która posłuży jako proxy dla wartości parametru „true” . Zakładamy, że jest to bezstronna ocena (zwykłe najmniejsze kwadraty) i że liczba zastosowanych obserwacji była wystarczająco duża, tak że wariancja tej oceny jest znikoma. Dla każdego z parametrów obliczamy , gdzie wynosi od do . Średnią z tych różnic traktujemy jako oszacowanie odchylenia w odpowiednim parametrze.β^bmistP.β^bmistjot-β^jotjot1N.jatmir

Istnieją odpowiednie sposoby powiązania stronniczości i wariancji z danymi, ale są one nieco bardziej skomplikowane. Jak widać, odchylenie i wariancję można oszacować dla modeli liniowych, ale będziesz potrzebować sporo danych powstrzymujących. Bardziej podstępnym problemem jest fakt, że kiedy zaczniesz pracować ze stałym zestawem danych, twoje analizy zostaną zanieczyszczone osobistą wariancją, ponieważ już zacząłeś wędrować przez ogród ścieżek rozwidlenia i nie ma sposobu, aby wiedzieć, jak to powielą się poza próbą (chyba że wymyśliłeś tylko jeden model i przeprowadziłeś tę analizę i postanowiłeś pozostawić ją w spokoju po tym).

Jeśli chodzi o same punkty danych, najbardziej poprawną (i trywialną) odpowiedzią jest to, że jeśli istnieje jakakolwiek różnica między aYY^, potrzebujesz bardziej złożonego modelu (zakładając, że możesz poprawnie zidentyfikować wszystkie odpowiednie predyktory; nie możesz). Bez wchodzenia w nudny traktat o filozoficznej naturze „błędu”, sedno sprawy jest takie, że działo się coś, co spowodowało, że Twój model stracił swój ślad. Problem polega na tym, że dodanie złożoności zwiększa wariancję, co prawdopodobnie spowoduje, że nie będzie ona oznaczona w innych punktach danych. Dlatego obawa przed przypisaniem błędu na poziomie pojedynczego punktu danych raczej nie będzie owocnym przedsięwzięciem. Wyjątek (wspomniany w pierwszym akapicie) wynika z faktu, że odchylenie i wariancja są w rzeczywistości funkcjami samych predyktorów, więc możesz mieć duże odchylenie w jednej części przestrzeni predyktora, a mniejsze odchylenie w innej (to samo dla wariancji).Y-Y^wielokrotnie (gdzie i nie została oszacowana na podstawie ) i wykreślania nastawienie (średni) i zmienność w zależności od wartości . Myślę jednak, że to dość wyspecjalizowany problem.Y^=Xβ^β^ YX

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.