回帰分析

一番短い説明

YX1X2
122
210
112
020

上のデータをExcelやOpenOffice calcでコピーしてから、次の一行を実行する。

# Excelで用意したデータをコピー (Windows)
data.table <- read.table("clipboard", header=T)
# Excelで用意したデータをコピー (Mac)
data.table <- read.table(pipe("pbpaste"), header=T)

当たり前だが、Excelでコピーしてから、上の一行をコピーして貼り付けたら、データは正しくコピーされない。

# 最小二乗推定(回帰分析)の実行
data.lm <- lm(Y~X1+X2, data=data.table)
# 要約の出力
summary(data.lm)
plot(data.lm, which=1:4)

演習用のコード

単回帰分析

参考文献の表4.1のデータの入力は次の通り。

x <- c(2.2,4.1,5.5,1.9,3.4,2.6,4.2,3.7,4.9,3.2)
y <- c(71,81,86,72,77,73,80,81,85,74)
table.4.1 <- data.frame(x=x,y=y)

回帰分析の実行にはlm関数を用いる。

lm(y~x, data=table.4.1)

「y~x」は、変数yを変数xで説明する回帰分析を行うための表現。これは <jsmath> Y = \beta_0+\beta_1 X+\epsilon </jsmath> という回帰式を推定せよ、という意味である。

回帰分析の詳細を示すには、lm関数の実行結果を別の変数lm.4.1などに代入してから、詳細を出力させるsummary関数を用いる。

lm.4.1 <- lm(y~x, data=table.4.1)
print(lm.4.1)
summary(lm.4.1)

問1:このsummary関数の出力結果を、参考文献の説明と対比させて理解せよ。

回帰分析の結果を診断するために、幾つかのグラフを出力する機能がある。lm関数の実行結果をplot関数にかければ、そのようなグラフが4枚、順次出力される。

plot(test.lm)

問2:このplot関数の出力結果を、参考文献の説明と対比させて理解せよ。

重回帰分析

表5.1のデータは次のように入力する。

x.1 <- c(51,38,57,51,53,77,63,69,72,73)
x.2 <- c(16,4,16,11,4,22,5,5,2,1)
y <- c(3.0,3.2,3.3,3.9,4.4,4.5,4.5,5.4,5.4,6.0)
table.5.1 <- data.frame(x.1=x.1,x.2=x.2,y=y)

回帰分析の実行には、説明変数が複数あっても(重回帰でも)lm関数を用いる。

lm(y~x.1+x.2, data=table.5.1)

今度は説明変数が2つあるので、「y~x.1+x.2」となる。これは <jsmath> Y = \beta_0+\beta_1 X_1 + \beta_2 X_2+\epsilon </jsmath> という回帰式を推定せよ、という意味である。

回帰分析の詳細を示すには、lm関数の実行結果を別の変数lm.5.1などに代入してから、詳細を出力させるsummary関数を用いる。

lm.5.1 <- lm(y~x.1+x.2, data=table.5.1)
print(lm.5.1)
summary(lm.5.1)

問4:このplot関数の出力結果を、参考文献の説明と対比させて理解せよ。

重回帰応用(水準変数が説明変数に含まれる場合)

上のデータを、広さを「広め(w)」「狭め(n)」とし、築年数も「新しめ(new)」「古め(old)」にする

x.1 <- c("n","n","n","n","n","w","w","w","w","w")
x.2 <- c("old","new","old","old","new","old","new","new","new","new")
y <- c(3.0,3.2,3.3,3.9,4.4,4.5,4.5,5.4,5.4,6.0)
table.5.1.c <- data.frame(x.1=x.1,x.2=x.2,y=y)

問5:このデータで、回帰分析を行い、グラフも作成して、先のモデルと何が異なるか、検討せよ。

lm.5.1.c <- lm(y~x.1+x.2, data=table.5.1.c)
print(lm.5.1.c)
summary(lm.5.1.c)
plot(lm.5.1.c)
r/how_to/linear_regression.txt · 最終更新: 2012/12/11 13:24 by watalu
 
特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki