R を使用して、ブートストラップされた標準誤差を使用して分位点回帰を実行し、分布の 5、50、および 95 パーセンタイルで 1 つの変数が 2 番目の変数よりも高いかどうかをテストしています。出力には、t stat の自由度は含まれません。どうすればこれを計算できますか?
summary(rq(data$var1~data$var2, tau=.05), se="boot")
summary(rq(data$var1~data$var2, tau=.5), se="boot")
R を使用して、ブートストラップされた標準誤差を使用して分位点回帰を実行し、分布の 5、50、および 95 パーセンタイルで 1 つの変数が 2 番目の変数よりも高いかどうかをテストしています。出力には、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 統計量で表される変数の数 (通常は 1 つ) です。
回帰を (summary 関数でネストするのではなく) 直接呼び出すと、自由度に関する情報も得られます。そうは言っても、モデルを個別に実行しないと、分析のためにデータが満たさなければならない仮定をテストすることがより困難になります。最後に、この形式では、オーバーフィットについてモデルをテストすることもできません。
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
パッケージには、一緒に実行したときにモデルを比較するためのツールがいくつか含まれています。