如何使用 R 中的分位数回归和自举标准误差确定 t stat 的自由度
How to determine degrees of freedom for t stat with quantile regression and bootstrapped standard errors in R
我正在使用 R 使用自举标准误差进行分位数回归,以测试一个变量是否高于分布的第 5 个、第 50 个和第 95 个百分位数的第二个变量。输出不包括 t 统计的自由度。我该如何计算?
summary(rq(data$var1~data$var2, tau=.05), se="boot")
summary(rq(data$var1~data$var2, tau=.5), se="boot")
假设你使用了库quantreg
,如果你自己调用rq()
,你就得到了自由度。
看来您对 SO 还很陌生;欢迎来到社区!如果您想快速获得出色的答案,最好让您的问题可重现。这包括您使用的库或样本数据,例如 dput(head(dataObject)))
的输出。检查一下:making R reproducible questions.
在这种情况下,捕获自由度应该相对容易。
事实上,观察数减去观察数就是总自由度。剩余自由度是观察值的数量减去公式中变量的数量。
每个 t-statistic 的自由度是代表该 t-statistic 的变量数(通常为一个)。
如果您直接调用回归(而不是嵌套在汇总函数中),它也会为您提供有关自由度的信息。话虽这么说,如果您不 运行 独立地建立模型,则更难测试数据必须满足分析的假设。最后,在这种形式下,您也无法测试模型是否过拟合。
library(quantreg)
data(mtcars)
(fit <- rq(mpg ~ wt, data = mtcars, tau = .05))
# Call:
# rq(formula = mpg ~ wt, tau = 0.05, data = mtcars)
#
# Coefficients:
# (Intercept) wt
# 37.561538 -6.515837
#
# Degrees of freedom: 32 total; 30 residual
(fit2 <- rq(mpg ~ wt, data = mtcars, tau = .5))
# Call:
# rq(formula = mpg ~ wt, tau = 0.5, data = mtcars)
#
# Coefficients:
# (Intercept) wt
# 34.232237 -4.539474
#
# Degrees of freedom: 32 total; 30 residual
summary(fit, se = "boot")
#
# Call: rq(formula = mpg ~ wt, tau = 0.05, data = mtcars)
#
# tau: [1] 0.05
#
# Coefficients:
# Value Std. Error t value Pr(>|t|)
# (Intercept) 37.56154 5.30762 7.07690 0.00000
# wt -6.51584 1.58456 -4.11208 0.00028
summary(fit2, se = "boot")
#
# Call: rq(formula = mpg ~ wt, tau = 0.5, data = mtcars)
#
# tau: [1] 0.5
#
# Coefficients:
# Value Std. Error t value Pr(>|t|)
# (Intercept) 34.23224 3.20718 10.67362 0.00000
# wt -4.53947 1.04645 -4.33798 0.00015
我想指出 se = "boot"
似乎没有做任何事情。此外,您可以在同一模型中 运行 两个 tau
设置。 Quantreg
包有几个工具用于比较模型 运行 在一起时。
我正在使用 R 使用自举标准误差进行分位数回归,以测试一个变量是否高于分布的第 5 个、第 50 个和第 95 个百分位数的第二个变量。输出不包括 t 统计的自由度。我该如何计算?
summary(rq(data$var1~data$var2, tau=.05), se="boot")
summary(rq(data$var1~data$var2, tau=.5), se="boot")
假设你使用了库quantreg
,如果你自己调用rq()
,你就得到了自由度。
看来您对 SO 还很陌生;欢迎来到社区!如果您想快速获得出色的答案,最好让您的问题可重现。这包括您使用的库或样本数据,例如 dput(head(dataObject)))
的输出。检查一下:making R reproducible questions.
在这种情况下,捕获自由度应该相对容易。
事实上,观察数减去观察数就是总自由度。剩余自由度是观察值的数量减去公式中变量的数量。
每个 t-statistic 的自由度是代表该 t-statistic 的变量数(通常为一个)。
如果您直接调用回归(而不是嵌套在汇总函数中),它也会为您提供有关自由度的信息。话虽这么说,如果您不 运行 独立地建立模型,则更难测试数据必须满足分析的假设。最后,在这种形式下,您也无法测试模型是否过拟合。
library(quantreg)
data(mtcars)
(fit <- rq(mpg ~ wt, data = mtcars, tau = .05))
# Call:
# rq(formula = mpg ~ wt, tau = 0.05, data = mtcars)
#
# Coefficients:
# (Intercept) wt
# 37.561538 -6.515837
#
# Degrees of freedom: 32 total; 30 residual
(fit2 <- rq(mpg ~ wt, data = mtcars, tau = .5))
# Call:
# rq(formula = mpg ~ wt, tau = 0.5, data = mtcars)
#
# Coefficients:
# (Intercept) wt
# 34.232237 -4.539474
#
# Degrees of freedom: 32 total; 30 residual
summary(fit, se = "boot")
#
# Call: rq(formula = mpg ~ wt, tau = 0.05, data = mtcars)
#
# tau: [1] 0.05
#
# Coefficients:
# Value Std. Error t value Pr(>|t|)
# (Intercept) 37.56154 5.30762 7.07690 0.00000
# wt -6.51584 1.58456 -4.11208 0.00028
summary(fit2, se = "boot")
#
# Call: rq(formula = mpg ~ wt, tau = 0.5, data = mtcars)
#
# tau: [1] 0.5
#
# Coefficients:
# Value Std. Error t value Pr(>|t|)
# (Intercept) 34.23224 3.20718 10.67362 0.00000
# wt -4.53947 1.04645 -4.33798 0.00015
我想指出 se = "boot"
似乎没有做任何事情。此外,您可以在同一模型中 运行 两个 tau
设置。 Quantreg
包有几个工具用于比较模型 运行 在一起时。