Dimungkinkan untuk mengevaluasi GLM dengan Python / scikit-belajar menggunakan distribusi Poisson, Gamma, atau Tweedie sebagai keluarga untuk distribusi kesalahan?

12

Mencoba mempelajari beberapa Python dan Sklearn, tetapi untuk pekerjaan saya, saya perlu menjalankan regresi yang menggunakan distribusi kesalahan dari keluarga Poisson, Gamma, dan terutama Tweedie.

Saya tidak melihat apa pun dalam dokumentasi tentang mereka, tetapi mereka berada di beberapa bagian dari distribusi R, jadi saya bertanya-tanya apakah ada yang melihat implementasi di mana saja untuk Python. Akan sangat keren jika Anda bisa mengarahkan saya ke implementasi SGD dari distribusi Tweedie!

joe
sumber
Implementasi GLM paling kuat di Python ada di [statsmodels] statsmodels.sourceforge.net, meskipun saya tidak yakin apakah ada implementasi SGD.
Trey
Trey terima kasih. Sepertinya tidak ada dukungan untuk Tweedie, tetapi mereka memiliki beberapa diskusi tentang distribusi Poisson dan Gamma.
joe

Jawaban:

13

Ada gerakan untuk menerapkan model linier umum dengan distribusi kesalahan Poisson, gamma, dan Tweedie di scikit-learn.

Statsmodels memiliki implementasi model linear umum dengan distribusi Poisson, Tweedie, dan gamma error.

Sementara saya memperbarui jawaban ini, Spark ML juga (secara eksperimen) mendukung distribusi Poisson, Tweedie, dan gamma.

Neal
sumber
5
Saya sedang mengusahakannya: github.com/madrury/py-glm
Matthew Drury
@MatthewDrury Luar Biasa!
Neal
@ MatthewDrury bagus! Saya baru saja mulai menggunakan GLM, dan statsmodels memiliki beberapa keterbatasan. Tidak yakin saya memahami matematika sepenuhnya, tetapi bisakah pemecahan batin Anda diganti dengan pemecah tipe kuadrat-sewenang-wenang? Saya berpikir ini akan menambah fleksibilitas (mis. Lewat sklearn.ElasticNet untuk mendapatkan skalabilitas / regularisasi / dll. "Gratis"?).
GeoMatt22
2

H2O memiliki Generalized Linear Model s.

Mereka menggunakan H2O Frames, jadi Anda tidak dapat menggunakan Pandas / Numpy secara langsung.

Jakub Bartczuk
sumber