Czy można oceniać GLM w Python / scikit-learn przy użyciu rozkładów Poissona, Gammy lub Tweedie jako rodziny dla rozkładu błędów?

12

Próbuję nauczyć się języka Python i Sklearn, ale do mojej pracy muszę uruchomić regresje, które wykorzystują rozkłady błędów z rodzin Poissona, Gammy, a zwłaszcza Tweediego.

Nie widzę nic w dokumentacji na ich temat, ale są one w kilku częściach dystrybucji R, więc zastanawiałem się, czy ktoś widział gdzieś implementacje dla Pythona. Byłoby bardzo fajnie, gdybyś mógł skierować mnie w stronę implementacji SGD dystrybucji Tweedie!

Joe
źródło
Najbardziej niezawodne implementacje GLM w Pythonie znajdują się w [statsmodels] statsmodels.sourceforge.net, chociaż nie jestem pewien, czy istnieją implementacje SGD.
Trey
Dzięki, Trey. Wygląda na to, że Tweedie nie ma wsparcia, ale dyskutują o rozkładach Poissona i Gammy.
Joe

Odpowiedzi:

13

Istnieje ruch w celu wdrożenia uogólnionych modeli liniowych z rozkładami błędów Poissona, gamma i Tweediego w scikit-learn.

Statsmodels ma implementacje uogólnionych modeli liniowych z rozkładami błędów Poissona, Tweediego i gamma.

Podczas aktualizacji tej odpowiedzi Spark ML (eksperymentalnie) obsługuje również dystrybucje Poissona, Tweediego i gamma.

Neal
źródło
5
Pracuję nad tym: github.com/madrury/py-glm
Matthew Drury
@MatthewDrury Awesome!
Neal
@MatthewDrury nice! Właśnie zacząłem używać GLM, a statsmodels ma pewne ograniczenia. Nie jestem pewien, czy w pełni rozumiem matematykę, ale czy twoje wewnętrzne rozwiązanie może zostać zastąpione dowolnym rozwiązaniem typu najmniejszych kwadratów? Myślałem, że zwiększy to elastyczność (np. Przejście w sklearn.ElasticNet, aby uzyskać skalowalność / regularyzację / itp. „Za darmo”?).
GeoMatt22
2

H2O ma uogólniony model liniowy .

Używają jednak ramek H2O, więc nie można bezpośrednio używać Pandas / Numpy.

Jakub Bartczuk
źródło