Wilkinson公式的实现。
项目描述
Formulaic是Python中Wilkinson公式的性能实现。
- 文档: https://matthewwardrop.github.io/formulaic
- 源代码: https://github.com/matthewwardrop/formulaic
- 问题跟踪器: https://github.com/matthewwardrop/formulaic/issues
它提供
- 高性能的dataframe到模型矩阵的转换。
- 支持在转换一个数据集时所做的编码选择在其它数据集上重用。
- 可扩展的公式解析。
- 可扩展的数据输入/输出插件,包括对以下内容的实现:
- 输入
pandas.DataFrame
pyarrow.Table
- 输出
pandas.DataFrame
numpy.ndarray
scipy.sparse.CSCMatrix
- 输入
- 支持公式的符号微分(因此是模型矩阵)。
- 以及更多。
示例代码
import pandas
from formulaic import Formula
df = pandas.DataFrame({
'y': [0, 1, 2],
'x': ['A', 'B', 'C'],
'z': [0.3, 0.1, 0.2],
})
y, X = Formula('y ~ x + z').get_model_matrix(df)
y =
y | |
---|---|
0 | 0 |
1 | 1 |
2 | 2 |
X =
截距 | x[T.B] | x[T.C] | z | |
---|---|---|---|---|
0 | 1.0 | 0 | 0 | 0.3 |
1 | 1.0 | 1 | 0 | 0.1 |
2 | 1.0 | 0 | 1 | 0.2 |
注意上述内容可以简写为
from formulaic import model_matrix
model_matrix('y ~ x + z', df)
基准测试
公式法通常在密集和稀疏模型矩阵方面优于R,并且在密集矩阵方面远优于patsy
(Python的现有实现)(patsy
不支持稀疏模型矩阵输出)。
有关更多详细信息,请参阅此处。
相关项目和现有技术
- Patsy:Python中Wilkinson公式的先前实现,广泛应用于(例如在statsmodels中)。它拥有出色的文档(这有助于启动此项目),以及丰富的功能集。
- StatsModels.jl
@formula
:Julia中Wilkinson公式的实现。 - R公式:R中Wilkinson公式的实现,详细介绍见此处。[R本身是S的实现,其中公式首先被广泛使用]。]
- 一切的开始:Wilkinson, G. N. 和 C. E. Rogers. 方差分析因子模型的符号描述。皇家统计学会会刊 22,第 392–399 页,1973 年。
使用情况
以下是一些使用Formulaic的项目
- Glum(具有所有功能的Python高性能GLM)。
- Lifelines(Python中的生存分析)。
- Linearmodels(statsmodels中缺少的额外线性模型,包括工具变量和面板数据模型)。
- Pyfixest(遵循fixest语法的Python快速高维固定效应回归)。
- Tabmat(用于处理表格数据的有效矩阵表示)。
- 在此处添加您的项目!
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
formulaic-1.0.2.tar.gz (430.7 kB 查看哈希)
构建分布
formulaic-1.0.2-py3-none-any.whl (94.5 kB 查看哈希)
关闭
formulaic-1.0.2.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6eb65bedd1903c5381d8f2ae7a55b6ba13cb77d57bbaf6e4278f3b2c38e3660e |
|
MD5 | aad18be801546200597f40d3371131c2 |
|
BLAKE2b-256 | 8d98a045ff811d7138b6f28a86055865672a025a7f5fd5a7946916ebde998a03 |
关闭
公式化-1.0.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 663328b038a0eb7644f59400615da7abf2672b0e11124b3bef3307afc441d97c |
|
MD5 | b0c19254612ce2213f2a752cc922952d |
|
BLAKE2b-256 | f7a3eeb29e0dbfd6ef0bafd0b3107649e0b8a02b382265f5e9572c7bda22eeff |