• 検索結果がありません。

線形回帰モデル

ドキュメント内 ためになった他の人のサイト script of (ページ 197-200)

第 6

線形回帰モデル

R

は回帰分析関連の関数を多数持ち,統計解析機能の中心的位置を占める.以下では,

線形

(

)

回帰モデルと一般化線形回帰モデル*1 を紹介する.現代の統計理論では,分散 分析も線形回帰モデルとして処理することが普通であるため,分散分析関連の関数もここ で一緒に紹介するのが適当である.射影追跡法等の現代的手法も紹介する.

na.action

設定であり,もしこれが未設定なら

na.fail()

が使われる.「工場 出荷時」既定動作は

na.omit()

method

使われるメソッド.当てはめに対しては現在

method="qr"

だけがサポートさ れている.

method="model.frame"

はモデルフレームを返す

(

指定

model=TRUE

と同じ,下を見よ

)

model, x, y, qr

論理値.もし

TRUE

なら当てはめの成分

(

モデルフレーム,モデル 行列,目的変数,分解

)

が返される

singular.ok

論理値

.

もし

FALSE (S

の既定値であるが

R

では異なる

)

なら特異な当 てはめはエラーとされる

contrasts

オプションのリスト.

model.matrix.default()

contrasts.arg

を 見よ

offset

これは当てはめの途中で,線形予測子に含められるべきことが事前に知られて

いる成分を指定するのに使える.代わりに,または同時にオフセット項をモデル 式に含めても良い

...

低水準回帰当てはめ関数に引き渡される追加引き数

(

以下参照

)

返り値:

lm()

関数はクラス

"lm"

のオブジェクトを返す.多変量目的変数に対 してはクラス

c("mlm", "lm")

のオブジェクトを返す.関数

summary()

anova()

は結果の出力と分散分析表を得るのに使える.総称的アクセス関数

coefficients(), effects(), fitted.values()

そして

residuals()

lm()

が返す値から様々な有用な情報を取り出すのに使うことができる.クラス

"lm"

のオブジェクトは最低でも次のような成分を含むリストである.加えて,

NULL

でない当てはめは,

summary

effects

といった抽出関数用に,線形当てはめ に関連する成分

assign, effects

そして

(

不要とされない限り

) qr

を含む

coefficients

係数の名前付きベクトル

residuals

残差,つまり目的変数から当てはめ値を引いたもの

fitted.values

当てはめられた平均値

rank

当てはめ線形モデルの数値計算によるランク

weights (

重みつき当てはめだけに該当

)

指定された重み

df.residual

残差自由度

call

呼出し式

terms

使われた

terms

オブジェクト

contrasts (

関係するときだけ

)

使われた対比

xlevels (

関係するときだけ

)

当てはめで使われた因子の水準の記録

y

もし要求されたなら使われた目的変数

x

もし要求されたなら使われたモデル行列

model

もし要求されたなら

(

既定

)

,使われたモデルフレーム

lm()

に 対 す る モ デ ル 式 は シ ン ボ リ ッ ク に 与 え ら れ る .典 型 的 な モ デ ル は

response ~ terms

と い う 形 式 を 持 ち ,こ こ で

response

(

数 値

)

目 的 変 数 ベ

クトルで

terms

response

に対する説明変数を指定する幾つかの項である.形式

first + second

の項指定は,

first, second

中の全ての項

(

重複項は除いて

)

を意味す

る.形式

first:second

の項指定は,

first

second

中の全ての項同士の交互作用 項を意味する.形式

first*second

の項指定は,

first

second

中の全ての項のク ロスを意味する.これは指定

first + second + first:second

と同値である.もし

response

が行列なら,行列の全ての列に対して線形モデルが当てはめられる.詳しくは

model.matrix()

を見よ.モデル式中の項は主効果が最初,

2

次交互作用項がその次,更

3

次交互作用が続く,等と並べ変えられる.こうすることにより

term

オブジェクトを モデル式として引き渡すことを防げる.

モ デ ル 式 に は 切 片 項 が 暗 黙 の う ち に 含 ま れ る .こ れ を 除 く に は

y ~ x - 1

y ~ 0 + x

を使う.許されるモデル式に付いては

formula()

を見よ.

lm()

は実際の数 値計算には

lm.fit()

等の低水準関数を呼び出す.プログラムのためだけなら同様に低 水準関数を使うことが考えられる.

weights, subset

そして

offset

全ては

formula

中 の変数と同様に評価される.つまり,まず

data

中,それから

formula

の環境中である.

注意:

offset

で指定されたオフセット項は

predict.lm()

による予測には含められな

い.他方で,モデル式のオフセット項で指定されたものは含められる.

関連:要約用の

summary.lm()

ANOVA

表用の

anova.lm()

aov()

は別のインタフェ イスを与える.総称的関数

coef(), effects(), residuals(), fitted(), vcov()

.信 頼区間と予測区間を含む予測には

predict.lm() (predict()

を経由する

)

.回帰診断に は

lm.influence()

,一般化線形モデルは

glm()

.背景にある低水準関数である,単純 な当てはめ用の

lm.fit()

,重みつき回帰当てはめ用の

lm.wfit()

# Annette Dobson. 対照群と処理群の植物重量データ(次の図を参照)

> ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) # 対照群

> trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) # 処理群

> group <- gl(2,10,20, labels=c("Ctl","Trt"))

> group # 2群を因子化し説明変数とする(処理による差に関心)

[1] Ctl Ctl Ctl Ctl Ctl Ctl Ctl Ctl Ctl Ctl Trt Trt Trt Trt Trt Trt Trt [18] Trt Trt Trt

Levels: Ctl Trt # 2水準(Ctl:対照群,Trt:処理群)

> weight <- c(ctl, trt) # 目的変数

> anova(lm.D9 <- lm(weight ~ group)) # 線形回帰結果から分散分析表を計算 Analysis of Variance Table

Response: weight

Df Sum Sq Mean Sq F value Pr(>F) group 1 0.6882 0.6882 1.4191 0.249 Residuals 18 8.7293 0.4850

> str(lm.D9) # 線形回帰結果の全情報を見る

List of 13

$ coefficients : Named num [1:2] 5.032 -0.371

..- attr(*, "names")= chr [1:2] "(Intercept)" "groupTrt"

$ residuals : Named num [1:20] -0.862 0.548 0.148 1.078 -0.532 ...

..- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...

(以下省略)

> summary(lm.D90 <- lm(weight ~ group - 1)) # 切片項を除いた当てはめ結果の要約 Call:

lm(formula = weight ~ group - 1) # 呼出し式

Residuals: # 残差の要約統計量

Min 1Q Median 3Q Max # 5数要約

-1.0710 -0.4938 0.0685 0.2462 1.3690

Coefficients: # 係数の推定値,標準偏差,t値.p値はともに有意(0とは見なせない)

Estimate Std. Error t value Pr(>|t|) groupCtl 5.0320 0.2202 22.85 9.55e-15 ***

groupTrt 4.6610 0.2202 21.16 3.62e-14 ***

---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.6964 on 18 degrees of freedom # 残差の標準偏差と対応自由度

ドキュメント内 ためになった他の人のサイト script of (ページ 197-200)