问题标签 [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 投票
1 回答
145 浏览

python - 使用 re 从 Patsy 公式中删除术语

上下文:Python 3.4.3

我对正则表达式不是很好,而且我似乎无法找到一个强大的解决方案来解决这个问题re

假设我们有一个很长的patsy 公式,中间的某个地方是这样的表达式:

Patsy 公式只是遵循良好规则的字符串,所以我想知道是否有人编写过/可以轻松编写一个强大的方法来从给定公式中删除特定术语?因此,例如:

等等。这也需要对在右侧公式规范的开头/结尾有一个变量是健壮的。

我有限的 regex-foo 只产生如下内容:

也许是一个半复杂的 if/elsere.sub情况?

0 投票
1 回答
3594 浏览

python - 将 ols 函数与包含数字/空格的参数一起使用

我在使用 statsmodels.formula.api 函数时遇到了很多困难

由于我的预测器名称的性质。预测变量中有明显不喜欢的数字和空格等。我知道我需要使用类似 patsy.builtins.Q 的东西所以假设我的预测器是 weight.in.kg ,它应该输入如下:

所以我需要从列表中获取我的公式,并且使用这个 patsy.builtin.Q 修改列表中的每个项目都会出现困难

[候选人] 是我的预测变量列表。

最亲爱的 python 专家,我的问题是,我到底如何将列表 [candidate] 中的每个项目放在以下表达式的引号内:

问('')

这样 ols 函数才能真正读取它?抱歉,如果这非常明显,我不擅长 python。

0 投票
1 回答
504 浏览

python - 解析具有未知列数的 Pandas 数据框以在 statsmodels.api 中使用

我想创建一个通用脚本来对多个数据集执行线性回归。每个数据集将具有相同的 y 变量,称为“SM”和未知数量的 x 变量。如果我确切地知道哪些数据将用于回归,我就能够成功地做到这一点。例如:

然后,打印数据给出:

然后我准备数据框并进行线性回归:

这一切都很好。但是,我希望能够导入一个列数未知的 excel 文件,这样我就可以做到:

我可以解析数据框并提取单个列,但我不知道如何将它们放入进行线性回归所需的公式中。任何建议表示赞赏!

0 投票
1 回答
1772 浏览

python - python逻辑回归 - patsy设计矩阵和分类数据

对 python 和机器学习很陌生。

我正在尝试建立一个逻辑回归模型。我曾在 R 中工作以获得 lambda,并使用交叉验证来找到最佳模型,现在正在将其移至 python。

在这里,我创建了一个设计矩阵并使其稀疏。然后运行逻辑回归。它似乎正在工作。

我的问题是,既然我已经说过我的术语 item_number 是一个类别,我怎么知道哪个已成为虚拟变量?我怎么知道每个类别名称对应的系数?

0 投票
1 回答
259 浏览

python-3.x - 拟合 patsy 模型中的偏移

使用 patsy,我了解如何打开或关闭拦截。但我还没有设法获得水平偏移。例如,我希望能够适应,本质上

与 x_opt 免费配合。我试着这样写:

为 y 使用一个常数列。但是在 np.abs() 括号内, patsy “关闭”,并且 y - x 只是被解释为一个数字。如果我将 y 移到 1 或 20,我会得到不同的答案。

类似的问题适用于例如 np.pow(1-x, 2) 或正弦波。能够适应 x 偏移将非常有帮助。这可能吗?或者这正是 patsy 不做非线性的意思?

0 投票
0 回答
570 浏览

regression - statsmodels patsy 假设检验

不知道这属于哪里,所以也在交叉验证中询问这个。我正在运行以下回归: from patsy import dmatrices import statsmodels.api as sm

现在我需要检验intercept=0 和beta=1 的联合假设。我试过这样做:

但出现以下错误:

我也试过

但得到了

这样做的正确方法是什么?

0 投票
0 回答
241 浏览

python - 使用 statsmodels 和 patsy 拟合精确方程

Statsmodels 允许使用 R 样式公式使用 patsy 和statsmodels.formula.api. 我想使用 pandas DataFrame 中的列来拟合特定函数,但是,我似乎只能接近。例如,如果我有以下带有列的数据框,['A', 'B', 'C', 'D']并且想要拟合以下形式的方程:

我可以编写公式字符串,y ~ (A + B):D-1它会产生两个系数:A:D and B:D. 然后我可以做一些代数并去掉其中一个前面的系数,但不能同时去掉两者。

有没有一种简单的方法来适应这种形式的自定义函数,而无需切换到 scipy curve_fit 或 lmfit?

编辑

澄清一下,我的目标是获得 D 的拟合值,让 A 和 B 成为存储在数据框中的值。为了让它工作,我生成了一个名为 1 的虚拟列D。所以我拥有的已知值是y, A, and BD是我的适合参数。到目前为止,我获得了两个看起来像 的结果,y=A:D*A + B:D*B然后我可以提取它以获得类似y=(A + B:D/A:D*B)/A:D.This works well,除了我不想在 B 前面有系数。

0 投票
1 回答
163 浏览

python - 如何使用 Patsy 创建所有可能的公式组合以进行模型选择?

我目前正在使用 Python 的 Patsy 模块为我的模型创建矩阵输入。例如,我可能使用的公式是

但是,我想执行模型选择,所以我想从最简单的模型创建所有可能的公式

到最复杂的模型

Patsy 中是否有命令或某种方式可以生成所有可能的字符串组合?

0 投票
3 回答
2247 浏览

python - 如何获取 statsmodels / patsy 公式所依赖的列?

假设我有一个pandas数据框:

现在我statsmodels使用公式(patsy在引擎盖下使用)拟合模型:

我想要的是一个依赖列的列表dffit以便我可以fit.predict()在另一个数据集上使用。list(fit.params.index)例如,如果我尝试,我会得到:

我已经尝试重新创建 patsy 设计矩阵并使用design_info,但我仍然只能得到x1:x2. 我想要的是:

甚至:

我怎样才能从fit对象中得到这个?

0 投票
1 回答
344 浏览

python - 三次样条中的python patsy截距项

我正在尝试了解 python patsy 库中的三次样条生成。据我从输出中可以看出

y1带截距)和y2(不带截距)是一样的。有什么我想念的吗?谢谢!