Est-il possible d'évaluer GLM en Python / scikit-learn en utilisant les distributions de Poisson, Gamma ou Tweedie comme famille pour la distribution d'erreur?

12

J'essaie d'apprendre un peu Python et Sklearn, mais pour mon travail, j'ai besoin d'exécuter des régressions qui utilisent des distributions d'erreur des familles Poisson, Gamma et surtout Tweedie.

Je ne vois rien dans la documentation à leur sujet, mais ils se trouvent dans plusieurs parties de la distribution R, donc je me demandais si quelqu'un avait vu des implémentations quelque part pour Python. Ce serait super cool si vous pouvez me diriger vers les implémentations SGD de la distribution Tweedie!

Joe
la source
Les implémentations GLM les plus robustes en Python se trouvent dans [statsmodels] statsmodels.sourceforge.net, bien que je ne sois pas sûr qu'il existe des implémentations SGD.
Trey
Merci Trey. Il semble qu'il n'y ait pas de support pour Tweedie, mais ils ont une discussion sur les distributions de Poisson et Gamma.
joe

Réponses:

13

Il y a du mouvement pour implémenter des modèles linéaires généralisés avec des distributions d'erreur de Poisson, gamma et Tweedie dans scikit-learn.

Statsmodels possède des implémentations de modèles linéaires généralisés avec des distributions d'erreur de Poisson, Tweedie et gamma.

Pendant que je mets à jour cette réponse, Spark ML prend également en charge (expérimentalement) les distributions de Poisson, Tweedie et gamma.

Neal
la source
5
J'y travaille: github.com/madrury/py-glm
Matthew Drury
@MatthewDrury Awesome!
Neal
@MatthewDrury nice! Je viens de commencer à utiliser les GLM, et les modèles de statistiques ont certaines limites. Vous n'êtes pas sûr de bien comprendre les mathématiques, mais votre résolution interne pourrait -elle être remplacée par un solveur de type moindres carrés arbitraire? Je pensais que cela ajouterait de la flexibilité (par exemple, passer dans sklearn.ElasticNet pour obtenir l'évolutivité / la régularisation / etc. "gratuitement"?).
GeoMatt22