Używam Matlaba do wykonywania nieograniczonych najmniejszych kwadratów (zwykłych najmniejszych kwadratów) i automatycznie wyprowadza współczynniki, statystyki testowe i wartości p.
Moje pytanie brzmi: po wykonaniu ograniczonych najmniejszych kwadratów (ściśle nieujemnych współczynników), wyprowadza tylko współczynniki, BEZ statystyk testowych, wartości p.
Czy można obliczyć te wartości, aby zapewnić istotność? I dlaczego nie jest bezpośrednio dostępny w oprogramowaniu (lub innym oprogramowaniu do tego celu?)
Odpowiedzi:
Rozwiązywanie nieujemnych najmniejszych kwadratów (NNLS) opiera się na algorytmie, który odróżnia go od zwykłych najmniejszych kwadratów.
Wyrażenie algebraiczne dla standardowego błędu (nie działa)
Za pomocą zwykłych najmniejszych kwadratów można wyrazić wartości p za pomocą testu t w połączeniu z oszacowaniami wariancji współczynników.
Wyrażenie dla próbki wariancji oszacowania współczynników θ jest V R ( θ ) = σ 2 ( X , T X ) - 1 Wariancja błędów σ będzie ogólnie znana, ale może być określona z wykorzystaniem pozostałości . Wyrażenie to można wyprowadzić algebraicznie, zaczynając od wyrażenia dla współczynników w kategoriach pomiarów yθ^ V.a r ( θ^) = σ2)( XT.X)- 1 σ y
To implikuje / zakłada, żeθ może być ujemne, a zatem rozkłada się, gdy współczynniki są ograniczone.
Odwrotna matryca informacji Fishera (nie dotyczy)
Zmienność / rozkład oszacowania współczynników również asymptotycznie zbliża się do obserwowanej matrycy informacji Fishera :
Ale nie jestem pewien, czy dotyczy to dobrze tutaj. Szacunek NNLS nie jest obiektywnym oszacowaniem.
Metoda Monte Carlo
Kiedy wyrażenia stają się zbyt skomplikowane, możesz użyć metody obliczeniowej do oszacowania błędu. Z Monte Carlo Metoda symulacji rozkładu losowości eksperymentu poprzez symulację powtórzeń eksperymentu (przeliczenie / modelowanie nowych danych) i na tej podstawie oszacować wariancję współczynników.
źródło
Jeśli chcesz być OK użyciu RI że można również użyć
bbmle
„smle2
funkcję optymalizacji najmniejszą funkcji kwadraty prawdopodobieństwo i obliczyć 95% przedziały ufności na nieujemnych nnls współczynników. Co więcej, możesz wziąć pod uwagę, że twoje współczynniki nie mogą stać się ujemne, optymalizując dziennik swoich współczynników, tak że w skali przekształconej wstecz nigdy nie mogą stać się ujemne.Oto liczbowy przykład ilustrujący to podejście, tutaj w kontekście dekonwolacji superpozycji pików chromatograficznych w kształcie gaussa z szumem gaussowskim na nich: (mile widziane komentarze)
Najpierw symulujmy niektóre dane:
Dekonwolujmy teraz zmierzony głośny sygnał
y
za pomocą pasmowanej macierzy zawierającej przesunięte skopiowane znane jądro rozmycia w kształcie gaussabM
(jest to nasza macierz współzmienna / projektowa).Po pierwsze, rozłóżmy sygnał za pomocą nieujemnych najmniejszych kwadratów:
Teraz zoptymalizujmy prawdopodobieństwo logarytmu ujemnego naszego celu utraty gaussa i zoptymalizuj log współczynników, aby w skali transformacji zwrotnej nigdy nie mogły być ujemne:
Nie próbowałem porównywać wydajności tej metody względem ładowania nieparametrycznego lub parametrycznego, ale z pewnością jest to znacznie szybsze.
Byłem też skłonny myśleć, że powinienem być w stanie obliczyć przedziały ufności Walda dla nieujemnych
nnls
współczynników w oparciu o zaobserwowaną matrycę informacji Fishera, obliczoną w skali współczynnika przekształconego logarytmicznie w celu wymuszenia ograniczeń nieujemności i oszacowaną na podstawiennls
szacunków.Myślę, że tak to wygląda i faktycznie powinno być formalnie identyczne z tym, co zrobiłem
mle2
powyżej:Wyniki tych obliczeń i zwrócone przez
mle2
są prawie identyczne (ale znacznie szybsze), więc myślę, że jest to słuszne i odpowiadałoby temu, co domyślnie robiliśmy zmle2
...Samo
nnls
dopasowanie współzmiennych z dodatnimi współczynnikami w dopasowaniu przy użyciu regularnego dopasowania modelu liniowego btw nie działa, ponieważ takie dopasowanie modelu liniowego nie uwzględniałoby ograniczeń nieujemności, a zatem skutkowałoby bezsensownymi przedziałami ufności, które mogłyby być ujemne. W artykule „Wnioskowanie o dokładny wybór modelu post dla marginalnego badania przesiewowego” autorstwa Jasona Lee i Jonathana Taylora przedstawiono również metodę przeprowadzania wnioskowania wyboru po modelu na nieujemnych współczynnikach nnls (lub LASSO) i wykorzystujemy do tego obcięte rozkłady Gaussa. Nie widziałem jednak żadnej otwartej implementacji tej metody dla dopasowań nnls - dla dopasowań LASSO istnieje selektywne wnioskowaniepakiet, który robi coś takiego. Jeśli ktoś zdarzyłby się na wdrożenie, proszę dać mi znać!W powyższej metodzie można również podzielić dane na zestaw treningowy i walidacyjny (np. Obserwacje nieparzyste i parzyste) i wnioskować zmienne towarzyszące o dodatnich współczynnikach z zestawu treningowego, a następnie obliczyć przedziały ufności i wartości p z zestawu walidacyjnego. Byłoby to nieco bardziej odporne na nadmierne dopasowanie, ale spowodowałoby również utratę mocy, ponieważ wykorzystano by tylko połowę danych. Nie zrobiłem tego tutaj, ponieważ samo ograniczenie nieegatywności jest już dość skuteczne w ochronie przed przeuczeniem.
źródło
Aby być bardziej szczegółowym w odniesieniu do metody Monte Carlo, o której mowa w Marcijn, możesz użyć Bootstrap, metody ponownego próbkowania, która obejmuje próbkowanie pierwotnych danych (z zastąpieniem) wielu zestawów danych w celu oszacowania rozkładu szacowanych współczynników, a tym samym wszelkich powiązanych statystyk, w tym przedziały ufności i wartości p.
Szeroko stosowana metoda została szczegółowo opisana tutaj: Efron, Bradley. „Metody ładowania początkowego: kolejne spojrzenie na scyzoryk”. Przełomy w statystyce. Springer, New York, NY, 1992. 569-593.
Matlab ma to zaimplementowane, patrz https://www.mathworks.com/help/stats/bootstrp.html, szczególnie sekcja zatytułowana Bootstrapping a Model Regresji.
źródło