ある値に対するモデル係数(回帰勾配)のテスト


20

Iは、(一般)線形モデルを有する場合、Rは、( 、lm、、glm 、...)、どのように0以外の値に対して係数(回帰勾配)をテストすることができますか?モデルの要約では、係数のt検定結果が自動的に報告されますが、これは0との比較のみです。別の値と比較したいと思います。glsglmm

ここでテストされた値であるreparametrizing y ~ xasを使用してトリックを使用し、この再パラメーター化されたモデルを実行できることを知っていますが、元のモデルで動作する可能性のある単純なソリューションを探します。y - T*x ~ xT


回答:


17

これは、任意のパッケージで機能する、または回帰論文(論文など)のみがある場合でも機能する、より広範なソリューションです。

係数とその標準誤差を取ります。

計算し。のdfは、テストの場合と。 TH0β=0t=β^βH0s.e.(β^)tH0:β=0


1
ありがとう、グレン、これは[この素晴らしい答え]から知っています。しかし、t値からp値を取得するにはどうすればよいですか?
好奇心が

2
@好奇心pt()
アフィン

@Curious:Affineが言うように、R関数pt -またはt cdfsの値を与える他の何か。多くのパッケージにはこれらがあり、広く利用可能なtテーブルがあります。
-Glen_b-モニカーの復活2014

lm、lmerなどがゼロとは異なるテストパラメーターを直接受け入れた場合、それは素晴らしいことです。
スカン

@skanは、文字通りp値を取得するRコードの1行です。summary.lmの出力を取得し、正確な仕様に合わせて新しいテーブルを作成する小さな関数を記述するのは簡単なことです。
-Glen_b

10

Glen_bが提案する単純なt検定、またはより一般的なWald検定を使用できます。

Wald検定では、複数のパラメーターで複数の仮説を検定できます。:それは次のように定式化されるここで、Rの選択係数(の組み合わせ)、およびqは、に対してテストする値を示すβ標準regresison係数です。Rβ=qβ

1つのパラメーターに1つの仮説しかない例では、Rは問題のパラメーターに値1を持ち、他の場所にゼロを持つ行ベクトルであり、qはテストする制限のあるスカラーです。

Rでは、パッケージcarから関数linearHypothesis()を使用してWaldテストを実行できます。2番目の係数(引数hypothesis.matrixで示される)が0.1(引数rhs)と異なるかどうかを確認するとします。

reg <- lm(freeny)
coef(reg)

# wald test for lag.quarterly.revenue =0.1
>library(car)
>linearHypothesis(reg, hypothesis.matrix = c(0, 1, rep(0,3)), rhs=0.1)
#skip some result, look at last value on last row, of Pr(>F) 
  Res.Df       RSS Df  Sum of Sq      F Pr(>F)
1     35 0.0073811                            
2     34 0.0073750  1 6.0936e-06 0.0281 0.8679

t検定の場合、この関数はGlen_bが示すt検定を実装します。

ttest <- function(reg, coefnum, val){
  co <- coef(summary(reg))
  tstat <- (co[coefnum,1]-val)/co[coefnum,2]
  2 * pt(abs(tstat), reg$df.residual, lower.tail = FALSE)
}

> ttest(reg, 2,0.1)
[1] 0.8678848

2番目の係数がゼロであるという標準的な仮説に対して、t検定のWaldとデフォルトのt検定のRを比較して、正しい手順が得られたことを確認しましょう。

> linearHypothesis(reg, hypothesis.matrix = c(0, 1, rep(0,3)), rhs=0)[["Pr(>F)"]][2]
[1] 0.3904361
> ttest(reg, 2,0)
[1] 0.3904361
## The 'right' answer from R:
> coef(summary(reg))[2,4]
[1] 0.3904361

3つの手順で同じ結果が得られます。


いいね!hypothesis.matrixパラメーターについて説明してください。
好奇心が

Waldテストがそれを行うかどうかはわかりません。パラメータとともに標準的に報告される通常のt検定を使用するつもりでしたが、0ではなく他の値を使用しました。
好奇心が

@好奇心が強くなりました
マティフォー14

3

結局、最も簡単な解決策は、再パラメータ化を行うことでした。

gls(I(y - T*x) ~ x, ...)

同じ結果が得られますか?
スカン

しかし、あなたは独立していない何かを差し引いています。最小二乗の仮定や共線性の問題ではないでしょうか?lm(y〜x + + offset(T * x))とどう違うのですか?
スカン

1
@skan回帰はxを条件とし、依存性はありません。オフセットを使用するのと同じである必要があります。
Glen_b
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.