2026.4.
吉村洋介
化学実験法 II 最小2乗法のはなし

5.データ間の相関と変動予測(回帰分析)

5-1.相関係数・決定係数

ここまで実験条件を設定した上での測定値の変動を考えたが、 両者の関係の有無に注目する立場からは、 次のような関係式を想定することが考えられる (\(\bar{x}\), \(\bar{y}\) はそれぞれ \(x\)、\(y\) のデータセットの標本平均 \(S_x/N\)、\(S_y/N\)):

\begin{equation} y - \bar{y} = a (x - \bar{x}) \label{eq:regr1} \end{equation}

ある観測データ \(y\) の変動と条件 \(x\) の関り(相関)を問題とする上では、 この形がはっきりしている(こうした立場では回帰 regression 分析と呼ぶことが多い)。 \(x\) と \(y\) の間の相関の強さを示す量として相関係数 correlation coefficient がある (ここではことさらに区別しないが、母集団についての相関係数の記号にはよく ρ が用いられる):

\begin{equation} r = \frac{N S_{xy} - S_x S_y}{\sqrt{(N S_{xx} - S_x^2)(N S_{yy} - S_y^2)}} = \frac{\var{xy}_\mrm{s}}{\sqrt{\var{x^2}_\mrm{s} \var{y^2}_\mrm{s}}} \label{eq:regr2} \end{equation}

\(x\) と \(y\) のデータ点 \((x_i, y_i)\) 間に直線関係が正確に成立すれば相関係数は ± 1、 はずれが大きくなるに従って 0 に近づく。

\(x\) と \(y\) の共分散を考える上で、 標準正規分布 N(0, 1) への変換に用いた変数変換を考えると便利です (以下ではデータセットについての平均、分散を問題にするので添え字の s を省略して記述します):

\[ x^* = (x - \avg{x})/\sigma_x,~~~y^* = (y - \avg{y})/\sigma_y \]

この変数を用いると相関係数 r は \(x^*\) と \(y^*\) の共分散に相当し

\[ \var{x^* y^*} = \frac{\var{x y}} {\sigma_x \sigma_y} = r \]

次の関係式

\[ \var{(x^* \pm y^*)^2} = \var{x^{*2}} \pm 2 \var{x^* y^*} + \var{y^{*2}} = 2 \pm 2 \var{x^* y^*} = 2 \pm 2 r \ge 0 \]

から容易に次の相関係数の値域が得られます:

\[ -1 \le r \le 1 \]

また相関係数が 1 の時には

\[ \var{(x^* - y^*)^2} = \avg{(x^* - y^*)^2} - \avg{x^* - y^*}^2 = \avg{(x^* - y^*)^2} = 2 - 2 r = 0 \]

より次の関係が成り立ちます(やかましく言うと「ほとんど確かに almost surely (a. s.)」ですが):

\[ x^* - y^* = 0 \]

なので、\(y\) と \(x\) の間には次の線形の関係が成立することになります:

\[ y - \avg{y} = \frac{\sigma_y}{\sigma_x} (x - \avg{x}) \]

相関係数が -1 であれば \(\var{(x^* + y^*)^2} = 2 + 2 r = 0\) から

\[ x^* + y^* = 0 \]

となり、

\[ y - \avg{y} = -\frac{\sigma_y}{\sigma_x} (x - \avg{x}) \]

という関係が得られます。

相関係数 \(r\) は決定係数(coefficient of determination、寄与率)\(r^2\) の形で扱われることも多い (決定係数のときにはなぜか、しばしば大文字で R2 とされる)。

\begin{equation} r^2 = 1 - \frac{N S_\mrm{min}}{N S_{yy} - S_y^2} \label{eq:regr3} \end{equation}

決定係数は条件 \(x\) に対する依存性を考慮することで、 どこまで観測データのゆらぎ(残差2乗和)を説明できたかを示すものといえ、 完全に説明できれば 1、依存性を考慮してもゆらぎに変動がない場合には 0 になる。 化学では、相関があることが自明でパラメータの推定に重きが置かれることが多いが、 そもそもの相関のあるなしについては、決定係数に基づいた検定が有効になる (係数 \(a\) = 0 となる仮説の検定の問題とも考えられる)。

決定係数についても、 標準正規分布 N(0, 1) への変換に用いた変数変換を考えると見通しが良いです (先ほどと同様に添え字の s を省略して記述します):

\[ x^* = (x - \avg{x})/\sigma_x,~~~y^* = (y - \avg{y})/\sigma_y \]

想定した関係式 \eqref{eq:regr1} からの分散(残差2乗の平均)については次の表現が得られます:

\[ S_\mrm{min}/N = \avg{(y^* - a^* x^*)^2} = \avg{y^{*2}} - 2 a^* \avg{x^* y^*} + a^{*2} \avg{x^{*2}} = 1 - 2 a^* r + a^{*2} = 1 - r^2 + (r - a^*)^2 \]

ですから、分散(残差2乗の平均)が最小になるのは \(a^* = r\) の時で、 係数 \(a\) は次式のように表され、

\[ a = \frac{\sigma_y}{\sigma_x} a^* = \frac{\sigma_y}{\sigma_x} r = \frac{\var{x y}} {\var{x^2}} \]

決定係数は残差2乗和の最小値を用いて次式で表され

\[ r^2 = 1 - \frac{S_\mrm{min}}{N \var{y^2}} = 1 - \frac{N S_\mrm{min}}{N S_{yy} - S_y^2} \]

式 \eqref{eq:regr3} をえます。

結果としては、最小2乗法と同じですが、 分散を最小にするアプローチを取っていたことに留意ください。

radtemp
図 5-1. ビーカーの水温を放射温度計ではかる

実際に測定値の相関を調べた例を見てみましょう。 ここでは3回生の学生さんたちに、 ビーカーの水温をガラス温度計と放射温度計ではかってもらった結果を紹介します。

例によって、ともかく「ビーカーに水を汲んで 60 °C ぐらいにして、 温度計を変えて水温をはかるように」という指示の下、 自分流のやり方でやってもらいました。 使った放射温度計はオーム電機の TN006(今は廃版)です。 図 5-1 ではバーナーでビーカーを加熱していますが、 ホットプレートスターラーを使うのもよいですし、 ガス湯沸かし器から汲んできた熱湯を使うのもありです。

この実験のポイントは、 (特に指示しませんが) 放射温度計でどのように水温をはかるかです。 多くの場合、図 5-1 のようにして水温をはかっていました。 このように直接外気に触れる状態で水面の温度をはかると、 水の蒸発による影響で、表面温度は低く出ます。 (現行のテキストではこうした話題は省いて、 沸騰水のビーカーの外面をはかるように指示しています)

radtemp
図 5-2a. ビーカーの水温 T と放射温度計ではかった水温 Trad。 相関係数は 0.914。 図中の赤線は最小2乗法で求めた放射温度計の測定値 Trad の水温依存性。
radtempd
図 5-2b. ビーカーの水温 T と放射温度計ではかった水温の偏倚 Trad - T 。 相関係数は -0.492。

図 5-2a に、実験を行った 24 グループのガラス温度計ではかった水温 T と放射温度計による測定値 Trad を示しました。 当然のことながら、水温が上がれば、放射温度計の示す温度も上がります。 その相関係数は 0.914 で、正の強い相関があることを示しています。 けれどもその勾配は 0.80 で、2割ほど低くなっています。

ガラス温度計と放射温度計の示す温度が等しくなるはずであるという立場からは、 両者の差が水温とどう相関するかという考察に導きます。 つまり先の式 \eqref{eq:regr1} を、放射温度計の温度差と水温とに適用するわけです。 図 5-2b には、放射温度計による測定値と水温の差 Trad - T と、 水温との相関を示しました。 その相関係数は -0.49 で、負の相関を示しています。 このことは放射温度計を用いた測定で、 温度が高くなり、水蒸気圧が上がって蒸発が激しくなるにつれ、 水面の温度をはかることでより低い温度を計測することになったことを示唆しています。

5-2.変数の取り方と最小2乗法

このおはなしでは、「実験条件」\(x\) に対し「測定値」\(y\) を考え、 \(y\) の \(x\) に対する依存性を問題にする形で述べてきた。 つまり変数の間に明確な ”主従関係” を想定していた。 この変数の間の関係を明瞭にするために、 「実験条件」\(x\) は独立変数(independent variable)、説明変数(explanatory variable)、予測変数(predictor variable) 等と、 また「測定値」\(y\) は、従属変数(dependent variable)、被説明変数(explained variable)、目的変数(objective variable) 等とも呼ばれたりする。 化学で出会う問題では、両者の関係は自明なことが多いが、 必ずしも明瞭でないこともあり注意を要する。

変数の取り方が問題になる端的なケースとして、先のデータセット \((x_i, y_i)\)(\(i = 1, 2, \ldots , N\))について、

\begin{equation} x = cy + d \label{eq:errcon1} \end{equation}

という関係を仮定し、\(x\) を \(y\) の関数として処方箋通りに最小2乗法でパラメータを決めることを考えよう。 勾配 \(c\) に注目すると次式のようになる:

\begin{equation} c = \frac{N S_{xy} - S_x S_y}{N S_{yy} - S_y^2} \label{eq:errcon2} \end{equation}

さてここで \(y = ax + b\) という関係を想定してパラメータを定めれば、 \(a = 1/c\) になりそうである。 しかし先に最小2乗法で得た \(a\) についての表式をみると

\begin{equation} ac = \frac{(N S_{xy} - S_x S_y)^2}{(N S_{xx} - S_x^2)(N S_{yy} - S_y^2)} = r^2 \le 1 \label{eq:errcon3} \end{equation}

より符号は一致するものの、逆数関係は一般に成り立たない。 \(x\) に対し \(y\) をプロットするか、\(y\) に対し \(x\) をプロットするかで \(dy/dx\) の値が異なるのは、 実験条件をどう設定するかによっている。

最小2乗法で何を実験条件に取るかが問題なるのは、 式 \eqref{eq:errcon3} にも見るように、 相関があまり明瞭でない場合です。 ここでは学生諸君の分野ごとの試験成績について見てみましょう。

? 図 5-3. 物理化学関連(PC)と有機化学関連(OC)のレポート成績。 ともに 10 点満点になるように調整。
  • 相関係数 r = 0.741
  • 最小2乗法による線形関係(回帰直線)
  • OC = (0.682 ± 0.097) PC + (2.93 ± 0.60)
  • PC = (0.804 ± 0.114) OC + (0.28 ± 0.82)
  • ± 以下は標準偏差

図 5-3 に示したのは、 ある年の物理化学関連のレポート成績(PC)と有機化学関連のレポート成績(OC)の相関です。 正の相関があり、相関係数は 0.741 でした。 物理化学に強いと有機化学にも強い(あるいは物理化学に弱いと有機化学にも弱い)というわけです。

それでは物理化学の成績を上げた場合に、有機化学の成績がどれぐらい上がるかを考えてみます。 ここで最小2乗法(回帰分析)に登場いただき、傾きを求めると 0.682 となります。 物理化学の成績を 1 点上げても、有機化学の成績は 0.7 点ぐらいしか上がりません。 それでは有機化学の成績を上げた時、物理化学の成績は 1/0.682 = 1.466 上がるでしょうか? 物理化学を勉強するより有機化学を勉強した方が効率的(?)ということになるでしょうか?

ここでまた最小2乗法に登場願って、有機化学に対し物理化学の成績の傾きを求めると 0.804 となります。 有機化学の成績を 1 点上げても、物理化学の成績は 0.8 点しか上がりません。 傾きの標準偏差が共に 0.1 程度であることを考えると、 物理化学、有機化学どちらの成績を上げても、同程度の効果というわけです。 こうした結果になるのは式 \eqref{eq:errcon3} からもはっきりしていて、 0.682 × 0.804 = 0.7412 という関係が成り立っています。

この一見不思議な現象は回帰現象 regression effect として知られているものの現れでもあります。 ぼくがよく出す例は、図 5-4 のようなものです。

demo_regx
図 5-4a. 模式的な相関の例。 相関係数は 0.5。
demo_regy
図 5-4b. x に対する y の相間の要素を除く変数変換を行い、相関係数は 0。

図 5-4a の黒丸で示した 7 個のデータがあるとしてください。 このデータで xy に直線関係があるとして、 どのように直線を引けばよいでしょうか? 何にも知らない人に、データを結ぶ直線を一本引いて欲しいと言ったら、 図中の緑色の線、3点をつらぬく y = x の線を引くのではないでしょうか。 最小2乗法の答えは実験条件(独立変数)に xy どちらを選択するかによって違い、 x を実験条件に選べば図中の赤線 y = 0.5 xy を実験条件に選べば図中の青線 y = 2 xx = 0.5 y)になります。 そして残差2乗和は次のようになります:

\[ S_\mrm{min}(x; y) = S_\mrm{min}(y; x) = 3 \]

ここで \(S(p; q)\) は、\(p\) を実験条件、\(q\) を測定結果とした残差2乗和を意味するものとします。 \(y\) が \(x\) に依存しないとした場合の残差2乗和は 4 ですから、相関を考慮したことで 1 減ったわけです、

最小2乗法で得られた直線関係を測定値 y から差し引いて Y = y - 0.5 x を取ると、 相関係数は 0 となり、 x を実験条件に選べば図中の赤線 y = 0、 Y を実験条件に選べば図中の青線 x = 0 という直線関係を得ます。

最小2乗法でどのような手続きを踏んでいるか見たわけですが、 変数として x か y かという2者択一ではなく、 もう少し柔軟に考えてみたらどうでしょうか? 図 5-4c には、 データ間の距離を保って(ユークリッドノルムを保って)座標を回転させ相関係数を 0 にした場合を示しました。

図 5-4c では次のような座標変換を行っています:

\[ e_1 = (x + y)/\sqrt{2}, ~~~~ e_2 = (x - y)/\sqrt{2} \]

demo_regx
図 5-4c. 座標の回転による相関の変化。 相関係数は 0。
demo_regy
図 5-5. 2 次元の正規分布の例。 \(\sigma_x^2 = \sigma_y^2 = 5/2\)、 \(\sigma_{xy}^2 = 3/2\)。

この座標変換を行った後での e1e2 の相関係数は 0 となり、 最小2乗法で得られる直線は、 e1 を実験条件に選べば図中の赤線 e2 = 0(y = x)、 e2 を実験条件に選べば図中の青線 e1 = 0(y = -x) になります。 そして残差2乗和は次のようになります:

\[ S_\mrm{min}(e_1; e_2) = 2,~~~S_\mrm{min}(e_2; e_1) = 6 \]

残差2乗和に注目するなら xy かにこだわらず、 e1 を実験条件、 e2 を測定結果に選ぶのが最小です。 またこれは最初に図 5-4a で、直観的には最適と見える緑の線(y = x)が、 合理的であることの根拠にもなります。 こうしたアイデアを発展させたものが、 主成分分析(PCA。Principal Component Analysis)と呼ばれる手法になります。

教科書的には2次元の正規分布にもとづく説明が多いかもしれません。 図 5-5 には、2次元の正規分布の分布関数

\[ P(x,y) = \frac{1}{2 \pi \sigma_x \sigma_y \sqrt{1 - r^2}} \exp \left[ -\frac{1}{2 (1 - r^2)} \left( \frac{x^2}{\sigma_x^2} - 2r \frac{x y}{\sigma_x \sigma_y} + \frac{y^2}{\sigma_y^2} \right) \right] = C \exp \left[ -\frac{1}{2} Q(x, y) \right] \]

を関数 \(Q(x , y)\) の等高線図の形で示しました (指数部は xy の共分散行列の逆行列についての2次形式に相当します)。 図 5-5 では \(\sigma_x^2 = \sigma_y^2 = 5/2\)、 \(\sigma_{xy}^2 = 3/2\)(\(r = 3/5\))にとっているので、 次のように書けます:

\[ 8 Q(x,y) = 5 x^2 - 6 xy + 5 y^2 \]

これを楕円の長軸と短軸の成分で書けば

\[ 8 Q(x,y) = (x + y)^2 + 4 (x - y)^2 = X^2 + 4 Y^2 \]

と書けます。 この時 \(X = x + y\) と \(Y = x - y\) の共分散は 0 で無相間です。 最小2乗法の立場は、\(x\) を実験条件とする時

\[ 8 Q(x,y) = \frac{16}{5} x^2 + 5 (y - \frac{3}{5} x)^2 \]

と分解したことに相当しています。 \(x\) を与えた時、もっとも確率が高くなる(\(Q(x,y)\) が最小となる)のは、 y = (3/5) x の時です。 最小2乗法では x に対する y の推定を目指すので、 これが解となります。 ただし最小2乗法を用いる上で、実験条件の取り方について考慮の余地が多分にあることは、 心しておく必要があります。


前のページへ

「最小2乗法のはなし」の表紙へ