É possível avaliar o GLM no Python / scikit-learn usando as distribuições Poisson, Gamma ou Tweedie como a família para a distribuição de erros?

12

Tentando aprender um pouco de Python e Sklearn, mas para o meu trabalho eu preciso executar regressões que usem distribuições de erro das famílias Poisson, Gamma e, especialmente, Tweedie.

Não vejo nada na documentação sobre eles, mas eles estão em várias partes da distribuição R, então eu queria saber se alguém já viu implementações em algum lugar para Python. Seria muito legal se você pudesse me indicar as implementações SGD da distribuição Tweedie!

Joe
fonte
As implementações GLM mais robustas do Python estão em [statsmodels] statsmodels.sourceforge.net, embora não tenha certeza se existem implementações SGD.
313 Trey
Graças à Trey. Parece que não há suporte para Tweedie, mas eles têm alguma discussão sobre as distribuições de Poisson e Gamma.
joe

Respostas:

12

Há um movimento para implementar modelos lineares generalizados com distribuições de erro Poisson, gama e Tweedie no scikit-learn.

O Statsmodels possui implementações de modelos lineares generalizados com distribuições de erro de Poisson, Tweedie e gama.

Enquanto estou atualizando esta resposta, o Spark ML também (experimentalmente) suporta distribuições Poisson, Tweedie e gama.

Neal
fonte
5
Eu estou trabalhando nisso: github.com/madrury/py-glm
Matthew Drury
@MatthewDrury Awesome!
Neal
@MatthewDrury nice! Acabei de começar a usar o GLM e o statsmodels tem algumas limitações. Não sei se entendi perfeitamente a matemática, mas sua solução interna poderia ser substituída por um solucionador arbitrário do tipo de mínimos quadrados? Eu estava pensando que isso adicionaria flexibilidade (por exemplo, passe sklearn.ElasticNet para obter escalabilidade / regularização / etc. "De graça"?).
GeoMatt22
2

H2O tem modelo linear generalizado s.

No entanto, eles usam H2O Frames, então você não pode usar Pandas / Numpy diretamente.

Jakub Bartczuk
fonte