Mam trochę danych i starałem się dopasować do nich płynną krzywą. Nie chcę jednak wymuszać na nim zbyt wielu wcześniejszych przekonań ani zbyt silnych wstępnych koncepcji (z wyjątkiem tych sugerowanych przez resztę mojego pytania) ani żadnych konkretnych dystrybucji.
Chciałem po prostu dopasować go do jakiejś gładkiej krzywej (lub mieć dobre oszacowanie rozkładu prawdopodobieństwa, z którego mógł pochodzić). Jedyną znaną mi metodą jest szacowanie gęstości jądra (KDE). Zastanawiałem się, czy ludzie znają inne metody szacowania takiej rzeczy. Chciałem tylko ich listę i mogę z tego zrobić własne badania, aby dowiedzieć się, z których chcę skorzystać.
Podawanie jakichkolwiek linków lub dobrych referencji (lub intuicji, które są dobre) są zawsze mile widziane (i zachęcane)!
źródło
Odpowiedzi:
Nie określasz, że mówisz o ciągłych zmiennych losowych, ale zakładam, skoro wspomniałeś o KDE, że to zamierzasz.
Dwie inne metody dopasowania gładkich gęstości:
1) oszacowanie gęstości log-splajn. Tutaj krzywą splajnu dopasowuje się do gęstości logarytmicznej.
Przykładowy artykuł:
Kooperberg i Stone (1991),
„Badanie szacowania gęstości logspline,”
Statystyka obliczeniowa i analiza danych , 12 , 327-347
Kooperberg zawiera link do pliku PDF swojej pracy tutaj , pod „1991”.
Jeśli używasz R, jest na to paczka . Przykład wygenerowanego przez niego dopasowania znajduje się tutaj . Poniżej znajduje się histogram dzienników zbioru danych oraz reprodukcje oszacowań gęstości logspline i jądra z odpowiedzi:
Oszacowanie gęstości logspline:
Oszacowanie gęstości jądra:
2) Modele z mieszanką skończoną . Tutaj wybiera się pewną wygodną rodzinę rozkładów (w wielu przypadkach normalną) i przyjmuje się, że gęstość jest mieszaniną kilku różnych członków tej rodziny. Zauważ, że szacunki gęstości jądra mogą być postrzegane jako taka mieszanina (w przypadku jądra Gaussa są one mieszaniną Gaussów).
Bardziej ogólnie, można je dopasować za pomocą ML lub algorytmu EM, lub w niektórych przypadkach poprzez dopasowanie momentu, chociaż w szczególnych okolicznościach inne podejścia mogą być wykonalne.
(Istnieje mnóstwo pakietów R, które wykonują różne formy modelowania mieszanin.)
Dodano w edycji:
3) Uśrednione przesunięte histogramy
(które nie są dosłownie gładkie, ale być może wystarczająco gładkie dla Twoich nieokreślonych kryteriów):
Wyobraź sobie obliczanie sekwencji histogramów przy określonej stałej szerokości przedziału ( ) w poprzek początku początku przedziału , który przesuwa się o dla każdej liczby całkowitej każdym razem, a następnie uśrednia. Na pierwszy rzut oka wygląda to jak histogram wykonany przy szerokości , ale jest znacznie płynniejszy.b b/k k b/k
Np. Obliczyć 4 histogramy każdy dla szerokości 1, ale z przesunięciem o + 0, + 0,25, + 0,5, + 0,75, a następnie uśrednić wysokości dla dowolnego . W efekcie powstaje coś takiego:x
Schemat zaczerpnięty z tej odpowiedzi . Jak mówię, jeśli przejdziesz do tego poziomu wysiłku, równie dobrze możesz dokonać oceny gęstości jądra.
źródło
Z zastrzeżeniem powyższych komentarzy na temat założeń, takich jak gładkość itp. Można wykonać Bayesowskie szacowanie nieparametrycznej gęstości przy użyciu modeli mieszanin z procesem Dirichleta wcześniej.
Poniższy rysunek pokazuje kontury gęstości prawdopodobieństwa odzyskane z oszacowania MCMC dwuwymiarowego normalnego modelu mieszaniny DP dla „starych wiernych” danych. Punkty są zabarwione IIRC zgodnie z klastrowaniem uzyskanym na ostatnim etapie MCMC.
Teh 2010 stanowi dobre tło.
źródło
Popularnym wyborem są losowe lasy (patrz konkretnie rozdział piąty „ Lasy decyzyjne: ujednolicone ramy dla klasyfikacji, regresji, szacowania gęstości, uczenia się na wiele sposobów i uczenia częściowo nadzorowanego ”.
Szczegółowo opisuje algorytm i ocenia go w porównaniu z innymi popularnymi wyborami, takimi jak k-średnich, GMM i KDE. Losowy Las jest zaimplementowany w R i scikit-learn.
Losowy Las to sprytne drzewa decyzyjne.
źródło