问题标签 [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.
python - 具有分类变量的 statsmodels 中的聚类标准错误(Python)
我想在使用分类变量和聚集标准错误的 statsmodels 中运行回归。
我有一个包含机构、治疗、年份和注册列的数据集。治疗是一个假人,机构是一个字符串,其他都是数字。我确保删除任何空值。
我得到以下信息:
ValueError:权重和列表的长度不同。
有没有办法解决这个问题,所以我的标准错误集群?
python - Statsmodels中OLS的预测结果如何识别主体?
我正在 Jupyter 笔记本中使用 Statsmodels 进行线性回归。数据位于名为“train_base”的 DataFrame 中,其中 id 列标识了我的数据库的每个唯一主题。train_base 是这样的:
主要代码块如下所示。请注意,我正在使用另一个名为“test_base”的基础进行预测,并且该基础也具有与“train_base”相同的结构,除了“y”列:
预测是这样的:
在我看来,预测中显示的第一列是原始 train_base 的索引(我正确吗?)。由于我需要确定我的测试库中每个人的预测值,我必须做什么才能在预测中包含“id”列?
python - PatsyError:错误评估因素:NameError:
我是 Python 编程的绝对新手,目前正在学习它的基本统计数据。
我面临着一个
“PatsyError:错误评估因素:NameError:”
在代码上pred = model.predict(pd.DataFrame(calo['wt'])
下面是我的代码:
这会引发一个错误:
需要您的帮助来解决这个问题。
提前致谢。:)
python - 如何在python(patsy)中编写多元公式,VAR是否支持?
我想使用向量自回归 ( VAR
) 进行多元数据分析,但想要更多的自由度。例如,我正在处理的问题可能如下所示:
所以你看,上面的方程不是一个简单的VAR(1)
或VAR(2)
模型,而是一个混合体。python的任何统计模型包是否支持这样的方程,以及如何用公式或patsy编写它?
python - 如何使用 pastey 创建 dmatrix 而不必单独写出每个变量名?
假设我有一个大数据框和一些列列表,我希望能够将它们放在一个 patsy dmatricies 中,而不必单独写出每个名称。也就是说,我想将列表中的名称称为列名列表以形成术语。而不是写出我的数据框列中的每一个术语。
例如采取以下df
据我了解,将其称为广告矩阵需要我执行以下操作:
y,x = dmatrices('a~b+c+d+e', data=df)
但是,我希望能够按照以下方式运行更多内容:
然而,这并不成功。
我还尝试使用包含两个条目的字典,例如回归和控制,其中填充了列名列表,然后将其输入到 dmatricies 的第一个条目中,但它也不起作用。
有没有人有任何建议可以更有效地让事情进入 patsy 的 dmatricies,而不是写出我们想要包含在矩阵中的每一个列名?
提前感谢,如果我不清楚任何事情,请告诉我。
python - patsy dmatrices 引发“AssertionError”
Noob 尝试我的第一个负二项式回归。谷歌 Colab 上的 iPython。我将数据集加载为 pandas df。下面公式中的特征(和目标)都出现在 df 中(我将其命名为“数据集”)。
我也带进来
然而,当我
我只是得到AssertionError:
, 和一个指向第四行的箭头(开始“响应”的那个)。我不知道如何解决这个问题,也无法在这个网站上找到类似的问题 - 请提供任何明智的指导?
python - 如何将列名列表转换为 patsy 公式字符串?
我有一个 pandas 列名列表(由所有虚拟变量组成),我想将其转换为公式字符串以复制和粘贴用于 statsmodels。
有没有办法以编程方式做到这一点?
示例代码
期望的输出:
python - 将一堆不同的项目移动到 python 列表的末尾
我有这个 python 列表:
['Intercept', 'a', 'country[T.BE]', 'country[T.CY]', 'country[T.DE]', 'b', 'c', 'd', 'e']
我想要最后的国家项目:
['Intercept', 'a', 'b', 'c', 'd', 'e', 'country[T.BE]', 'country[T.CY]', 'country[T.DE]']
如何做到这一点?
(注意,这些项目是我将用于回归分析的数据框的列标题。列名和奇怪的排序由 patsy.dmatrices 生成。)
我尝试了排序、弹出、删除和列表理解,但无济于事。在这种情况下,我决定不解释我做了什么来解决这个问题并且没有工作。这是一个简单的问题,与一位评论员不同,我没有几十年的编程经验。
python - 如何在 Python (patsy) 中正确使用新版本的包?已经安装了,但是继续使用旧版本
- 在我的 Python 3.7.2 上,我需要包 patsy 0.5.1
- -pip install patsy (导致 0.5.1) 正在安装
- 以下代码仍然显示 patsy 0.5.0
import patsy
patsy.__version__
- pip uninstall patsy 和 pip uninstall patsy==0.5.0 导致只有 0.5.1 被卸载
这是此软件包特有的问题吗?还是有一种普遍接受的安全方法来做到这一点?像这样的清理通常是必要的吗?
不建议手动删除任何 patsy 0.5.0 文件夹吗?
python - 在 pystatsmodels 中使用 Patsy 时如何从 bspline 获取原始系数
variable*coefficient
我正在运行 GLM,并且必须将来自我们的 IT 部门 的离散值移交给我们。
也就是说,我不确定如何使用bs()
from 函数计算分段回归模型中的斜率patsy
。
假设我有以下模型:
y ~ bs(length, degree = 1, knots = [32]
这给了我两行标准pystatsmodel
参数(系数、pvalues、标准误差等)。
这些价值观是,
我也可以这样运行它:
y ~ length + np.maximum(length-32,0)
哪个产量
我不明白的是,当我通过这两个模型运行测试集时,它们会产生相同的预测。
在这两种情况下,我都不确定 patsy 在后台做什么,我想知道,为了回答我的问题,我应该
长度的斜率 1 应该来自系数的指数,长度的斜率 2 是指数(系数 1 + ceoff2)。如果是这种情况,该规则是否适用于这两种语法?