この章について
この章の問題は,回帰直線の傾きと切片を具体的に求めたり, 特定の x の値に対する Y の母平均の信頼区間を求めたりするなど, 統計検定2級の出題傾向とはかなり異なっています. 統計検定2級のこれまでの出題では, これらを求めるための計算式を覚えておくことは要求されていません. それでも,問題を解くことで,相関と回帰についての理解は深められます. 2級の範囲外の問題はスキップしてもかまいません.
統計検定2級の試験での回帰分析についての出題では, R での分析の出力がよく用いられています. この章の回帰分析についての問題は R で分析を行い, 出力を読むことに慣れておくとよいでしょう.
初版では,テキスト p.143 の, の母平均の % 信頼区間の式に誤りがありました.正しくは, です(最後のルート部分が,分数の分母になっていました). 最近の版では修正されています.
テキストでは回帰直線の傾きと切片の両方を回帰係数と呼んでいますが(p.142), 傾きだけを回帰係数と呼ぶ方が一般的です. 他のテキストを参照するときには注意してください.
例題
- 例題1
- 問題文では,確率変数を大文字の および で,その実現値(データ)を小文字の および で表しています. この問題で計算するのはデータでの相関係数です. 大文字と小文字のこうした使い分けは, テキストではあまり徹底されていません. 大文字を使って「 と の相関係数」と表現すると, 本来は確率変数の相関係数(つまり,母集団での相関係数)を意味します.
- 実際のデータ分析では,相関係数を計算する前に, 必ず散布図を描いてください. エクセルを使うと,以下の散布図を描くことができます. 2変数間に直線的な関係があることがわかります.
-
- エクセルで相関係数を計算する関数は CORREL 関数です. 以下の図のように使います.
-
- R を使うなら,以下のコードを実行すると,plot 関数で散布図を描き, 続いて cor 関数で相関係数を計算します.
-
x <- c(166, 172, 182, 183, 174, 152, 170, 173, 160, 165) y <- c(60.5, 62.9, 65.0, 64.8, 59.2, 56.9, 61.0, 61.9, 59.3, 58.3) plot(x, y, xlab = "身長(cm)", ylab = "体重(kg)") cor(x, y)
- エクセルや R の関数を使うのではなく, 電卓を使って相関係数を計算するなら, 計算を簡単にする工夫を行うとよいでしょう. 解答例にあるように変数の変換( , )を行うと計算が簡単になります.
- 相関係数の定義を与える式で, は分子と分母で共通となるので,消すことができます.すなわち,
- となります.ここから分子と分母をさらに式変形すると, テキスト p.140 に示されている の計算式が得られます. 分子については,
- と変形できます.分母にある の偏差平方和については,
- と変形できます. 分母にある の偏差平方和についても, まったく同様に変形できます.
- このような式変形の結果,
- という式が得られます. 分子と分母の両方に をかけると,最終的に,
- という計算式が得られます.相関係数の定義式を使うよりも, この計算式の方が計算が簡単になる場合がよくあります.
- この計算式を記憶するためには, 分子を「積和の 倍 マイナス (総)和の積」と読んで覚えます. 分母の平方根の中は,分子の式での文字 および を,いずれか一方にそろえた形をしています. このように,式を読むことは良い学習方略です.
- 計算式を記憶しておくのではなく,その場で導いて使うのであれば, 総和,積和,2乗和だけを使う式を導くという目標をもって式変形してください.
- 例題2
- 小問 (c) で,Y の総和に誤植があります(3か所). となっていますが,正しくは です.よって,相関係数の計算式は
- となります. この誤植は最近の版でも残っています(第27刷で確認).
- 小問 (a) では,相関係数の定義式で とすると, 数値を用いて具体的に計算しなくても相関係数が1であることがわかります. すなわち,
- となります.散布図において,データを表す点がすべて, 傾きが正の直線上にあれば,相関係数は になります.傾きが負の直線上にあれば,相関係数は になります.
- 小問 (b) および (c) では,共分散を計算すると0になるので, 相関係数が0であることがわかります. たとえば小問 (b) の場合, , なので,共分散は,
- となります.
- 小問 (b) および (c) のように, を原点とした座標において, 散布図が縦軸あるいは横軸について線対称になると, 共分散は0になります. 縦軸について線対称(縦軸で座標平面を折るとデータを表す点が重なる)のとき, 縦軸上にない点 に対して点 が必ず存在します. 共分散の計算において,これら2つの点についての計算は, となります.このように,対称となる点どうしの計算がすべて0になります. 縦軸上にある点 は,共分散の計算においてやはり0となります. よって,縦軸について線対称な散布図では,共分散は0となります. 横軸について線対称な散布図も同じです.
- テキストでの小問 (c) の解説は, と が放物線の関係なので相関係数が0になるという意味に読めますが, これは不正確です. 散布図において,すべての点が放物線の上にあっても, 相関係数が0であるとは限りません. たとえば,小問 (c) で,(3, 8) という点を (4, 15) に変えると, 相関係数は 0.387 になります.
- エクセルで共分散を計算するには,COVARIANCE.P 関数,あるいは, COVARIANCE.S 関数を使います. テキスト p.140 に与えられている共分散の定義式に対応するのは COVARIANCE.P 関数です. COVARIANCE.S 関数は, 定義式での のかわりに, を用いた計算を行います. これは分散の計算での VAR.P 関数と VAR.S 関数の区別と同じです.
- R で共分散を計算する関数は cov 関数です. これはエクセルでの COVARIANCE.S 関数に相当します. たとえば,小問 (b) での共分散を計算するには,以下のコードを実行します.
-
X <- c(1, 1, -1, -1) Y <- c(1, -1, 1, -1) cov(X, Y)
- 例題3
- 個数 の対数の値を計算するには,エクセルの LOG10 関数か, R の log10 関数を使うとよいでしょう.関数電卓を利用してもよいです.
- 統計検定2級の過去の出題例を見る限り, 回帰直線の切片と傾きを求める式を覚えておく必要はなさそうです. もし覚えておきたければ, 回帰直線を以下の式で覚えておくとよいでしょう.
- この式で, は特定の の値に対する の予測値(回帰直線上の値), と はぞれぞれ と の標準偏差, は と の相関係数です. データでの の値と, 予測値(直線上の値)とを区別するために, という記号を用いました.テキストでの表記のように, と の関係を表す直線の式としては, でなく と書いてもかまいません. そうすると,左辺が の標準化, 右辺が の標準化に相関係数をかけ算した形をしており, 覚えやすいと思います.この式から示唆されるように, 2変数をそれぞれ標準化してから回帰直線を求めると, 回帰直線の切片は0,傾きは相関係数となります. これは重要ですから覚えておいてください. この式を変形すると, となります.さらに,共分散を と表し, を用いて式変形すると, という式が得られます.ここから,傾きは 切片は であることがわかります.
- 電卓を用いて計算する場合には, 回帰直線の傾きは以下の計算式を使った方が簡単な場合が多いです. テキストで示されている解答例はこの計算式を使っています.
- 例題1で示した,相関係数の計算式とよく似ています.
- R を使って回帰直線の傾きと切片を求め, 散布図上に直線を図示するには,以下のコードを実行します.
-
x <- c(10, 50, 100, 500, 1000) y <- c(7.2, 8.5, 9.1, 10.3, 11.0) X <- log10(x) # 対数変換(対数の底は10) Y <- y plot(X, Y) # 変換後のデータで散布図を描く result <- lm(Y ~ X) # 回帰分析を実行 summary(result) abline(result) # 散布図に回帰直線を描く
- R の abline 関数は,指定された切片 a と傾き b の直線を描きます. 回帰分析を lm 関数で実行すれば回帰直線の切片と傾きが得られるので, この結果を変数(上のコードでは result)に保存し, abline の引数にこの変数を与えます. 詳しくは R のテキストを参照してください.
- テキストで示されている散布図上では, の位置が示されています. 回帰直線はこの点を必ず通ります. これは重要な性質ですので,覚えておいてください.
- 例題4
- 問題文では,大文字で「 の への回帰直線を求めよ」と書かれていますが, 解答での直線の式は小文字の と が使われています.とまどった人がいるかもしれません. 例題1での補足説明で述べたように, 本来は,大文字が確率変数,小文字がその実現値(データ)を表します. ここで求めるのはデータでの回帰直線ですから, 直線の式には小文字を使う方が自然です. 問題文も,「 の への回帰直線を求めよ」とした方がよいと思います. 大文字を使うと,母集団での真の関係式を指しているように思えます. 大文字と小文字の使い分けは, テキストではあまり徹底されていません. それほど気にしなくてかまいません.
- テキストの解答のように,データから定数を引き算しておくと, 相関係数の計算が少し簡単になります(もちろん, エクセルや R を使うなら必要ありません). このような変換を行っても相関係数は変化しません. 変換後の値を使って相関係数を計算すれば, 変換前の値を使って計算した結果と一致します. データから引く定数には,平均値に近い値を選ぶとよいでしょう.
- データから定数を引き算したとき,回帰直線の計算では少し注意が必要です. テキストの解答では, の への回帰係数は の への回帰係数と等しいと書かれていますが, この記述は誤りです(例題9で同じ誤りがあります). このページの冒頭で述べたように, このテキストは傾きと切片の両方を「回帰係数」と呼んでいます. データから定数を引き算しても分散および共分散は変化しないので, これらから計算される直線の傾きは,もとのデータでも変換後のデータでも同じです. しかし,平均値は定数の値だけ小さくなっていますので, 切片の計算ではもとのデータでの平均値を使うことを忘れないようにしてください. すなわち,身長()からは150, ひじの長さ()からは20を引いていますから, 傾きが ならば,切片 は, と計算します.
- R を使って以下のコードで回帰直線を求めると, 傾きは 0.1471,切片は 0.4302 となります. 回帰直線を求める前に散布図を描いています.
-
x <- c(152,145,164,153,132,148,149,138,142,150) y <- c(22,21,25,23,20,21,22,21,22,24) plot(x, y) summary(lm(y ~ x))
- 例題5
- スピアマンの順位相関係数は統計検定2級の範囲外です. 2級対策としては,この問題をスキップしてもかまいません. 順位相関係数は統計検定準1級の出題範囲になっています. 準1級を受験する場合でも, スピアマンの順位相関係数の式を覚える必要はないと思われます.
-
森敏昭・吉田寿夫『心理学のためのデータ解析テクニカルブック』(北大路書房)では,
ピアソンの相関係数でなく順位相関係数を用いることが適切となる場合を,
以下のように挙げています(p.251).
この例題は 1. の場合です.
ピアソンの相関係数を計算する前に散布図を描き,
3. および 4. に該当すると判断される場合には,
順位相関係数を用いることが適切です.
- 各データが,最初から順位で表されているような場合.
- データが得点で表されていても, その得点(変数)が間隔尺度としての条件を満たしているとは考えられない場合.
- 外れ値が存在し,ピアソンの積率相関係数ではその影響を大きく受けてしまう場合.
- 分布が極端に正規分布から逸脱しており, 有意性の検定における前提条件という点からピアソンの積率相関係数の適用が妥当でない場合.
- 2変数間に特定の関数関係を想定せず, 単調増加(ないし単調減少)関係のみを問題にする場合.
- 章末問題10-4 で示すように,同順位がない場合には, スピアマンの順位相関係数はピアソンの相関係数と同じものです. 順位データを通常のスコアのように見なしてピアソンの相関係数を計算すると, それがスピアマンの順位相関係数となります. 小問 (a) のデータを使って, スピアマンの順位相関係数と, ピアソンの相関係数を計算で求め, 結果が同じであることを確かめてください.
- テキストの初版では,小問 (b) の解答で誤植がありました. 数学の順位 が誤っているため, 順位の差 およびその2乗である の数値も誤ったものになりました. スピアマンの順位相関係数の値も誤りでした. 数学の順位()が, 順に 1, 6, 2, 5, 4, 3 となっているテキストを使用している場合には, これを 1, 2.5, 2.5, 6, 5, 4 と修正してください. これにあわせて,順位の差とその2乗も修正してください. 正しい順位を用いて計算したスピアマンの順位相関係数は 0.6 となります. この誤植は最近の版では修正されています.
- 小問 (b) のようにスコアを順位に変換するとき, もとのスコアで同点(ties)がある場合には, 同点でなければそこに割り当てられる順位の平均を与えます. たとえば,この例題での数学の成績は, 学生番号1番が A で1位のあと,学生番号2番と3番が B で同点です. この2人が同点でなければ順位は2位と3位なので, 平均をとって 2.5 という順位がこの2人に与えられます.
- 小問 (b) のように同順位があると, スピアマンの順位相関係数の公式から得られる値は, ピアソンの相関係数の公式から得られる値とは一致しません. 小問 (b) のデータを使って, R で以下のコード(ピアソンの相関係数を計算)を実行すると, 0.5821544 という値が返されます. 一方,スピアマンの順位相関係数の公式から得られる値は 0.6 です.
-
x <- c(1, 2.5, 2.5, 6, 5, 4) y <- c(4, 2.5, 1, 5.5, 5.5, 2.5) cor(x, y)
- 例題6
- 相関係数についての統計的仮説検定は,統計検定2級の範囲外です. 2級対策としては,この問題をスキップしてもかまいません. ただし,10章の問題 10.6 で扱われている, 母集団相関係数が0という帰無仮説の検定はよく使われますので, なじんでおいた方がよいでしょう.
- 問題文の最後が「同じであるといえるか」になっていますが, これは「異なるといえるか」とすべきでしょう. 統計的仮説検定のロジックでは, 同じである(つまり,帰無仮説が正しい)ということを積極的に主張できないからです.
- ここで行う相関係数の検定は,大標本でないと成立しません. 大きさ12の標本では小さすぎますので, 練習問題であると割り切って解答してください.
- 検定統計量 は,覚える必要はありません. これは統計検定準1級あるいは1級受験の場合も必要ないと思います. もっとも,この式の右辺は に等しいので, 大学での解析学の基礎を知っている人なら覚えられる(構成できる)でしょう.
-
自然対数の計算には,関数電卓,エクセルの LN 関数,
あるいは,R の log 関数を使用してください.
たとえば,
を求めるのに,エクセルの LN 関数を用いる場合には,
LN(7)
とします. R の log 関数を用いるなら,log(7, base = exp(1))
あるいは単にlog(7)
とします. - 例題7
- 統計検定2級対策としては, この問題で使用する信頼区間の計算式を覚えておく必要はありません.
- 問題文で,「y の値に対する 95% 信頼区間」と書かれているのは不適切です. この問題が要求しているのは,テキスト p.143 で式が与えられている, 「特定の x の値に対する Y の母平均の信頼区間」です. したがって,「Y の母平均に対する 95% 信頼区間」と書くべきです.
- 「Y の母平均に対する 95% 信頼区間」とは何かについて, 簡単に説明しておきます. 母集団での,Y の X への回帰直線は, であるとします. 大きさ の標本で,データ が得られたとき,母集団での(つまり,真の)線形回帰モデルは, となります.ここで誤差 は互いに独立で,平均0,分散 の正規分布に従うと仮定します. ある特定の値 に対する の分布の期待値(平均値) は, となります.もちろん, と の,真の値はわかりません.標本に基づいて得た回帰直線での切片 と傾き はそれぞれ, と の推定値です. の点推定値は として得られます.推定値 は,平均 , 分散 の正規分布に従います.未知の誤差分散 をその推定値 で置き換えると,統計量 は,自由度 の 分布に従います.自由度 の 分布において, 上側確率(その値よりも大きな の値が得られる確率)が 0.025 である の値を で表すと,確率 となります.よって,Y の母平均に対する 95% 信頼区間は, となります.この式で,根号記号(ルート)の中の は,てこ比(leverage)と呼ばれます. 値 が平均値 から離れるほど,てこ比は大きくなり,したがって信頼区間の幅は広くなります. てこ比の式を覚えておく必要はありませんが, 信頼区間の幅についてのこの性質は重要ですから,覚えておいてください.
- 誤差分散 の推定値を という式で計算するためには, それぞれについて予測値(回帰直線上の値) を求める必要があります. これは面倒なので,テキストでは という計算式を用いています.この計算式を導いておきます.
-
誤差の平方和を式変形していくと,
となります.ここで, より,最後の項は,
です,よって, が得られます.
ここからさらに式変形を行うと, テキスト p.142 に示されている誤差分散の推定値 の計算式 が得られます.すなわち,
となります.最後の式変形では, および を用いています.
- 例題8
- 変数 と の関係が指数関数 で表されるとき, 両辺の自然対数(対数の底は )をとると, となります.これは直線の式とみなすことができます. つまり, を対数変換してから通常の回帰分析を実行すれば, この直線の傾き と切片 が具体的に求められることになります. この問題のデータでは, , となります. 対数変換を行うのは だけであることに注意してください.
- 回帰直線が求められると,変換前の と の関係を表す指数関数も得られます. すでに の値は求められていますから,あとは の値を求めればいいですね. より, となります.この計算では,関数電卓,エクセルの EXP 関数, あるいは R の exp 関数を利用してください.
- R で以下のコードを実行すると, この問題の解答を得ることができます.
-
x <- c(1, 2, 3, 4, 5) y <- c(5.5, 14.9, 39.9, 110.2, 300.1) X <- x Y <- log(y) # 対数変換 plot(X, Y) # 変換後のデータで散布図を描く result <- lm(Y ~ X) # 回帰分析を実行 summary(result) abline(result) # 散布図に回帰直線を描く exp(result$coefficient[1]) # A の値を計算
- 例題9
- テキストの解答のように,データから定数を引き算しておくと, 相関係数の計算が少し簡単になります(もちろん, エクセルや R を使うなら必要ありません). データから引く定数には,平均値に近い値を選ぶとよいでしょう.
-
データから定数を引き算したとき,回帰直線の計算では少し注意が必要です.
テキストの解答では,
から
へ変換しても回帰係数は変わらないと書かれていますが,
この記述は誤りです(例題4で同じ誤りがあります).
このページの冒頭で述べたように,
このテキストは傾きと切片の両方を「回帰係数」と呼んでいます.
データから定数を引き算して回帰分析を行うと,
傾きは同じですが,切片は異なります.
切片の計算ではもとのデータでの平均値を使うことを忘れないようにしてください.
- 変数 の平均値 の計算式に誤植があります.引き算が正しいところ,足し算になっています. 正しい計算式は, です.この誤植は最近の版でも残っています(第27刷で確認).
10章の問題
- 10.1
- 実際のデータ分析では,相関係数を計算する前に, 必ず散布図を描いてください.この問題のデータで散布図を描くと, 右上がりの直線的関係が比較的明確に認められます. この直線的関係の指標としてピアソンの相関係数を用いることは適切です. 順位相関係数を用いる理由はありませんが, 問題演習として計算してください.
- 順位相関係数を求めるときの,順位の差の2乗に誤植がありました. 生徒 E は順位の差が -0.5 ですから, 2乗すると 0.25 です.これが 2.25 となっています. この誤植は最近の版でも残っています(第27刷で確認).
- この誤植は順位相関係数の計算にもちろん影響しています. 順位の差の2乗を合計すると 18.5 となります. 順位相関係数の値は 0.888 となります. 正しい計算式を以下に示します.
- R を使ってピアソンの相関係数とスピアマンの順位相関係数を計算するには, 以下のコードを実行します. ピアソンの相関係数は 0.8683919, スピアマンの順位相関係数は 0.8875421 という値が返されます. 生徒 E と G は物理において同順位となるため, R で計算される順位相関係数の値は, テキスト p.141 の公式から得られる値とは少し異なります.
-
x <- c(83, 91, 79, 77, 71, 68, 43, 46, 30, 39) y <- c(77, 89, 95, 71, 59, 55, 59, 43, 35, 48) plot(x, y) # 散布図を描く cor(x, y) # ピアソンの相関係数 cor(x, y, method = "spearman") # スピアマンの順位相関係数