最近,「現役東大生が書いた 地頭を鍛えるフェルミ推定ノート――「6パターン・5ステップ」でどんな難問もスラスラ解ける! 」を読んだので,この本の紹介,一部を要約していきます.
フェルミ推定とは
フェルミ推定とは例えば「日本にはいくつ電柱があるか?」や「世界中で一日に食べられるピザは何枚か?」など,普通に生活していたら考えたこともないような質問に対して,合理的な仮定をおき論理的な思考をすることで,知っている知識だけを用いて短時間で答えを概算する方法です.
この本によると,フェルミ推定は科学者の思考訓練ツールとしても有効であると認められ,欧米の学校で理系の教材として幅広く利用されているほか,フェルミ推定の科学オリンピックまで開かれているのだとか.
この本では,そんなフェルミ推定の問題を1000問以上解いてきた書者たちによって,フェルミ推定問題の基本体形や基本的なアプローチ方法がたくさんの例題ともに説明されています.
どんな人におすすめ?
この本は以下のような人におすすめです.
- 論理的思考力を鍛えたい人
- フェルミ推定そのものに興味がある人
- 就活などでフェルミ推定対策をしなくてはいけない人
フェルミ推定の基本体形
さて,この本ではフェルミ推定の問題がいくつかのパターンに分類できるとしています.そして自分が解いている問題がどのパターンの問題なのかを意識することでスムーズに問題が解くことができるようになります.
下の図をご覧ください.

ストックかフローか
まずフェルミ推定を大きく2分するのは,聞かれている量がストックなのかフローなのかという点です.
ざっくり説明するとストックとはある一時点における量であり,フローとは一定期間内に変化した量のことです.例えば家計で言うならば銀行に貯めてある貯金額はストックとなり,毎月の支出はフローとなります.フローとストックはよく以下のような図で説明されます.

お風呂に溜まっている水の量がストック,お風呂に流れていったりお風呂から出ていったりしている水の量がフローになります.
ストックの場合:所有か存在か
そしてストックについて聞かれているときは,何を基準に解いていくかを決めるとやりやすいです.
誰がもっているのかを主体に推定をする方法をこの本では所有アプローチと呼び,どこにそれがあるのかをベースに推定する方法を存在アプローチとこの本では呼んでいます.
所有の場合:個人・世帯か法人か
所有アプローチを用いる場合,主に二つのパターンがあります.それが個人・世帯か法人かです.
「日本にぬいぐるみがいくつあるか」という問いについて考えます.当然,ぬいぐるみを所有している個人もいるし,ぬいぐるみを所有している企業もあります.
詳細は後で述べますが,フェルミ推定を解く最初のステップとして,質問の前提をはっきりとさせるため,何についてどこまで考えるのかを最初に決めてしまいます.
その際に,この例題の場合であれば,推定するのは個人が所有しているぬいぐるみに限定して推定を進めていく,と先に前提を決めてしまうことでスムーズに推定を進めることができます.
存在の場合:面積かユニットか
個人や法人をベースに考えるよりも,面積や,何かのユニット(単位)ごとに物事を考えた方がわかりやすい場合があります.
例えば「日本にコンビニはいくつあるか」という問いが出されたときに,コンビニを所有する企業をベースに考えるよりも,面積ごとにコンビニがいくつあるかをベースに推定を進めていった方がわかりやすいですよね.
また「日本に政治家は何人いるか」という問題では,市区町村や都道府県などのユニット(単位)ごとに何人いるのかをベースに考えた方がわかりやすくなります.
フローの場合:ミクロかマクロか
フローの売り上げを推定するとき,主に「各店舗の売り上げ」などミクロ売り上げを聞かれている場合と,「日本の自動車の市場規模」などマクロな売り上げを聞かれている場合でパターン分けをすべきであるとしています.
ミクロな売り上げの場合は,この本では供給サイド(売る側)からの視点で推定をすること,そしてマクロの場合は需要サイド(買う側)からの視点での推定をお勧めしています.
例えば「マクドナルドのある店舗の1日の売り上げ」を考える際に,実際にマクドナルドに足を運んだことがあれば店がどのように営業されているか想像することができます.そこから営業時間や座席数,稼働率や回転率を予測し,そこから論を組みたてることでロジカルに推定をすることができます.
一方で, 「日本の自動車の市場規模」 などは供給サイド,つまり自動車を売る会社からの推定は,具体的に想像することが難しくなってしまいます.なので需要サイド,つまり自動車を買う側である世帯や法人をベースに考えていった方が推定がしやすくなります.
フェルミ推定問題へ取り組むための基本5ステップ
さて,問題を分類したところで実際にフェルミ推定に取り組んでいきましょう・
この本では以下の5ステップの順で進めていくことをお勧めしています.
- 前提確認
- アプローチ設定
- モデル化
- 計算実行
- 現実性検証
具体的な例があった方がわかりやすいと思うので,「日本に猫は何匹いるか」という例を解きながら進めていきましょう.
Step 1: 前提確認
前提確認ではまず,何について考えるかを決めなくてはいけません.そのために,まずこの問題で考える「猫」を定義します.
猫と言っても,野良猫やペットの猫,ペットショップにいる猫など様々です.そこで今回は先ほど見た基本体形をうまく使い,ペットとして世帯に所有されている猫( ストック→所有→個人・世帯 )のみに範囲を限定して推定を行うことにします.
Step 2: アプローチ設定
アプローチ設定では推定を行う際に必要な大まかな計算式を設定します.
この例であれば,世帯に所有されている猫の数は
日本の世帯数 × 猫の所有率 × 1世帯当たりの平均所有数
という式で求めることとします.
Step 3: モデル化
モデル化の段階では,アプローチ設定の際に設定した計算式をさらに分析していきます.
猫の例に戻りましょう.まず日本の世帯数を推定します.この際もなんとなくではなく,根拠を持って推定を行っていきましょう.例えば日本の人口が1億2000万人であるとし,平均的な世帯人数が3人であるとすると1億2000万÷3で日本の世帯数はおよそ4000万ほどなのではないかと推定できます.
猫の所有率についても推定していきましょう.なんとなく半分くらい...?としているようではいけません.なるべくロジカルに論を組み立ててていきます.例えば「動物を飼っている世帯の割合はどれくらいか」→「動物を飼っている世帯のうち,猫だけを飼っている世帯はどれくらいか,猫とそれ以外の動物を飼っている世帯はどれくらいか,猫を飼っていない世帯はどれくらいか」などのように世帯を分類していきます.
例えば以下のように仮定します.

すると,猫の所有率が
動物を所有(0.5) × {猫だけ(0.2) + 猫とその他(0.1)} = 0.15
と計算できるわけです.
さらに平均所有数については
- 1匹: 70%
- 2匹: 20%
- 3匹: 10%
- 4匹: 珍しいのでここでは無視
などと仮定すると,全体として平均は1.4匹であると推定できます.
ここではやりませんでしたが,世帯主の年齢や,都会か田舎かなどの軸を持ってきても面白いと思います.
Step 4: 計算実行
あとは,モデルに従って計算をするだけです.
例の場合だと
日本の世帯数 (4000万) × 所有率 (0.15) × 平均所有数 (1.4) = 840万匹
となります.
Step 5: 現実性検証
可能であれば,実際の推定値と現実の値にどれくらい差があるかを確認することで推定の正確さを知ることができます.フェルミ推定では実際の値に近いかどうかよりも推定のプロセスが重要視されますが,推定された値があまりにも大きかったり小さかったりした場合は,上のステップの内のどこかで大きな間違いを犯していることに気づくことができます.
この場合だと,推定値が840万匹に対して2007年のペットフード工業会によるデータによると猫の飼育数は1018.9万匹となり,まずまずの推定であると言えると思います.
フェルミ推定を使った面接などの場合は実際の数値にはアクセスできませんが,きちんと推定した値を確認をすることで,もしも日本の人口が1億2000万人ほどなのにペットの猫が10億匹や10万匹と明らかに大きな値や小さな値だった場合は,推定のどこかがおかしいと気づくことができます.
まとめ
いかかでしたでしょうか.
この記事では非常に簡単な問題だけをざっくりと説明しましたが,この本には様々なパターンの問題が30問詳しい解説付きでついていたり,フェルミ推定を長年研究してきた著者が厳選した100問が解説なしですが載っています.
フェルミ推定を就活で使わなくてはならない方向けに,実際にフェルミ推定の面接がどう進んでいくかの再現なども書かれています.
フェルミ推定に興味のある方,ロジカルシンキングを鍛えたい方におすすめの一冊です.
興味のある方はぜひ読んでみてください.