gpt4 book ai didi

r - (R,量化): Hypothesis testing a large range of quantiles

转载 作者:行者123 更新时间:2023-12-02 02:12:30 28 4
gpt4 key购买 nike

我有一个分位数回归模型,其中包含 1 个回归变量和 1 个回归变量。我想假设检验回归量在每个分位数上都相等。我想到的一种方法是在 {0.01,0.02,....,0.99} 上测试所有 tau。但是,我将不得不写:

anova(model1,model2,model3,.......,model99),其中每个模型对应不同的 tau。 问题:如何让 anova() 接受大量类型为 rq 的模型,而无需手动输入它们?


我的解决方案尝试是这样做的:

y = rnorm(100)
x = rnorm(100)

rqs_object <- rq(y~x,tau=1:99/100)
anova(rqs_object)

但是,很遗憾,anova 显然不接受对象类型 rqs,而只接受类型 rq


交叉发布here直到我决定它对这个问题有很大的编程/专家元素。

最佳答案

我专注于问题 1,并且只关注编程部分。

一些数据:

set.seed(65465)
y = rnorm(100)
x = rnorm(100)

现在我定义一个函数,它将 tau 作为输入并进行拟合:

rqfits <- function(tau) {
require(quantreg)
rq(y~x,tau=tau)
}

然后我可以将此函数应用于 taus 向量:

taus <- 1:5/10
fits <- lapply(taus,rqfits)

结果是模型列表。我们现在可以使用 do.call 将我们的模型传递给 anova:

do.call(anova,fits)

Quantile Regression Analysis of Deviance Table

Model: y ~ x
Joint Test of Equality of Slopes: tau in { 0.1 0.2 0.3 0.4 0.5 }

Df Resid Df F value Pr(>F)
1 4 496 1.0388 0.3866
Warning:
In summary.rq(x, se = se, covariance = TRUE) : 2 non-positive fis

关于r - (R,量化): Hypothesis testing a large range of quantiles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12120064/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com