问题标签 [quantile-regression]
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.
matlab - 在 Matlab 中使用 linprog 进行分位数回归
我正在尝试通过 Matlab 中的简单设置来实现分位数回归过程。此页面包含对作为线性程序的分位数回归的描述,并显示了适当的矩阵和向量。我试图在 Matlab 中实现它,但我没有得到正确的bhat
向量的最后一个元素。它应该在 1 左右,但我得到的值非常低(<1e-10)。使用我拥有的另一种算法,我得到的值为 1.0675。我哪里做错了?我猜A
,b
或者f
错了。
我试过玩optimset
,但我认为这不是问题。我想我在从数学到代码时犯了一个转换错误,我只是看不到在哪里。
r - 在分位数估计之后构建累积分布函数
我有这个包含两列(Y 和 X)的数据框。
使用quantreg
包我可以估计以 X 为条件的 Y 的分位数。
我无法以 X 为条件建立 Y 的累积密度函数。有人可以帮助我吗?
估计分位数:
在此之后,如何生成累积分布函数 (Fx)?
这是我的data.frame:
r - R中的快速非负分位数和Huber回归
我正在寻找一种在 R 中进行非负分位数和 Huber 回归的快速方法(即所有系数均 > 0 的约束)。我尝试使用CVXR
用于分位数和 Huber 回归的quantreg
包以及用于分位数回归的包,但是当我使用非负约束时,CVXR
它非常慢并且quantreg
看起来有问题。有人知道 R 中有一个好的快速解决方案吗,例如使用Rcplex
包或R gurobi API,从而使用更快的 CPLEX 或 gurobi 优化器?
请注意,我需要运行低于 80 000 次的问题大小,因此我只需要y
在每次迭代中更新向量,但仍然使用相同的预测矩阵X
。从这个意义上说,我觉得CVXR
我现在必须obj <- sum(quant_loss(y - X %*% beta, tau=0.01)); prob <- Problem(Minimize(obj), constraints = list(beta >= 0))
在每次迭代中做效率低下,而问题实际上保持不变,而我想要更新的只是y
. 有什么想法可以更好/更快地完成这一切吗?
最小的例子:
使用 CVXR 的非负分位数回归:
非负 Huber 回归的语法相同,但会使用
quantreg
使用包的非负分位数回归:
r - R - 设置边距不起作用
我使用quantreg
包估计了一个线性回归模型。我现在想使用以下plot()
函数以图形方式显示结果:
结果如下(我只能链接图像):
正如您在最左边看到的那样,y 轴的描述被截断了。然后我尝试调整边距参数,但它似乎对情节的影响为零。例如:
当我现在运行上述代码时,它会产生完全相同的图。另一方面,当绘制简单数据(而不是summary()
分位数回归rq()
)时,边距会被调整,并且绘图会显示新的边距向量。
我会很感激这方面的帮助。谢谢你。
r - R中rqPen和quantreg包的区别
我正在为 R 中的波士顿住房数据构建分位数回归模型 + LASSO 惩罚。我发现了 2 个可以构建这种模型的包:rqPen 和 quantreg。rqPen 实现了一个交叉验证过程来调整 LASSO 参数 lambda,所以我决定使用这个。我考虑了算法自动选择的 100 个不同的 lambda 值和 10 个折叠:
CV 的结果是最小绝对误差为 4.2,λ 值为 0.46。该模型仅考虑预测变量“zn”、“tax”、“b”和“lstat”,并将与其余预测变量相关的系数发送为零。
我决定使用另一个包 quantreg 包构建相同的模型,但保持 lambda 值。我预计这两个包中的模型不完全相等,但在模型中包含的预测变量方面相似。
我发现在这个模型中所有的预测变量都被使用了,所以它与第一个完全不同。
难道我做错了什么?rqPen 包在计算上是否失败?
r - 在不同长度的数据集上使用 predict()
我通过应用 rq 估计了之前由 OLS 估计的线性回归模型的 0.1 条件分位数。原始数据由 8760 行组成(一年的每小时数据)。
我现在想使用估计的模型来预测更小的时间跨度:
但它会导致以下警告消息:
我得到的结果包含 8760 行。似乎它只是使用旧数据。
这里到底是什么问题,有没有办法解决这个问题?
编辑:当我使用具有相同行数的新数据时,它工作得很好。
python - QuantileRegression ValueError:操作数无法与形状一起广播
我正在尝试使用 Python 中的分位数回归来预测我的目标变量。
我正在考虑用于训练和验证的数据来自 2015 年 10 月 -2017 年 12 月 31 日期间。
现在模型已经开发,我试图预测 2018 年 1 月的值,这会引发以下错误:
ValueError:操作数无法与形状一起广播 (34,) (33,)
如果我检查,错误来自statmodels中的分位数regression.py文件。
我看过类似的关于堆栈溢出的帖子,建议检查目标变量的数据类型是否为数字。这是变量的 dtype:
ASBCU_SUM:int64
月份:类别
年份:类别
WeekofMonth:类别
isHoliday: int64
天数:int32
PCOP_SUM:int64
PCOP_CS:int64
PCOP_LS:int64
PCOP_IFS:int64
PCOP_LSS:int64
PCOP_FS:int64
PCOP_FSS:int64
DayOfWeek_3:float64
DayOfWeek_2:float64
DayOfWeek_5:float64
DayOfWeek_7:float64
DayOfWeek_4:float64
DayOfWeek_6:float64
使用 2015-2017 年数据开发模型时,数据类型也相同。
我真的很感激任何帮助..
stata - 如何预测回归变量样本均值的因变量?
我正在使用Stata中的几种回归(概率,logit,分位数回归,......)我想知道如何在回归者的样本均值处预测因变量。这对于 OLS 来说很简单,但看不到如何为分位数回归获取它。
python - 来自 scikit-garden 的分位数随机森林的预测速度非常慢
我已经开始使用scikit-garden
包中的分位数随机森林 (QRF)。以前我使用RandomForestRegresser
from创建常规随机森林sklearn.ensemble
。
看起来 QRF 的速度与具有小数据集大小的常规 RF 相当,但是随着数据大小的增加,QRF 在做出预测时变得比 RF 慢得多。
这是预期的吗?如果是这样,有人可以解释为什么做出这些预测需要这么长时间和/或就如何更及时地获得分位数预测提供任何建议。
请参阅下面的玩具示例,我在其中测试各种数据集大小的训练和预测时间。
这是输出: RF 和 QRF 训练和预测的时间比较