はじめMath! Javaでコンピュータ数学

第64回 統計の数学 相関係数を導く [前編]

この記事を読むのに必要な時間:およそ 2 分

前回は相関係数とは何か,大変大雑把に紹介し,計算手順をJava言語で実装,テストするところまで行いました。今回は,相関係数というものがどういう筋道で導かれたものなのか,丁寧に追っていきます。途中の数式を極力省かずにたどります。全て高校数学までの内容です。

今回,そして次回の前後編は,まるっきり数学ばかりです。Javaでコンピュータ数学の看板に偽りあり?とおっしゃらず,だまされたと思って取り組んでみてください。プログラミングを専門としていれば,少なからず「効率の良い計算」を必要とする場面があります。すると,そのときに使う数学は,ちょうど今回出てくるような「合計」「平均」と似た操作を上手に組み合わせることが多いのです。コンピュータは「単純なんだけれども,人の手と頭ではとても処理できないような,たくさんのデータを処理すること」が最も得意な機械だからです。

これから出てくる,「数式のこねくり回し」は,最終的に「シンプルな計算」「意味のある数値」を得るための先人の工夫の1つです。一度しっかり頭を悩ませておけば,きっと将来役にたちます。

ただ読むだけでは「わかった」気になりません。ペンと紙を用意し,単純に写すのではなく是非とも頭を使って考えましょう。それが理解の最短コースです。

相関係数を導く

目的 回帰直線が測定値に良くあてはまっているかを知りたい

連載第59回では,微分方程式を用いて解析的に最小二乗法で回帰直線の定数を求めました。今回は,統計の数学を用いて,最小二乗法で回帰直線の定数を求め,その定数が良くあてはまっているかを確認する材料となる相関係数の値を得るための式を導きます。相関係数は,回帰直線が測定値に良くあてはまっているかを知りたいから定義された,と言い直しても良いでしょう。

それでは,旅の始まりです。

準備 分散の計算方法

分散は,測定値の分散具合を表す目安です。旅の途中で必要となりますので,ここで計算方法をおさらいしておきます。

はある事象の測定値です。場合によっては観測値とも呼びます※1)。

平均値は次の通りです。それぞれ「エックス・バー」,「ワイ・バー」と読みます。

測定値x,yのばらつき具合を表すために,以下の3つの式で分散を定義します。

ここで,xの分散式64.5),yの分散式64.6は二乗の値ですから必ず0以上の正の値であることと,xとyの共分散式64.7は正負の値を取り得るところを記憶にとどめておいてください。σはギリシャ文字で「シグマ」と読みます。

※1)
統計の専門用語としては標本(sample)と呼ぶべきでしょうが,この連載では主に測定値という呼び名を用います。私が工学畑なので,この方がなじむのです。ご容赦を。

最小二乗法で回帰直線を求める

2つの変数(ここではxとy)の間に,直線の関係式(一次式)が成り立つと仮定されるとき,その直線のことを回帰直線といいます。その直線の定数を求めたいのですが,どのように求めればよいのでしょうか。

無数に考えられる定数の中から決定する方法として最小二乗法があります。

図64.1 最小二乗法

図64.1 最小二乗法

図64.1に,グラフ上にプロットしたデータp i からp i+2 に対して回帰直線(y=ax+b)を引いたところを示します。

最小二乗法とは,図64.1の中のd i の2乗の合計が,最小になるように定数aとbを決める方法です。

d i のことを誤差※2)と呼ぶことにしましょう。p i の座標値が測定値です。

これに対してx i に対応した回帰直線上のy座標値(ax i+b を推定値※3と呼ぶことにします。記号は「ワイハット」と読みます。

※2)
error
※3)
Estimated value

著者プロフィール

平田敦(ひらたあつし)

地方都市の公立工業高等学校教諭。趣味はプログラミングと日本の端っこ踏破旅行。2010年のLotYはRuby。結城浩氏のような仕事をしたいと妄想する30代後半♂。

コメント

コメントの記入