« 最後のハーフ走、単なる休養ジョグで&キーボードに激怒♪ | トップページ | 『デート』第9話、「どんな数字も各位の2乗を足すと1か89になる」ことの証明 »

簡単な線形回帰分析~具体例の人力計算、エクセルの表計算

世界はともかく、最近の日本では、「最強の学問」としての統計学が流行。高

校数学での扱いも大きくなって、今年のセンター試験にも登場。高度情報化

社会におけるビッグデータの扱い方でもあるので、書店の数学関連やビジネ

ス関連の棚には、統計の本がずらっと並んでる。

 

私は数学好きで、数学や確率・統計関連のブログ記事をかなり書いてるけど、

あらためて「統計学」というものを学んだことは(ほとんど)無い。そこで遅まき

ながら、1冊新しい参考書を買ってみた。廣瀬英雄『実例で学ぶ確率・統計』 

(日本評論社、2014年)。大学の講義の内容を中心にまとめたもので、具

体例も面白いし、理論的にもしっかりした本だ。ソフトカバーもペラペラとめく

りやすく、この記事を書く際にも役立った。

 

ただ、統計学とか経済学、あるいは物理学などにおける数学の取り扱いとい

うのは、やはり「応用数学」的なもので、数学の成果を上手く使って問題を解

決すること、「ソリューション」が中心。前提条件の確認その他、厳密な使い方

や、なぜ使えるのか、なぜ使うのかという理由の説明は、かなり省略されて

るようだ。解析学や数学基礎論とは違ってるし、ある意味、高校数学の採点

基準よりも甘い。

 

今回のこの記事も、去年の夏の「ワイン方程式」記事以来ずっと先延ばしに

して来た、線形回帰分析を使ってみるのが主眼で、数学的な議論、厳密な

話はかなり省くことにする。理屈や細かい計算については、またいずれ、別

の複数の記事で正確に扱いたい。

 

 

           ☆          ☆          ☆

さて、最初に語るべきは、「回帰」(regression)という耳慣れない言葉だろう。

英語はともかく、日本語では日常的にほとんど使わない言葉だから、これだ

けで難しそうに感じてしまう。要するに、「戻ること」、regressすることだ。英語

版ウィキペディアを読むと、本来、特殊な変化をしたものが「平均へと戻ること

を指してるらしい。この場合の平均とは、中心的な状態という広い意味だろう。

 

150317c  左はウィキメディア、Se

  waqu氏の作品より。バ

  ラついた多くの点が、中

  心的な直線の上下に並

  んでる。つまり、線形に 

  回帰してるわけで、その

  分析が線形回帰分析だ

  (原初的には)。これを省

  略して、「線形回帰」と呼

ぶことが多いので、回帰という言葉の意味が分かりにくくなってる。

 

回帰分析において、データがそこへと戻る線は、直線を使うとは限らない。

放射線の被ばく量とダメージの関係でも、普通の仮説は直線だけど、S字曲

線が使われる場合もある。

 

ただ、やはり非常に扱いやすくて分かりやすいので、直線で近似することが

多いようだ。その点は、主たる自然法則とされるもの(運動の法則、オーム

の法則など)でも同様だろう。自然は単純だ、と言うよりむしろ、自然は単純

だと人間は考えたい、しかもそれでかなり上手く行く、ということだ。その辺り

はまた、実在論 vs 非実在論などの形で別に扱うことにする。

 

 

          ☆          ☆          ☆

150317d  それでは、具体的な問題

  や計算に移るとしよう。極

  端に簡単な例として、左

  図の3点(0,0)、(1,0)、 

  (1,1)に対して、回帰直

  線y=ax+bを求めてみる。

  前掲書p.199の例題で、

説明や解き方は私のオリジナル。

 

もし小学生の子どもたちに、「真ん中くらいの直線を1本引いてみよう」と言え

ば、色んな引き方になるはず。統計学的には普通、「最小二乗法」と呼ばれる

基準を使うらしい。

 

線と点の差を少なくしたい、最小にしたい時、その差は0以上のものを選ぶべ

きだろう。自然に思い付くのは2通り。点と直線の最短距離と、y座標の差の絶

対値。ただ、最短距離は計算が複雑だし、いずれにせよ絶対値記号が出てし

まう。そこで、y座標の差の二乗が、合計で最小になるようにするわけだ。絶対

値記号を二乗して外したとも言える。

 

その合計をSとおくと、直線上のx座標が0である点は(0,b)、x座標が1であ

る点は(1,a+b)だから、3点と比べて、

 

   S=(0-b)²+{0-(a+b)}²+{1-(a+b)}²

    =2a²+(4b-2)a+3b²-2b+1

    =2{a+(2b-1)/2}²-2b²+1/2

                    (まずaの2次関数と見て、平方完成)

 

よって、Sが最小になるのは、b=0かつa=-(2b-1)/2の時。すなわち、

a=1/2、b=0の時。したがって直線の式は、 y=(1/2)x+0 。原点を

通って、傾き1/2の直線となる。

 

ちなみに、この直線上にある点(2,1)を4つ目のデータとして加えても、答

は同じになる(前掲書p.168の例題)。この点と回帰直線の差はゼロで、差

の2乗は最小だから、当然だろう。

 

 

           ☆          ☆          ☆    

高校1年の数学を使うと、上のような解答になる。ただ、点が多い時には大変

だし、その後の理論の一般性も考えて、大学レベルではΣ(シグマ)と偏微分

を用いるのが普通。

 

と言っても、Σの基本は高校の数列の分野で習うし、偏微分(変数が複数あ

る場合の、ある1つの変数に着目した微分)の考えも高校でたまに見るもの

だ。他の変数は固定して、この変数だけ動かすと・・・といった語り口で。

 

とにかく一般に、n個の点(x i,y i) (1≦ i ≦n)に対して、直線 y=β₀+β₁ x

を考えてみる。なぜか、回帰直線では、y切片を先に書くのが慣習のようだ。  

y座標の差の二乗和を計算すると、

 

   S=Σ(y i -β₀-β₁ x)² ( i =1からnまで)

 

  ∴ ∂S/∂β₀ = 2nβ₀+2(Σx i)β₁-2Σy i

    ∂S/∂β₁ = 2(Σx i)β₀+2(Σx i ²)β₁-2Σx i y i

         (ここでは合成関数の微分などを利用。普通に計算しても同じ。)

 

ここで数学的には、β₁による偏微分の、β₁の係数の符合がゼロかプラスか

を分けて、偏微分の符合や増減表を考えるべきだが、そういった話は今回は

省略する。いずれ別記事で扱う予定。

 

とにかく、Sが最小となるのは、2つの偏微分が0の時だと考える。すると、β₀

とβ₁に関する2元連立一次方程式ができて、そこでまた少し面倒な場合分け

が必要となる(2本の等式の独立性など)。しかし、前掲書でも省略してるし、

今回のこの記事でも省略。ちなみに私自身は既に解決済みだ。

 

結局、その連立方程式を普通に解くと、

 

  β₀={(Σx i)²(Σy i)-(Σx i)(Σx i y i)} / {nΣx i ²-(Σx i )²} 

  β₁={nΣx i y i-(Σx i)(Σy i)} / {nΣx i ²-(Σx i )²}

 

4種類のΣを、あらかじめa、b、c、dなどと置き換えれば簡単だ。

 

 

         ☆          ☆          ☆

この分母が0になる特殊な場合を、本来なら先に考えるべきだが、今回は

省略。前掲書では全く触れてない。上の2つの答に、テクニカルな変形を施

すと、普通に使われるらしい形の答になる。x m、y mは、x、yの平均値

 

  β₀=y m-β₁ x m 

  β₁={Σ(x i-x m)(yi-y m)}/Σ(x i-x m)²

 

この分母の形なら、ゼロになる特殊な場合がすぐ分かる。つまり、すべてのx i

の値が同じ場合(それが平均値x m)で、回帰直線の傾きβ₁は任意(何でも可)。

点(x i,y m)を通りさえすれば、差の二乗和は最小になる。y切片β₀はβ₁に応

じて変化(上の式で計算可能)。

 

 

         ☆          ☆          ☆   

では、この標準的な答を使って、前の簡単な問題を解き直してみよう。3点

(0,0)、(1,0)、(1,1)だから、x m=2/3、 y m=1/3。

 

β₁=

  {(0-2/3)(0-1/3)+(1-2/3)(0-1/3)+(1-2/3)(1-1/3)}

     / {(0-2/3)²+(1-2/3)²+(1-2/3)²}  

  =1/2

β₀=1/3-(1/2)(2/3)

  =0

 

確かに、先ほどと同じ答となった。回帰直線は、y=0+(1/2)x 。

 

 

          ☆          ☆          ☆

最後に、ソフトを用いた計算についても簡単に見ておこう。書店でもネットで

も、「」という統計ソフトの利用が目立ってるが、ここではもっと普通のエクセ

ルを使うことにする。私の場合、Microsoft Office Excel2007。他の年の

ヴァージョンだと、細かい違いが出て来ると思うが、大同小異だろう。

 

表にx座標、y座標を打ち込んで、すぐ回帰分析できるのかと思ったが、準備

が必要だった(私の環境では)。左上のOfficeボタンを押して、「Excelのオプ

ション」をクリック。「アドイン」から「設定」に進み、「分析ツール」にチェックを入

れてOKボタン。再起動は不要で、30秒程度で分析ツールを組み込めた。

 

150317e  先ほどの問題の座標だけを入

  力して、「データ」タブの右端に

  ある「データ分析」をクリック。

  「回帰分析」を選択して「OK」。

 

yの範囲(B1~B3)とxの範囲(A1~A3)を入力(マウスでのドラッグ可)して

150317f  OKボタンを押すと、左のようになる。要

  するに、xの係数(直線の傾き)が0.5、

  y切片は(ほぼ)ゼロという意味だ。確か

  に、平方完成や偏微分の計算と一致する。回帰直線は、y=0+0.5x 。

 

切片の所に、5.55×10の-17乗という僅かな誤差が出てるのは、エクセ

ル(あるいはコンピューター・ソフト)の特性で、これも別記事で扱う予定。

 

 

          ☆          ☆          ☆

そして、今回の一番最後は、ようやく「ワイン方程式」の導出。提唱者アッシェ

ンフェルターのサイトに公開されてるデータをエクセルに入力して、回帰分析

を行うと、確かに彼自身とほぼ同じ結果が出た。ということは、やはりドラマ

『ハードナッツ』第5回その他で伝えられてる式は大幅に間違ってる。

 

150317g A列が価格の指標。

 B列が冬の降雨量、

 C列が育成期の平均

 気温、D列が収穫期

 降雨量、E列が熟成

年数だ。

 

150317b  この場合、4つの変数で価格が決まると

  考えるので、「重回帰分析」と呼ばれる。

  「重」とは重いという意味ではなく、複数

  の要因が重なって、という意味だ。上で

  ずっと扱って来た、1つの変数xでyが決定

する場合には、「単回帰」と呼ばれる。 

 

とにかく、ボルドーワインの方程式、つまり線形回帰する図形の式は、日本

語の説明入りで書くなら、次の通り。

 

(61年物を基準にした価格の指標)= -12.1453

                        +0.001167×冬の降雨量

                        +0.616392×育成期の平均気温

                        -0.00386×収穫期の降雨量

                        +0.023847×熟成年数

 

と表せる。この近似式の方がワイン評論家より役に立つ、という彼の言い分が

正しいのかどうかまでは、私には分からない。そもそも彼が使ったデータ自体

も、ほとんど誰も確認してない状況なのだから。いつの世でも、広く流通するの

は表面的なイメージのみなのだ。

 

それでは、今日はこの辺で。。☆彡

 

                                   (計 4258字)

| |

« 最後のハーフ走、単なる休養ジョグで&キーボードに激怒♪ | トップページ | 『デート』第9話、「どんな数字も各位の2乗を足すと1か89になる」ことの証明 »

数学」カテゴリの記事

コメント

質問です
なぜ著者は、ワインの値段をlogeとして表したのでしょうか

投稿: オイラー | 2020年7月26日 (日) 17時35分

> オイラーさん
  
はじめまして。質問コメント、どうもです。
なぜ自然対数を取ったのか?という意味でしょうかね。
  
それは、変数に対して、動きが急激だったからでしょう。
直線よりも急激で加速する上昇を、対数で表すことで
穏やかにするのは、昔からよく使う常套手段です。
今なら、コロナの患者数の変化でも使われてます。
対数で表す必然性はないけど、実用的で慣習的な手段。
    
ちなみに、もし「loge」という文字列は何なのか
という意味なら、eを底とする対数です。
eを何乗したら右側の数になるのか、それを表す数。
本当はeを少し離して、「log e」と書きます ☆

投稿: テンメイ | 2020年7月27日 (月) 03時09分

Tenmeiさん、ご回答ありがとうございます。
ワインの値段変動を一次関数よりも対数関数で表す方が適している、ということもいえますかね?
ご回答お願いします

投稿: オイラー | 2020年8月 2日 (日) 21時20分

>オイラーさん
 
こんばんは。再び質問コメント、どうもです。
  
「 ワインの値段変動を一次関数よりも対数関数で
表す方が適している、ということ」
は、可能かも知れません。
  
ただ、本当に可能かどうか、正しいかどうか、
有意義かどうかは、とりあえず分かりません。
   
ある対数関数が、変数4つのどんな一次関数よりも
適していると示すのは、面倒な計算になります。
誤差の計算も、「適している」という判断の基準も厄介。
  
特別な事情でもない限り、私はやる気がしないし、
やる人もほとんどいないはずです。
 
一般に、近似や誤差の理論や計算は面倒。
細かい話は数学や統計学の専門家に任せて、
他の人は慣習的な近似式を使ってるだけでしょう。
  
例えば高校数学で面積や体積を求める公式も、
元は近似や誤差の話なのですが、それを一般的かつ
厳密に証明してる高校の本を見たことはありません。
特定の面積について証明するだけでも大変。
  
それでも、みんな使って、正しいものとみなしてる。
応用数学とはそうしたものでしょう。。☆彡

投稿: テンメイ | 2020年8月 4日 (火) 00時10分

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 最後のハーフ走、単なる休養ジョグで&キーボードに激怒♪ | トップページ | 『デート』第9話、「どんな数字も各位の2乗を足すと1か89になる」ことの証明 »