2つの異なる結果で1つの予測子の2つの回帰勾配を比較する方法は?


10

2つの回帰勾配を比較する必要があります。

$
y_1 ~ a + b_1x
y_2 ~ a + b_2x
$

b1とb2を比較するにはどうすればよいですか?

または、げっ歯類での具体的な例の言語で、比較したい

antero-posterior diameter ~  a + b1 * humeral length   
de naso-occipital length  ~  a + b2 * humeral length 

2
両方の変数と2つの変数の相互作用(上腕骨の長さ前後径)を使用して回帰モデルを計算します。交互作用は、2つの変数の勾配の平行性の仮定をテストします。交互作用項が有意である場合、勾配は異なります。×
COOLSerdash 2013年

ありがとう!! しかし、上腕骨の長さと上腕骨の前後径はDVであり、後頭葉の長さはIVです。提案どおりに分析を実行できますか?
ドラ。

1
@ Dra.AlejandraEcheverria 2つの独立変数を持つ1つの線形回帰モデルがあり、独立変数の2つの係数の同等性をテストしたいですか、または2つの単純な線形回帰モデルがあり、 2つのモデルの係数?
Graeme Walsh

1
@Graeme Walsh様私には2つの単純な線形回帰モデルがあり、2つのモデル間で係数を比較したいと思います。
ドラ。

回答:


11

さて、あなたの状況を見てみましょう。基本的に2つの回帰があります(APD =前後径、NOL =後頭葉長、HL =上腕骨長):

  1. APD=β0,1+β1,1NOL
  2. HL=β0,2+β1,2NOL

仮説をテストするには、次のようにします。β1,1=β1,2

  1. HLにAPDを追加するだけで、新しい従属変数()を作成します。Ynew
  2. 自身にNOLを追加して新しい独立変数を作成します()(つまり、NOLを複製します)Xnew
  3. データが2番目のデータセット(HL付き)からのものである場合は1、最初のデータセット(APD)からのものである場合は0であるダミー変数()を作成します。D
  4. を従属変数として使用し、主効果ととダミー変数間の相互作用を説明変数として使用して、回帰を計算します。EDIT @Jake Westfallは、DVごとに2つの回帰で残差標準誤差が異なる可能性があることを指摘しました。ジェイクは、2つの回帰の間で残差標準誤差を異ならせることができる一般化最小二乗モデル(GLS)を当てはめるという答えを提供しました。 X n e w DYnewXnewD

作成されたデータの例を見てみましょう(R)。

# Create artificial data

library(nlme) # needed for the generalized least squares

set.seed(1500)

NOL <- rnorm(10000,100,12)
APD <- 10 + 15*NOL+ rnorm(10000,0,2)
HL <- - 2  - 5*NOL+ rnorm(10000,0,3) 

mod1 <- lm(APD~NOL)
mod1

Coefficients:
(Intercept)          NOL
      10.11        15.00

mod2 <- lm(HL~NOL)
mod2

Coefficients:
(Intercept)          NOL
      -1.96        -5.00

# Combine the dependent variables and duplicate the independent variable

y.new <- c(APD, HL)
x.new <- c(NOL, NOL)

# Create a dummy variable that is 0 if the data are from the first data set (APD) and 1 if they are from the second dataset (HL)

dummy.var <- c(rep(0, length(APD)), rep(1, length(HL)))

# Generalized least squares model allowing for differend residual SDs for each regression (strata of dummy.var)

gls.mod3 <- gls(y.new~x.new*dummy.var, weights=varIdent(form=~1|dummy.var))

Variance function:
 Structure: Different standard deviations per stratum
 Formula: ~1 | dummy.var 
 Parameter estimates:
       0        1 
1.000000 1.481274 

Coefficients:
                    Value  Std.Error   t-value p-value
(Intercept)      10.10886 0.17049120    59.293       0
x.new            14.99877 0.00169164  8866.430       0
dummy.var       -12.06858 0.30470618   -39.607       0
x.new:dummy.var -19.99917 0.00302333 -6614.939       0

注:の切片と勾配は、最初の回帰(mod1)とまったく同じです。係数は、2つの回帰の切片間の差を示します。さらに、2番目の回帰の残留標準偏差は、最初の回帰のSDよりも大きいと推定されました(約1.5倍大きい)。これは、データの生成で指定したとおりです(2対3)。私たちはもうすぐそこにいます。相互作用項の係数()は、勾配の等価性をテストします。ここで、2番目の回帰(mod2)の傾きは約または約です。の違い β X N E W - β X n e w × d u m m y v a r 15 20 = 5 20Xnewdummy.varx.new:dummy.varβx.newβx.new×dummy.var1520=520データを生成したときに指定したとおりです。あなたがスタタで働いているなら、ここに素晴らしい説明があります。

警告:これは、前後直径と経後頭長(2つの従属変数)が独立している場合にのみ機能します。そうしないと、非常に複雑になる可能性があります

編集

同じ質問でサイトの契約上のこれらの2つのポスト:第一及び第二


混乱を避けるために、NOLとHLが混在しているように見えます。HLは予測因子であり、NOLは2番目のDVでした(そして、APDは最初に示したDVでした)。投稿者自身がコメントで彼女の変数のステータスを変更したことに気づきましたが...
Patrick Coulombe 2013年

@Patrick Coulombe指摘してくれてありがとう。昨日の彼女のコメントからははっきりしなかった。
COOLSerdash 2013年

@PatrickCoulombeもう一度考えてみましょう。JeromyAnglimはAlejandraのコメントを誤解し、変数を交換したと思います。
COOLSerdash 2013年

1
この解決策は合理的であるように見えますが、結合/対話型モデルでは、残差分散がの両方のレベルでdummy.var、つまり両方のDV で等しいと仮定されているという事実について少し心配しています。元のコンテキストでのDVの内容によっては、各DVの個別の回帰で残差分散が根本的に異なる可能性があります。あなたが提案したのと同じ基本的なアプローチを使用する方が良いのではないかと思いますが、gls各DVに対して異なる残差分散を推定するモデルを使用します。これについての考えは?
ジェイクウェストフォール2013年

1
@COOLSerdash確かに、次のようになります。– library(nlme); mod4 <- gls(y.new~x.new*dummy.var, weights=varIdent(form= ~1 | dummy.var))
Jake Westfall
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.