问题标签 [patsy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
163 浏览

python - Patsy 公式中的多个分类变量

我有一些数据,有多个分类元素。

我想使用回归对它们进行建模,为了方便起见,使用与 statsmodels 一起使用的 patsy 公式。

当仅使用一个分类变量时,如公式中所示'C(Weekday, Treatment) - 1',它按预期工作,删除截距并在每个类别的设计矩阵中留下一列。

但是,当使用 2 个不同的分类变量时,例如'C(Status, Treatment) + C(Weekday, Treatment) - 1',则结果矩阵确实没有截距,而且“工作日”的值之一也丢失了,好像我没有-1'd。

是否有一些我没有看到的统计原因?去除截距不足以阻止完美的共线性吗?谢谢

0 投票
1 回答
72 浏览

python - TypeError:“DesignMatrix”对象不可调用

我正在尝试在 JupyterLab 的 ipynb 笔记本上使用 patsy 包创建 B 样条:

这在我第一次运行时工作正常。但是当我再次尝试重新运行此单元格时,它会失败并出现以下错误:


0 投票
1 回答
342 浏览

python - 如何绘制 statsmodels 拟合的置信区间?

我想在我为数据的三次样条制作的图上显示置信区间,但我不知道应该怎么做。从理论上讲,我知道当我们靠近边缘时 CI 应该偏离拟合线,但我想出的唯一解决方案是这个 janky 添加,它没有显示正确的 CI。

这是代码:

输出

请注意,该图应该是具有四个自由度的自然三次样条函数,但我不确定我的解决方案是否正确。实现它的正确方法是什么?

0 投票
1 回答
80 浏览

python - 如何在 patsy 矩阵上进行 sm.Logit 回归?

我想为 P(wage > 250) 的具有四个自由度的自然三次样条函数创建一个 Logit 图,但由于某种原因发生了错误。我不明白为什么,因为 OLS 工作正常。

这是代码(它应该可以完全工作而无需任何调整,当然,有问题的部分除外):

错误是:

我尝试转置数据框,但结果是一些乱码图。我该如何正确地做到这一点?

0 投票
1 回答
60 浏览

python - Patsy 和 Pandas 之间的标准化结果不同 - Python

我发现了一个有趣的问题,我很想听听你的解释。

如果您打印出标准化x2 列的结果,您会发现结果完全不同。结果如下:

Patsy_Standarlize_Output = [-1.21701061,-0.07791372,-0.66884723,2.23584028,0.69898536,-0.71843674,-0.00416815,-0.2484492]

Pandas_Standarlize_Output = [-1.13840918, -0.07288161, -0.62564929, 2.09143707, 0.65384094, -0.67203603, -0.00389895, -0.23240294]

我的问题是,既然我对同一列进行了标准化,为什么结果不同?

我期待听到您的精彩诠释!非常感谢您的时间和帮助!

0 投票
0 回答
56 浏览

python-3.x - 固定效应模型的 Patsy 等效项

我正在尝试使用以下 Python 代码在 Python 上创建一个固定效果模型 -

它的 patsy 等价物是什么?我们如何在 PanelOLS 上创建它?

0 投票
1 回答
62 浏览

python - 将 Patsy 用于 Logistic 回归模型的值错误

为了我的问题,我制作了一个非常简单的逻辑模型。这是下面的代码;

请原谅我蹩脚的代码,我正在匆忙写这个 - 需要去工作哈哈。这段代码抛出了一个值错误 - ValueError: shape (5,2) and (5,2) not aligned: 2 (dim 1) != 5 (dim 0) about line 18。

我真的不明白这些是如何不对齐的,因为我只是使用 predict() 将训练数据 X 传递回模型。我的感觉是我错过了关于 patsy.dmatrices 的一些东西。

有人有想法吗?

0 投票
0 回答
97 浏览

python - Patsy Dmatrices X, y 分裂

使用 patsy.dmatrices 将我的数据拆分为 y,x 并且我正在丢失观察结果。前任:

df.shape的长度约为 54,000,000,但是在 x/y 拆分之后,我的y.shapex.shape正在记录大约 43,000,000 次观察。我检查了我的df.isna().sum(),我全盘坐在 0 位。有人可以解释发生了什么,或者解决这个问题吗?我已经使用备用变量在同一个数据帧上执行了拆分,例如

并且尺寸没有问题。

0 投票
1 回答
485 浏览

python - 有没有办法在没有拦截(PyMC3)的情况下运行 GLM.from_formula ?

这可能是一个愚蠢的问题,但我搜索了 pyMC3 文档和论坛,似乎找不到答案。我正在尝试从我知道先验不应该有截距的数据集创建线性回归模型。目前我的实现如下所示:

正如我所说,我知道我不应该拦截,但我似乎无法找到一种方法来告诉 GLM.from_formula() 不要寻找一个。大家有解决办法吗?提前致谢!

0 投票
0 回答
58 浏览

python-3.x - 如何在生产中使用带有 patsy cr 的平滑线?

我使用 patsy cr(使用自然样条曲线)平滑了一组特征,但与看起来非常基本的东西混淆了。这是 patsy 的示例原始数据点和相应的平滑点。

和情节:

在此处输入图像描述

因此,基于平滑点的线性回归模型需要 10 列的输入。这是由 cr 创建的。所以假设在生产中我有一个新的 x = 100。那么我怎样才能根据已经创建的平滑线获得新 x 的平滑值?

尝试使用一个值时,我得到以下信息:

无法计算 n_inner_knots(=4) + 2 个不同的结:在 lower_bound(=30.023212890625) 和 upper_bound(=998.42234375) 之间找到 1 个数据值。