问题标签 [linearmodels]

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 回答
78 浏览

r - lsmeans 用于 r 上的分段线性混合效应模型

我最初在 Cross Validated Stackexchange 上发布了这个问题,但没有得到答案。因此,我决定在这里试一试。我试图弄清楚如何获得具有随机截距和斜率的分段线性混合效应模型(装有 nlme 包)的 lsmeans。我的数据代表了一组男性和女性学生在引入日常冥想之前和之后每周参加考试的数学成绩。创建数据框并拟合模型的最小可重复示例如下:

这里的 time1 和 time2 代表每日冥想程序开始之前和之后的时间。

问题是:在 -1、0 和 1 时从该模型中获取 lsmeans(或 emmeans,如果更好的话)的正确方法是什么?考虑两个时间变量还是仅考虑其中一个(time1 或 time2)?

两种方法的输出如下所示:

它们显然返回不同的结果,但两种方式不应该给出相同的值吗?

0 投票
1 回答
124 浏览

python - 有没有办法从 Python PanelOLS 模型中导出固定效应的截距?

我正在使用 Python statsmodel 包估计面板数据的固定效果。

首先,分析中使用的数据包括随着时间的推移与几家公司观察到的 X 和 Y。下面是一些来自实际数据的例子,但最初,有一个大约 5,000 家公司一年数据的平衡面板。

用下面的代码分析控制公司效应的固定效应模型时,结果很好推导出来,没有任何问题。

[输出]

这是 PanelOLS 输出

但是,问题是截距项的效果并没有打印在结果值上,所以我想想办法解决这个问题。

是否有强制输出截距项的选项?

0 投票
0 回答
141 浏览

python - 为什么在 sklearn.linear_model.QuantileRegressor 中拟合模型需要更长的时间,然后是 R 模型实现?

首先我使用 R 实现分位数回归,然后我使用具有相同分位数(tau)和 alpha=0.0(正则化常数)的 Sklearn 实现。我得到相同的公式!我尝试了许多“求解器”,但运行时间仍然比 R 长得多。

运行时间:Scikit-learn 模型与 R 模型

例如:

示例:40672 个样本

在 R 模型中,默认方法是“br”,而在 Sklearn 中是“套索”。尽管我将 R 实现的方法更改为“套索”,但运行时间更短。

不同的方法

导入并创建数据:

绘制数据的函数(有或没有线):

阴谋

获取公式的函数:

拟合数据并测试运行时间和公式:

R_model
Sklearn_model

为什么在 sklearn 和 R 模型实现中拟合模型需要更长的时间?

0 投票
0 回答
25 浏览

python - 线性模型 IV 约束参数

我使用包 linearmodels.iv 在 python 上使用仪器(2SLS)进行回归

我想以这种方式约束一个参数: 0<SharexSegment<1

你知道我怎么能限制我的估计系数吗?

0 投票
0 回答
43 浏览

r - 拟合线性混合效应模型(R lme4 公式与 python statsmodels)

我想计算一个主方差分量分析,它结合了 PCA 和混合效应线性模型来识别批次效应。(https://www.niehs.nih.gov/research/resources/software/biostatistics/pvca/index.cfm)我已经检查了该网站的 R 脚本(PCVA 也可作为具有几乎相同代码的 R 包提供) 并且可以按照这些步骤进行操作,直到拟合出线性混合效应模型。计算 PCA 后,选择 n 个分量,并为每个模型单独拟合。我附上了第一个comp的数据。

第一个组件的数据如下所示(列:pc_data_matrix = eigenvectors):

然后在 R 中,模型拟合是这样完成的:

打印出来

然后在python中,我目前正在statsmodels中执行此操作,但我知道这是不正确的,因为我缺少交互(治疗:时间)(时间:批处理)(治疗:批处理)。

谢谢

0 投票
2 回答
83 浏览

python - 当我将 Jupyter Notebook 转换为 PDF 时,我可以漂亮地打印 linearmodels.panel.results.compare() 的输出吗?

我使用 Python 分析 Jupyter Notebooks 中的数据,并将其转换为 PDF 以与合著者共享 ( jupyter nbconvert --to pdf)。我经常linearmodels.panel.results.compare()用来比较linearmodels包中的面板回归估计。但是,PDF 转换过程会将compare()输出转换为对 PDF 来说太宽的固定宽度字体(我将提供以下代码):

太宽的比较输出

我可以打印compare()将 Jupyter Notebook 转换为 PDF 时的输出吗?

一种可能的解决方案是将compare()输出转换为数据帧。pd.options.display.latex.repr = True当我转换为 PDF 时,该选项会漂亮地打印数据帧。例如:

数据框的漂亮打印

在笔记本中,compare()输出格式很好,看起来像一个数据框。但是,它不是数据框,我未能将其转换为数据框。

是否有替代解决方案来比较漂亮打印linearmodels包输出的结果?

以下是生成上述表格的代码(复制并粘贴到 Jupyter Notebook 代码单元中):

0 投票
0 回答
75 浏览

python - 具有两个以上固定效应的 Python 面板数据回归

我有一个面板数据库,想运行一个考虑固定效应的回归。使用 Panel.Ols 时,两个固定效果可以正常工作。

我的代码如下所示:

但是,当我尝试使用两个以上的固定效果时,我会收到以下错误消息:

ValueError:最多支持两种效果。

如何在不收到此错误消息的情况下运行具有两个以上固定效果的面板回归?

0 投票
1 回答
30 浏览

r - 如何从 lmerTest 模型中获得 CI 预测?

我们目前正在研究植物物候学。

我们为研究区域中存在的每个物种建立了一个线性混合模型。

我们将融雪天数(从融雪到夏季访问日的天数总和)设置为响应变量,而平均物候(每个地块的平均物候状态(每个地点有 3 个)由来自的平均物候状态计算每个小区分为12个子小区。从1-6,数字越大循环越高级)。嵌套在本地的年份和地块被设置为随机因素。

一旦模型建立和修改,我们想要预测每个物种从融雪开始的天数,以达到感兴趣的物候阶段,这些阶段恰好有 2、3、4 和 5 的平均值。(对应于营养、开花、水果发育和分散,分别)我已经尝试过这个功能predict(),但我没有得到每个物种的阶段之间的异质性,进展似乎是线性的(如图像文件所示)。

这可能仅仅是因为是一个线性模型,所以它只会给出线性响应吗?有没有其他方法可以从这些模型中获得预测并显示它们的 CI?

在此处输入图像描述

0 投票
1 回答
39 浏览

python - 如何在函数定义中调用 python 模块

当 def 中的一个变量需要调用与模块相关的东西时,我该如何编写函数定义?

可实施的例子:

df 是一个包含一些列的数据库:

操作代码:

这是可操作的,但我想在我的“Panel_Regression”函数定义中添加条目。这样我就可以在一个循环中多次调用它。

当我尝试将“data.A”放入“Panel_Regression”时,我的问题就出现了,如下所示:

我收到错误:“'DataFrame' 对象没有属性 'my_variable'”

我也试过: Panel_Regression(data.A)

...但这也不起作用,因为“数据”仅在def中定义,因此尝试将其从函数定义中取出也行不通。

我想我错过了一些关于如何从我自己的定义中调用它的基本知识。另外,如果有更好的方法来命名这篇文章,我很乐意改变它。

谢谢!

0 投票
0 回答
39 浏览

python - Python 线性模型 PanelOLS 和 Stata 的结果不同

对于固定效果模型,我计划从Stataareg切换到Python的。linearmodels.panel.PanelOLS

但结果不同。在Stata中,我得到R-squared = 0.6047,在Python中,我得到R-squared = 0.1454.

为什么我从下面的命令中得到如此不同的 R 平方?

Stata 命令和结果:

Python 命令和结果: