¿Es posible evaluar GLM en Python / scikit-learn usando las distribuciones de Poisson, Gamma o Tweedie como la familia para la distribución de errores?

12

Intento aprender algo de Python y Sklearn, pero para mi trabajo necesito ejecutar regresiones que utilicen distribuciones de error de las familias Poisson, Gamma y especialmente Tweedie.

No veo nada en la documentación sobre ellos, pero están en varias partes de la distribución R, por lo que me preguntaba si alguien ha visto implementaciones en alguna parte de Python. ¡Sería genial si me pudieras orientar hacia implementaciones SGD de la distribución Tweedie!

joe
fuente
Las implementaciones GLM más robustas en Python están en [statsmodels] statsmodels.sourceforge.net, aunque no estoy seguro de si hay implementaciones SGD.
Trey
Gracias Trey Parece que no hay soporte para Tweedie, pero tienen alguna discusión sobre las distribuciones de Poisson y Gamma.
Joe

Respuestas:

13

Hay movimiento para implementar modelos lineales generalizados con distribuciones de error de Poisson, gamma y Tweedie en scikit-learn.

Statsmodels tiene implementaciones de modelos lineales generalizados con distribuciones de error de Poisson, Tweedie y gamma.

Mientras actualizo esta respuesta, Spark ML también (experimentalmente) admite distribuciones de Poisson, Tweedie y gamma.

Neal
fuente
55
Estoy trabajando en ello: github.com/madrury/py-glm
Matthew Drury
@MatthewDrury ¡Impresionante!
Neal
@MatthewDrury agradable! Acabo de comenzar a usar GLM y statsmodels tiene algunas limitaciones. No estoy seguro de entender completamente las matemáticas, pero ¿podría su solución interna ser reemplazada por un solucionador arbitrario de mínimos cuadrados? Estaba pensando que esto agregaría flexibilidad (por ejemplo, pasar sklearn.ElasticNet para obtener escalabilidad / regularización / etc. "Gratis"?).
GeoMatt22