Jak skaluje się różne techniki statystyczne (regresja, PCA itp.) Wraz z wielkością i rozmiarem próbki?


10

Czy istnieje znana ogólna tabela technik statystycznych, która wyjaśnia, w jaki sposób skalują się w zależności od wielkości i wymiaru próbki? Na przykład mój przyjaciel powiedział mi kiedyś, że czas obliczeń po prostu szybkiego sortowania jednowymiarowych danych o rozmiarze n jest równy n * log (n).

Na przykład, jeśli cofniemy y względem X, gdzie X jest zmienną d-wymiarową, to czy będzie to O (n ^ 2 * d)? Jak skaluje się, jeśli chcę znaleźć rozwiązanie za pomocą dokładnego rozwiązania Gaussa-Markowa w porównaniu do najmniejszych kwadratów metodą Newtona? A może po prostu otrzymujesz rozwiązanie w porównaniu z testami istotności?

Chyba bardziej chcę dobrego źródła odpowiedzi (takiego jak artykuł podsumowujący skalowanie różnych technik statystycznych) niż dobrej odpowiedzi tutaj. Jak, powiedzmy, lista obejmująca skalowanie regresji wielokrotnej, regresji logistycznej, PCA, regresji proporcjonalnej hazardu Coxa, grupowanie K-średnich itp.


To dobre pytanie. Wiele książek statystycznych mówi o teoretycznych aspektach danych wielowymiarowych, a nie o aspektach obliczeniowych.
shadowtalker

W wielu przypadkach oryginalna literatura omawia złożoność. Ale często złożoność teoretyczna jest bezużyteczna. QuickSort ma najgorszy przypadek O (n ^ 2), ale często jest najszybszy - szybszy niż HeapSort, który ma najgorszy przypadek O (n log n). Jeśli przeprowadzisz małe badania, znajdziesz wyniki złożoności dla wielu algorytmów - jeśli są znane. Np PCA jest O (nd ^ 3), K-means jest O (nkid) itd.
ma zakończyć - anony-Mousse

Odpowiedzi:


6

Większość wydajnych (i nietrywialnych) algorytmów statystycznych ma charakter iteracyjny, więc analiza najgorszego przypadku O()jest nieistotna, ponieważ najgorszym przypadkiem jest „brak zbieżności”.

Niemniej jednak, gdy masz dużo danych, nawet algorytmy liniowe ( O(n)) mogą być powolne, a następnie musisz skupić się na stałej „ukrytej” za notacją. Na przykład obliczenie wariancji pojedynczego wariantu wykonuje się naiwnie dwukrotnie skanując dane (raz w celu obliczenia szacunkowej średniej, a następnie raz w celu oszacowania wariancji). Ale można to również zrobić za jednym razem .

W przypadku algorytmów iteracyjnych ważniejsze jest tempo konwergencji i liczba parametrów w funkcji wymiarowości danych, element, który ma duży wpływ na konwergencję. W wielu modelach / algorytmach rośnie liczba parametrów wykładniczych wraz z liczbą zmiennych (np. Splajny), podczas gdy inne rosną liniowo (np. Maszyny wektorów wsparcia, losowe lasy, ...)


Nie jestem pewien, czy się z tym zgadzam: przy projektowaniu algorytmu dla problemu statystycznego wiele obaw dotyczy złożoności każdego iteracyjnego kroku (i jest to zwykle udokumentowane w manuskrypcie). Jednak, jak zauważyłeś, często nie jest to łatwe do podsumowania, ponieważ dwa algorytmy o tej samej złożoności na iterację mogą działać bardzo różnie z powodu koniecznych iteracji. Biorąc to pod uwagę, bardzo rzadko liczba wymaganych iteracji rośnie szybciej niż O(log(n) ).
Cliff AB

5

W tytule wspomniałeś o regresji i PCA, a dla każdego z nich jest jednoznaczna odpowiedź.

Asymptotyczna złożoność regresji liniowej zmniejsza się do O (P ^ 2 * N), jeśli N> P, gdzie P jest liczbą cech, a N jest liczbą obserwacji. Więcej szczegółów w złożoności obliczeniowej operacji regresji metodą najmniejszych kwadratów .

Waniliowy PCA to O (P ^ 2 * N + P ^ 3), jak w najszybszym algorytmie PCA dla danych wielowymiarowych . Czy istnieją jednak szybkie algorytmy dla bardzo dużych matryc, wyjaśnione w tej odpowiedzi i najlepszy algorytm PCA dla ogromnej liczby funkcji? .

Jednak nie sądzę, aby ktokolwiek skompilował choć jedną recenzję, referencję lub książkę na ten temat. To może nie być zły projekt dla mojego wolnego czasu ...


Dzięki, to bardzo pomocne! Jeśli dokonasz przeglądu literatury na temat różnych technik modelowania predykcyjnego, jestem pewien, że bardzo by się o tym wspominał. Byłoby to bardzo pomocne dla osób, które chcą rozróżnić, które algorytmy stosować w dużych n lub dużych przypadkach p, lub dla średnich wartości tych dla bardziej precyzyjnych obliczeń. Czy wiesz, jak skalują się niektóre z niejasnych technik? (Jak proporcjonalna regresja hazardu Coxa lub analiza czynnikowa potwierdzająca)
Bridgeburners

Niestety nie, ale jeśli kiedykolwiek dokonam tej recenzji, postaram się być wyczerpująca. Prawie nie nazwałbym regresji Coxa „niejasnym”, przynajmniej w mojej dziedzinie.
shadowtalker,

5

Udzieliłem bardzo ograniczonej częściowej odpowiedzi na pakiet analizy czynnikowej, który opracowałem dla Staty w tym artykule Stata Journal, w oparciu o czas rzeczywistych symulacji. Analiza czynnikowa potwierdzająca została wdrożona jako technika szacowania maksymalnego prawdopodobieństwa i bardzo łatwo mogłem zobaczyć, jak czas obliczeń rośnie z każdym wymiarem (wielkość próby n, liczba zmiennych p, liczba czynników k). Ponieważ jest to w dużej mierze zależne od tego, jak Stata myśli o danych (zoptymalizowana do obliczeń w kolumnach / obserwacjach zamiast w wierszach), zauważyłem, że wydajność jestO(n^{0.68} (k+p)^{2.4})gdzie 2.4 jest najszybszą asymptotyczną inwersją macierzy (a jest tego sporo w potwierdzającej iteracyjnej maksymalizacji analizy czynnikowej). Nie podałem odniesienia do tego drugiego, ale myślę, że dostałem to z Wikipedii .

X'X108


2
Formatowanie matematyczne nie działa na DataScience? Naprawdę? Być może powinniśmy poprosić o to.
StasK

Dobra uwaga na temat dokładności numerycznej.
shadowtalker
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.