Quantco/glum

High performance Python GLMs with all the features!

解决的问题

glum 是一个快速、以 Python 为首要设计的广义线性模型(GLM)库,提供最小二乘法、泊松回归和逻辑回归等常见统计方法的统一接口。它解决了对广泛分布支持、灵活正则化技术以及高性能的需求,尤其是在观测数远大于预测变量数(N >> K)的情况下。

工作原理

该库提供了类似 scikit-learn 的 API 用于模型拟合。支持多种分布(正态、泊松、二项、伽马、逆高斯、负二项、Tweedie)以及可自定义的链接函数。通过 formulaic 支持基于公式的模型定义,并通过 narwhals 实现与 pandas、polars 等多种数据框后端的兼容性。

适用人群

需要支持 L1、L2 和弹性网络正则化、且具备高性能 GLM 实现的数据科学家和统计学家,以及需要对未正则化模型进行经典统计推断的用户。

主要亮点

  • 广泛的分布支持:包含正态、泊松、二项、伽马、逆高斯、负二项和 Tweedie 分布。
  • 高性能:在 N >> K 的情况下,性能始终优于其他现代库。
  • 灵活的正则化:支持 L1、L2(包括 Tikhonov 惩罚)和弹性网络正则化,并内置交叉验证以确定最优正则化路径。
  • 基于公式的指定:支持 formulaic 风格的模型定义,包括单调性约束。
  • 后端无关:通过 narwhals 与 pandas、polars 及其他数据框兼容。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目