共分散構造の指定:長所と短所


15

GLMで共分散構造を指定することの利点は何ですか(共分散行列のすべての非対角成分をゼロとして扱うのではなく)?データについて知っていることを反映するだけでなく、

  1. 適合度を改善しますか?
  2. 保留データの予測精度を改善しますか?
  3. 共分散の程度を推定できるようにしますか?

共分散構造を課すコストはいくらですか?やる

  1. 推定アルゴリズムに計算上の複雑さを追加しますか?
  2. 推定パラメータの数を増やし、AIC、BIC、DICも増やしますか?

正しい共分散構造を経験的に決定することは可能ですか、それともデータ生成プロセスに関する知識に依存するものですか?

私が言及しなかった費用/利益はありますか?


5
基本的に、GLMで共分散構造を指定する必要あります。「共分散がないと仮定する」とは、「共分散行列の非対角成分がすべてゼロであること」を意味する場合、1つの非常に特定の共分散構造を仮定するだけでした。(たとえば、すべての分散が等しいと仮定することにより、さらに具体的にすることができます。)結論:質問が現在の形式で意味をなすかどうかはわかりません。(とにかく賛成しました。なぜなら、教祖が話し始めたら多くを学ぶと思うからです)それとも私はあなたを誤解していますか?
S. Kolassa -復活モニカ

たとえば、多変量正規混合分布を持つGLMの共分散構造、または共分散行列の共分散構造分析、または他の何かを参照していますか?
ティム

1
@StephanKolassaは、コメントを回答にコピーしますか?それは得ようとしているのと同じくらい良い質問に答えるようです。
コロネ

@Corone:良い点、リマインダーをありがとう。回答を投稿しました。おそらく、他の誰かがでチャイム、より良いものを与えるだろう...
S. Kolassa -復活モニカ

回答:


13

基本的に、GLMで共分散構造を指定する必要あります。「共分散がないと仮定する」とは、「共分散行列の非対角成分がすべてゼロ」を意味する場合、1つの非常に特定の共分散構造を仮定するだけでした。(たとえば、すべての分散が等しいと仮定することにより、さらに具体的にすることができます。)

これは、「私は哲学に同意していません。私は実用主義者です」のバリエーションです。-「あなたが購読している哲学を説明したばかりです。」

そのため、共分散構造について考えることの利点は、データにより適したモデルを使用できることです。観測値の期待値(または平均)の既知の関数関係を含める必要があるのと同様に、共分散で既知の構造を考慮する必要があります。

そしてもちろん、「欠点」は、あなたが実際にこれらすべてについて考える必要があるということです。ソフトウェアのデフォルト設定を使用する方がはるかに簡単です。しかし、これは常に最初のギアで運転するようなものです。車を購入したときは車が最初のギアであり、ギアシフトを理解するには手間がかかるからです。推奨されません。


2
+1あなたが書いたすべての言葉に同意しますが、これで質問が完全に解決されるとは思いません。たとえば、より適切な共分散構造を指定すると、モデルの残差が減少しますか?
ジャックタナー

1
@JackTanner:ありがとう!そして、あなたは私があなたの質問に完全には答えなかったという点で正しいです。だから私はもともとこれをコメントとして投稿しただけです。実を言うと、たとえば、正しい共分散構造を指定することが必ずしも残差を減らすかどうかはわかりません。残差(の共分散)に追加の構造を課すことで、それをさらに増やすこともできると思いますが、パラメーターを節約できます。非構造化共分散行列ではなく、AR(1)構造を考えてください。投稿の他の質問についても同様です。私は間違いなくこれに関する他の人々の意見に興味があるでしょう。
S. Kolassa -回復モニカ

1
+1; それは便利な答えであり、さらに、直mileは素晴らしいです。
ラッセルピアス

2

GLMについても直接ではない、もう1つの不完全な答えがあります...構造方程式モデリング(SEM)での非常に限られた経験で、議論に何かを追加することを期待するいくつかのアイデアをピックアップしました。GLM 自体ではなく、SEMでの(限られた)経験から話していることを心に留めておいてください。この区別が重要になるかどうか、どこでそうなるかについてはかなり無知です。私は統計学者というよりは統計ユーザーなので、これらのアイデアがすべてまたはほとんどのデータに適用されるかどうかもわかりません。私は自分のほとんどにそれらが適用されていることを発見しただけです。

まず、すでに知っていることをモデル化することの重要性について、@ StephanKolassaが強調していることを繰り返します。あなたはこれを脇に置くことを認めますが、あなたが尋ねている利点は、あなたが知っていることをモデル化することの利点だと思います。そのため、結果のモデルには、追加した共分散構造に関する情報が含まれていることを意味的に反映しています。

SEMで、私は以下を発見しました(理論的な研究ではなく、限られた経験を通して):

利点

  1. 共分散構造が標準誤差よりもはるかに強い場合(つまり、対称経路が重要な場合)、共分散構造のモデリングにより適合度(GoF)が向上します。これは、通常、ゼロに近い相関をモデル化してもGoFが改善されないことを意味し、多重共線性は標準エラーを増大させるため、GoFに問題を引き起こす可能性があります。

  2. 予測するためにデータを保持しようとはしていませんが、私の直感では、モデルで共分散をゼロに固定することは、一連の個別の単一IV線形回帰方程式を組み合わせてDVを予測することに似ています。このアプローチとは異なり、多重回帰は、DVを予測する方程式のモデルを作成するときにIVの共分散を考慮します。これにより、含まれているIVのセット内で完全に発生する間接効果から直接効果を分離することにより、確実に解釈可能性が向上します。正直なところ、これがDVの予測を必ずしも改善するかどうかはわかりません。統計学者ではなく統計学のユーザーである私は、次のシミュレーションテスト関数をまとめて不完全な答えを出しました(明らかに、「はい、モデルにIV共分散を組み込むと予測精度が向上します」)。

    simtestit=function(Sample.Size=100,Iterations=1000,IV.r=.3,DV.x.r=.4,DV.z.r=.4) {
    require(psych); output=matrix(NA,nrow=Iterations,ncol=6); for(i in 1:Iterations) {
    x=rnorm(Sample.Size); z=rnorm(Sample.Size)+x*IV.r
    y=rnorm(Sample.Size)+x*DV.x.r+z*DV.z.r
    y.predicted=x*lm(y~x+z)$coefficients[2]+z*lm(y~x+z)$coefficients[3]
    bizarro.y.predicted=x*lm(y~x)$coefficients[2]+z*lm(y~z)$coefficients[2]
    output[i,]=c(cor(y.predicted,y)^2,cor(bizarro.y.predicted,y)^2,
    cor(y.predicted,y)^2>cor(bizarro.y.predicted,y)^2,cor(x,z),cor(x,y),cor(y,z))}
    list(output=output,percent.of.predictions.improved=100*sum(output[,3])/Iterations,
    mean.improvement=fisherz2r(mean(fisherz(output[,1])-fisherz(output[,2]))))}
    
    # Wrapping the function in str( ) gives you the gist without filling your whole screen
    str(simtestit())
    

    この関数は、ランダムなサンプル(N= Iterationsn= Sample.Size)3つの正規分布変数から:z = x + ランダムノイズ y = x + z +ランダムノイズ。ユーザーは最後の3つの引数のデフォルトをオーバーライドすることで相関にある程度影響を与えることができますが、ランダムノイズはサンプルの相関にも影響を与えるため、サンプリングエラーが真の相関パラメーターの推定に影響する方法をシミュレートします。関数は、の予測計算yのための回帰係数に基づくxzに由来します。

    1)重回帰(y.predicted)、および...

    2)2つの独立した2変量線形回帰(bizarro.y.predicted)。

    output行列が含まれているIterations行6列を:R21 そして 2、かどうかの真偽テスト 1>2、および二変量 r3つのユニークな組み合わせのためだxyと、z。この関数は3要素のリストを作成しoutputます。最初のリストは行列です。私はラッピングをお勧めしますので、デフォルトでは、これは、1,000行の長さであるsimtestit()str( )あなたが何らかの理由で個々のサンプルの統計情報に興味がない限り、関数または関数自体のリストからこの要素を削除します。反復の割合R21)IVの共分散を説明するための重回帰、および反復にわたるこれらの改善の平均(のスケールで) rpsychパッケージ経由のフィッシャー変換を使用して)。

    この関数はデフォルトで、最大限基本的な重回帰のかなり典型的な状況の短いsimテストになります。これにより、ユーザーは個々のサンプルサイズと変数の相関関係を変更して、研究や関係の強さに関する以前の理論に適合させることができます。すべての可能な設定をテストしたわけではありませんが、関数を実行するたびに、100%の反復でより高い値が生成されますR2重回帰あり。の平均改善R2 IVの共分散(次の引数を入力することで不完全に操作できる場合) IV.r)は大きいです。あなたはおそらく私よりもGLM関数に精通しているので(まったくそうではありません)、おそらくこの関数を変更するか、基本的な考え方を使用して、多くのIVでGLM予測を比較することができます。それが同じ方法であると仮定すると(またはそうだと仮定すると)、2番目の質問に対する基本的な答えはおそらく「はい」であるように見えますが、その程度はIVがどれだけ強く交感するかに依存します。ホールドアウトされたデータとモデルの適合に使用されるデータのサンプリング誤差の違いは、後者のデータセット内の予測精度の改善を圧倒する可能性があります。 IVが2つしかない最大限に基本的なケース)。

  3. モデル内のIV間の共分散にフリーパスを指定するということは、IV間の共分散の程度を表すこのパスウェイの係数を推定するようにモデルフィッティング関数に要求することを意味します。GLM関数でIV間の共分散がゼロに固定されるのではなく、自由に推定されるモデルを指定できる場合、問題は、これを行う方法と関数を出力する方法を理解することの希望に満ちた単純な問題ですその見積もり。関数がデフォルトでIV共分散を推定する場合、問題は(後者の場合のようにlm( ))後者の問題にさらに単純化されます。

費用

  1. はい、IV間の共分散を自由に推定するということは、モデルフィッティングアルゴリズムがその経路の係数を推定するために何らかの作業を行う必要があることを意味します。モデルでその経路を指定しないということは、通常、係数をゼロに固定することを意味します。つまり、モデルフィッティングアルゴリズムは係数を推定する必要がありません。追加の共分散パラメーターを推定することは、モデル全体が適合するためにより多くの時間を必要とすることを意味します。推定にすでに長い時間がかかるモデルでは、特に多くのIVがある場合、余分な時間がかなりかかる可能性があります。

  2. はい、自由に推定された共分散構造はパラメーター推定を意味します。母集団には共分散パラメーターがあるため、母共分散を推定している場合は、パラメーターを推定しています。ただし、非自明な相関関係をゼロに固定するのではなく推定することを選択しているため、モデルの適合度がはるかに高い場合、GoFを組み込んだ他の基準と同様に、赤池とベイジアンの情報基準が改善されることが期待できます。私は逸脱情報の基準(あなたが参照しているDICですよね?)に精通していませんが、Wikipediaページから判断すると、GoFとモデルの複雑さに対するペナルティが組み込まれているようです。

    したがって、GoFは、DICを改善するためにモデルの複雑さが増すよりも比例して改善する必要があります。これが全体的に起こらない場合、IVの共分散をより多く推定すると、モデルの複雑さを不利にするこれらの基準は悪化します。たとえば、IVが相関しない場合、これは問題になる可能性がありますが、IVが相関すると考えられるため、または関数のデフォルト設定であるため、共分散構造はとにかく自由に推定されます。相関がゼロであると仮定する以前の理論的理由があり、モデルにこの仮定をテストさせたくない場合、これはパスをゼロに修正する正当な理由の1つです。以前の理論がほぼ正しい場合、

ダンノはあなたが働いている機能ですが、もう一度、私はそれに慣れていないと確信しているので、この答え、特に2番目の利益の質問に対する答え(数学的なもの重回帰に関するシミュレーションで私が答えていることの証拠は、おそらくどこかで利用可能です)。私は一般的なGLMにも精通していません(タグが示唆するように、一般的な線形モデリングではなく一般化を意味すると仮定します)ので、SEMとの区別があなたの質問に対する私の答えを無効にする場合、誰かがこの答えにコメントまたは編集することを願っていますまったく。

それでも、教祖が話すのを10か月待っていたようです。もしこれがうまくいかなければ、それだけでやらなければならないでしょう。ただし、特定のGLM機能について、Rをいじりたいと思っている場合はお知らせください。Rに関心のあるGLM関数を指定できる場合、アプリケーションに対して#3をより直接的に答える方法を見つけることができるかもしれません。シミュレーションテストの専門家でもありませんが、他の4つの質問はsimテストできると思います(より直接)も。


2
+1印象的な思慮深い反応。ニック、CVへようこそ!
whuber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.