本当に痩せてるの?重回帰分析でダイエットの成功を予測する
今回は、Excelで簡単に重回帰分析を行う方法を紹介します。
元々がぽっちゃり体型の松本は、夏からダイエットを始めていました。ぽっちゃりの領域を超えて、もはやデブだからです。
ダイエットの結果、およそ1ヶ月で約6キロ減のダイエットに成功しました。
このまま行けば、松本は何日後に体重を60キロ台に落とすことができるでしょうか。運動の回数をどれくらい増やし、ラーメンの誘惑に何度勝てば、もっと早く痩せられるか、予測してみたいものです。
そんなことが簡単にできるのでしょうか。できるんです。そう、回帰分析ならね。
回帰分析で見るべきは係数、P値、重決定R2(補正R2)
松本のダイエットの成果を確認してみましょう。
体重、体脂肪率、ラーメンを食べに行った日(0/1で表現)、ジムでジョギングをしたkmそれぞれの結果は以下の通りとなりました。
約86キロから始まり、一気に痩せた後は油断しまくって、悪戦苦闘してようやく80キロを切りました。
数字の正当性を担保するために、毎日7時台に計測をするという心構えだけは確保していたのですが、それだけでした。
なんとなく「ラーメン」が悪さをしていることがわかるのですが、それを明確にするために、体重の折れ線グラフを、(前日の体重)マイナス(今日の体重)で表現し直します。その結果は次の通りです。
ラーメンを食べた次の日の体重は、間違いなく激増していることがわかりました。また、ジムでジョギングをした次の日の体重は、わずかながらも減っていることがわかりました。
この結果をもとに、重回帰分析を行なっていきましょう。
分析自体はExcelのデータ分析機能を用います(超便利ですよ!)。その結果は以下の通りです。
いろんな数字が出ているので、何を見るべきか迷いますが、「係数」「P値」「重決定R2」で十分です。それぞれ説明していきます。
「係数」とは、その指標の重みです。例えば今回の重回帰分析の結果、松本のダイエットは以下のようなモデルで表現できることがわかりました。
- y = 83.60kg-0.14×(ダイエット経過日数)+0.73×(ラーメン行った)-0.04×(ジムジョギングkm数)
ダイエットを始めて、1日あたり約0.14kg痩せてるし、でもラーメンを食べたら約0.73kg太ってるし、でもジムで走ったら1kmあたり0.04kg痩せているということが分かったのです。
松本の身長は174cm、標準体重の目安がBMI指数22なので66.6kgまで落とす必要があります。つまり80kg段階であと13.4kg落とす必要があります。
今回の係数を基準に考えると、13.4kg / 0.14kg = 95.714... 約96日間は継続する必要があるようです。ただし、体重は落ちれば落ちるほど「落ちにくくなる」ことが考えられるので、間違いなくそれ以上かかるでしょう。ため息が漏れますね。
係数からこうした未来予測も可能というのがお分かりいただけたでしょうか?
では、この係数の値がそもそも正しいのかを次は知りたいですよね。それは「P値」でわかります。「P値」とは簡単に言うと誤判断のリスクです。
ダイエット経過日数のP値は0.00です。これは、ダイエット開始からの経過日数毎に体重が0.14kg落ちると判断したとき、そうじゃない可能性が0%だということを表しています。
一方、ジムのP値は0.60です。これは、ジムでジョギングしたkmあたり体重が0.04kg落ちると判断したとき、そうじゃない可能性が60%だということを表しています。降水確率だと間違いなく雨が降っています。
難しいのがラーメンです。P値が0.17です。つまり、ラーメンを食うと体重が0.73kg増えると判断したとき、そうじゃない可能性が17%だということを表しています。これが全国のマーケッターの頭を悩ます「P値は何%以下なら良いんですか?」問題です。
個人的には何%かの問題ではなく、もしそうだとしたらどのような対策が必要かを考えることのほうが大事だと思っています。なので誤判断の可能性が60%あるけど、ジムで走れば痩せるんだと主張するのもありだと思います。
※ただし真面目な話をすると、標準誤差を考えると-0.04±0.08なので無理筋ではあります。
最後にモデルそのものの精度を確認するために、「重決定R2」を見ます。モデルの当てはまり度合いを指します。
松本の体重推移を、挑戦からの日数と、ラーメンに行った日と、ジムでのジョギングkm数で説明しようとすると59%説明できていることを意味しています。
残り41%は、もしかしたら昼飯の内容かもしれないし、毎日の消費カロリーかもしれません。
この数字も何%だから良いというものでもありません。これ以上の説明変数が無いのであれば、全体の約6割を説明できているという考え方に立ったほうが建設的な議論ができるでしょう。
マルチコに気をつけろ!
とはいえ残り40%の指標を探そうと色々調べていて、偶然にも体脂肪量(体重×体脂肪率)を説明変数に含めて重回帰分析を行うと決定係数が圧倒的に良くなりました。
その結果が以下の通りです。
「重決定R2」が85%と、体脂肪量を入れるだけで説明力が25%も増しました。体脂肪量のP値も0.00と問題無さそうです。
しかし、残りの説明変数で奇妙な現象が起きています。ラーメンを食べると-0.31kg痩せ、ジムでジョギングすると1kmあたり0.11kg太るようです。
説明力は上がっているのに、なぜこのような結果になるのでしょう? 実は、こうした現象を多重共線性(マルチコ)と言います。
「単回帰分析は直接効果、重回帰分析は間接効果を含めた分析」と言いました。つまり、説明変数が複数あると、説明変数同士の関係性も考慮していることになります。
重回帰分析では、大前提として説明変数同士に相関関係は無いものと考えて分析を行います。
もし説明変数同士に相関関係があると、x1が変動するとyに影響を与えるだけでなくx2にも影響を与えることになるからです。x2も同様です。すると、x1の効果でyに影響を与えられたのか相関関係のあるy2の影響があるのかがわからなくなるのです。これが多重共線性(マルチコ)です。
ちなみに目的変数、説明変数同士の相関関係を確認してみました。
体脂肪は、ダイエット経過日数、ラーメン、ジム全てにおいて相関があることがわかりました。つまり4つ目の説明変数としては不適切なのです。
松本がダイエットに成功するのはいつの日か
ラーメンを絶対に我慢して、ジムで週2回ジョギング5kg走れば90日後には66kgになっているでしょうか。
私には、その自信がありません。グラフを見て頂いた通り私は意志の弱い人間で、ちょっとでも軌道に乗ると、直ぐに心が緩んでしまいます。
誰か、私のダイエットをサポートしてくれて、痩せるという結果にコミットしてくれる、そんな人はいないもんでしょうか。
...あ。
ブゥーチッ ブゥーチッ♪
ブゥーチッ ブゥーチッ♪
ペーペッペッペペーペーペペ♪
ペーペッペッペペーペーペペ♪
次回予告「ライザップに通えば本当に痩せるのか?を分析してみた。(仮)」に続きます。
本記事は、マーケティングメトリクス研究所からの転載です。
完全版はこちらからお楽しみください。