Rの因子による線形回帰


10

Rで因子がどのように機能するかを理解しようとしています。Rのサンプルデータを使用して回帰を実行するとします。

> data(CO2)
> colnames(CO2)
[1] "Plant"     "Type"      "Treatment" "conc"      "uptake"   
> levels(CO2$Type)
[1] "Quebec"      "Mississippi"
> levels(CO2$Treatment)
[1] "nonchilled" "chilled"   
> lm(uptake ~ Type + Treatment, data = CO2)

Call:
lm(formula = uptake ~ Type + Treatment, data = CO2)

Coefficients:
 (Intercept)   TypeMississippi  Treatmentchilled  
       36.97            -12.66             -6.86  

私はそれを理解しTypeMississippiTreatmentchilledブール値として扱われます。各行の最初の取り込みは36.9712.66あり6.86、それがミシシッピ型であるかどうか、および冷却されているかどうかを差し引きます。私はこのようなものを理解するのに苦労しています:

 > lm(uptake ~ Type * Treatment, data = CO2)

 Call:
 lm(formula = uptake ~ Type * Treatment, data = CO2)

 Coefficients:
                 (Intercept)                   TypeMississippi  
                      35.333                            -9.381  
            Treatmentchilled  TypeMississippi:Treatmentchilled  
                      -3.581                            -6.557  

で2つの要素を掛け合わせるとはどういう意味lmですか?

回答:


17

@Johnの答えについて詳しく説明します。Rの式では、用語に適用できる演算子がいくつかあります。「+」は単にそれらを追加し、「:」は、それらの相互作用を参照する用語(または複数の用語)を追加することを意味します(以下を参照)、「*」は両方を意味します。つまり、「主効果」が追加され、相互作用項も追加されます。

それでは、この相互作用はどういう意味ですか?さて、連続変数の場合、実際に追加されるのは単に2つの変数の倍数である項です。予測子として高さと重量がありout ~ height * weight、数式として使用する場合、線形モデルには3つの「変数」、つまり重量、高さ、およびそれらの積が含まれます(相互作用も含まれますが、ここではあまり重要ではありません)。

上記以外の方法をお勧めしますが、これはカテゴリー変数の場合とまったく同じように機能しますが、「製品」は各カテゴリー変数の(一連の)ダミー変数に適用されます。身長と体重がそれぞれ3つのカテゴリー(S(mall)、M(edium)、L(arge))を持つカテゴリーになっているとします。次に、線形モデルでは、これらはそれぞれ、0または1の2つのダミー変数のセットで表されます(他のコーディング方法がありますが、これはRのデフォルトであり、最も一般的に使用されます)。両方の参照カテゴリーとしてSを使用するとします。そうすると、毎回2つのダミーであるheight.Mとheight.L(そして重量についても同様)ができます。

したがって、モデルout ~ height * weightには4つのダミーとすべてのダミーの組み合わせのすべての積が含まれています(ここでは係数を明示的に記述していません。暗黙のうちに含まれています)。

(intercept) + height.M + height.L + weight.M + weight.L + height.M * weight.M + height.L * weight.M + height.M * weight.L + height.L * weight.L.

上記の行で、「*」は単純な製品を再び指しますが、今回はダミーなので、各製品自体も1(すべての要素が1の場合)または0(少なくとも1つがそうでない場合)のいずれかです。

この場合、8つの「変数」は、2つの変数のすべての組み合わせで異なる(平均)結果を可能にします。大きな体重を持つことの効果は、小さな人々にとって同じではなくなりました(これらの効果は、単に用語によって形成されますweight.L)。大人の方へ(こちらは効果ありweight.L + height.L * weight.L


7

Johnの回答をフォローアップするために、lmの数式は算術表記を使用せず、コンパクトな記号表記を使用して線形モデルを記述しています(具体的には、Wilkinson-Rogers表記、ここに適切な短い要約がありますhttp://www.physiol .ox.ac.uk /〜raac / R.shtml)。

基本的に、モデル式にA * Bを含めることは、A、B、およびA:B(AとBの相互作用)をフィッティングしていることを意味します。交互作用項が統計的に有意である場合、それは治療の効果がタイプごとに異なることを示唆しています。


3

おそらく、ヘルプで「式」を調べることは役立つでしょう。掛け算ではなく、2つの主な効果とそれらの相互作用も必要だと言っているのです。


1
(+1)それは私へのコメントのようです。
Dmitrij Celov 2011
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.