簡體   English   中英

如何使用 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 個百分位數是否高於第二個變量。 output 不包括 t stat 的自由度。 我該如何計算?

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))) 檢查一下:制作 R 可重現的問題

在這種情況下,捕捉自由度應該相對容易。

事實上,觀察次數減去觀察次數就是總自由度。 剩余自由度是觀察數減去公式中的變量數。

每個 t 統計量的自由度是代表該 t 統計量的變量數(通常為一個)。

如果您直接調用回歸(而不是嵌套在匯總函數中),它也會為您提供有關自由度的信息。 話雖如此,如果您不獨立運行 model,則更難以測試數據必須滿足分析的假設。 最后,在這種形式下,您也無法測試 model 的過擬合。

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"似乎沒有做任何事情。 此外,您可以在同一個 model 中運行兩個tau設置。 Quantreg package 有幾個工具可以在一起運行時比較模型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM