问题标签 [quantreg]
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.
r - 分位数回归+虚拟变量
我使用quantreg
R 中的包来计算分位数回归模型。在模型中,因变量(Y) 为NAS_DELAY
,自变量(Xs) 为SEANSON1TO4
, SEANSON2TO4
, SEANSON3TO4
。
型号为:
, SEANSON1TO4
,是虚拟变量SEANSON2TO4
,SEANSON3TO4
0 或 1。我使用 R 计算截距和其他回归系数,但结果表明
“rq.fit.br(x,y,tau=tau,....) 奇异设计矩阵中的错误;此外:警告消息 1:in summary.rq(xi,....):278951 non-positivr菲”。
我不知道为什么。
我究竟做错了什么?
r - 将 nlrq 与 SSexp 一起使用会产生此错误:“getInitial(formula, mf) 中的错误:未使用的参数 (mf)”
nlrq()
我一直在尝试用(来自quantreg
包)拟合非线性分位数回归模型。但是我发现该函数对起始值非常敏感。所以我尝试使用自启动器SSexp()
。我读到的自启动功能nls()
也适用于它。但我一直收到以下错误消息:
我的输入代码是:
我有一种模糊的想法,getInitial
以某种方式连接到创建自启动功能。但坦率地说,我不知道问题到底出在哪里。有人可以帮我解决这个问题吗?
附加信息
r - Censored quantile regression in R: getting specific quantiles
I've generated the following data in R:
To which I've fit the following censored quantile regression model:
As one can see, I'm interested in the 0.9th quantile. But summary(q2)
returns the 20th to 80th percentiles (by 20). How can I get only the 0.9th quantile (aka the 90th percentile)?? My problem is that, even though I request the 90th percentile in crq (i.e., "tau=0.9"), the summary function keeps returning the same set of (unwanted) percentiles (20th, 40th, 60th, 80th).
r - 摘要 quantreg backsolve 中的错误
当我使用包在 R 中运行分位数回归,quantreg
然后运行summary(quantregObject)
时,我收到以下错误消息:
base::backsolve(r, x, k = k, upper.tri = upper.tri, transpose = transpose, : 'backsolve' 中的奇异矩阵。对角线中的第一个零 [1]
有什么建议我该如何解决这个问题?
r - 如何在 R 摘要对象的多个图中添加标题
我正在尝试从 R 摘要对象重命名多个图中每个图的标题。我做五分位回归,我想绘制系数。我执行以下操作
plot(qr.1) 给出了 x1 和 x2 的系数图。但是每个图中的标题是 x1 和 x2。我喜欢将标题从 x1 更改为变量名称(例如人均收入)。我尝试了几种标准方法,但都失败了。我认为这是因为我绘制了摘要对象。你们知道如何在摘要对象的多个图中添加标题吗?
谢谢
悠斗
r - 意外的分位数关系
我想将分位数回归模型拟合到我观察到的数据中,该模型清楚地显示了响应变量和预测变量之间的三角关系:
当我做:
它发现了正向关系(红色),当它应该是负面的看图表中的点时,对吧?也许我遗漏了一些东西,但它看起来像是一个错误的 tau 值。我尝试使用 t=0.97 和 t=0.90(灰色),但产生了相同的模式。
然后,当我这样做时:
警告消息:
1:在 rq.fit.br(x, y, tau = tau, ci = TRUE, ...) 中:
解决方案可能不唯一
2:在 rq.fit.br(x, y, tau = tau, ci = TRUE, ...) :
解决方案可能不唯一
3:在 rq.fit.br(x, y, tau = tau, ci = TRUE, ...) :
解决方案可能不唯一
4:在 rq.fit 中。 br(x, y, tau = tau, ci = TRUE, ...) :
解决方案可能不唯一
plot.window(...) 中的错误:无限轴范围 [GEPretty(-inf,inf,5)]
我只获得了截距图,但没有获得系数图。
我做错了什么?
r - 如何按组将一列拟合值添加到数据框?
假设我有一个这样的数据框:
如何拟合y~x
按变量分组的回归g
并将值fitted
和resid
泛型方法添加到数据框中?
我知道我可以做到:
然后rbind(A, B, C)
。但是,在现实生活中我没有使用lm
(我rqss
在quantreg
包中使用)。该方法偶尔会失败,所以我需要错误处理,我想将NA
所有失败的行放在其中。此外,有超过 3 个组,所以我不想继续为每个组复制和粘贴代码。
我尝试使用dplyr
withdo
但没有取得任何进展。我在想它可能是这样的:
用这种方法会很容易做到吗?在基础 R 中有另一种方法吗?
r - 对来自分位数回归的自举估计执行 Anova
因此,我使用quantreg
R 中的包进行分位数回归分析,以测试我的预测变量的影响如何随着我的结果分布而变化。
然后我调用anova.rq
which 对所有模型运行 Wald 测试,并为每个协变量输出一个 pvalue,告诉我每个协变量的影响是否在我的结果分布中显着变化。
那工作得很好。但是,对于我的特定数据(以及一般情况?),引导我的估计和他们的错误是可取的。我对上面的代码稍作修改。
这就是我卡住的地方。目前quantreg
无法对自举估计执行 anova (Wald) 检验。软件包上的信息文件quantreg
明确指出,“应该对要在 anova.rq 中使用的方法进行扩展”关于 boostrapping 方法。
查看 anova.rq 方法的细节。我可以看到它在引导时需要分位数模型中不存在的 2 个组件。
1)Hinv
(逆黑森矩阵)。包信息文件特别指出“请注意,因为se = "boot"
无法将估计的协方差矩阵拆分为其三明治组成部分。 ”
2)J
根据信息文件,是“如果和返回的梯度矩阵的未缩放外积。Huber三明治是。至于组件,没有组件时。(注意,要制作Huber三明治,您需要添加蛋黄酱你自己。cov=TRUE
se != "iid"
cov = tau
(1-tau) Hinv %*% J %*% Hinv
Hinv
J
se == "boot"
tau (1-tau)
)“
我可以根据自举估计计算Hinv
或估计吗?J
如果不是,最好的方法是什么?
对此非常感谢任何帮助。这是我第一次在这里发布问题,尽管过去我从其他人问题的答案中受益匪浅。
r - 如何将“for”循环的回归结果存储在唯一名称的列表中?
我正在对股票数据运行多滚动窗口分位数回归,以便生成的输出是一个 xts 文件,其系数在每个时间点估计。然后从分位数估计最终估计量。然后使用 for 参数将 5 个回归一起循环到我所有的股票中。
我想做什么?我需要循环并存储如下所示的 xts 输出,以列表和唯一名称显示,以便稍后在我的方法的下一步中使用它。
当我想将结果存储到列表中时,我的问题最终出现了。发生这种情况是因为我希望数据集的名称与我执行回归的列具有相同的名称。
代码已被简化为只有一个回归。我解决这个问题的最佳尝试如下:
此外:即使在循环之外,此命令似乎也不会读取我的行的名称。
编辑 W 解决方案
似乎解决方案已经为我准备好了。问题是 colnames 函数仅从数据框对象中检索名称。这是代码的最终版本。
最终结果:
r - 使用 dplyr 从分位数回归中提取带 p 的系数
我想从使用分组变量进行的一系列分位数回归中提取 p 值和系数。我主要dplyr
用来操作数据框,所以一个想要的dplyr
解决方案。
这会导致错误
错误:结果不是以下位置的数据帧:1、2、3
我尝试了另一个版本,首先是模型,然后是摘要
这也会导致错误
错误:不是向量