3

Rのパッケージの環境でanova.rqlist呼び出される関数を使用して、異なる分位数 (同じ結果、同じ共変量) からの推定値を比較することに興味があります。ただし、関数の数学は私の初歩的な専門知識を超えています。異なる分位数で 3 つのモデルを当てはめたとしましょう。anovaquantreg

library(quantreg)
data(Mammals) # data in quantreg to be used as a useful example
fit1 <- rq(weight ~ speed + hoppers + specials, tau = .25, data = Mammals)
fit2 <- rq(weight ~ speed + hoppers + specials, tau = .5, data = Mammals)
fit3 <- rq(weight ~ speed + hoppers + specials, tau = .75, data = Mammals)

次に、それらを使用して比較します。

anova(fit1, fit2, fit3, test="Wald", joint=FALSE)

私の質問は、これらのモデルのどれが比較の基礎として使用されているかということです?

Wald テストについての私の理解(wiki エントリ)

ここに画像の説明を入力

ここで、θ^ は、提案された値 θ0 と比較される対象パラメータ θ の推定値です。

私の質問は、θ0 として選択するanova機能は何ですか?quantreg

私の最善の推測から返された pvalue に基づいて、anova指定された最小の分位数 (つまりtau=0.25) を選択しているということです。中央値 ( tau = 0.5) または を使用して得られた平均推定値を指定する方法はありますlm(y ~ x1 + x2 + x3, data)か?

anova(fit1, fit2, fit3, joint=FALSE)

実際に生産する

Quantile Regression Analysis of Deviance Table

Model: weight ~ speed + hoppers + specials
Tests of Equality of Distinct Slopes: tau in {  0.25 0.5 0.75  }

             Df Resid Df F value  Pr(>F)  
speed         2      319  1.0379 0.35539  
hoppersTRUE   2      319  4.4161 0.01283 *
specialsTRUE  2      319  1.7290 0.17911  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

その間

anova(fit3, fit1, fit2, joint=FALSE)

まったく同じ結果が得られます

Quantile Regression Analysis of Deviance Table

Model: weight ~ speed + hoppers + specials
Tests of Equality of Distinct Slopes: tau in {  0.5 0.25 0.75  }

             Df Resid Df F value  Pr(>F)  
speed         2      319  1.0379 0.35539  
hoppersTRUE   2      319  4.4161 0.01283 *
specialsTRUE  2      319  1.7290 0.17911  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

anova ではモデルの順序が明らかに変更されていますが、F 値と Pr(>F) が両方のテストで同一であるというのはなぜでしょうか?

4

1 に答える 1

2

入力したすべての分位数が使用され、参照として使用されるモデルは 1 つもありません。

この投稿と関連する回答を読んで、「theta.0」が何であるかを理解することをお勧めします。

あなたがしようとしているのは、回帰直線が平行かどうかをテストすることだと思います。言い換えれば、予測変数 (ここでは収入のみ) の効果が分位点全体で均一であるかどうかを示します。

quantregパッケージの を使用してanova()、この質問に答えることができます。実際、分位点ごとにいくつかのフィットを使用する必要があります。

joint=FALSEあなたがしたように使用すると、係数ごとの比較が得られます。しかし、係数は 1 つしかないので、線は 1 つしかありません! そして、あなたの結果は、あなたの例では収入の効果が分位点全体で均一ではないことを示しています。複数の予測変数を使用すると、複数の p 値が得られます。

使用しない場合は、係数のセット全体の同等性の全体的なテストを実行できます。これにより、joint=FALSE「勾配の同等性の共同テスト」が得られ、p値が1つだけになります。

編集:

theta.0 は、モデルの特定の勾配ではなく、すべての「tau」値または「lm()」からの実際の推定値の平均勾配であると思います。私の推論は、「anova.rq()」は「タウ」の特定の低い値や「タウ」の中央値さえも必要としないということです。

これをテストするにはいくつかの方法があります。平均値に等しい theta.0 を使用して手動で計算を行うか、多くの組み合わせを比較します。これは、特定のモデルが「tau」値が低いモデルに近いが「lm」には近いという状況が発生する可能性があるためです。 ()' 価値。したがって、 theta.0 が「タウ」が最も低い最初のモデルの勾配である場合、Pr(>F) は高くなりますが、それ以外の場合は低くなります。

この質問はおそらくクロス検証で尋ねられたはずです。

于 2015-09-23T21:13:53.657 に答える