R で統計学を学ぶ(2)の課題の解答 課題 2

R で統計学を学ぶ(2)の課題の解答
課題 2-1
次の表には、親子の身長のデータ(単位は cm)がある。これから親と子の身長には相関があるかどうかを
散布図を書いて答えよ。
Parent <- c(175, 170, 165, 160, 182, 177, 160, 176, 161, 170, 172)
Child <- c(172, 173, 170, 168, 177, 172, 171, 172, 162, 167, 172)
答:相関係数を求めずに図だけで判断してみよう、という
ねらいである。散布図に加えて、単回帰分析もしてみると
x
175
よいだろう。
plot(Parent, Child, pch="x")
rel<-lm(Child~Parent)
x
この結果から、何らかの相関があるようにみえる
170
Child
x
abline(rel,col="blue")
x
x x
x
x
x
注意: plot の引数の順番と lm の引数の順番が異なること
165
x
に注意せよ。plot(Parent,Child)は Parent を x 軸、Child
を y 軸としてプロットする、それに対し lm(Child ~
x
Parent) は Child の値を Parent で「説明する」(Parent
160
165
の値の関数として Child を表す---a,b を定数として Child
170
175
180
Parent
= a*Parent + b で表す)ということを意味する。そのために順番が違うのである。
課題 2-2
課題 2-1 の親子の身長のデータに対し、不偏共分散の値を求めよ。また、身長をメートル(m)単位に直し
た場合の不偏共分散の値を求め、2 つを比較せよ。
答: ヒントの通り、不偏共分散は cov で求められる。また、身長のデータが cm で表されているので、
それを 100 で割ればメートル単位になる。
> cov(Parent, Child)
# 不偏共分散 (cm)
[1] 20.70909
> cov(Parent/100, Child/100)
# 不偏共分散 (m)
[1] 0.002070909
見て分かるように、m単位の場合cm単位に比べて 0.01^2=0.0001 倍になっている。この結果からわか
るように、単位に気をつけないと、不偏共分散(だけではなく分散や標準偏差、平均など)の値が異なった
解釈を受ける可能性がある。
課題 2-3
課題 2-1 の親と子の身長データから、これらの間には相関があるかどうかを相関係数を求めて答えよ。
また、その散布図と、単回帰分析によって得られる一次方程式のグラフを重ね書きして表示せよ。
答: 相関係数は cor 関数で求められる。散布図については課題 2-1 の答で示した。
> cor(Parent, Child)
[1] 0.7152638
この結果、強い相関があることが分かる。
課題 2-4
R の cor 関数は、cov 関数で与えられる不偏共分散を分子、sd 関数で与えられる(不偏分散の平方根であ
る)標準偏差を分母として計算されていることを、課題 2-1 のデータを使って確かめよ。もしも教科書の
定義通りの共分散と、標本分散の平方根とを用いて計算したときの、課題 2-1 のデータの相関係数はい
くらになるか、求めよ。
答:ヒントに従い、教科書の定義通りの共分散と標本分散とその平方根から相関係数を求める。
> x <- Parent ; y <- Child
> cov(x,y)/(sd(x)*sd(y))
# 不偏共分散と不偏分散の平方根による相関係数
[1] 0.7152638
> covariance <- sum((x - mean(x))*(y-mean(y)))/length(x)
# 教科書通りの共分散
> x_var <- sum((x - mean(x))^2)/length(x)
# Parent の分散
> y_var <- sum((y - mean(y))^2)/length(y)
# Child の分散
> (rel <- covariance/sqrt(x_var*y_var) )
# 共分散と標本分散の平方根による相関係数
[1] 0.7152638
これから分かるように、不偏共分散と不偏分散の平方根による相関係数と、共分散と標本分散の平方根
による相関係数は一致する。
(不偏分散と標本分散の計算上の違いは、分母の違いであるが、相関係数の
計算においてこれがキャンセルされるため、当然といえば当然である)