Excelによる回帰分析の方法③ ~重回帰分析:複数のデータを比較する方法~

過去、この記事で、データを分析する方法として「回帰分析」をExcelで紹介した。また、回帰分析により得た傾向の信頼性を示す手法として「相関係数」をExcelで出力する方法も紹介した。そして、データを前にしたときに、まずデータ間の相関性をつかみ、それが強いもののみ回帰分析を行えば、自信をもって解析結果を語れると述べた。

今回は、この考え方を引き継ぎつつ、比較したいデータが複数あるときに回帰分析を行う手法を述べたいと思う。「重回帰分析」をExcelで行う手法である。この手法を会得することで、「欲しい量と、それに関係しそうな複数の要素をまとめた関数式」を得ることができる。例えば、「お店の売り上げと、店舗面積、駅からの近さ、扱っている商品数、開店時間の長さetc」を「お店の売り上げ=α・店舗面積+β・駅からの距離+γ・商品数+η・開店時間」といった具合にである。では、早速始めよう。

Excelでどうやって重回帰分析をやるか?

まず、下準備としてExcelを重回帰分析が使える環境に設定しておく必要がある。過去記事の「Excelによる回帰分析の方法②」を参照されたい。

「ファイル」→「オプション」→「アドイン」→「分析ツール」→「OK」

分析ツールを使えるようにしたら、いよいよ重回帰分析である。下記にフローを示す。

以下、順番に説明する。

まず、データを用意する。求めたい量に対して、関係していそうな要素を何でもよいからあげてみよう。※ 前提として、理論式が特になくデータから見つけるしかないとする。理論式が分かっている場合は、そちらを使って下さい。

ここでは、例として、電気製品の「騒音値と複数のファン」に関する試験データをあげる。下記のようなデータがあったとする。

ここでいう騒音値とは、電気製品から外にでてくる音のことである。一般的に、電気製品は熱を持つので、ファンと呼ばれる回転体( 扇風機や換気扇 をイメージしてください )を実装する。このファンは、その回転数に応じて音が変わる。また、製品内で同じファンを複数使うとも限らないし、同じような位置にあったとしても騒音値が単純に加算されるわけではないので、「製品騒音値とファン回転数」の関係を見つけることは難しいのである。そこで、ここでは重回帰分析による手法でそれを見つけてみたいと思う。

上記データは、ファンが三台搭載されている製品において、各ファンを適当に定めてみて、製品騒音値を測定した物である。

欲しい量と複数データの相関関係を調べる

「データ」 → 「分析ツール」 → 「相関」→「OK」と進む。

下記のような小コマンドが出るので、入力範囲をする。入力は、特に変わったことをする必要はない。表を表題まで含めてマウスで覆って(=ドラッグして)あげればよい。その際、下記の小コマンドの中位にある、「先頭行をラベルとして使用」にチェックをいれると、後で出力される相関データが見やすくなる。出力オプションは、相関データを出力する場所を指定できる。下図のように何もしなければ、新しいシートに出力される。場所を指定したい場合は、下記の「出力先」にチェックをいれて、出力先のセルを指定する。

騒音と回転数の生データに対してExcelの分析ツールで相関を調べると、下記のような表が、自動的に出力される。

赤枠内が、データ上の騒音値に対する各ファンの相関係数である。これをみると、ファン2と騒音値の関係性が確実(≧0.7)にあり、ファン3は無視できない程度関与(0.3~0.7未満)しており、ファン1はほとんど関与しない(≦0.3)という結果になった。

重回帰分析にかける、結果をまとめる

ここで、以降の重回帰分析を行うわけだが、二つの方針をとることとする。今、上記の結果で、相関係数0.7以上の物はファン2のみである。言い換えれば、ファン2が、製品騒音値を支配的に決めていると分かる。そこで、方針の一つは、「製品の騒音値を決めるのはファン2であり、その回転数と騒音の関係をつかめば十分である」という仮説の元、「騒音値とファン2の回転数」に対して回帰分析を行う。

もう一つの方針は、全て同時に回帰分析を行うである。確かに、相関係数だけをみると、ファン2が突出しているが、ファン1も2も音源であることに変わりはない。よって、それを知っていながら無視することはできない。よって、一緒に回帰分析をしようという物である。

あとで、この二つの結果を比較してみる。やり方としては、時間と要素数と相談して前提さえしっかり定義しておけば、どちらの方針を採用しても良いと思っている。筋が通っているからである。

【方針1】:騒音値とファン2の回転数の関係

この結果を、入力:回転数[rpm]、出力:騒音値[dBA] として整理しておく。こうしておくと、後でデータを元にした予測をすることで可能になる。

※ K26は、私が使用したExcelシートにおいて、ファン2回転数の記入箇所(上図の青枠内)のセルが、たまたまK26であっただけである。

【方針2】:ファン1~3のすべての重回帰分析

まず、先の相関係数と同じように、「分析ツール」を立ち上げ、「回帰分析」にチェックを入れる。

「OK」を押すと、範囲指定をする小コマンドが立ち上がるので必要な範囲を記入する。

入力範囲(Y)には、欲しい量(=パラメータを変えて予測したい量 )を記入する。出力範囲(X)には、要素となるパラメータをまるごと指定する。ラベルごと範囲指定し、中段にある「ラベル」にチェックを入れておくと後が楽である。こうして出力された結果が下記である。

この結果より、騒音値(=欲しい量、予測しい量)と各ファンの回転数をつなぐ式が記述できる。上図の色んな情報を無視して、赤枠で囲ったとこだけ着目する。この情報から関数式を記述すると、下記のようになる。

騒音値[dBA]=0.000689×(ファン1回転数)+0.004116×(ファン2回転数)+0.001019×(ファン3回転数) – 3.06

これも、入力:ファン回転数、出力:騒音値 として整理しておく。

では、ここで【方針1】と【方針2】の結果の違いを考えてみる。方針1は、「ファン1と3の回転数は何でもよく、ファン2が製品騒音値を決めるのだ!」というもの。方針2は、「ファン1~3の全てが製品騒音値に影響するのだ!」というものである。

・テスト1:ファン1=ファン2=ファン3=8000rpm

・テスト2:ファン1=4000,ファン2=8000,ファン3=4000

・テスト3: ファン1=10000,ファン2=8000,ファン3=4000

・テスト4: ファン1=4000,ファン2=8000,ファン3=10000

テスト1より、全ての回転数が同じ場合は、確かにファン2の値をみれば、1dBAほどの違いしかない。よって、ファン2の回転数をみればおおよそ製品騒音値が分かると言えそうである。

しかし、テスト2をみると、ファン1や3を思い切り回転数を下げてみると、8dBA弱まで結果に差が出てしまう。ただし、それがファン1や3をそれ以外の任意の数にしてもある程度保たれるのならば、ファン2の回転数から予測された騒音値にその補正数を加えればよいので、方針1は使えるかな…と思ってテスト3や4をしてみた。結果、値が1.6~3.6dBAと大きくバラついたので、補正は難しそうだと分かった。

また、テスト2と3は、騒音値との相関が最も少ないと思われてたファン1の回転数を変えたのだがそれでも4.2dBAもの差が出てしまった。このことから、相関係数が0.3未満だとしても、明らかに所望量に影響すると考えられる要素の場合は、重回帰分析にかけた方がよいと分かる。

※ 今回の分析は、回転数が8000rpm以上に対して求めたものである。それに対して、テストでは回転数4000rpmなど逸脱した値も使っている。相関係数が小さいのに、結果に大きく反映されている場合は、予測に使用したデータ範囲外の可能性があるので、別途、興味のある方は調べていただきたい。

まとめ

・予測したい量に対して、複数要素の関与が気になる場合は、重回帰分析しよう!

・Excelの「分析ツール」で簡単にできます。

・パラメータ数が多い場合は、相関係数の大小で回帰分析数を減らそう。

 しかし、明らかに関与すると思う場合は、相関係数が小さくても分析にかけよう。


実家付近の植物(2~3月)

定期的に実家に戻っています。そんな時、ふと四季折々の植物を記録に残しておきたくて、コンデジで撮影しています。今日は、そんな実家周囲の植物の一部をUPします。


早速だけど、実家の柴。植物じゃないけど、誰かに遊んでもらいたくて、いつも頃合いを狙っている。

梅の木が見頃である。我家のは、白梅である。古今和歌集でいえば、


折りつれば 袖こそにほへ 梅の花 有りやここに うぐいすのなく

【訳】

梅の花を(枝から)折り取ったら、袖がこんなに香っている。梅の花が咲いていると勘違いして、ここで鶯が鳴いていますよ。

といった感じでしょうか。笑

私の実家には、この時期は鶯は鳴いておらず、いるのは、カラス、スズメ、メジロ、ムクドリ、ヒヨドリ、オナガ(←先々週辺りから急に見なくなった!!!?) である。


白梅

白梅 ( こちらは鬼門よりに植えている梅の木。同じ白でも、昔から色がやや薄い )

万年ミカン。一年中実がなってる。どういう生態をしているのか不明。

柚子の木。今年は異常に実りが良い。柚子醤油などにしてお魚や野菜にかけて食べるととても美味しいのです。抗酸化作用があるらしいので、アンチエイジングにもなるのではないでしょうか。笑

ワンコの足跡!を見つけました。

紫陽花。若い葉が芽吹きだしてきました。6月には美しい花を見せてくれるでしょう。因みに、写真の紫陽花の木は、真っ青の花を咲かせてくれます。

紅梅。実家で唯一のピンクの梅です。母が嫁に来る際に、植えたそうです。淡いピンク色がとても風流で、昔から好きです。

植物は、癒しだけでなく、四季を感じさせてくれます。古今和歌集などをみても分かるように、古来より私たちの祖先は、季節を五感で楽しみ、表現してきました。そうした営みの中で、豊かな感受性と穏やかな心、緩急のある精神力が養われ、日本人の民族性の一端が形成されてきたように感じます。

情報時代の中で、世界的な知識の垣根はなくなってきました。国家への帰属意識は希薄になり、個が一人歩きし、表面的な物事をみて言いたいことを言う人が増加しております。

モンスターペアレンツ、某政党や宗教団体の意味不明な論理、某巨大政党とその支持母体たる宗教団体( 日〇宗から破門された団体 )の言動、働けるのに働かない・節約できるのに快楽と豊かさを求める生活保護受給者、N〇Kをはじめとするメディアの一見まともでトンチンカンな主張の数々etc

個の一人歩きは日常の行動にも表れており、他者を思いやった行動ができない人が増えました。

歩きスマホ、電車内での背負ったリュックや肩掛けカバン、飲食、食べ歩き、時間に関係のない連絡etc

そんな時、自分が日本人であることを再認識し、その特性を考え、先祖に恥じぬ生き方をしなくてはと襟元を正そうとすれば、自ずとあふれる情報の本質を見定め選択しようとし、愛国心が芽生え、他者を思いやることが自分を含めたみんなの幸せにつながるという思考になると思うわけです。

外に生えている植物を見て、四季を感じ、先祖を思うとき、私はふと、こんなことを考えてしまうわけです。

ダイエット食事

最近、「最強の食事」という書籍に出会った。そこで推奨されていた、飲み物をここ一か月くらい続けている。効果をレビューしようと思う。

どんな飲み物か?

それは、下記のレシピで作られるコーヒー、またはココアである。

・優良マーク入りコーヒー、またはココア

・バター

・MCTオイル

朝食として、このドリンクを飲むだけである。

なんでも、太る原因は、摂取した質の低い(=エネルギー消費されにくい)油にあるということである。質の低いとは、化学式において、鎖が短い油のことである。逆に、鎖が長い油は、エネルギーになりやすいので積極的に摂取するべきであるとのことである。この油は、空腹感を感じにくくするという効果もある。

また、鎖の長い油は、脳の主構成要素のため、脳の健全な形成につながるので、IQが向上するということである。バターとMCTを取るというのは、これらのためである。

このエネルギーが消費されやすく、空腹感を感じにくくなり、思考力が改善するというサイクルにより、体は引き締まり、日々の活動のパフォーマンスが向上する ⇒ 最強の食事 という内容であった。

効果は?

まず、MCTオイルとバター入りコーヒーやココアだけで、午前中、空腹感を感じることなく業務にあたることができている。

次に、仕事のパフォーマンスといえば、頭が妙にすっきりした感じがある。また、鎖の短い油( スナック菓子、マーガリンetc )は食べなくなったことで、痩せた。

困ったのは、筋トレをするときにエネルギー切れを起こしてしまうことである。そこで、上質なタンパク質を摂取して栄養を取った後にトレーニングを行うようにしている。

運動嫌いで、普段の生活の中でスマートになりたい人は、この「MCTオイル&バター入りコーヒー、またはココア」を作ってみたらどうであろうか?

注意

下記は控えましょう

・スナック菓子やマーガリンを取るのはやめましょう。太ります。

・コーヒーやココアは、必ず優良品を選びましょう。

 そうじゃないものは、カビが入っており、体中に炎症を起こすそうです。

 それにより、思考や血流が乱れ、パフォーマンスが落ちるそうです。

・筋トレや運動をする人は、必ず、タンパク質や炭水化物を取りましょう。

 ガス切れを起こし、トレーニングができなくなります。

Excelによる回帰分析の方法②~相関係数の出し方~

前々回、「Ecelによる回帰分析の方法」として、グラフから簡単な傾向をExcelで読むとる方法を紹介した。その時、「やり方が正しいのであって、答えが正しいかどうかは別である」と述べ、回帰分析を使う際の注意点を述べた。今回は、相関係数を出力して、その値から回帰分析をする価値があるかどうかを判断する方法を紹介する。傾向を調べようとしているデータ間に相関があるといえれば、回帰分析によって得られたグラフも、一定の信頼性があると考えるからである。さすれば、「回帰分析によって得られた関数なんぞ、信用できねーよ!」などという輩にも科学的に釘をさすことができるし、自分も無駄な分析をしなくてすむ。是非、習得して有益な分析をできるようにしましょう。

相関係数とは?

データ間の相関の強さを表す量です。0~1の間の数で、1に近づくほど相関が強いことになります。

数学では、0.7以上を明確に相関度があるという指標にしております。よって、相関を調べたいデータがあった場合、まず、相関係数が0.7以上あるかどうかを見て、回帰分析をしてみてください。

Excelで相関係数を出力する方法とは?

まず、準備としてExcelの「分析ツール」を使えるようにする必要がある。下記の手順に従って、設定しましょう。

「ファイル」→「オプション」→「アドイン」→「分析ツール」→「OK」

以上により、Excel上で「分析ツール」が使えるようになる。早速、リボン上の「データ」→「データ分析」→「相関」→「OK」を押して、下図のようなコマンドが出ることを確認しましょう。

例えば、以前示した、下記のデータの相関係数を出力させてみます。

先ほどの手順で、「相関」を「OK」すると上図の右側のようなコマンドが出ます。その入力範囲に、データの数値の箇所のみドラッグして入れてください。すると、下記のようなデータが出力されます。

上図の0.77796というのが、データ間の相関係数です。0.7以上なので有意な相関があるといえます。上図の列1と列1は、最大輝度のデータ同士の相関係数です。同じ値を比較しているので、1がでるのは当たり前です。列2と列2は、価格[円]のデータ同士を比較しているので同じく1が出て当然です。

このようにして、回帰分析するかどうか、したものが信頼できるものかどうか心配な場合は、是非、相関係数を出力してみて下さい。そして、0.7以上なら、数学的に意味のあるデータとして自信をもって使ってください。

なお、この後、欲しい量とその他複数のデータの間で回帰分析を行う、「重回帰分析」を紹介します。その際、鍵となるのが、複数のデータの選び方です。このとき、使用する方法こそが、「相関」です。是非、物にしてください。

まとめ

・回帰分析するデータの信頼性が心配ならば、データ間の相関を調べましょう。

・相関は、Excelのデータ分析を使って、相関係数にて判定しましょう。

・相関係数≧0.7 かどうかが重要です。

・重回帰分析の際の、パラメータの選定は、相関係数の良い順に行うので、ここでモノにしましょう。

学ぶとき、作るときに言ってはならない言葉

勉強するとき、創造するときに言ってはならない言葉がある。それは「難しい」である。

難しいという言葉は、何か困難にぶち当たったときに口にする。

しかし、勉強しているときや、物を作るときに、それは言ってはならない。

なぜなら、「難しい」と口にすることを一つの答えにしてしまい、分析や前進が止まってしまうからである。また、難しさを理解したところで有益なことは何もない。むしろ、恐怖心をもってしまい、何度学習しても身につかなくなる。以下、数学問題、議論、物作りにおいて、「難しい」と言いそうになった場合の、私の試みをあげる。

数学の問題と考えてみる。

まず、最終的に問われている「〇〇を求めよ」を知る。ここで、難しいと分かったところで、何も得られることはない。ゴールが分かったら、そこに向かうために何が必要か分析をするのである。分析とは、必要と思われる要素を書き出し、一つ一つ点検する作業である。樹形図をイメージするとよい。

要素の書き出しは、如何に多くの問題に触れたかが鍵となる。よって、何かの試験に臨むものは、多くの問題に触れ、「引き出し」を沢山身に着けることが肝要である。

また、処理能力を高めるために、「計算力」と「判断力」を養うこと大事である。

計算力とは、四則演算、微分積分、因数分解、そろばん、暗算etc

判断力とは、「〇か✖かを、ある基準で判定すること」である。ある基準は、自分で定める。この能力は、自分で何かを決める意識や癖を持つだけで日々養える。

これらは、筋トレと同じく、やればやっただけ身につく。

二つ目の例として、「議論」をあげる。これは、議題に対して、意見を言い合い、二項対立を探す。そして、それについて意見を言い合い、感情的でなく客観的な判断を積み重ねて、結論を導く。

この時、AとBという対立意見があったときに、Aの主張者が、Bの主張者にその欠点を指摘されて「難しい」と言ってしまったら、どうなるであろうか?それは、Aという主張は、Bの主張者の突っ込みへの解がないことを意味する。

議論なれしている者ならば、その欠点を保留にしつつ、すかさずBの主張の欠点も述べ、欠点の多少、欠点の質を列挙しあう方向に誘導し、直近の問題に対して数と質のどれで対応するかを判断するように議論を導くであろう。こうしなければ、Aの主張は消えてしまうからである。

最後に、エンジニアとして物を作るときのことをあげる。設計という仕事は、楽しい反面、孤独で責任の重い仕事である。特に機構設計の仕事は、回路設計、ソフト設計に比べて、要求事項も、時間もお金も莫大にかかり、社会的責任の重さも比較にならないほど重たい仕事である。

開発の上流下流の不具合、社会情勢、販売戦略に伴う急な設計変更など日常茶飯事である。「難しい」議題しかないのである。こうしたとき、難しいと言っているだけでは、何も生まれない。まずは、冷静に、その場でできることを列挙するのである。ネットで調べてもよい、書籍から引っ張てきてもよい、開発メンバーでもよい、とにかく出来る方法をあげるのである。

このとき、よくコストや日程が成り立ってないなら、✖ と頭ごなしに言う人がいるが、そんな意見は、たとえ上司でも真に受けてはいけない。コストや日程が成り立つ方法が思いつくなら、とっくに提示しているからである。それがその時間で導いた答え(限界)なのである。

✖といって、日程をくれるのなら再考する。くれないなら、お金と日程を犠牲にしてでもやるしかない。製品において、品質悪が最もよくないことだからである。

以上、「難しい」という言葉の無意味さと、問題・議論・物作りの現場でそう言いたくなる状況を仮想し、私がどのように日常立ち向かっているかを述べた。参考にするとともに、何かアドバイスがあれば、連絡いただきたい。

まとめ

・学びと創造の場では、「難しい」という言葉は、無意味である。

・難しいと言いたくなったら、なぜ難しいのか考え、書き出しましょう。

・書き出した項目について、考えられる解を考えましょう。