渋谷駅前で働くデータサイエンティストのブログ 元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前 2024-03-18T17:30:00+09:00 TJO Hatena::Blog hatenablog://blog/6435988827676541035 どのような場面で多重比較補正が必要なのか hatenablog://entry/6801883189090991297 2024-03-18T17:30:00+09:00 2024-03-18T19:02:53+09:00 先日のことですが、Querie*1で以下のような質疑がありました。恐らくですが、これは僕が懇意にさせていただいているマクリン謙一郎さんがコメントしていた件に関連する話題だと思われます。たしかにこれではないからHARKingとはちょっと違うと思うんだけど、実際は「同じストーリーを別のデータで何度も解析」してるわけだから多重検定になる。被説明変数は一緒だから複数の説明変数を試して有意になったやつを報告するのと構造は一緒。 https://t.co/WjnK5MnKcJ— Ken McAlinn (@kenmcalinn) 2024年3月11日 分かる人が見れば「典型的な多重比較補正問題だ」と分かる… <p>先日のことですが、Querie<a href="#f-e88f0107" id="fn-e88f0107" name="fn-e88f0107" title="最近復活させました">*1</a>で以下のような質疑がありました。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fquerie.me%2Fanswer%2FfFwlvZ7fapjQCyQioEUN" title="「同じストーリーを別のデータで何度も解析」してるわけだから多重検定になる理由が素人にはよくわかりません。|新たな発想を生み出す質問箱 Querie.me" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>恐らくですが、これは僕が懇意にさせていただいているマクリン謙一郎さんがコメントしていた件に関連する話題だと思われます。</p><p><blockquote data-conversation="none" class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">たしかにこれではないからHARKingとはちょっと違うと思うんだけど、実際は「同じストーリーを別のデータで何度も解析」してるわけだから多重検定になる。被説明変数は一緒だから複数の説明変数を試して有意になったやつを報告するのと構造は一緒。 <a href="https://t.co/WjnK5MnKcJ">https://t.co/WjnK5MnKcJ</a></p>&mdash; Ken McAlinn (@kenmcalinn) <a href="https://twitter.com/kenmcalinn/status/1767234227613933648?ref_src=twsrc%5Etfw">2024年3月11日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </p><p>分かる人が見れば「典型的な多重比較補正問題だ」と分かる話なんですが、普段から意識していないと意外と見落とされがちなポイントだと思うんですよね。ということで、<s>最近ネタ切れなのを糊塗する目的も兼ねて</s>今回の記事では簡単にこの話題を改めてサクッと深掘ってみようと思います。なおいつもながらですが、記事中に僕の理解不足や誤解などがありましたら、何なりとご指摘くださると幸いですm(_ _)m<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#そもそも比較が多数集まれば中身が何であるかにかかわらずそれは多重比較に当たる">そもそも「比較」が多数集まれば、中身が何であるかにかかわらずそれは多重比較に当たる</a></li> <li><a href="#多重比較補正のやり方について">多重比較補正のやり方について</a></li> <li><a href="#コメントなど">コメントなど</a></li> </ul> <div class="section"> <h3 id="そもそも比較が多数集まれば中身が何であるかにかかわらずそれは多重比較に当たる">そもそも「比較」が多数集まれば、中身が何であるかにかかわらずそれは多重比較に当たる</h3> <p><br /> これは意外とあまり意識されていないことなのかもしれませんが、そもそも論として<strong>「異なるデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>同士の異なる比較であっても仮説を検証する行為を多数集めれば一定数の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%B6%CD%DB%C0%AD">偽陽性</a>が生じ得る」のが<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A2%CC%B5%B2%BE%C0%E2">帰無仮説</a>有意差検定が持つ原理的な側面</strong>なんですよね。それは、p値がその頻度論的な解釈<a href="#f-245b9dcf" id="fn-245b9dcf" name="fn-245b9dcf" title="この辺をご参照ください→[https://tjo.hatenablog.com/entry/2021/07/16/190000:title]">*2</a>の詳細はさておき、本質的には第一種の過誤即ち「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%B6%CD%DB%C0%AD">偽陽性</a>の確率(割合)」を意味していると考えられるからです。</p><br /> <p>この点について、例えば"All of Statistics"の例6.13では多重比較ではなく95%信頼<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>についてですが、実に面白い喩え方をしています。</p><p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/B00HWUVSJS?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41JZih-O5qL._SL500_.jpg" class="hatena-asin-detail-image" alt="All of Statistics: A Concise Course in Statistical Inference (Springer Texts in Statistics) (English Edition)" title="All of Statistics: A Concise Course in Statistical Inference (Springer Texts in Statistics) (English Edition)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/B00HWUVSJS?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">All of Statistics: A Concise Course in Statistical Inference (Springer Texts in Statistics) (English Edition)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/Wasserman%2C%20Larry" class="keyword">Wasserman, Larry</a></li><li>Springer</li></ul><a href="https://www.amazon.co.jp/dp/B00HWUVSJS?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p> <blockquote> <p><b>6.13 Example.</b> Every day, newspapers report opinion polls. For example, they might say that “83 percent of the population favor arming pilots with guns.” Usually, you will see a statement like “this poll is accurate to within 4 points 95 percent of the time.” They are saying that <img src="https://chart.apis.google.com/chart?cht=tx&chl=%2083%20%5Cpm%204" alt=" 83 \pm 4"/> is a 95 percent confidence interval for the true but unknown proportion p of people who favor arming pilots with guns. If you form a confidence interval this way every day for the rest of your life, 95 percent of your intervals will contain the true parameter. This is true even though you are estimating a different quantity (a different poll question) every day. ■</p><br /> <p>(毎日、新聞が<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C0%A4%CF%C0%C4%B4%BA%BA">世論調査</a>を報じているとしましょう。例えば、「人口の 83 パーセントが<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A5%A4%A5%ED">パイロ</a>ットに銃を装備することを支持している」といった感じに。 通常、「この<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C0%A4%CF%C0%C4%B4%BA%BA">世論調査</a>は 95% の確率で 4 ポイント以内の精度です」などの但し書きが表示されます。彼らは、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A5%A4%A5%ED">パイロ</a>ットに銃を装備することを支持する人々の真の、しかし未知の割合 p に対する 95 パーセントの信頼<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>が 83±4 であると言っているのです。この方法で信頼<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>を生涯にわたって毎日作成すると、数多く集められた<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>たちのうちの 95% に真のパラメータが含まれることになります。これは、毎日異なる数量 (異なる<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C0%A4%CF%C0%C4%B4%BA%BA">世論調査</a>の質問) を推定している場合でも当てはまります)</p> </blockquote> <p>ここで重要なのは<strong>「毎日てんでバラバラの内容の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C0%A4%CF%C0%C4%B4%BA%BA">世論調査</a>をしていて、そこで得られる人口のxパーセントがyと答えていてその95%信頼<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>がzである(それこそ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B0%E5%CE%C5%CA%DD%B8%B1%C0%A9%C5%D9%B2%FE%B3%D7">医療保険制度改革</a>だったり雇用機会均等だったり政治とカネの問題だったり、83±4%だったり50±9%だったり17±6%だったりするかもしれない)という結果が100組得られたら、そのうちだいたい95組くらいが各々の信頼<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>の中に真のパーセンテージを捉えている」</strong>という解釈がされている、ということです。</p><br /> <p>これを<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CD%AD%B0%D5%BF%E5%BD%E0">有意水準</a>の話題に置き換えると、5%<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CD%AD%B0%D5%BF%E5%BD%E0">有意水準</a>の検定を行っている時点で「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%B6%CD%DB%C0%AD">偽陽性</a>はだいたい5%ぐらい発生しますよ」というリスクが織り込まれているわけで、それは互いに全く異なるデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>で全く異なる比較をしていても変わらないわけです。言い方を変えると「とにかく何であれ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A2%CC%B5%B2%BE%C0%E2">帰無仮説</a>有意差検定を100組集めたら、5%<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CD%AD%B0%D5%BF%E5%BD%E0">有意水準</a>のもとではだいたい5組ぐらいの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%B6%CD%DB%C0%AD">偽陽性</a>が生じる」ということなんですね。</p><br /> <p>さらにこれを多重比較の問題に援用すると、話は簡単です。即ちデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>をどれほど異なる組み合わせになるように集め直したとしても、<strong>単純に5%<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CD%AD%B0%D5%BF%E5%BD%E0">有意水準</a>のもとで<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A2%CC%B5%B2%BE%C0%E2">帰無仮説</a>有意差検定をn回繰り返したら、そこにはだいたい0.05 × n組の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%B6%CD%DB%C0%AD">偽陽性</a>が生じ得るわけで、なればこそ多重比較補正が必要になってくる</strong>ということなのです。よってこの記事の冒頭で触れた課題提起に関しても、本来であれば多重比較の構造に至っており、多重比較補正が求められると考えられます。</p><br /> <p>なお言わずもがなかもですが、簡単な実験をRでやってみましょう。前半はサンプルサイズを50に固定して互いに平均0&<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a>1に従う乱数同士(つまり本来なら真のパラメータに互いの差がない)を1000組生成してt検定にかけてそのp値を集めて<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D2%A5%B9%A5%C8%A5%B0%A5%E9%A5%E0">ヒストグラム</a>をプロットしたもの、後半はサンプルサイズだけを6〜200の範囲でばらつかせた上で同じことをしたものです。</p> <pre class="code lang-r" data-lang="r" data-unlink>pvs1 <span class="synStatement">&lt;-</span> <span class="synIdentifier">c</span><span class="synSpecial">()</span> <span class="synStatement">for</span> <span class="synSpecial">(</span>i <span class="synStatement">in</span> <span class="synConstant">1</span><span class="synSpecial">:</span><span class="synConstant">1000</span><span class="synSpecial">){</span> x11 <span class="synStatement">&lt;-</span> <span class="synIdentifier">rnorm</span><span class="synSpecial">(</span><span class="synConstant">50</span><span class="synSpecial">,</span> <span class="synConstant">0</span><span class="synSpecial">,</span> <span class="synConstant">1</span><span class="synSpecial">)</span> x12 <span class="synStatement">&lt;-</span> <span class="synIdentifier">rnorm</span><span class="synSpecial">(</span><span class="synConstant">50</span><span class="synSpecial">,</span> <span class="synConstant">0</span><span class="synSpecial">,</span> <span class="synConstant">1</span><span class="synSpecial">)</span> res <span class="synStatement">&lt;-</span> <span class="synIdentifier">t.test</span><span class="synSpecial">(</span>x11<span class="synSpecial">,</span> x12<span class="synSpecial">)</span> pvs1 <span class="synStatement">&lt;-</span> <span class="synIdentifier">c</span><span class="synSpecial">(</span>pvs1<span class="synSpecial">,</span> res<span class="synSpecial">$</span>p.value<span class="synSpecial">)</span> <span class="synSpecial">}</span> <span class="synIdentifier">par</span><span class="synSpecial">(</span>mfrow <span class="synStatement">=</span> <span class="synIdentifier">c</span><span class="synSpecial">(</span><span class="synConstant">2</span><span class="synSpecial">,</span> <span class="synConstant">1</span><span class="synSpecial">))</span> <span class="synIdentifier">hist</span><span class="synSpecial">(</span>pvs1<span class="synSpecial">,</span> breaks <span class="synStatement">=</span> <span class="synConstant">20</span><span class="synSpecial">)</span> <span class="synIdentifier">segments</span><span class="synSpecial">(</span><span class="synConstant">0.05</span><span class="synSpecial">,</span> <span class="synConstant">0</span><span class="synSpecial">,</span> <span class="synConstant">0.05</span><span class="synSpecial">,</span> <span class="synConstant">100</span><span class="synSpecial">,</span> col <span class="synStatement">=</span> <span class="synConstant">'red'</span><span class="synSpecial">,</span> lty <span class="synStatement">=</span> <span class="synConstant">3</span><span class="synSpecial">,</span> lwd <span class="synStatement">=</span> <span class="synConstant">5</span><span class="synSpecial">)</span> pvs2 <span class="synStatement">&lt;-</span> <span class="synIdentifier">c</span><span class="synSpecial">()</span> <span class="synStatement">for</span> <span class="synSpecial">(</span>i <span class="synStatement">in</span> <span class="synConstant">1</span><span class="synSpecial">:</span><span class="synConstant">1000</span><span class="synSpecial">){</span> x21 <span class="synStatement">&lt;-</span> <span class="synIdentifier">rnorm</span><span class="synSpecial">(</span><span class="synIdentifier">round</span><span class="synSpecial">(</span><span class="synIdentifier">runif</span><span class="synSpecial">(</span><span class="synConstant">1</span><span class="synSpecial">,</span> <span class="synConstant">6</span><span class="synSpecial">,</span> <span class="synConstant">200</span><span class="synSpecial">)),</span> <span class="synConstant">0</span><span class="synSpecial">,</span> <span class="synConstant">1</span><span class="synSpecial">)</span> x22 <span class="synStatement">&lt;-</span> <span class="synIdentifier">rnorm</span><span class="synSpecial">(</span><span class="synIdentifier">round</span><span class="synSpecial">(</span><span class="synIdentifier">runif</span><span class="synSpecial">(</span><span class="synConstant">1</span><span class="synSpecial">,</span> <span class="synConstant">6</span><span class="synSpecial">,</span> <span class="synConstant">200</span><span class="synSpecial">)),</span> <span class="synConstant">0</span><span class="synSpecial">,</span> <span class="synConstant">1</span><span class="synSpecial">)</span> res <span class="synStatement">&lt;-</span> <span class="synIdentifier">t.test</span><span class="synSpecial">(</span>x21<span class="synSpecial">,</span> x22<span class="synSpecial">)</span> pvs2 <span class="synStatement">&lt;-</span> <span class="synIdentifier">c</span><span class="synSpecial">(</span>pvs2<span class="synSpecial">,</span> res<span class="synSpecial">$</span>p.value<span class="synSpecial">)</span> <span class="synSpecial">}</span> <span class="synIdentifier">hist</span><span class="synSpecial">(</span>pvs2<span class="synSpecial">,</span> breaks <span class="synStatement">=</span> <span class="synConstant">20</span><span class="synSpecial">)</span> <span class="synIdentifier">segments</span><span class="synSpecial">(</span><span class="synConstant">0.05</span><span class="synSpecial">,</span> <span class="synConstant">0</span><span class="synSpecial">,</span> <span class="synConstant">0.05</span><span class="synSpecial">,</span> <span class="synConstant">100</span><span class="synSpecial">,</span> col <span class="synStatement">=</span> <span class="synConstant">'red'</span><span class="synSpecial">,</span> lty <span class="synStatement">=</span> <span class="synConstant">3</span><span class="synSpecial">,</span> lwd <span class="synStatement">=</span> <span class="synConstant">5</span><span class="synSpecial">)</span> <span class="synIdentifier">length</span><span class="synSpecial">(</span><span class="synIdentifier">which</span><span class="synSpecial">(</span>pvs1 <span class="synStatement">&lt;</span> <span class="synConstant">0.05</span><span class="synSpecial">))</span> <span class="synComment">#R [1] 56</span> <span class="synIdentifier">length</span><span class="synSpecial">(</span><span class="synIdentifier">which</span><span class="synSpecial">(</span>pvs2 <span class="synStatement">&lt;</span> <span class="synConstant">0.05</span><span class="synSpecial">))</span> <span class="synComment">#R [1] 46</span> </pre><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20240318/20240318154829.png" width="1200" height="787" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>多少ズレはありますが、どちらであっても<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%B6%CD%DB%C0%AD">偽陽性</a>が5%程度生じているのが分かるかと思います。実デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>でも同じような<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%B6%CD%DB%C0%AD">偽陽性</a>のシミュレーションが出来たら面白かったんですが、そもそも「真の結果」が分からないケースが多いのでちょっと無理かなぁと。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="多重比較補正のやり方について">多重比較補正のやり方について</h3> <p><br /> では、多重比較が起きているとなったらどのように補正すれば良いのでしょうか? この点については、このブログでは6年前に論じたことがあります。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2018%2F06%2F12%2F093633" title="多重比較補正のはなし - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>最も単純なのはBonferroni補正で、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CD%AD%B0%D5%BF%E5%BD%E0">有意水準</a>を多重比較の件数で除する、ただそれだけです。上記のRコードの例で言えば、0.05を1000で割るだけです。実際にやってみると分かりますが、</p> <pre class="code lang-r" data-lang="r" data-unlink><span class="synIdentifier">length</span><span class="synSpecial">(</span><span class="synIdentifier">which</span><span class="synSpecial">(</span>pvs1 <span class="synStatement">&lt;</span> <span class="synConstant">0.05</span> <span class="synStatement">/</span> <span class="synConstant">1000</span><span class="synSpecial">))</span> <span class="synComment">#R [1] 0</span> <span class="synIdentifier">length</span><span class="synSpecial">(</span><span class="synIdentifier">which</span><span class="synSpecial">(</span>pvs2 <span class="synStatement">&lt;</span> <span class="synConstant">0.05</span> <span class="synStatement">/</span> <span class="synConstant">1000</span><span class="synSpecial">))</span> <span class="synComment">#R [1] 0</span> </pre><p>というように、サンプルサイズを固定した場合でも変動させた場合でも、有意になる検定はどちらも0件になりました。6年前の記事では他の多重比較補正手法も幾つか紹介していますので、興味がおありの方はそちらもご参照下されば幸いです。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20240318/20240318174333.png" width="1200" height="845" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>なお余談ですが、僕が機能的<a class="keyword" href="https://d.hatena.ne.jp/keyword/MRI">MRI</a>を使ってヒト<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C7%A7%C3%CE%BF%C0%B7%D0%B2%CA%B3%D8">認知神経科学</a>分野の研究をしていた時は、条件間比較で賦活している脳部位を検出する分析では「脳の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B3%A5%C7%F2%BC%C1">灰白質</a>をカバーするvoxel(立体画素)およそ3万個ひとつひとつに対する多重比較」とみなして、voxel数で0.05を除するBonferroni補正などを行っていました<a href="#f-e2ef3863" id="fn-e2ef3863" name="fn-e2ef3863" title="Bonferroni補正ではない多重比較補正の実装にはかつては非常に深刻な実装上のエラーがあった [https://www.pnas.org/doi/full/10.1073/pnas.1602413113:title]">*3</a>。</p><br /> <p>まぁ、どちらかというとヒト<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C7%A7%C3%CE%BF%C0%B7%D0%B2%CA%B3%D8">認知神経科学</a>分野の問題は脳機能画像データそのものの多重比較ではなく、サンプルの無意識的かつ作為的な選別といったQRPsの蔓延がもたらす再現性の低さ<a href="#f-9b374648" id="fn-9b374648" name="fn-9b374648" title="この辺の話→[https://tjo.hatenablog.com/entry/2022/07/06/170000:title]">*4</a>の方にあるわけですががが(それ以上はいけない)。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="コメントなど">コメントなど</h3> <p><br /> ということで「何であれ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A2%CC%B5%B2%BE%C0%E2">帰無仮説</a>有意差検定を一箇所に沢山集めたらそれは多重比較になり得る」ということを再確認したんですが、では単一の研究・調査・検証の中でどこで(どの単位で)多重比較補正をやるべきか?というとちょっとピンと来ないんですよね。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2023%2F04%2F26%2F191100" title="マーケティングデータ分析で成果を挙げるには「統計分析(MMMなど)+A/Bテスト」のコンビネーションが有用 - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>例えば、以前の記事で書いたような<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>モデル+実験というようなケースでは、最低でも2回<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CD%AD%B0%D5%BF%E5%BD%E0">有意水準</a>もしくは信頼<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a><a href="#f-13d8f527" id="fn-13d8f527" name="fn-13d8f527" title="ベイズ信用区間のこともある">*5</a>が関わる比較をすることになるわけで、こういうケースでも多重比較補正が必要なのかなぁとか考えているところです。多分、後段の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>実験のところは2回3回と繰り返したら多重比較補正が必要になるのだろうと思うのですが……とりあえず継続審議ということで。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-e88f0107" id="f-e88f0107" name="f-e88f0107" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">最近復活させました</span></p> <p class="footnote"><a href="#fn-245b9dcf" id="f-245b9dcf" name="f-245b9dcf" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">この辺をご参照ください→<a href="https://tjo.hatenablog.com/entry/2021/07/16/190000">95%&#x4FE1;&#x983C;&#x533A;&#x9593;&#x306E;&#x300C;95%&#x300D;&#x306E;&#x610F;&#x5473; - &#x6E0B;&#x8C37;&#x99C5;&#x524D;&#x3067;&#x50CD;&#x304F;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x306E;&#x30D6;&#x30ED;&#x30B0;</a></span></p> <p class="footnote"><a href="#fn-e2ef3863" id="f-e2ef3863" name="f-e2ef3863" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">Bonferroni補正ではない多重比較補正の実装にはかつては非常に深刻な実装上のエラーがあった <a href="https://www.pnas.org/doi/full/10.1073/pnas.1602413113">https://www.pnas.org/doi/full/10.1073/pnas.1602413113</a></span></p> <p class="footnote"><a href="#fn-9b374648" id="f-9b374648" name="f-9b374648" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">この辺の話→<a href="https://tjo.hatenablog.com/entry/2022/07/06/170000">&#x518D;&#x73FE;&#x6027;&#x554F;&#x984C;&#x306E;&#x306F;&#x306A;&#x3057; - &#x6E0B;&#x8C37;&#x99C5;&#x524D;&#x3067;&#x50CD;&#x304F;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x306E;&#x30D6;&#x30ED;&#x30B0;</a></span></p> <p class="footnote"><a href="#fn-13d8f527" id="f-13d8f527" name="f-13d8f527" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>信用<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>のこともある</span></p> </div> TJO ビジネスの実務で「因果」を推測するということ hatenablog://entry/6801883189085461553 2024-02-28T17:48:11+09:00 2024-02-28T17:48:11+09:00 統計的因果推論と言えばすっかり統計学分野ではお馴染みのアプローチになった感があり、また機械学習分野でも扱うテーマが複雑化するにつれて注目が高まり続けているトピックスという印象があります。 このブログでも2016年ぐらいから因果推論に関する記事をちらほら書くようになり、僕個人にとってもまた因果推論と言えば馴染み深い概念になってきたという感があります。 一方で、ビジネス実務の現場においても「因果推論」という言葉は使われないにせよ、かなりはっきりと「因果」についての知見もしくは説明可能性が求められるようになってきた、という印象が個人的にはあります。それは良くも悪くもDXブームでありとあらゆるビジネス… <p>統計的因果推論と言えばすっかり<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>分野ではお馴染みのアプローチになった感があり、また<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野でも扱うテーマが複雑化するにつれて注目が高まり続けているトピックスという印象があります。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Farchive%2Fcategory%2F%25E7%25B5%25B1%25E8%25A8%2588%25E7%259A%2584%25E5%259B%25A0%25E6%259E%259C%25E6%258E%25A8%25E8%25AB%2596" title="統計的因果推論 カテゴリーの記事一覧 - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>このブログでも2016年ぐらいから因果推論に関する記事をちらほら書くようになり、僕個人にとってもまた因果推論と言えば馴染み深い概念になってきたという感があります。</p><br /> <p>一方で、ビジネス実務の現場においても「因果推論」という言葉は使われないにせよ、かなりはっきりと「因果」についての知見もしくは説明可能性が求められるようになってきた、という印象が個人的にはあります。それは良くも悪くもDXブームでありとあらゆるビジネスに関わる事由がデータ化され、「相関」だけなら簡単に見つけられるようになったことで、相関だけからは見えてこない「因果」をはっきりさせたいという願望が浮かび上がってきた、ということなのかもしれません。</p><br /> <p>そこで、今回の記事では近年のビジネスシーンにおいてどのような課題に対して「因果」を推測することが求められ、またどうしたらその「因果」を明らかに出来るか、というパターンを僕の見聞の範囲における知見に基づいて例示してみようと思います。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#実験的マーケティング介入施策によってKPIが増大するかどうか知りたい">実験的マーケティング介入施策によって、KPIが増大するかどうか知りたい</a></li> <li><a href="#個別にマーケティング施策を行ったら行わなかった時よりも売上高が伸びるのかを観察データから知りたい">個別にマーケティング施策を行ったら、行わなかった時よりも売上高が伸びるのかを観察データから知りたい</a></li> <li><a href="#あるKPI候補の指標が実際にKGIに対して因果的影響があるのか知りたい">あるKPI候補の指標が、実際にKGIに対して因果的影響があるのか知りたい</a></li> <li><a href="#コメントなど">コメントなど</a></li> </ul> <div class="section"> <h3 id="実験的マーケティング介入施策によってKPIが増大するかどうか知りたい">実験的<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>介入施策によって、KPIが増大するかどうか知りたい</h3> <p><br /> これは一般的にはRCT(ランダムか比較対照試験)が求められるシチュエーションですが、ビジネス実務でRCTというのは環境面で結構難しいものがあると思われます。特にwebデータだとユーザーレベルデータを1st partyとして取れるケース以外では、3rd party <a class="keyword" href="https://d.hatena.ne.jp/keyword/cookie">cookie</a>廃止の趨勢が強まり続ける昨今ではほぼ不可能なのではないでしょうか。</p><br /> <p>加えて、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>データに良くある問題として系列相関、特に季節調整(seasonality)の問題があります。例えば、何かのキャンペーンに販促効果があったかどうかを知りたい時に、漫然と「キャンペーンを打つ前の11月と打った後の12月とで比べる」というpre/postタイプのA/Bテストをやっても意味がないわけです。理由は簡単で、12月は歳末商戦の時期で何もしなくても売り上げが伸びることが明白だからです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2016%2F08%2F02%2F190000" title="統計的因果推論(1): 差分の差分法(Difference-in-Differences)をRで回してみる - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>そういったseasonalityによるバイアスを調整しながらA/Bテストを行う方法として、差分の差分法(DID: Difference in Differences)があります。このやり方であれば、seasonalityがある場合でもキャンペーンによる介入に効果があったかどうかを検証することが出来ます。手前味噌ですが、このDID実験データの分析にCausalImpactを用いるとより情報量の多い効果検証になります。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F03%2F16%2F170000" title="蔓延防止等重点措置(まん防)の効果検証を「あえて」DID+TSclustによる時系列クラスタリング+CausalImpactでやってみた - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>実際にはきちんとした実験計画が組まれたケースではありませんが、あるオープンデータに対して仮に「地域ごとに異なる介入が行われた」地域テストの結果であると想定して、その介入効果をDIDの枠組みとして捉えてCausalImpactで分析した結果を以前まとめたことがあります。実はこれと全く同じプロセスの効果検証方式を僕の現在のチームでは常套的に実施しており、こちらの記事をお読みになればその雰囲気をご理解いただけるかなと思います。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="個別にマーケティング施策を行ったら行わなかった時よりも売上高が伸びるのかを観察データから知りたい">個別に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策を行ったら、行わなかった時よりも売上高が伸びるのかを観察データから知りたい</h3> <p><br /> 例えば、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B3%B0%BB%F1">外資</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/SaaS">SaaS</a>辺り<a href="#f-81c7c086" id="fn-81c7c086" name="fn-81c7c086" title="良い例が思いつかなかっただけで具体的な実例を書いているわけではありません">*1</a>で「各法人顧客向けにライセンス更新&拡大の販促営業をしているが、プリセールスによる個社販促イベントを行うと契約額のYoY(昨対比)が伸びるかどうかが知りたい」という課題があるとしましょう。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20240228/20240228165406.png" width="1200" height="735" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>得られたデータがこんな感じだった場合、すんなり「プリセールスの個社販促イベントがあればYoYが伸びます!」と無邪気に上層部に報告して良いかというと、そうはいかない可能性が高いです。何故なら「個社販促をやったからYoYが伸びた」ケースと「YoYが伸びそうな顧客だから個社販促をやった」ケースとの区別がつけられないからです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2016%2F08%2F29%2F190000" title="統計的因果推論(2): 傾向スコア(Propensity Score)の初歩をRで実践してみる - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>このような場合、理想的には傾向スコアを使って「個社販促イベントのありorなし」の割り付けによるバイアスを補正した上で、改めて二者のYoYを比較するというのがベストだと思われます。ただ、営業<a class="keyword" href="https://d.hatena.ne.jp/keyword/CRM">CRM</a>データでそこまでバッチリ傾向スコアを算出できるほどの共変量が手に入るケースは稀だと思われるので、現実的には担当営業にアンケートを取って「事前にYoYが伸びそうだと判断されたorされなかった」などのインデックスを得た上で、それらでグループ分けして層別解析するのが妥当なラインかなと。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="あるKPI候補の指標が実際にKGIに対して因果的影響があるのか知りたい">あるKPI候補の指標が、実際にKGIに対して因果的影響があるのか知りたい</h3> <p><br /> ビジネス実務で割とあるあるなのが「そもそもKPIを何にしたら良いか」という課題なんですが、これには「そのKPIを追えばKGIが上がるか下がるかが分かる」必要があるという制約がかかるので、意外と答えを出すのが難しい代物だったりします。</p><br /> <p>例えば、何かしらのapp/webで契約可能なちょっと大掛かりなサービスがあったとしましょう。この新規契約数をKGIとした場合、これに先行するKPIの候補として「<a class="keyword" href="https://d.hatena.ne.jp/keyword/SNS">SNS</a>での自社サービスの言及数」なるものが挙がった場合、採用するか否かをどう判断すれば良いでしょうか? イメージとしては以下のような感じです。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20240228/20240228173025.png" width="720" height="540" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>勿論、周辺データに共変量が沢山あれば、適当にDAGを書いてその因果関係に関する仮説を立てて、これを検証することでKPIとしての妥当性を示せるかもしれません。けれども、この手の「とりあえずマーケットの中にふんわりと存在する」系の指標に対して、そのようなきちんとした因果推論を行うのは結構難しい印象があります。</p><br /> <p>そこで、一つの考え方として「時系列的な因果性」をふわっとした代用品として用いるという方法もあり得ると思っています。勘の良い方はもしかしたらピンと来たかもしれませんが、例のアレです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2013%2F07%2F30%2F191853" title="Rで計量時系列分析:VARモデルから個々の時系列データ間の因果関係を推定する - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>そう、VARモデルです。これでKGIとKPI候補との関係性を<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>し、その上で「時系列的な因果性」の有無が分かれば、厳密な因果までは分かりませんが「KGIが増えればKPIも増える」ぐらいのことは言えるはずです。なお、ここで言う「時系列的な因果性」とはGranger因果の喩えで言うところの「稲光が見えたら雷鳴が轟く」ぐらいのものです。即ち実際の因果は「落雷→雷鳴」だが、時系列的には「(落雷→)稲光→雷鳴」が成立するので代用品になり得る、という。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20240228/20240228173547.png" width="720" height="540" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ちなみに上掲のKGI / KPIのデータにVARモデルを当てはめ、インパルス応答を推定した結果が上図です。2-8日のタイムラグを置いて、KPIが変動すればKGIも同じように変動する、即ち「KPI→KGIなる時系列的な因果性がある」ということが推測できる、というわけです。このように、厳密な意味での統計的因果推論ではなくても、シチュエーション次第では役立つもっと平易な分析手法がある、ということはもっと広く知られても良いように思います。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="コメントなど">コメントなど</h3> <p><br /> 以前どこかで<strong>「『これって難しいですよね……?』と恐る恐る持ってこられる分析課題ほど簡単で、逆に『これって簡単ですよね!』と無邪気に持ち込まれる分析課題ほど難しい」</strong>というようなことを吹聴した記憶がありますが、この手の「ビジネス実務のデータから『因果』を推測する」というのは典型的な後者の課題であるように常々思っています。</p><br /> <p>なればこそ、分析者としてはどんな課題にも対応できるように幅広い分析手法を身につけておくことが望ましいと考えていますが、NNであったり生成AIであったりの進歩と普及が急速過ぎるが故に、そういう考え方はもはや過去の遺物とみなされて見向きもされなくなったような気がしています。</p><br /> <p>けれども、少なくとも僕個人が日々直面する課題の中にそういう「最近の定番アプローチでは必ずしも満足に解決できない」代物が混じり続けるうちは口喧しくこういう問題提起をし続けていかなければならないと思いますし、特に「因果」のようなともすれば分析の「外側」にある枠組みからアプローチしていかなければならないテーマについては尚更と考える次第です。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-81c7c086" id="f-81c7c086" name="f-81c7c086" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">良い例が思いつかなかっただけで具体的な実例を書いているわけではありません</span></p> </div> TJO 2024年版:独断と偏見で選ぶ、データ分析職の方々にお薦めしたいホットトピックス&定番の書籍リスト hatenablog://entry/6801883189081046120 2024-02-23T18:46:19+09:00 2024-02-23T18:49:17+09:00 毎年四の五の言いながら書いている推薦書籍リスト記事ですが、何だかんだで今年も書くことにしました。なお昨年度版の記事を上にリンクしておきましたので、以前のバージョンを読まれたい方はそちらをお読みください。 今回のバージョンでは、趣向をちょっと変えて「定番」と「注目分野」というように分けました。何故こうしたかというと、平たく言って 「初級&中級向け」推薦書籍リストは定番化していて毎年あまり変更点がない 逆に直近のホットトピックスに関するテキストは毎年入れ替わりが激し過ぎて網羅しづらい という課題があり、特に2点目についてはあまりにもデータサイエンス関連書籍の新規刊行が多過ぎる&僕自身がその流れにつ… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20240206/20240206163038.png" width="512" height="512" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2023%2F02%2F07%2F170000" title="2023年版:実務データ分析を手掛けるデータサイエンティスト向け推薦書籍リスト(初級6冊+中級8冊+テーマ別15冊) - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>毎年四の五の言いながら書いている推薦書籍リスト記事ですが、何だかんだで今年も書くことにしました。なお昨年度版の記事を上にリンクしておきましたので、以前のバージョンを読まれたい方はそちらをお読みください。</p><br /> <p>今回のバージョンでは、趣向をちょっと変えて「定番」と「注目分野」というように分けました。何故こうしたかというと、平たく言って</p> <ul> <li><strong>「初級&中級向け」推薦書籍リストは定番化していて毎年あまり変更点がない</strong></li> <li><strong>逆に直近のホットトピックスに関するテキストは毎年入れ替わりが激し過ぎて網羅しづらい</strong></li> </ul><p>という課題があり、特に2点目についてはあまりにもデータサイエンス関連書籍の新規刊行が多過ぎる&僕自身がその流れについていけておらず完全に浦島太郎状態ですので、万人向けに等しくウケるようなリストを作るのは今回をもって完全に諦めたというのが実態です。</p><br /> <p>その上で、前回まで踏襲されていた定番書籍リストはバルクで提示すると同時に、あくまでも僕の独断と偏見で直近1年間のホットトピックスに沿った知識・見識を提供してくれるであろう注目書籍をピックアップしたリストを提示する、というスタイルを取ることとしました。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#ホットトピックス">ホットトピックス</a><ul> <li><a href="#生成AI">生成AI</a></li> <li><a href="#生成AI活用法">生成AI活用法</a></li> <li><a href="#ベイズ統計学">ベイズ統計学</a></li> <li><a href="#ベイズ最適化">ベイズ最適化</a></li> </ul> </li> <li><a href="#定番">定番</a><ul> <li><a href="#初級向け">初級向け</a><ul> <li><a href="#実務総論">実務総論</a></li> <li><a href="#データサイエンス総論">データサイエンス総論</a></li> <li><a href="#RPythonによるデータ分析プログラミング">R・Pythonによるデータ分析プログラミング</a></li> <li><a href="#統計学">統計学</a></li> <li><a href="#機械学習">機械学習</a></li> </ul> </li> <li><a href="#中級向け">中級向け</a><ul> <li><a href="#統計学-1">統計学</a></li> <li><a href="#機械学習-1">機械学習</a></li> </ul> </li> <li><a href="#テーマ別">テーマ別</a><ul> <li><a href="#回帰モデル">回帰モデル</a></li> <li><a href="#PRML">PRML</a></li> <li><a href="#機械学習の実践">機械学習の実践</a></li> <li><a href="#Deep-Learning--NN">Deep Learning / NN</a></li> <li><a href="#統計的因果推論">統計的因果推論</a></li> <li><a href="#ベイズ統計学-1">ベイズ統計学</a></li> <li><a href="#時系列分析">時系列分析</a></li> <li><a href="#グラフネットワーク分析">グラフ・ネットワーク分析</a></li> <li><a href="#データ基盤">データ基盤</a></li> </ul> </li> </ul> </li> <li><a href="#コメントなど">コメントなど</a></li> </ul> <div class="section"> <h3 id="ホットトピックス">ホットトピックス</h3> <p><br /> 今現在のホットトピックスと言えば、筆頭に挙がるのは間違いなく生成AIであろうと思われます。ということで、生成AI分野を中心に独断と偏見で僕が選んだ注目書籍をリストアップしておきます。<br /> <br /> </p> <div class="section"> <h4 id="生成AI">生成AI</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/B0BBT6KXZN?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41eSGWHm1vL._SL500_.jpg" class="hatena-asin-detail-image" alt="IT Text 自然言語処理の基礎" title="IT Text 自然言語処理の基礎"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/B0BBT6KXZN?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">IT Text 自然言語処理の基礎</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%B2%AC%3F%C4%BE%B4%D1" class="keyword">岡﨑直観</a>,<a href="https://d.hatena.ne.jp/keyword/%B9%D3%C0%A5%CD%B3%B5%AA" class="keyword">荒瀬由紀</a>,<a href="https://d.hatena.ne.jp/keyword/%CE%EB%CC%DA%BD%E1" class="keyword">鈴木潤</a>,<a href="https://d.hatena.ne.jp/keyword/%C4%E1%B2%AC%B7%C4%B2%ED" class="keyword">鶴岡慶雅</a>,<a href="https://d.hatena.ne.jp/keyword/%B5%DC%C8%F8%CD%B4%B2%F0" class="keyword">宮尾祐介</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AA%A1%BC%A5%E0%BC%D2">オーム社</a></li></ul><a href="https://www.amazon.co.jp/dp/B0BBT6KXZN?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/B09FPBQM9C?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41DhqziEqlL._SL500_.jpg" class="hatena-asin-detail-image" alt="深層学習の原理に迫る 数学の挑戦 (岩波科学ライブラリー)" title="深層学習の原理に迫る 数学の挑戦 (岩波科学ライブラリー)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/B09FPBQM9C?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">深層学習の原理に迫る 数学の挑戦 (岩波科学ライブラリー)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%BA%A3%C0%F4%20%B0%F4%C1%EF" class="keyword">今泉 允聡</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B4%E4%C7%C8%BD%F1%C5%B9">岩波書店</a></li></ul><a href="https://www.amazon.co.jp/dp/B09FPBQM9C?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>まずLLMを理解するための書籍として、<a href="https://tjo.hatenablog.com/entry/2023/07/02/113000">&#x6628;&#x5E74;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;&#x3067;&#x3082;&#x5927;&#x7D76;&#x8CDB;&#x3057;&#x305F;</a>こちらの2冊をお薦めしておきます。『IT Test<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>の基礎』はLLM以前・以後双方における<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>体系の全てを概観できる素晴らしい解説書で、今後も末長く必携に値すると思われます。『深層学習の原理に迫る』は技術書ではなく一般書の体裁ですが、LLMの挙動について必ず話題になるhallucinationやgrokkingのメ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AB%A5%CB">カニ</a>ズムについて考察・解説しており、理解の一助になります。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/B0C9P7K6VH?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51c9D76gAJL._SL500_.jpg" class="hatena-asin-detail-image" alt="大規模言語モデル入門" title="大規模言語モデル入門"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/B0C9P7K6VH?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">大規模言語モデル入門</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%BB%B3%C5%C4%20%B0%E9%CC%F0" class="keyword">山田 育矢</a>,<a href="https://d.hatena.ne.jp/keyword/%CE%EB%CC%DA%20%C0%B5%C9%D2" class="keyword">鈴木 正敏</a>,<a href="https://d.hatena.ne.jp/keyword/%BB%B3%C5%C4%20%B9%AF%CA%E5" class="keyword">山田 康輔</a>,<a href="https://d.hatena.ne.jp/keyword/%CD%FB%20%CE%BF%B4%A8" class="keyword">李 凌寒</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/B0C9P7K6VH?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>一方で、LLMの実装そのものやLLMに固有の事由に関心がある方にはこちらの一冊がお薦めです。基盤モデルとしてのTransformerの解説から入り、LLMへの発展、人間のフィードバックによる<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%AF%B2%BD%B3%D8%BD%AC">強化学習</a>(RLHF)やファインチューニングといったトピックスや、その周辺の関連トピックスを幅広く取り上げています。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/B0BWRXFBQ2?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41gRCsQnZuL._SL500_.jpg" class="hatena-asin-detail-image" alt="拡散モデル データ生成技術の数理" title="拡散モデル データ生成技術の数理"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/B0BWRXFBQ2?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">拡散モデル データ生成技術の数理</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%B2%AC%CC%EE%B8%B6%20%C2%E7%CA%E5" class="keyword">岡野原 大輔</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B4%E4%C7%C8%BD%F1%C5%B9">岩波書店</a></li></ul><a href="https://www.amazon.co.jp/dp/B0BWRXFBQ2?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>ところで、僕個人の関心という点において画像生成AIにはかなり疎いという側面が強く、その方面の勉強のために手に取ったのがこちらの一冊です。ゴリゴリの理論面の解説書なので読む人にとっては取っ付きにくいかもしれませんが、Stable Diffusionなどの拡散モデルが内部的にどのように振る舞っているかを知る上で参考になると思います。<br /> <br /> </p> </div> <div class="section"> <h4 id="生成AI活用法">生成AI活用法</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/B0CVL7DSBQ?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51X40w6B8VL._SL500_.jpg" class="hatena-asin-detail-image" alt="面倒なことはChatGPTにやらせよう (KS情報科学専門書)" title="面倒なことはChatGPTにやらせよう (KS情報科学専門書)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/B0CVL7DSBQ?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">面倒なことはChatGPTにやらせよう (KS情報科学専門書)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%A5%AB%A5%EC%A1%BC%A4%C1%A4%E3%A4%F3" class="keyword">カレーちゃん</a>,<a href="https://d.hatena.ne.jp/keyword/%A4%AB%A4%E9%A4%A2%A4%B2" class="keyword">からあげ</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li></ul><a href="https://www.amazon.co.jp/dp/B0CVL7DSBQ?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>生成AIというかChatGPTの活用法に関する書籍は、昨年春以降文字通り掃いて捨てるほど出版されていますが、その中でも僕が選んだのはこちらの一冊です。理由は簡単で、著者お二人が僕も良く存じ上げている<a href="#f-0628e855" id="fn-0628e855" name="fn-0628e855" title="ただしX (Twitter)上で">*1</a>データサイエンス業界屈指の実力者の方々で、そんなお二人が書かれる一冊なら間違いなかろうと思ったからです(笑)。内容としては巷で良く喧伝されるChatGPT活用法に留まらず、ChatGPTにmatplotlibなど任意のパッケージを使わせてデータを可視化するといった、いかにもデータサイエンティストっぽい活用法も多数紹介されており、他書とは一線を画す生成AI活用指南書と言って良いかと思います。<br /> <br /> </p> </div> <div class="section"> <h4 id="ベイズ統計学"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a></h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4254122675?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/31RjZneic7L._SL500_.jpg" class="hatena-asin-detail-image" alt="標準 ベイズ統計学" title="標準 ベイズ統計学"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4254122675?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">標準 ベイズ統計学</a></p><ul class="hatena-asin-detail-meta"><li>朝倉書店</li></ul><a href="https://www.amazon.co.jp/dp/4254122675?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>定番リストの方に回しても良かったんですが、つい最近訳者の菅澤さんにお招きいただいてシンポジウムでお話したというご縁もありますので(笑)<a href="#f-9f8ac4b7" id="fn-9f8ac4b7" name="fn-9f8ac4b7" title="ちなみに別の訳者の入江さんにもその際にご挨拶申し上げました">*2</a>、今一度改めてホットトピックス側で紹介させていただきます。<a href="https://tjo.hatenablog.com/entry/2022/11/21/170000">&#x4EE5;&#x524D;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;</a>でも大絶賛した『標準<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>』です。「最初の基本のきから<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>的に考える」ことを重視したガチ正統派の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>テキストで、「信念」としての確率の扱い方、事前分布・尤度・事後分布の考え方、そしてギブス<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a>・ヘイスティング<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>による<a class="keyword" href="https://d.hatena.ne.jp/keyword/MCMC">MCMC</a>を用いた事後分布のサンプリングといった、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の根幹をなす諸事項をRコードを付して懇切丁寧に解説しています。<br /> <br /> </p> </div> <div class="section"> <h4 id="ベイズ最適化"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>最適化</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/B0CGCLX75V?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41coNEQPq2L._SL500_.jpg" class="hatena-asin-detail-image" alt="ベイズ最適化 適応的実験計画の基礎と実践" title="ベイズ最適化 適応的実験計画の基礎と実践"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/B0CGCLX75V?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">ベイズ最適化 適応的実験計画の基礎と実践</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%BA%A3%C2%BC%20%BD%A8%CC%C0" class="keyword">今村 秀明</a>,<a href="https://d.hatena.ne.jp/keyword/%BE%BE%B0%E6%20%B9%A7%C2%C0" class="keyword">松井 孝太</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E1%C2%E5%B2%CA%B3%D8%BC%D2">近代科学社</a></li></ul><a href="https://www.amazon.co.jp/dp/B0CGCLX75V?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>最適化と言えば<a href="https://tjo.hatenablog.com/entry/2016/08/17/190000">&#x4EE5;&#x524D;&#x3053;&#x306E;&#x30D6;&#x30ED;&#x30B0;&#x3067;&#x3082;&#x6A5F;&#x68B0;&#x5B66;&#x7FD2;&#x30E2;&#x30C7;&#x30EB;&#x306E;&#x30CF;&#x30A4;&#x30D1;&#x30FC;&#x30D1;&#x30E9;&#x30E1;&#x30FC;&#x30BF;&#x30C1;&#x30E5;&#x30FC;&#x30CB;&#x30F3;&#x30B0;&#x65B9;&#x6CD5;&#x306E;&#x4E00;&#x3064;&#x3068;&#x3057;&#x3066;&#x7D39;&#x4ECB;&#x3057;&#x305F;&#x3053;&#x3068;&#x304C;&#x3042;&#x308A;&#x307E;&#x3059;</a>が、本来は適応的実験計画法における代表的なアプローチの一つとされます。その全体像を体系立てて解説するのが本書であり、その<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>からOptunaによる実装、さらには多目的・並列最適化といった発展的内容にまで踏み込んで解説しています。<br /> <br /> <br /> </p> </div> </div> <div class="section"> <h3 id="定番">定番</h3> <p><br /> ここからは定番書籍リストです。例年通りのカテゴリもあれば、微妙に入れ替えたり削除したりしているカテゴリもあったりしますが、概ね前年踏襲だと思ってください。<br /> <br /> </p> <div class="section"> <h4 id="初級向け">初級向け</h4> <div class="section"> <h5 id="実務総論">実務総論</h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/B08P988YXB?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51cUi7d-CZL._SL500_.jpg" class="hatena-asin-detail-image" alt="AI・データ分析プロジェクトのすべて[ビジネス力×技術力=価値創出]" title="AI・データ分析プロジェクトのすべて[ビジネス力×技術力=価値創出]"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/B08P988YXB?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">AI・データ分析プロジェクトのすべて[ビジネス力×技術力=価値創出]</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%C2%E7%BE%EB%20%BF%AE%B9%B8" class="keyword">大城 信晃</a>,<a href="https://d.hatena.ne.jp/keyword/%A5%DE%A5%B9%A5%AF%A5%C9%A1%A6%A5%A2%A5%CA%A5%E9%A5%A4%A5%BA" class="keyword">マスクド・アナライズ</a>,<a href="https://d.hatena.ne.jp/keyword/%B0%CB%C6%A3%20%C5%B0%CF%BA" class="keyword">伊藤 徹郎</a>,<a href="https://d.hatena.ne.jp/keyword/%BE%AE%C0%BE%20%C5%AF%CA%BF" class="keyword">小西 哲平</a>,<a href="https://d.hatena.ne.jp/keyword/%C0%BE%B8%B6%20%C0%AE%B5%B1" class="keyword">西原 成輝</a>,<a href="https://d.hatena.ne.jp/keyword/%CC%FD%B0%E6%20%BB%D6%CF%BA" class="keyword">油井 志郎</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/B08P988YXB?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p><a href="https://tjo.hatenablog.com/entry/2020/12/22/180000">&#x4EE5;&#x524D;&#x66F8;&#x8A55;&#x3057;&#x305F;&#x300E;AI&#x30FB;&#x30C7;&#x30FC;&#x30BF;&#x5206;&#x6790;&#x30D7;&#x30ED;&#x30B8;&#x30A7;&#x30AF;&#x30C8;&#x306E;&#x3059;&#x3079;&#x3066;&#x300F;</a>で「実務データ分析向けの総論」書籍としてお薦めする次第です。まさしく「駆け出しからベテランまで『必携の仕事術大全』」という内容であり、「一般にデータ分析職はどう仕事するべきか」論が網羅的に解説されている良書と言って良いでしょう。<br /> <br /> </p> </div> <div class="section"> <h5 id="データサイエンス総論">データサイエンス総論</h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4641166110?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51yh5X71tML._SL500_.jpg" class="hatena-asin-detail-image" alt="データサイエンス入門:データ取得・可視化・分析の全体像がわかる (単行本)" title="データサイエンス入門:データ取得・可視化・分析の全体像がわかる (単行本)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4641166110?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">データサイエンス入門:データ取得・可視化・分析の全体像がわかる (単行本)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%BE%E5%C5%C4%20%B2%ED%C9%D7" class="keyword">上田 雅夫</a>,<a href="https://d.hatena.ne.jp/keyword/%B8%E5%C6%A3%20%C0%B5%B9%AC" class="keyword">後藤 正幸</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%CD%AD%C8%E5%B3%D5">有斐閣</a></li></ul><a href="https://www.amazon.co.jp/dp/4641166110?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p><a href="https://tjo.hatenablog.com/entry/2022/07/29/173000">&#x4EE5;&#x524D;&#x306E;&#x8A18;&#x4E8B;</a>で大絶賛した『<a href="https://www.amazon.co.jp/dp/B0B75ZXJM7?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1">マーケティング・エンジニアリング入門 (有斐閣アルマ)</a>』の著者のお一人、上田先生の『データサイエンス入門』を今年も推させていただきます。事実上「データ分析業界で用いられる分析手法全て(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>・データ基盤技術)」を概観できる素晴らしい入門書です。初学者はまずこちらの書籍を目次代わりにして、興味が湧いた分野の書籍・資料を当たっていくと良いと思います。<br /> <br /> </p> </div> <div class="section"> <h5 id="RPythonによるデータ分析プログラミング">R・<a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a>によるデータ分析プログラミング</h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4065132320?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/5177J3OxO6L._SL500_.jpg" class="hatena-asin-detail-image" alt="実践Data Scienceシリーズ ゼロからはじめるデータサイエンス入門 R・Python一挙両得 (KS情報科学専門書)" title="実践Data Scienceシリーズ ゼロからはじめるデータサイエンス入門 R・Python一挙両得 (KS情報科学専門書)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4065132320?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">実践Data Scienceシリーズ ゼロからはじめるデータサイエンス入門 R・Python一挙両得 (KS情報科学専門書)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%C4%D4%20%BF%BF%B8%E3" class="keyword">辻 真吾</a>,<a href="https://d.hatena.ne.jp/keyword/%CC%F0%BF%E1%20%C2%C0%CF%AF" class="keyword">矢吹 太朗</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li></ul><a href="https://www.amazon.co.jp/dp/4065132320?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>引き続きこの位置に据わるのはこちらの一冊です。まさに読んで字の如く、一通りの現代的なデータサイエンスの分析に関わるコードを、全てRと<a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a>で「ほぼ完全に一対一対応」するように書いて解説してくれるという至れり尽くせりぶりで、初心者向けながらNNというか<a class="keyword" href="https://d.hatena.ne.jp/keyword/Deep%20Learning">Deep Learning</a>の組み方まで載っている点もお薦めポイントです。<br /> <br /> </p> </div> <div class="section"> <h5 id="統計学"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a></h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4274067106?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/412G0HB7AnL._SL500_.jpg" class="hatena-asin-detail-image" alt="Rによるやさしい統計学" title="Rによるやさしい統計学"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4274067106?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">Rによるやさしい統計学</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%BB%B3%C5%C4%20%B9%E4%BB%CB" class="keyword">山田 剛史</a>,<a href="https://d.hatena.ne.jp/keyword/%BF%F9%DF%B7%20%C9%F0%BD%D3" class="keyword">杉澤 武俊</a>,<a href="https://d.hatena.ne.jp/keyword/%C2%BC%B0%E6%20%BD%E1%B0%EC%CF%BA" class="keyword">村井 潤一郎</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AA%A1%BC%A5%E0%BC%D2">オーム社</a></li></ul><a href="https://www.amazon.co.jp/dp/4274067106?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>初学者向けの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の教科書の定番です。Rベースでコードを書きながら<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a><a href="#f-9cd1c39c" id="fn-9cd1c39c" name="fn-9cd1c39c" title="ただし頻度論に限る">*3</a>の基本事項の大半を実践的に学べます。ただ、割と大雑把な内容で近年になって指摘されるポイントが増えているように見聞しますので、早晩他書に置き換わるかもしれません。<br /> <br /> </p> </div> <div class="section"> <h5 id="機械学習"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a></h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4797393963?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/514DjOwjLUL._SL500_.jpg" class="hatena-asin-detail-image" alt="機械学習のエッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)" title="機械学習のエッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4797393963?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">機械学習のエッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%B2%C3%C6%A3%20%B8%F8%B0%EC" class="keyword">加藤 公一</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/SB%A5%AF%A5%EA%A5%A8%A5%A4%A5%C6%A5%A3%A5%D6">SBクリエイティブ</a></li></ul><a href="https://www.amazon.co.jp/dp/4797393963?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>お馴染みはむかずさん本です。詳細は<a href="https://tjo.hatenablog.com/entry/2018/11/01/080000">&#x4EE5;&#x524D;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;</a>をお読みください。文字通り、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>を生業にしたいと願う人がゼロから学んでいく上で絶対必須不可欠の知識・教養・技術の全てがこの一冊に収められています。さらに、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>に必要な最低限の数学もこの本で大体のところを学べるので、特に数学的な基礎についても学びたいという人には是非お薦めです。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4798155659?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/5142Bv+F3KL._SL500_.jpg" class="hatena-asin-detail-image" alt="見て試してわかる機械学習アルゴリズムの仕組み機械学習図鑑" title="見て試してわかる機械学習アルゴリズムの仕組み機械学習図鑑"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4798155659?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">見て試してわかる機械学習アルゴリズムの仕組み機械学習図鑑</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%BD%A9%C4%ED%20%BF%AD%CC%E9" class="keyword">秋庭 伸也</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%E6%C6%B1%CB%BC%D2">翔泳社</a></li></ul><a href="https://www.amazon.co.jp/dp/4798155659?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>そして<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の全体像を俯瞰するという意味では、そのはむかずさん監修のこちらの一冊がお薦めです。「図解」である点が素晴らしいといつもながら思います。<br /> <br /> </p> </div> </div> <div class="section"> <h4 id="中級向け">中級向け</h4> <div class="section"> <h5 id="統計学-1"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a></h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4753601234?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41kxwTgmj0L._SL500_.jpg" class="hatena-asin-detail-image" alt="Rで学ぶ確率統計学一変量統計編" title="Rで学ぶ確率統計学一変量統計編"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4753601234?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">Rで学ぶ確率統計学一変量統計編</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%BF%C0%B1%CA%20%C0%B5%C7%EE" class="keyword">神永 正博</a>,<a href="https://d.hatena.ne.jp/keyword/%CC%DA%B2%BC%20%CA%D9" class="keyword">木下 勉</a></li><li>内田老鶴圃</li></ul><a href="https://www.amazon.co.jp/dp/4753601234?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4753601242?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41OlbhxgBNL._SL500_.jpg" class="hatena-asin-detail-image" alt="Rで学ぶ確率統計学 多変量統計編" title="Rで学ぶ確率統計学 多変量統計編"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4753601242?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">Rで学ぶ確率統計学 多変量統計編</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%BF%C0%B1%CA%C0%B5%C7%EE" class="keyword">神永正博</a>,<a href="https://d.hatena.ne.jp/keyword/%CC%DA%B2%BC%20%CA%D9" class="keyword">木下 勉</a></li><li>内田老鶴圃</li></ul><a href="https://www.amazon.co.jp/dp/4753601242?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>お馴染みの神永先生の手による「新・赤本&<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C0%C4%CB%DC">青本</a>』です。「<b>実務家向けであることを考慮すると</b>数理<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>的な基礎知識を重視した<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%EC%C2%E7%BD%D0%C8%C7%B2%F1">東大出版会</a>3冊よりもこちらの2冊の方がRコードによる実践も添えられていて分かりやすい」ことから、今回も定番書籍として挙げています。もう何年も連続で書いていますが、赤・青と続いて是非「緑」(社会科学データ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>)も期待したいと思います<a href="#f-e55bf6b2" id="fn-e55bf6b2" name="fn-e55bf6b2" title="期待の書籍が出るまで著者の方々にプレッシャーをかけていくスタイル">*4</a>。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4065165369?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51hPe3a0cjL._SL500_.jpg" class="hatena-asin-detail-image" alt="実践Data Scienceシリーズ RとStanではじめる ベイズ統計モデリングによるデータ分析入門 (KS情報科学専門書)" title="実践Data Scienceシリーズ RとStanではじめる ベイズ統計モデリングによるデータ分析入門 (KS情報科学専門書)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4065165369?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">実践Data Scienceシリーズ RとStanではじめる ベイズ統計モデリングによるデータ分析入門 (KS情報科学専門書)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%C7%CF%BE%EC%20%BF%BF%BA%C8" class="keyword">馬場 真哉</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li></ul><a href="https://www.amazon.co.jp/dp/4065165369?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>及び統計<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>の基礎については、定番の馬場さんのこちらの一冊を。<a href="https://tjo.hatenablog.com/entry/2019/08/13/190000">&#x4EE5;&#x524D;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;&#x3067;&#x5927;&#x7D76;&#x8CDB;&#x3057;&#x305F;</a>通りですが、RとStanを駆使してGLM, GLMM, 階層<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>そして状態空間モデルと、古典的な統計<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>からモダンな<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>までを分かりやすく、豊富な例題と共に実践的に学ぶことが出来ます。現職で僕がリードするサブチームでも若手向けのテキストとしてこちらを指定させていただいております。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4254128827?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41HvqG4u8rL._SL500_.jpg" class="hatena-asin-detail-image" alt="新版 統計学のセンス ―デザインする視点・データを見る目― (医学統計学シリーズ1)" title="新版 統計学のセンス ―デザインする視点・データを見る目― (医学統計学シリーズ1)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4254128827?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">新版 統計学のセンス ―デザインする視点・データを見る目― (医学統計学シリーズ1)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%C3%B0%B8%E5%20%20%BD%D3%CF%BA" class="keyword">丹後 俊郎</a></li><li>朝倉書店</li></ul><a href="https://www.amazon.co.jp/dp/4254128827?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>のトリを飾るのは、これまたすっかりお馴染みになった『新版 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>のセンス』です。<a href="https://tjo.hatenablog.com/entry/2018/12/12/190000">&#x4EE5;&#x524D;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;&#x3067;&#x3082;&#x6FC0;&#x8CDE;&#x3057;&#x305F;</a>通り、信頼<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>など頻度論<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>のやや難解なところも言葉を濁さずきちんと解説し、統計的因果推論や実験計画法や果ては非劣性検定についてもページを割いており、極めて貴重な一冊です。あえて言えば多少医療統計の色が強いのが難点で、今後より一般的な分野を対象とした同様の新刊書が出た場合はそちらに置き換わるかもしれません。<br /> <br /> </p> </div> <div class="section"> <h5 id="機械学習-1"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a></h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4627849710?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51YFB3Y0EYL._SL500_.jpg" class="hatena-asin-detail-image" alt="はじめてのパターン認識" title="はじめてのパターン認識"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4627849710?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">はじめてのパターン認識</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%CA%BF%B0%E6%20%CD%AD%BB%B0" class="keyword">平井 有三</a></li><li>森北出版</li></ul><a href="https://www.amazon.co.jp/dp/4627849710?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>ぶっちゃけ内容の陳腐化が甚だしい感もありますが、バランス良く幅広く<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の基礎が収録されていて「独習に」最適という点でやはり外せないのがこちらの「はじパタ」。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>の識別規則や性能評価といった基礎事項から、線形分類器、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AB%A1%BC%A5%CD%A5%EB%CB%A1">カーネル法</a>、行列分解、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF%A5%EA%A5%F3%A5%B0">クラスタリング</a>、アンサンブル学習と主要なトピックを簡潔かつ分かりやすくまとめています。これを読んで<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の全体像を掴んでから、各トピックに特化したテキストを求めてそこでコーディング実装と合わせて深掘りしていく、という「ガイドブック」として利用するのが本書の正しい使い方かなと思います。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/432012362X?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51PeHM97m5L._SL500_.jpg" class="hatena-asin-detail-image" alt="統計的学習の基礎 ―データマイニング・推論・予測―" title="統計的学習の基礎 ―データマイニング・推論・予測―"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/432012362X?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">統計的学習の基礎 ―データマイニング・推論・予測―</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/Trevor%20Hastie" class="keyword">Trevor Hastie</a>,<a href="https://d.hatena.ne.jp/keyword/Robert%20Tibshirani" class="keyword">Robert Tibshirani</a>,<a href="https://d.hatena.ne.jp/keyword/Jerome%20Friedman" class="keyword">Jerome Friedman</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%A6%CE%A9%BD%D0%C8%C7">共立出版</a></li></ul><a href="https://www.amazon.co.jp/dp/432012362X?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>これまた毎度お馴染み「カステラ本」です。現代的なNNに関する記述は物足りないですが、それ以外のほぼ全ての<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野の話題がカバーされているので「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野の『教養』」を確認するための辞書として使う上では今でも最適の鈍器です。英語版PDFならweb上で無料で読めます。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4065133327?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41Gpn0CggQL._SL500_.jpg" class="hatena-asin-detail-image" alt="深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ)" title="深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4065133327?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%B2%AC%C3%AB%20%B5%AE%C7%B7" class="keyword">岡谷 貴之</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li></ul><a href="https://www.amazon.co.jp/dp/4065133327?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>またまたお馴染み<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/MLP">MLP</a>シリーズ『深層学習』改訂第2版です。基本的なNNの構造、勾配法とそれにまつわる性能評価、そしてCNN, LSTM含むRNNファミリー、Seq2Seq, attention, transformer, GNN, adversarial examples, LIME / SHAPなどの説明可能性(解釈性)関連手法、<a class="keyword" href="https://d.hatena.ne.jp/keyword/NAS">NAS</a>, data augmentation, one-shot learning, VAE, GANといった近年の研究成果と実装された手法たちが網羅的に取り上げられています。<br /> <br /> </p> </div> </div> <div class="section"> <h4 id="テーマ別">テーマ別</h4> <div class="section"> <h5 id="回帰モデル">回帰モデル</h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4254122462?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41vqA3bF23L._SL500_.jpg" class="hatena-asin-detail-image" alt="回帰分析(新装版) (統計ライブラリー)" title="回帰分析(新装版) (統計ライブラリー)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4254122462?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">回帰分析(新装版) (統計ライブラリー)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%BA%B4%CF%C2%20%CE%B4%B8%F7" class="keyword">佐和 隆光</a></li><li>朝倉書店</li></ul><a href="https://www.amazon.co.jp/dp/4254122462?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p><a href="https://tjo.hatenablog.com/entry/2021/07/13/180000">&#x4EE5;&#x524D;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;&#x3067;&#x300C;&#x6E29;&#x6545;&#x77E5;&#x65B0;&#x300D;&#x3068;&#x79F0;&#x3057;&#x3066;&#x5927;&#x7D76;&#x8CDB;&#x3057;&#x305F;</a>佐和本です。1979年初版と極めて古い書籍ですが、現代における様々な回帰モデルのバリエーションにも通じる普遍的な事項の丁寧な解説に満ち溢れており、特にMMMなど回帰モデルによる「説明(解釈)」を扱う人にとってはバイブルに等しい一冊になるかと思います。朝倉書店さんには是非電子版の刊行もお願いしたいところです<a href="#f-c7432691" id="fn-c7432691" name="fn-c7432691" title="実現されるまで毎年書いていくスタイル">*5</a>。<br /> <br /> </p> </div> <div class="section"> <h5 id="PRML"><a class="keyword" href="https://d.hatena.ne.jp/keyword/PRML">PRML</a></h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4621061224?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41O0QFyTHJL._SL500_.jpg" class="hatena-asin-detail-image" alt="パターン認識と機械学習 上" title="パターン認識と機械学習 上"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4621061224?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">パターン認識と機械学習 上</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/C.M.%20%A5%D3%A5%B7%A5%E7%A5%C3%A5%D7" class="keyword">C.M. ビショップ</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B4%DD%C1%B1%BD%D0%C8%C7">丸善出版</a></li></ul><a href="https://www.amazon.co.jp/dp/4621061224?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4621061240?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/418MuoJetFL._SL500_.jpg" class="hatena-asin-detail-image" alt="パターン認識と機械学習 下 (ベイズ理論による統計的予測)" title="パターン認識と機械学習 下 (ベイズ理論による統計的予測)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4621061240?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">パターン認識と機械学習 下 (ベイズ理論による統計的予測)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/C.M.%20%A5%D3%A5%B7%A5%E7%A5%C3%A5%D7" class="keyword">C.M. ビショップ</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B4%DD%C1%B1%BD%D0%C8%C7">丸善出版</a></li></ul><a href="https://www.amazon.co.jp/dp/4621061240?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>「黄色い本」です。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AC%A5%A6%A5%B9">ガウス</a>過程回帰といった「<a class="keyword" href="https://d.hatena.ne.jp/keyword/PRML">PRML</a>なら他のテーマと共に包括的に学べる」テーマが近年流行っている一方、特に系列データ分析などは今でも<a class="keyword" href="https://d.hatena.ne.jp/keyword/PRML">PRML</a>以外に思ったほど良書がなく、今回も入れてあります。<br /> <br /> </p> </div> <div class="section"> <h5 id="機械学習の実践"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の実践</h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4297108437?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41zp6hN7f+L._SL500_.jpg" class="hatena-asin-detail-image" alt="Kaggleで勝つデータ分析の技術" title="Kaggleで勝つデータ分析の技術"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4297108437?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">Kaggleで勝つデータ分析の技術</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%CC%E7%CF%C6%20%C2%E7%CA%E5" class="keyword">門脇 大輔</a>,<a href="https://d.hatena.ne.jp/keyword/%BA%E5%C5%C4%20%CE%B4%BB%CA" class="keyword">阪田 隆司</a>,<a href="https://d.hatena.ne.jp/keyword/%CA%DD%BA%E4%20%B7%CB%CD%A4" class="keyword">保坂 桂佑</a>,<a href="https://d.hatena.ne.jp/keyword/%CA%BF%BE%BE%20%CD%BA%BB%CA" class="keyword">平松 雄司</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/4297108437?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>すっかりお馴染み「Kaggleで勝つ」本です。評価指標の置き方・特徴量の扱い方・モデル評価と交差検証の方法・モデルのチューニング・モデルの組み合わせ方・leakageのような落とし穴、などなどKaggleで勝つという目標だけに閉じず、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>そのものの理論や実装以上に重要な「メタ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>」の考え方が網羅されており、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の実務家であれば必携の書と言って良いでしょう。<br /> <br /> </p> </div> <div class="section"> <h5 id="Deep-Learning--NN"><a class="keyword" href="https://d.hatena.ne.jp/keyword/Deep%20Learning">Deep Learning</a> / NN</h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4065305136?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51XJEb4btCL._SL500_.jpg" class="hatena-asin-detail-image" alt="Kaggleに挑む深層学習プログラミングの極意 (KS情報科学専門書)" title="Kaggleに挑む深層学習プログラミングの極意 (KS情報科学専門書)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4065305136?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">Kaggleに挑む深層学習プログラミングの極意 (KS情報科学専門書)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%BE%AE%D6%BF%20%B9%CC%CA%BF" class="keyword">小嵜 耕平</a>,<a href="https://d.hatena.ne.jp/keyword/%BD%A9%CD%D5%20%C2%F3%BA%C8" class="keyword">秋葉 拓哉</a>,<a href="https://d.hatena.ne.jp/keyword/%CE%D3%20%B9%A7%B5%AA" class="keyword">林 孝紀</a>,<a href="https://d.hatena.ne.jp/keyword/%C0%D0%B8%B6%20%BE%CD%C2%C0%CF%BA" class="keyword">石原 祥太郎</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li></ul><a href="https://www.amazon.co.jp/dp/4065305136?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>日本人Kaggle Grand Master / Masterの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%EF%A3%A1%B9%A4%BF%A4%EB">錚々たる</a>顔ぶれが執筆陣にズラリと並ぶ、超豪華版の一冊です。主にNNが得意とする画像分類・画像検索・テキスト分類の3領域にテーマを絞って、いかにしてKaggle competitionレベルの競争の中で精度を上げていくかという点をこれでもかと追求した、極めて野心的な解説書です。コード記述の大半を<a class="keyword" href="https://d.hatena.ne.jp/keyword/GitHub">GitHub</a>で公開し、実装環境は章ごとにDockerで構築してもらうことにすることで、冊子自体は非常にコンパクトにまとめられています。<br /> <br /> </p> </div> <div class="section"> <h5 id="統計的因果推論">統計的因果推論</h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4297111179?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41UyPDseKsL._SL500_.jpg" class="hatena-asin-detail-image" alt="効果検証入門〜正しい比較のための因果推論/計量経済学の基礎" title="効果検証入門〜正しい比較のための因果推論/計量経済学の基礎"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4297111179?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">効果検証入門〜正しい比較のための因果推論/計量経済学の基礎</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%B0%C2%B0%E6%20%E6%C6%C2%C0" class="keyword">安井 翔太</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/4297111179?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>統計的因果推論については、現在に至ってもなお前々職の後輩である安井君の手によるこちらの一冊が実務家向けでは決定版でしょう。<a href="https://tjo.hatenablog.com/entry/2020/01/24/190000">&#x904E;&#x53BB;&#x306B;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;&#x3067;&#x79F0;&#x8CDB;&#x3057;&#x305F;</a>通りで、「セレクションバイアスとRCT」「介入効果を測るための回帰分析」「傾向スコアを用いた分析」「差分の差分法(DID)とCausalImpact」「回帰不連続デザイン(<a class="keyword" href="https://d.hatena.ne.jp/keyword/RDD">RDD</a>)」という章立てで、段階を踏みながら<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B7%D7%CE%CC%B7%D0%BA%D1%B3%D8">計量経済学</a>的な理論面での背景も丁寧に解説しつつ、Rコードによる実践例も付して分かりやすく統計的因果推論について説いた良書です。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4254122411?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41KCinDf46L._SL500_.jpg" class="hatena-asin-detail-image" alt="入門 統計的因果推論" title="入門 統計的因果推論"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4254122411?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">入門 統計的因果推論</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/Judea%20Pearl" class="keyword">Judea Pearl</a>,<a href="https://d.hatena.ne.jp/keyword/Madelyn%20Glymour" class="keyword">Madelyn Glymour</a>,<a href="https://d.hatena.ne.jp/keyword/Nicholas%20P.%20Jewell" class="keyword">Nicholas P. Jewell</a></li><li>朝倉書店</li></ul><a href="https://www.amazon.co.jp/dp/4254122411?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>Pearl本の訳書です。実は昨年版までは入れてなかったのですが、近年MMMなどのビジネス実務系の回帰モデルでDAGを書いて交絡の調整が行われるケースが増えているようですので、その基礎が学べる本書を今回からリストに入れました。Pearl流因果推論の代表的トピックスであるDAG、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D0%A5%C3%A5%AF%A5%C9%A5%A2">バックドア</a>・フロントドア基準、反実仮想といった内容がコンパクトにまとめられています。<br /> <br /> </p> </div> <div class="section"> <h5 id="ベイズ統計学-1"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a></h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4065191831?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/31CtX5M4ovL._SL500_.jpg" class="hatena-asin-detail-image" alt="モンテカルロ統計計算 (データサイエンス入門シリーズ)" title="モンテカルロ統計計算 (データサイエンス入門シリーズ)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4065191831?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">モンテカルロ統計計算 (データサイエンス入門シリーズ)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%B3%F9%C3%AB%20%B8%A6%B8%E3" class="keyword">鎌谷 研吾</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li></ul><a href="https://www.amazon.co.jp/dp/4065191831?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>『標準<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>』をホットトピックスに回しましたので、定番リストのこちらでは『<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E2%A5%F3%A5%C6%A5%AB%A5%EB%A5%ED">モンテカルロ</a>統計計算』だけを挙げておきます。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の理論面での考え方の入門と、その事後分布を求める手段である<a class="keyword" href="https://d.hatena.ne.jp/keyword/MCMC">MCMC</a>サンプリングのRコードによるス<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%C3%A5%C1">クラッチ</a>実装から成ります。普段RStanであまり深く考えずサラッと流してしまっている<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>そして<a class="keyword" href="https://d.hatena.ne.jp/keyword/MCMC">MCMC</a>の裏側を、極めて分かりやすく解説しており、前掲の『標準<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>』に引き続いて読むに相応しい優れたテキストです。ただしRStanの話は全然出てこない<a href="#f-709c2915" id="fn-709c2915" name="fn-709c2915" title="勿論NumPyroの話題も出てこない">*6</a>ので、あくまでも「RStanで良く実装される手法の原理を学ぶための教科書」として読んだ方が良いです。<br /> <br /> </p> </div> <div class="section"> <h5 id="時系列分析">時系列分析</h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4254127928?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41JMUwJfOLL._SL500_.jpg" class="hatena-asin-detail-image" alt="経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)" title="経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4254127928?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%CE%B5%B5%C1%2C%20%B2%AD%CB%DC" class="keyword">竜義, 沖本</a></li><li>朝倉書店</li></ul><a href="https://www.amazon.co.jp/dp/4254127928?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>鉄板の「沖本本」です。ひとまず理論的な部分についてはこれ一冊あれば十分でしょう。<a href="https://tjo.hatenablog.com/archive/category/%E6%99%82%E7%B3%BB%E5%88%97%E5%88%86%E6%9E%90">&#x3053;&#x306E;&#x30D6;&#x30ED;&#x30B0;&#x306E;&#x521D;&#x671F;&#x306B;&#x6642;&#x7CFB;&#x5217;&#x5206;&#x6790;&#x30AB;&#x30C6;&#x30B4;&#x30EA;&#x8A18;&#x4E8B;&#x7FA4;&#x3067;&#x6563;&#x3005;&#x53D6;&#x308A;&#x4E0A;&#x3052;&#x305F;</a>ので、本書を読みながらなぞると良いかもしれません。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4774196460?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/517UNNmUFtL._SL500_.jpg" class="hatena-asin-detail-image" alt="基礎からわかる時系列分析 ―Rで実践するカルマンフィルタ・MCMC・粒子フィルター (Data Science Library)" title="基礎からわかる時系列分析 ―Rで実践するカルマンフィルタ・MCMC・粒子フィルター (Data Science Library)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4774196460?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">基礎からわかる時系列分析 ―Rで実践するカルマンフィルタ・MCMC・粒子フィルター (Data Science Library)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%C7%EB%B8%B6%20%BD%DF%B0%EC%CF%BA" class="keyword">萩原 淳一郎</a>,<a href="https://d.hatena.ne.jp/keyword/%B1%BB%C0%B8%20%BF%BF%CC%E9" class="keyword">瓜生 真也</a>,<a href="https://d.hatena.ne.jp/keyword/%CB%D2%BB%B3%20%B9%AC%BB%CB" class="keyword">牧山 幸史</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/4774196460?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>モダンな<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>を駆使した時系列分析に関しては、僕が把握している範囲のテキストとして萩原さんの本をお薦めしています。単に時系列分析や状態空間モデルというだけでなく、粒子フィルタまで含めた<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>時系列<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>全般の話題をス<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%C3%A5%C1">クラッチ</a>からのRコーディングまで添えて解説しているので、網羅的で非常に読み応えがあります。勿論RStanによる標準的な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>方法もカバーしていてお薦めです。<br /> <br /> </p> </div> <div class="section"> <h5 id="グラフネットワーク分析">グラフ・ネットワーク分析</h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4320113152?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41dU-bHzb+L._SL500_.jpg" class="hatena-asin-detail-image" alt="ネットワーク分析 第2版 (Rで学ぶデータサイエンス 8)" title="ネットワーク分析 第2版 (Rで学ぶデータサイエンス 8)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4320113152?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">ネットワーク分析 第2版 (Rで学ぶデータサイエンス 8)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%CE%EB%CC%DA%20%C5%D8" class="keyword">鈴木 努</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%A6%CE%A9%BD%D0%C8%C7">共立出版</a></li></ul><a href="https://www.amazon.co.jp/dp/4320113152?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>グラフ・ネットワーク分析に関しては、現在もなお<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CE%EB%CC%DA%C0%E8%C0%B8">鈴木先生</a>のこちらの一冊が鉄板にして唯一の決定版でしょう<a href="#f-9ffdbf23" id="fn-9ffdbf23" name="fn-9ffdbf23" title="グラフ理論そのものの書籍は沢山あるが肝心の分析方法について解説した本はいつまで経っても新たに出てこない">*7</a>。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B0%A5%E9%A5%D5%CD%FD%CF%C0">グラフ理論</a>の基礎から中心性やコミュニティ検出といった有用な手法の実践例が付されて解説されており、特にソーシャルデータや何かしらのネットワークデータを扱う人は必ず脇に置いておくべき一冊です。ただし、こちらも近年のグラフ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%E9%A5%EB%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF">ニューラルネットワーク</a>(GNN)の進歩で更新を迫られるかもしれません。<br /> <br /> </p> </div> <div class="section"> <h5 id="データ基盤">データ基盤</h5> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4297124459?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51NldrHqGJL._SL500_.jpg" class="hatena-asin-detail-image" alt="実践的データ基盤への処方箋〜 ビジネス価値創出のためのデータ・システム・ヒトのノウハウ" title="実践的データ基盤への処方箋〜 ビジネス価値創出のためのデータ・システム・ヒトのノウハウ"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4297124459?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">実践的データ基盤への処方箋〜 ビジネス価値創出のためのデータ・システム・ヒトのノウハウ</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%A4%E6%A4%BA%A4%BF%A4%BD" class="keyword">ゆずたそ</a>,<a href="https://d.hatena.ne.jp/keyword/%C5%CF%C9%F4%20%C5%B0%C2%C0%CF%BA" class="keyword">渡部 徹太郎</a>,<a href="https://d.hatena.ne.jp/keyword/%B0%CB%C6%A3%20%C5%B0%CF%BA" class="keyword">伊藤 徹郎</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/4297124459?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>昨年版から引き続きリストインしている本書は、文字通り「データ基盤の作り方」を一から懇切丁寧に説く、まさに処方箋的な一冊です。特に「ファーストペンギンとしてデータ基盤の整備から手掛けなければならないがどこから手をつけたら良いか分からない」という人には一押しです。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4839961263?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51dFJh3FKiL._SL500_.jpg" class="hatena-asin-detail-image" alt="ビッグデータ分析・活用のためのSQLレシピ" title="ビッグデータ分析・活用のためのSQLレシピ"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4839961263?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">ビッグデータ分析・活用のためのSQLレシピ</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%B2%C3%D6%BF%20%C4%B9%CC%E7" class="keyword">加嵜 長門</a>,<a href="https://d.hatena.ne.jp/keyword/%C5%C4%B5%DC%20%C4%BE%BF%CD" class="keyword">田宮 直人</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A5%A4%A5%CA%A5%D3%BD%D0%C8%C7">マイナビ出版</a></li></ul><a href="https://www.amazon.co.jp/dp/4839961263?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>いい加減陳腐化が見えてきている感もありますが、純粋なデータ分析目的の<a class="keyword" href="https://d.hatena.ne.jp/keyword/SQL">SQL</a>コーディングについてはやはり畏友・田宮さんも共著に加わったこの一冊を依然として推したいところです。<a href="https://tjo.hatenablog.com/entry/2017/04/12/233208">&#x904E;&#x53BB;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;&#x3067;&#x6FC0;&#x8CDE;&#x3057;&#x305F;</a>通りで、文字通り「データ分析のための<a class="keyword" href="https://d.hatena.ne.jp/keyword/SQL">SQL</a>黒魔術大全」と言って良いでしょう。<br /> <br /> <br /> </p> </div> </div> </div> <div class="section"> <h3 id="コメントなど">コメントなど</h3> <p><br /> もう何回書いたか分からないコメントですが、「上級向け」はそもそも僕自身が上級者ではない(汗)のでリストには入れていませんし、今後も設定しない見込みです。悪しからずご了承ください。また、数理<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>や測度論的確率論、確率過程論といった基礎理論分野の書籍も「実務家向けとは必ずしも限らない」ため、やはりリストには入れていません。</p><br /> <p>一方で、毎年このリストの更新のために改めてデータサイエンス・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野の新刊書をこの時期になると漁っているんですが、やはり10年以上前に比べるとデータサイエンスが社会に浸透し、さらに生成AIの普及で人々の関心が全体的に非常に高まっているせいもあってか、本当に呆れるほどどの分野でも類書が物凄ーーーーーく沢山刊行されているんですよね。ですので、以前はご恵贈いただいた数冊の技術書を拝読していればさくさくリストの更新が出来たんですが、ここ3年ぐらいは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EA%A5%A2%A5%EB%BD%F1%C5%B9">リアル書店</a>と<a class="keyword" href="https://d.hatena.ne.jp/keyword/Amazon">Amazon</a>を端から端まで覗き込んで回ってもまだ主要書籍を網羅できないというのが常態化しています。</p><br /> <p>ということで、恐らく今後も<s>僕の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A1%BC%A5%D9%A5%A4">サーベイ</a>不足で及ばない部分を糊塗するために</s>「独断と偏見で選ぶ」感が増していくかと思いますが、少しでも多くのデータ分析職及びその候補生の方々に良書をお読みいただくべく、来年以降も細々と更新していく所存です。これからもよろしくお願いいたします。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-0628e855" id="f-0628e855" name="f-0628e855" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">ただしX (<a class="keyword" href="https://d.hatena.ne.jp/keyword/Twitter">Twitter</a>)上で</span></p> <p class="footnote"><a href="#fn-9f8ac4b7" id="f-9f8ac4b7" name="f-9f8ac4b7" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">ちなみに別の訳者の入江さんにもその際にご挨拶申し上げました</span></p> <p class="footnote"><a href="#fn-9cd1c39c" id="f-9cd1c39c" name="f-9cd1c39c" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">ただし頻度論に限る</span></p> <p class="footnote"><a href="#fn-e55bf6b2" id="f-e55bf6b2" name="f-e55bf6b2" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">期待の書籍が出るまで著者の方々にプレッシャーをかけていくスタイル</span></p> <p class="footnote"><a href="#fn-c7432691" id="f-c7432691" name="f-c7432691" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text">実現されるまで毎年書いていくスタイル</span></p> <p class="footnote"><a href="#fn-709c2915" id="f-709c2915" name="f-709c2915" class="footnote-number">*6</a><span class="footnote-delimiter">:</span><span class="footnote-text">勿論NumPyroの話題も出てこない</span></p> <p class="footnote"><a href="#fn-9ffdbf23" id="f-9ffdbf23" name="f-9ffdbf23" class="footnote-number">*7</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B0%A5%E9%A5%D5%CD%FD%CF%C0">グラフ理論</a>そのものの書籍は沢山あるが肝心の分析方法について解説した本はいつまで経っても新たに出てこない</span></p> </div> TJO 「入試に数学を課さないデータサイエンス学部」は是か非か hatenablog://entry/6801883189073970791 2024-01-22T21:26:34+09:00 2024-01-24T09:42:53+09:00 最近の話ですが、以下のようなニュースが話題になっているのを見かけました。 データサイエンス系の学部は文理融合の学びを掲げ、文系の受験生も集めるため、受験科目に「数学」を含まない入試方式を設ける大学も少なくない。河合塾によると、私立大のデータサイエンス系学部・学科における昨春の一般選抜のうち、数学を選ばずに受験できる大学は約半数もあった。 要は「数学不要」のデータサイエンス学部が出てくるようになったというお話で、各種SNSでは論議を呼んでいるようです。界隈によってはほとんど「嘲笑」に近い評が流布していることもあり、少なくともデータサイエンス業界におけるこのニュースの受け止められ方としてはかなり冷… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20240122/20240122154642.png" width="1024" height="1024" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>最近の話ですが、以下のようなニュースが話題になっているのを見かけました。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.sankei.com%2Farticle%2F20240109-KHSBYM34IJPE5MOBDAP7DQYZCQ%2F%3FoutputType%3Dtheme_nyushi" title="【入試最前線2024】数学なしでも 人気のデータサイエンス系、私大の半数で受験可能" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> </p> <blockquote> <p>データサイエンス系の学部は文理融合の学びを掲げ、文系の受験生も集めるため、受験科目に「数学」を含まない入試方式を設ける大学も少なくない。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B2%CF%B9%E7%BD%CE">河合塾</a>によると、私立大のデータサイエンス系学部・学科における昨春の一般選抜のうち、数学を選ばずに受験できる大学は約半数もあった。</p> </blockquote> <p>要は「数学不要」のデータサイエンス学部が出てくるようになったというお話で、各種<a class="keyword" href="https://d.hatena.ne.jp/keyword/SNS">SNS</a>では<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CF%C0%B5%C4">論議</a>を呼んでいるようです。界隈によってはほとんど「嘲笑」に近い評が流布していることもあり、少なくともデータサイエンス業界におけるこのニュースの受け止められ方としてはかなり冷ややかだという印象があります。</p><br /> <p>とは言え、冗談でも何でもなく「全国津々浦々どこに行っても大学の新設データサイエンス学部の広告を見かける」<a href="#f-ac41ea22" id="fn-ac41ea22" name="fn-ac41ea22" title="2年前に越前ガニを食べに行く旅行に出かけた際もその途中のローカル鉄道の車中でデータサイエンス学部の広告を2つも目にしたものです">*1</a>というのが既に常態化している昨今では、これに類する話題は今後も続くのではないかと思われます。そこで、今回の記事ではこの話題について僕自身のデータサイエンス業界での経験に基づいてちょっとコメントしてみようと思います。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#データサイエンスに必要な数学の話題を思い出してみる">「データサイエンスに必要な数学」の話題を思い出してみる</a></li> <li><a href="#まだ若い学生のうちだからこそストレートに大学で必要な数学まで学んでもらうべき">まだ若い学生のうちだからこそ、ストレートに大学で必要な数学まで学んでもらうべき</a></li> <li><a href="#業界の実態を踏まえてのコメントなど">業界の実態を踏まえてのコメントなど</a></li> </ul> <div class="section"> <h3 id="データサイエンスに必要な数学の話題を思い出してみる">「データサイエンスに必要な数学」の話題を思い出してみる</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2018%2F04%2F24%2F190000" title="機械学習をやる上で必要な数学とは、どの分野のどのレベルの話なのか(数学が大の苦手な人間バージョン) - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>そもそも「データサイエンスに数学は必要なのか?」という問題提起がなされているのが現状のように見受けられますが、これについては6年前に既に以下の記事でコメント済みだったりします。列挙すると、</p> <blockquote> <ul> <li>基本:PyTorchやTensorFlowなどでNNを書いた時にその意味が分かる程度の数学の知識</li> <li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C0%FE%B7%C1%C2%E5%BF%F4">線形代数</a>:線形モデル上で<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20%5Cmathbf%7BX%7D%20%5Cmathbf%7B%5Cbeta%7D" alt=" \mathbf{X} \mathbf{\beta}"/>が何をしているのか分かる程度</li> <li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C8%F9%C0%D1">微積</a>分:線形モデルの最適解を求める過程でoptimizerが裏側で何をしているのか分かる程度</li> <li>その他:最低でも<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20%5Csum" alt=" \sum"/>は分かった方が良いし、できれば数式1行程度なら我慢して読めた方が良い</li> </ul> </blockquote> <p>という感じで、平たく言えば「大学理系学部の教養課程レベルの数学」の知識が上っ面だけでもあった方が良い、というぐらいの話です。と言いますか、これぐらいの数学の知識があればNNや統計分析の実装コードを見ても「ああこれは〇〇をしているんだ」というその仕組みの理解に役立つ、ということですね。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2021%2F05%2F14%2F180344" title="何故データサイエンティストになりたかったら、きちんと体系立てて学ばなければならないのか - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>こういう話をすると「そもそも今時は実装コードも既にあるもののコピペで事足りるしわざわざ数学なんか覚えなくても良いのでは」という反論が来るのが常なのですが、それについても3年前の記事でもコメントした通りです。あえて簡潔に言えば、</p> <blockquote> <ul> <li><strong>ソフトウェア開発</strong>では基本的にはコードを書いた通りに<strong>確定的に動く</strong>ものとされる</li> <li>だが<strong><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>や統計分析</strong>では入力されたデータと適用した手法の仕組み次第で<strong>確率的に振る舞いが変わってしまう</strong></li> <li>よってデータサイエンスにおいてはデータの性質に加えてその「仕組み」まで理解していないと<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C8%A5%E9%A5%D6%A5%EB%A5%B7%A5%E5%A1%BC%A5%C6%A5%A3%A5%F3%A5%B0">トラブルシューティング</a>するのが難しい</li> </ul> </blockquote> <p>というものなのです。そして、その「仕組み」の多くが数学的に記述されていることが多いため、どうしても数学の知識がないと「仕組み」の理解が難しいわけです。けれども、その数学は大学の理系学部では比較的平易とされる教養課程レベルのもので十分、という実態が今回の議論を少々複雑なものにしているように見受けられます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="まだ若い学生のうちだからこそストレートに大学で必要な数学まで学んでもらうべき">まだ若い学生のうちだからこそ、ストレートに大学で必要な数学まで学んでもらうべき</h3> <p><br /> つまり、プロのデータサイエンティストとして仕事をするには最低でも学部教養課程レベルの数学の知識が必要なのですが、これは高校以降数学から離れてしまっている人には結構難易度の高い話かもしれないんですね。けれども、これはいわゆる「専門としての数学」としてはかなり平易な部類に入ります(いわゆる「社会人のための数学学び直し」的なテキストや有料講座が世の中に数多い所以でもあります)。ただし、その一方でそのレベルの数学を学ぶには最低でも高校レベルの数学の知識が必要とされています。このため、ソフトウェア開発やデータサイエンスのための数学学び直しコンテンツの多くが、高校レベルからの数学の復習を伴っているという実態があるようです<a href="#f-b23b4c36" id="fn-b23b4c36" name="fn-b23b4c36" title="特に微積分は習っていない人にとってはかなりの鬼門になる模様">*2</a>。</p><br /> <p>しかし、今回話題になっている「新設データサイエンス学部」たちがこれから大学に入る<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%E3%A4%A4%BF%CD%A4%BF%A4%C1">若い人たち</a>にデータサイエンスを教えようというのであれば、そんな回り道を取る必要はないと思うわけです。仮にそれらのデータサイエンス学部がデータサイエンティストの卵を輩出したいというのであれば、<strong>「入試に数学を課す」もしくは「入学後に手厚い高校レベル数学の補習措置を設ける」かのいずれかを必ずやるべき</strong>なのではないでしょうか。最低でも、教養課程レベルの数学を学ぶ上での「下地」を確保する措置はあって然るべきかと。</p><br /> <p>これを、数学を省いてただ上っ面だけの概念と実装コードのコピペだけを教えて、いざ本質的な理解のための数学は大して教えず、どうしても学びたい学生には大学を卒業した後で「社会人向け数学学び直しコンテンツ」で学び直してください、というのは大学という<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%B5%B0%E9%B5%A1%B4%D8">教育機関</a>のやり方としてはあんまりだと思う次第です。勿論各大学としては受験生を集めるための宣伝としてデータサイエンス学部を新設しているだけで<a href="#f-d4766efd" id="fn-d4766efd" name="fn-d4766efd" title="つまり大学経営上の要請ということ">*3</a>、その内容にはそこまで頓着していないということなのかもしれませんが、それでも<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%B5%B0%E9%B5%A1%B4%D8">教育機関</a>としてやるべきことはやってもらいたいものです。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="業界の実態を踏まえてのコメントなど">業界の実態を踏まえてのコメントなど</h3> <p><br /> こういう話をするとよく「お前はただ参入障壁を上げて自分だけ安全地帯でぬくぬくしたいだけなんだろ」と詰られることがあるんですが<a href="#f-32dab902" id="fn-32dab902" name="fn-32dab902" title="TwitterというかXでは何度も見かける">*4</a>、僕のメッセージはシンプルで<strong>「背景となる理論的知識が全くないといとも簡単に事故りますよ」</strong>ただそれだけなんです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fsocinuit.hatenablog.com%2Fentry%2F2020%2F09%2F12%2F014020" title="2値変数だけのデータにk-meansをすると詰む - と。" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>一番分かりやすい例が「二値データでK-means」ですね。これはK-meansが文字通り「平均」を取って<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF%A5%EA%A5%F3%A5%B0">クラスタリング</a>結果の最適化計算を回している<a href="#f-70e6bcb8" id="fn-70e6bcb8" name="fn-70e6bcb8" title="ただし中央値を使うK-medoidsというものもある">*5</a>という裏側の仕組みを知っていれば陥らない罠なんですが、知らない人が何の対策もせず漫然と二値データに対してK-meansをやってしまって後で困ったことになった……というケースを見聞したことは何度もあります。しかも厄介なことに、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a>でもRでも実装によっては「二値データだからNG」とは言ってくれない上に、何のerrorもwarningもなくそれっぽい出力を返してくれてしまうので、分からないんですよね。</p><br /> <p>これに限らず、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>や統計分析だとerrorもwarningも出ないのにデタラメな結果が返ってしまうということは珍しくありません。往年のTensorFlowでは途中でデタラメな演算をしていても一切errorを出さずに最後までグラフを計算して、返ってきた結果を見たらただのゴミだった……というケースを何度も体験させられたものでした。これは数学の理解の有無とは関係ないケースも中にはありますが、実装上の都合で「狙った処理を実際にはやってくれていない」という事態が起きた結果だったりします。</p><br /> <p>ということで、こういう罠に陥らないためにも、これからデータサイエンス分野に参入しようという<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%E3%A4%A4%BF%CD%A4%BF%A4%C1">若い人たち</a>には是非大学にいるうちに最低限で良いので数学を学んでいただきたいですし、大学の側もそこは手厚くして欲しいと願う次第です。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-ac41ea22" id="f-ac41ea22" name="f-ac41ea22" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">2年前に越前ガニを食べに行く旅行に出かけた際もその途中のローカル鉄道の車中でデータサイエンス学部の広告を2つも目にしたものです</span></p> <p class="footnote"><a href="#fn-b23b4c36" id="f-b23b4c36" name="f-b23b4c36" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">特に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C8%F9%C0%D1">微積</a>分は習っていない人にとってはかなりの鬼門になる模様</span></p> <p class="footnote"><a href="#fn-d4766efd" id="f-d4766efd" name="f-d4766efd" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">つまり大学経営上の要請ということ</span></p> <p class="footnote"><a href="#fn-32dab902" id="f-32dab902" name="f-32dab902" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a class="keyword" href="https://d.hatena.ne.jp/keyword/Twitter">Twitter</a>というかXでは何度も見かける</span></p> <p class="footnote"><a href="#fn-70e6bcb8" id="f-70e6bcb8" name="f-70e6bcb8" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text">ただし中央値を使うK-medoidsというものもある</span></p> </div> TJO ヒトだからこそ価値を出せる余地は、AIやデータサイエンスの「外側」の本質への関わり方にある hatenablog://entry/6801883189063471010 2023-12-26T17:00:00+09:00 2023-12-26T17:27:08+09:00 恒例の年末振り返り記事ですが、もうタイトルが示す通りです。例年通りであれば淡々と1年間の業界動向や個人的な学び、はたまたちょっとした私事などを綴るのですが、今年はたまたま良いお題がやってきたのでまず最初にその話を書こうと思います。 <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231220/20231220193528.png" width="1024" height="1024" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>恒例の年末振り返り記事ですが、もうタイトルが示す通りです。例年通りであれば淡々と1年間の業界動向や個人的な学び、はたまたちょっとした私事などを綴るのですが、今年はたまたま良いお題がやってきたのでまず最初にその話を書こうと思います。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#生成AIの爆発的な普及とそれに伴って生じた課題">生成AIの爆発的な普及と、それに伴って生じた課題</a></li> <li><a href="#AIやデータサイエンスの外側の本質にアプローチするのがヒトのなすべき仕事">AIやデータサイエンスの「外側」の本質にアプローチするのが、ヒトのなすべき仕事</a></li> <li><a href="#最後に改めて年末の振り返りを">最後に、改めて年末の振り返りを</a></li> </ul> <div class="section"> <h3 id="生成AIの爆発的な普及とそれに伴って生じた課題">生成AIの爆発的な普及と、それに伴って生じた課題</h3> <p><br /> 今年は多くの生成AIプロダクトが公開され普及し、それに伴い文字通り正真正銘空前の生成AIブームが到来し、個人や企業のみならず<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B2%E2%A5%F6%B4%D8">霞ヶ関</a>までもが、そしてついには政府与党までもがこぞって「生成AIの活用」を模索して立ち回るという有様になりました。書店に行けば生成AI関連書籍が棚一面を埋め尽くすという大盛況で、毎日のようにどこそこの大企業が生成AIを導入した〇〇サービスを公開したというようなニュースが流れ、僕が毎晩見ているテレ東<a class="keyword" href="https://d.hatena.ne.jp/keyword/WBS">WBS</a>でもいつの間にかAI特集なるコーナーが常設されており、今やAIの話題をお茶の間で目にしない日はないという有様です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.itmedia.co.jp%2Fnews%2Farticles%2F2312%2F15%2Fnews158.html" title="ChatGPTでの業務効率化を“断念”──正答率94%でも「ごみ出し案内」をAIに託せなかったワケ 三豊市と松尾研の半年間" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ところが、つい先日大変に興味深い事例が公になりちょっとした議論を呼んでいるようです。この記事では当該事例そのものの詳細には踏み込みませんが、生成AIの飛躍的な発展に対して「AIの利活用」という普遍的なテーマにおける普遍的な問題は今も変わらないのだなという感想を抱きました。</p><br /> <p>これは以前にも指摘した論点ですが、ヒトは場面ごとに応じて「確率論的挙動」<a href="#f-72de77d1" id="fn-72de77d1" name="fn-72de77d1" title="思考とか感情とか「お気持ち」とか">*1</a>と「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B7%E8%C4%EA%CF%C0">決定論</a>的挙動」<a href="#f-fb4e2ab5" id="fn-fb4e2ab5" name="fn-fb4e2ab5" title="記憶された事実とか定められたルールとか「常識」とか">*2</a>とを使い分けられる一方で、いわゆるAI(に限らず統計的学習モデル全般)はそれ自体が内在する性質として「確率論的挙動」しか本質的には出来ないんですよね<a href="#f-de8ede17" id="fn-de8ede17" name="fn-de8ede17" title="要はデータに基づいて学習して〇〇である「確率」をアウトプットする代物で、確定的なアウトプットを出すようにはなっていないというお話">*3</a>。なので、例えば何がしかのルールや規則のような「ロジカルにルールベースで100%厳密に定められ得る」ものを判断する課題はヒトなら100%近い精度でこなせる(単に既定のルールを思い出せれば良いので)わけですが、これを生成AIにやらせるとhallucinationが混じったりして100%近くまでには届かないということは幾らでもあり得る話だと思います。</p><br /> <p>一方で、AIはヒトとは異なり計算機で動くものなので、基本的には疲れ知らずで24時間365日無尽蔵に稼働できますし、計算リソースさえ確保できれば幾らでも並行して同時に処理させることができます。よって、単純に考えればAIを導入するならばまずは「スケーラビリティ」「省力化」を旗印にした方が良いと思われるわけです。しかしながら、上記リンク記事のケースでは省力化を超えるKPIとして「精度」を<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C6%A1%BC%A5%AF%A5%DB%A5%EB%A5%C0%A1%BC">ステークホルダー</a>から最重要視された結果として、不採用になってしまったという印象があります(もっとも実際の導入に際しての議論や打ち合わせでは他にも多種多様なトピックスが話し合われたのだろうと想像しますが)。</p><br /> <p>ちなみに、僕の鉄板の持ちネタの一つに以下の伝聞譚があるんですが、今回の件は概ねこれと似たような構図だと感じています。</p> <blockquote> <p>昔、ある現場で人手(つまり人力)でこなしている<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>運用業務をAI<a href="#f-e8949abc" id="fn-e8949abc" name="fn-e8949abc" title="当時なのでどちらかというとML即ち機械学習システム">*4</a>に代替させようという話が持ち上がり、どちらの方が効率が良いかを3日間実験して検証することになった。そしていざ実験してみたところ、AIは期待通りのパフォーマンスを見せたが、一方で人力チームは3連続徹夜で猛烈に運用業務をこなした結果AIのパフォーマンスを凌駕してみせたので、結果としてAI導入は却下された</p> </blockquote> <p>このケースでは、確かにヒト(人力運用)の方がAIをパフォーマンスで上回ったので、AI導入は却下されています。しかしながら、その代償としてヒトの方は3連続徹夜という通常ならあり得ない<a href="#f-6a461338" id="fn-6a461338" name="fn-6a461338" title="これが通常運行の会社も世の中に存在することは十分承知しております()">*5</a>オペレーションを強いられているわけで、そもそも比較するものが不適切なんですよね。けれども、一般に「ヒトの仕事をAIに代替させる」というのは感情的な反発を生みがちなものです。なればこそ、「ヒトが納得できる」比較軸を用意する必要があるということだと考える次第です。</p><br /> <p>ただ、それだけでは「100%の精度を出せないAI」という問題の根本解決にはならないので、そこは工夫を凝らす必要があります。最も確実なのは「ヒトによる最終チェック」を挟むという手ですが、これはヒトの省力化が目的の場合は限界というかリソース上限が必ず付き纏うため常にベストとは限りません。案外、完璧なルールベースのシステムを裏でベタっと組んでおいて<a href="#f-49ce918b" id="fn-49ce918b" name="fn-49ce918b" title="こっちの方がしんどそう">*6</a>、そこの入出力をuser friendlyなものに<a class="keyword" href="https://d.hatena.ne.jp/keyword/rewrite">rewrite</a>する目的で生成AIを使う方が堅実なのかもしれません。</p><br /> <p>結局のところ、そもそも100%近い<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B7%E8%C4%EA%CF%C0">決定論</a>的挙動に近い精度を生成AIに要求する方が無理があるという話で、やはり「必ずしも正解でなくても良い試行錯誤的なもの」の「省力化」のために生成AIを使うというのが現状での最適解なのでしょう。実際に「ひたすら大量のア<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A4%A5%C7%A5%A2">イデア</a>出しをするための要員数十名を生成AIで代替させた」という事例が既にあるわけで<a href="#f-c7d789cb" id="fn-c7d789cb" name="fn-c7d789cb" title="[https://xtech.nikkei.com/atcl/nxt/column/18/02466/052600002/:title]">*7</a>、最終的には「何のために生成AIを使うのか」という課題設定こそが最も大切だと言えそうです。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="AIやデータサイエンスの外側の本質にアプローチするのがヒトのなすべき仕事">AIやデータサイエンスの「外側」の本質にアプローチするのが、ヒトのなすべき仕事</h3> <p><br /> 私事ながら、今年に入ってからアカデミアの世界を離れて企業にapplied scientistとして転職された方とお話をする機会がつい先日あったのですが、その方のお話される内容があまりにも深く、かつ僕自身の今現在のチームにおける仕事のやり方と共通するところが非常に多く、大変に感銘を受けたのでした。</p><br /> <p>その方のお話で最も興味深かったのが「あらゆる課題解決系のプロジェクト案件において『そもそもの課題設定』のところから積極的に口出ししていっている」という点でした。それ自体は<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D3%A5%B8%A5%CD%A5%B9%A5%D1%A1%BC%A5%BD%A5%F3">ビジネスパーソン</a>としては当然望ましいスタンスですが、面白かったのが「自身の専門スキルをあえて使わなくても済むようにビジネス課題を整理している」というお話。ご自身のexpertiseはそれ単体で素晴らしい専門書が一冊書けるくらい<a href="#f-267897ea" id="fn-267897ea" name="fn-267897ea" title="実際に出版されて僕は一冊ご恵贈いただいています">*8</a>に抜きん出た価値がおありなのですが、それを「あえて使わない」と仰るんですね。その理由として「そんな高度な手法を使うとベストであっても非現実的で極端な解に帰着してしまうことがあるので、むしろビジネス要件の側を綺麗に整理してそちらの制約条件を全部満たすようにすることを優先している」という趣旨のことを仰っていたのが印象的でした。「伝家の宝刀は抜かないことに価値がある」とも仰っていて、唸らされましたね。</p><br /> <p>ところで、これは実に極めて普遍的に重要な真理を突いた議論だと、僕個人は考えています。結局のところ、</p> <ul> <li><strong>「その実課題において何を真に解決すべきか」</strong>という本質は、大抵の場合AIやデータサイエンスが扱う領域の<strong>「外側」</strong>にある</li> <li>故に何かしらの実課題をAIやデータサイエンスで解決したかったら、AIやデータサイエンスを知悉した<strong>専門家が率先</strong>してその「外側」に踏み出して、<strong>本質的なところへとアプローチ</strong>し、<strong>AIやデータサイエンスで解決可能な形に変換</strong>する必要がある</li> </ul><p>ということなんですよね。「そんなのずっと前から常識じゃん」「データサイエンス力には『ビジネス力』も含まれる<a href="#f-97c4485b" id="fn-97c4485b" name="fn-97c4485b" title="ナントカ協会の例のアレです">*9</a>んだから当然だろ」と言われそうですが、以下でもうちょっと突っ込んだ議論をしてみようと思います。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231221/20231221220459.png" width="960" height="720" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ここで気を付けたいポイントとして、「AIやデータサイエンスが扱う領域の『外側』と『内側』」というのは、字面だけ見ると上のような構図を想像しがちなんですよね。とりあえずビジネス課題が定められていて、それに対してビジネス上の解決可能範囲が設定され、その中にAIやデータサイエンスで解決できるパートが含まれている、というものです。よって、データサイエンティストや<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニアはこのパートだけきっちりこなせば、自然とビジネス課題も解決されるということが期待されます。実際に、そのようなスタンスで仕事をしている人はビジネス側にもAI・データサイエンス側にも多いのではないでしょうか。お互いに「自分の持ち場のことだけやっていれば良い」という。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231221/20231221220541.png" width="960" height="720" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ところが、実際のビジネス実務におけるデータ分析の現場では、むしろ上のような構図であることの方が多いという印象があります。</p><br /> <p>これは完全に図が表している通りで、<strong>本質的なビジネス課題設定という「杭基礎」</strong>があり<a href="#f-9c16c8ee" id="fn-9c16c8ee" name="fn-9c16c8ee" title="建築・建設分野にはド素人ゆえ喩えが間違っていたら何卒ご容赦ください">*10</a>、その上に<strong>ビジネスオペレーションの中で達成可能な解という「箱」</strong>が載せられ、さらにその上にさらなる高みを目指した結果として<strong>AIやデータサイエンスによる高度な解という「塔」</strong>が載せられる、という図式になっていることが大半だと思うのです。そして、AIやデータサイエンスの出番がある時は、往々にして<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C6%A1%BC%A5%AF%A5%DB%A5%EB%A5%C0%A1%BC">ステークホルダー</a>たちによる「もっと高く建てたい」という願望がある場合だったりするのです。</p><br /> <p>ここまで来ればもはや明確でしょう。一番下の基礎のところがフラフラしていたら、その上の全ての構造は極めて脆弱になり、「塔」を高く建てるどころか「箱」すら倒れかねないはずです。なればこそ、真に成果を出したいデータサイエンティストがやるべきはまず<strong>「全てが上に乗っかる大事な基礎の工事を他人事と放置せず自らベストなやり方を追求しに行く」</strong>ことなのだと思うのです。高い「塔」を建てたければ、何よりも「基礎」をそれに耐えられる頑丈で堅牢なものにしていく必要があるというお話ですね<a href="#f-d0fa4693" id="fn-d0fa4693" name="fn-d0fa4693" title="そう言えば高層ビルを建てる時に長期間かけて基礎を作っているところを八重洲で見たことがあります">*11</a>。</p><br /> <p>例えばこれは広告・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分野であれば「KPIに何を置くか」「何を最適化したいのか(メディア予算配分なのかそれともメディアクリエイティブなのかetc.)」「精度を上げたいのかそれとも省力化したいのか」「予算配分を最適化するなら浮いた予算で何をしたいのか」といった、ビジネス戦略上の課題設定の根本的な部分に当たると思われます。そしてそれは、きちんと定めることによってまずビジネスオペレーションとして何をすべきかという課題に変換され、その課題がさらにもう一段上がってAI・データサイエンスによって解決可能な課題へと変換される……というプロセスを経て、最終的に解かれることが期待されるというわけです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2023%2F11%2F11%2F195106" title="データセットの本質的な性質を踏まえないデータ分析には、大抵何の意味もない - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>このプロセスの中には、ちょっと前の記事で指摘したような「デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>の本質的な性質を踏まえた分析を行う」という話も含まれると個人的には考えます。というのも、分析プロジェクトの類を立ち上げるに当たって最もクリティカルになるのが「得られるサンプルやデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>はそのビジネス自体の仕組みや性質に依存する」という点だからです。</p><br /> <p>例えば、自動車や不動産のような「商品の存在を知ってから長い検討期間を経て最終的に購入が決断される」というタイプのビジネスでは、広告や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>による「刺激→反応」<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A5%E9%A5%C0%A5%A4%A5%E0">パラダイム</a>を前提とした分析は不向きです。また、スポーツドリンクや新入生向けグッズのような「特定の期間に売り上げがほぼ全て集中するため広告も<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策もそこにほぼ全て集中されている」タイプのseasonalityが極端に強いビジネスでは、そもそも一般的な統計分析手法では要因間で影響を分離するのは至難の業です。故に、これらのケースでは「どのような分析をすればそのビジネスから生成され得るサンプルやデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を活用できて尚且つビジネス上有益な意思決定に繋げられるか」という、まさしく「基礎工事」のところからアプローチしていかないと殆ど意味がないのです。</p><br /> <p>しかしながら現実のビジネスというのは恐ろしいもので、いつの間にかビジネス側で課題設定が既に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C8%A5%C3%A5%D7%A5%C0%A5%A6%A5%F3">トップダウン</a>で決められていたり<a href="#f-9b1a1158" id="fn-9b1a1158" name="fn-9b1a1158" title="極端なケースでは役員会の決定として降りてきていたりする">*12</a>、あまつさえそのAIやデータサイエンスによる解の候補までもが「既に関係各方面の全部署と擦り合わせて合意済み」として絞り込まれた後だったりするんですよね。そうして既定路線となったアプローチが、実際には「やっても無駄なもの」だったならば……というケースは僕の記憶にある範囲だけでも枚挙に遑がありません。</p><br /> <p>ではどうするべきなんでしょうか? 例えば、前者のようなケースでは「購入までのファネル構造の最上部に位置する指標<a href="#f-3fc7ed4c" id="fn-3fc7ed4c" name="fn-3fc7ed4c" title="ブランド認知など">*13</a>」をKPIとしたデータ取得&分析を改めて検討したり、後者のようなケースでは過去の売り上げや実施済み広告・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策といった既存データへのretrospectiveな分析ではなく積極的な施策介入を伴う<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>実験を改めて提案する、といったアプローチが考えられます。そこで改めて、最終的なビジネス戦略上の意思決定に至るまでのプロセスを再検討すれば、ある程度の目処がつくというものかなと。そして、そういう<strong>「出来ないことは出来ないときちんとジャッジする」</strong>、さらには<strong>「既定路線をひっくり返してでもより適切なアプローチを提案する」</strong>仕事こそ、「基礎」だけでなく「塔」まで全体像を俯瞰できるデータサイエンティストがやるべきことなのです。</p><br /> <p>そのように考えれば、これはデータサイエンティストに限った話ではなく、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア・ソフトウェアエンジニア・クリエイティブデザイナーなどなど、ありとあらゆる専門職がビジネス課題に取り組む際に遍く当てはまる話だと言っても過言ではないでしょう。「専門職だからビジネスサイドのことはノータッチ」と無関心を決め込まず、専門職として成果を上げるためにこそ「何事も他人事にしない」姿勢が重要なんですね。つまり<strong>全ての基礎たるビジネス戦略上の課題設定そのものを「専門職の自分が成果を上げやすいように」働きかけて変えていく</strong>、まさしく基礎工事そのものへと関わっていくという動き方が必要なのでしょう。それは、最後の「塔」の建て方まで知悉する専門職にしか出来ないことなのです。あえて言えば、それこそが専門家として持つべきthought leadershipというものなのかもしれません。</p><br /> <p>上述した生成AIシステムの導入が見送られた一件も、開発者側がもっと<strong>「基礎工事へのアプローチ」</strong>をしっかり密にやって課題設定そのものを適切な形に変えられていたならば、もしかしたらスムーズに導入に漕ぎつけられたのかもしれないわけです。裏を返せば、生成AIそのものだけではそこを突破することは難しかったということなのでしょう。</p><br /> <p>ここで論じたような「ヒトの意思決定」のプロセス全体に関わっていく「戦略的」なコミュニケーションは、しばらく先の未来においてどうなるかは分かりませんが<a href="#f-80cbf9f3" id="fn-80cbf9f3" name="fn-80cbf9f3" title="例えばLLM Multi Agent辺りのアプローチで10年ぐらいしたらもしかしたらある程度は行けるかも?という気はしますが">*14</a>、少なくとも直近の生成AIたちにはまだまだ難しい代物だと思われます。そこにこそ、今後もヒトの専門職だからこそ価値を出せる余地があるはずだと僕は信じています。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="最後に改めて年末の振り返りを">最後に、改めて年末の振り返りを</h3> <p><br /> 仕事という点では内輪ネタで恐縮ですが、今年は僕にしては珍しく本業である広告戦略データ分析が貢献したプロジェクトが評価されて、年末に開催された2つの社内コンペで上位に食い込むことが出来たのでした<a href="#f-91caa9ad" id="fn-91caa9ad" name="fn-91caa9ad" title="どちらもお客様の機密保持義務があり公には出来ない案件なので外部メディアには出ていませんが、その「結果」についての記事は微妙に外部に出ています">*15</a>。これは完全に手前味噌ですが、少なくともそのうち1件については上述したような「基礎工事へのアプローチ」が我ながらある程度出来たという自負があり、そこも評価してもらえたのかなと勝手ながら感じております。</p><br /> <p>また、今年はその「基礎工事へのアプローチ」を積極的に試みてプロジェクトの進行をスムーズにさせることが出来た案件が他にも複数あり、今後もそういう動き方をどんどん増やしていこうと目論んでいるところです。そういう意味では、偶然現職のsales orgに迷い込んだ僕も8年近くの時を経て、ようやくいっぱしのsales contributorらしくなってきたということなのかもしれません。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2023%2F06%2F24%2F090000" title="グアムに行ってきました - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>プライベートでは、今年はコロナ禍&DVT<a href="#f-5863faf8" id="fn-5863faf8" name="fn-5863faf8" title="深部静脈血栓症">*16</a>罹患を経て実に3年ぶりとなる海外<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%CF%B9%D2">渡航</a>を果たしたのでした。もっともグアムという時差もほぼなければフライトも3時間余りしかかからない近場だったので、本格的な海外<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%CF%B9%D2">渡航</a>再開はやはり時差が大きくフライトも7時間以上ぐらいかかるところに行ってきてから<a href="#f-d3f72682" id="fn-d3f72682" name="fn-d3f72682" title="DVT治療薬のイグザレルトの服用タイミングという課題があるので">*17</a>、ということになりそうです。個人的にはやはり大好きな<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%F3%A5%AC%A5%DD%A1%BC%A5%EB">シンガポール</a>辺りに出張などで行きたいのですが、こればっかりは業務の都合もあったりするので何とも言えない感じですね。いずれにせよ、またコロナ禍前のようにちょくちょく海外を飛び回るようなアクティブな日々に戻れればと願っております。</p><br /> <p>もっとも、45歳を越してアラフィフに差し掛かってきたということもあり、身体のあちこちに些細な不調が出ることが日常茶飯事となってきており、「若い頃はこんなことで悩まされなかったのになぁ」ということが最近は多いです。細かい話をすると、以前はやらなくても大丈夫だった前腕のト<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EC%A1%BC%A5%CB%A5%F3">レーニン</a>グを怠っていたら、昔は出来ていたはずのト<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EC%A1%BC%A5%CB%A5%F3">レーニン</a>グ動作が出来なくなっていました(泣)。こういう「老い」にも抗いながら、これからも仕事に趣味にと頑張って取り組んでいく所存です。</p><br /> <p>最後に、この年末は久々の大仕事を手掛ける機会がありましたので、特に何事もなければ年明け1月のうちには何がしかの公開事例をご覧に入れられるかと思います。傍からは穀潰しのように見えるかもしれませんがちゃんと仕事もしていますよ、というアピールも個人的には兼ねていますので(笑)、是非ご笑覧いただければ幸いです。</p><br /> <p>それでは皆様、良いお年を! また来年も引き続きよろしくお願いいたします。<br /> <br /> </p> <blockquote> <p><strong><余談></strong></p><br /> <p>冒頭のイメージはStable Diffusion XLにこの記事のタイトルを読み込ませて生成したものです。去年の年末振り返り記事で生成したイメージよりも出来が良い気がしますね(笑)。これもまた生成AIの1年分の進歩の恩恵に与ったということなのかもしれません。</p> </blockquote> </div><div class="footnote"> <p class="footnote"><a href="#fn-72de77d1" id="f-72de77d1" name="f-72de77d1" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">思考とか感情とか「お気持ち」とか</span></p> <p class="footnote"><a href="#fn-fb4e2ab5" id="f-fb4e2ab5" name="f-fb4e2ab5" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">記憶された事実とか定められたルールとか「常識」とか</span></p> <p class="footnote"><a href="#fn-de8ede17" id="f-de8ede17" name="f-de8ede17" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">要はデータに基づいて学習して〇〇である「確率」をアウトプットする代物で、確定的なアウトプットを出すようにはなっていないというお話</span></p> <p class="footnote"><a href="#fn-e8949abc" id="f-e8949abc" name="f-e8949abc" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">当時なのでどちらかというとML即ち<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>システム</span></p> <p class="footnote"><a href="#fn-6a461338" id="f-6a461338" name="f-6a461338" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text">これが<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C4%CC%BE%EF%B1%BF%B9%D4">通常運行</a>の会社も世の中に存在することは十分承知しております()</span></p> <p class="footnote"><a href="#fn-49ce918b" id="f-49ce918b" name="f-49ce918b" class="footnote-number">*6</a><span class="footnote-delimiter">:</span><span class="footnote-text">こっちの方がしんどそう</span></p> <p class="footnote"><a href="#fn-c7d789cb" id="f-c7d789cb" name="f-c7d789cb" class="footnote-number">*7</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://xtech.nikkei.com/atcl/nxt/column/18/02466/052600002/">ChatGPT&#x3067;&#x5E83;&#x544A;&#x4F1A;&#x793E;&#x306E;&#x7D44;&#x7E54;&#x6FC0;&#x5909;&#x3001;&#x30B5;&#x30A4;&#x30D0;&#x30FC;&#x3067;&#x306F;30&#x4EBA;&#x4EE5;&#x4E0A;&#x3044;&#x305F;&#x30C7;&#x30A3;&#x30EC;&#x30AF;&#x30BF;&#x30FC;&#x304C;&#x30BC;&#x30ED;&#x306B; | &#x65E5;&#x7D4C;&#x30AF;&#x30ED;&#x30B9;&#x30C6;&#x30C3;&#x30AF;&#xFF08;xTECH&#xFF09;</a></span></p> <p class="footnote"><a href="#fn-267897ea" id="f-267897ea" name="f-267897ea" class="footnote-number">*8</a><span class="footnote-delimiter">:</span><span class="footnote-text">実際に出版されて僕は一冊ご恵贈いただいています</span></p> <p class="footnote"><a href="#fn-97c4485b" id="f-97c4485b" name="f-97c4485b" class="footnote-number">*9</a><span class="footnote-delimiter">:</span><span class="footnote-text">ナントカ協会の例のアレです</span></p> <p class="footnote"><a href="#fn-9c16c8ee" id="f-9c16c8ee" name="f-9c16c8ee" class="footnote-number">*10</a><span class="footnote-delimiter">:</span><span class="footnote-text">建築・建設分野にはド素人ゆえ喩えが間違っていたら何卒ご容赦ください</span></p> <p class="footnote"><a href="#fn-d0fa4693" id="f-d0fa4693" name="f-d0fa4693" class="footnote-number">*11</a><span class="footnote-delimiter">:</span><span class="footnote-text">そう言えば高層ビルを建てる時に長期間かけて基礎を作っているところを<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C8%AC%BD%C5%BD%A7">八重洲</a>で見たことがあります</span></p> <p class="footnote"><a href="#fn-9b1a1158" id="f-9b1a1158" name="f-9b1a1158" class="footnote-number">*12</a><span class="footnote-delimiter">:</span><span class="footnote-text">極端なケースでは役員会の決定として降りてきていたりする</span></p> <p class="footnote"><a href="#fn-3fc7ed4c" id="f-3fc7ed4c" name="f-3fc7ed4c" class="footnote-number">*13</a><span class="footnote-delimiter">:</span><span class="footnote-text">ブランド認知など</span></p> <p class="footnote"><a href="#fn-80cbf9f3" id="f-80cbf9f3" name="f-80cbf9f3" class="footnote-number">*14</a><span class="footnote-delimiter">:</span><span class="footnote-text">例えばLLM Multi Agent辺りのアプローチで10年ぐらいしたらもしかしたらある程度は行けるかも?という気はしますが</span></p> <p class="footnote"><a href="#fn-91caa9ad" id="f-91caa9ad" name="f-91caa9ad" class="footnote-number">*15</a><span class="footnote-delimiter">:</span><span class="footnote-text">どちらもお客様の機密保持義務があり公には出来ない案件なので外部メディアには出ていませんが、その「結果」についての記事は微妙に外部に出ています</span></p> <p class="footnote"><a href="#fn-5863faf8" id="f-5863faf8" name="f-5863faf8" class="footnote-number">*16</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%BF%BC%C9%F4%C0%C5%CC%AE%B7%EC%C0%F2%BE%C9">深部静脈血栓症</a></span></p> <p class="footnote"><a href="#fn-d3f72682" id="f-d3f72682" name="f-d3f72682" class="footnote-number">*17</a><span class="footnote-delimiter">:</span><span class="footnote-text">DVT治療薬のイグザレルトの服用タイミングという課題があるので</span></p> </div> TJO 「仮説ドリブン」という名の甘い罠 hatenablog://entry/6801883189067271466 2023-12-20T17:00:00+09:00 2023-12-20T17:00:02+09:00 今回の記事では、ちょっと感覚的でふわっとした話をしようと思います。それは「『仮説ドリブン』という考え方には往々にして落とし穴があるのではないか?」という問題提起です。 そもそも、「仮説ドリブン」(仮説駆動型:hypothesis-driven)というアプローチは実験科学分野出身の我が身にとっては、個人的には馴染み深いものです。まだ僕がポスドクだった頃、国際会議に際して日本人研究者同士で集まる会が毎回あったのですが、その席上でお話を聞く機会があった当時のトップ研究者の先生から「この世の森羅万象は網羅しようとするにはあまりにも広大過ぎる、故に森羅万象を区切って『仮説で白黒つけられる範囲』に絞り、こ… <p>今回の記事では、ちょっと感覚的でふわっとした話をしようと思います。それは「『仮説ドリブン』という考え方には往々にして落とし穴があるのではないか?」という問題提起です。</p><br /> <p>そもそも、「仮説ドリブン」(仮説駆動型:hypothesis-driven)というアプローチは実験科学分野出身の我が身にとっては、個人的には馴染み深いものです。まだ僕が<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DD%A5%B9%A5%C9%A5%AF">ポスドク</a>だった頃、国際会議に際して日本人研究者同士で集まる会が毎回あったのですが、その席上でお話を聞く機会があった当時のトップ研究者の先生から「この世の森羅万象は網羅しようとするにはあまりにも広<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C2%E7%B2%E1">大過</a>ぎる、故に森羅万象を区切って『仮説で白黒つけられる範囲』に絞り、これを検証するということを繰り返して前に進むべき」ということを聞かされ、感銘を受けたのを覚えています。</p><br /> <p>実際、仮説ドリブンの考え方は非常に有用なものであり、今現在僕自身が主戦場とする広告・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分野でも近年は広く援用されています。それこそA/Bテストのようにズバリ仮説検定の枠組みで効果検証を行うケースもあれば、もう少し緩やかに「〇〇という仮説をもとにして」調査分析を展開していくというケースもあり、日々の仕事でも「仮説」という単語を聞くことは多いです。</p><br /> <p>しかしその一方で、「仮説を定めてその真偽を検証する」という枠組みは「結果の分かりやすさ」という点では優れているものの、当たり前ながら「仮説を設けた範囲の外側のこと」が分からないという課題も抱えます。そこで、今回の記事では「仮説ドリブン」というアプローチが<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CE%A2%CC%DC">裏目</a>に出るパターンを概念的に定義した上で、それが実務においてどのような表れ方をし得るかを考察してみようと思います。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#無意識のうちにcherry-pickingしているケース">無意識のうちにcherry-pickingしているケース</a></li> <li><a href="#検証すべき軸が他にもあることに気付かないケース">検証すべき「軸」が他にもあることに気付かないケース</a></li> <li><a href="#コメントなど">コメントなど</a></li> </ul> <div class="section"> <h3 id="無意識のうちにcherry-pickingしているケース">無意識のうちにcherry-pickingしているケース</h3> <p><br /> ある意味最も典型的なのが、仮説検証「しやすい」サンプルないしデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を取ってきて、これを検証した結果例えば「AとBとではAの方が上回っている」というような結論が出て、それをもとに「仮説ドリブンな意思決定がされた」とみなして物事を進めてしまう、というパターンです。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231219/20231219005745.png" width="1200" height="614" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>しかし、全体像を見たら実は上図のような構図であり、サンプルだけ見ると「A > B」だが実際には「A = B」とか「A < B」とかだった……という事例は枚挙に遑がありません。例えば基礎研究の世界であれば、僕自身の古巣だった心理学・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C7%A7%C3%CE%BF%C0%B7%D0%B2%CA%B3%D8">認知神経科学</a>分野では深刻な再現性問題に発展しています。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F07%2F06%2F170000" title="再現性問題のはなし - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>要は「仮説を証明さえ出来ればOKなのだから、その検証に必要そうなサンプル(デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>)さえ集まれば事足りる」という安易な姿勢が、無意識のうちに<a href="#f-34289cb6" id="fn-34289cb6" name="fn-34289cb6" title="意図的にやっていた人々も存在するようですが">*1</a>「自説に都合の良い少量のサンプルだけ集めれば良い」という近視眼的なアプローチに繋がってしまったということですね。</p><br /> <p>これは僕が主戦場とする広告・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分野でも決して珍しい話ではなく、例えば消費者パネル調査などで検証条件を絞り込んだ結果として、様々なバイアス<a href="#f-d97d370e" id="fn-d97d370e" name="fn-d97d370e" title="代表的なものとしては生存バイアス">*2</a>によって意図しないうちにかなり限られた範囲のサンプルしか得られていないにもかかわらず、そこで得られた知見をあたかも「全ての消費者に共通する傾向」として捉えてしまい、その<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B5%A5%A4%A5%C8">インサイト</a>に沿った施策を打ってみたら全く効果がなかった……という話があったような無かったような。</p><br /> <p>手近に見える範囲のことから分かるのはあくまでも手近な範囲のことであり、全体像を正しく捉えられているとは限らない、というわけです。木を見て森を見ず、ということにならないように気をつけたいものです。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="検証すべき軸が他にもあることに気付かないケース">検証すべき「軸」が他にもあることに気付かないケース</h3> <p><br /> もう一つは、ある特定の「軸」でのみサンプルないしデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を評価しただけで結論を出してしまい、他の「軸」があり得ることを想定していないというパターンです。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231219/20231219005814.png" width="1086" height="639" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>上図はあくまでも概念図ですが、手に入ったサンプルやデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を定番の軸(ここではx & y軸)に沿って分析してみたところ「AとBとは互いに同質で差がない」という結論に至ったとしましょう。しかし、別の軸(ここではz軸)から見たら実は明確な差があった……というケースを想定しています。</p><br /> <p>流石に一般的なサンプリング調査でここまで露骨な分析軸の見落としをやらかすケースは多くないように思いますが、そうでない市場反応モデル系の分析では割と少なくないように見受けられます。例えば、eコマース商品の「クリック率」には広告の影響は殆ど見られないように見える一方で「(クリックからの)コンバージョン率」には実は影響があったとか、市場反応モデル系の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分析<a href="#f-7a2463e8" id="fn-7a2463e8" name="fn-7a2463e8" title="MMMなど">*3</a>を想定して分析プロジェクトを立案しデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>も集めたが、実際には「刺激→反応」型の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A5%E9%A5%C0%A5%A4%A5%E0">パラダイム</a>に沿わない確率的な生成過程にKPIが従うため<a href="#f-9f288b37" id="fn-9f288b37" name="fn-9f288b37" title="LTVに関するPareto/NBDモデル的なものをご想像あれ">*4</a>、別のアプローチで臨むべきだったといったような話があったりします。</p><br /> <p>これは広告・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分野に限らない話だと思いますが、新規に得られたサンプルやデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>に対して「定番」の調査や分析を適用する際は、どうしても「定番の軸」からのみアプローチしてしまいがちなんですよね。改めて自戒したいところです。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="コメントなど">コメントなど</h3> <p><br /> ふわふわした議論や喩えばかりで分かりにくかったかもしれませんが、僕が言いたかったことが幾許かでも伝われば幸いです。</p><br /> <p>……ちなみに何でこんな話を唐突に書いたかと言いますと、要は「仮説ドリブンで考える」というモットーが往々にして「自分の見たいものを見たいように見て、見えた範囲の中で整合性が取れていればそれが普遍的な真実だと認識してしまう」という行動に繋がりやすく、実際にそういう帰結に至っている人や組織が散見されるからなんですね。</p><br /> <p>これは言うまでもなく「自身が定めた仮説」へのoverfittingそのものであり<a href="#f-24c3fa34" id="fn-24c3fa34" name="fn-24c3fa34" title="全体像としての真実よりノイズに適合するという意味で">*5</a>、果てはある種の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%EB%CC%EE%B6%B9%BA%F5">視野狭窄</a>や最悪の場合<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B1%A2%CB%C5%CF%C0">陰謀論</a>にハマる危険性を秘めており、結果として深刻な迷走状態に陥ってしまうというケースもあるようです。今回はあくまでも僕が主戦場とする広告・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分野に絞って論じましたが、もっと一般的な「個人としての」世界認識や情報の理解といった点でも気をつけたいものです。改めて自戒を込めて(今回はこればっかり)。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-34289cb6" id="f-34289cb6" name="f-34289cb6" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">意図的にやっていた人々も存在するようですが</span></p> <p class="footnote"><a href="#fn-d97d370e" id="f-d97d370e" name="f-d97d370e" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">代表的なものとしては生存バイアス</span></p> <p class="footnote"><a href="#fn-7a2463e8" id="f-7a2463e8" name="f-7a2463e8" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">MMMなど</span></p> <p class="footnote"><a href="#fn-9f288b37" id="f-9f288b37" name="f-9f288b37" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">LTVに関するPareto/NBDモデル的なものをご想像あれ</span></p> <p class="footnote"><a href="#fn-24c3fa34" id="f-24c3fa34" name="f-24c3fa34" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text">全体像としての真実よりノイズに適合するという意味で</span></p> </div> TJO CausalImpactは実装によって中身に重大な差異がある hatenablog://entry/6801883189063090332 2023-12-04T17:00:00+09:00 2023-12-11T17:11:13+09:00 CausalImpactについては、過去にこのブログでも何度か話題にしてきたかと思います。端的に言えば、seasonalityによるバイアスを補正するための実験計画であるDID(Difference in Differences:差分の差分法)によって得られたtest/controlグループの時系列データセットに対して、介入後期間において反実仮想(counterfactual)ベースラインを予測値として与えた上で、これと実測値との差を分析することで介入の因果効果を推定するというものです。以前このブログで取り上げた記事と、ill-identifiedさんの詳細な解説記事とを以下に挙げておきます。… <p>CausalImpactについては、過去にこのブログでも何度か話題にしてきたかと思います。端的に言えば、seasonalityによるバイアスを補正するための実験計画であるDID(Difference in Differences:差分の差分法)によって得られたtest/controlグループの時系列デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>に対して、介入後期間において反実仮想(counterfactual)ベースラインを予測値として与えた上で、これと実測値との差を分析することで介入の因果効果を推定するというものです。以前このブログで取り上げた記事と、ill-identifiedさんの詳細な解説記事とを以下に挙げておきます。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2019%2F09%2F10%2F080000" title="{CausalImpact}を使う上での注意点を簡単にまとめてみた - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fill-identified.hatenablog.com%2Fentry%2F2019%2F10%2F09%2F120000" title=" [R] CausalImpact でできること, できないこと - ill-identified diary" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>実際の使い方については、このブログで取り組んだ事例の記事を以下に挙げておきます。これはコロナ禍における政府の人流抑制策が、現実としてどれくらいの効果があったかを検証しようとしたものです。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F03%2F16%2F170000" title="蔓延防止等重点措置(まん防)の効果検証を「あえて」DID+TSclustによる時系列クラスタリング+CausalImpactでやってみた - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>業界全体を見渡してみても、CausalImpactはここ数年広告・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>業界で急速に広まりつつあるみたいなんですね。理由は簡単で、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分野のデータは時系列で尚且つseasonalityが筆頭に上がるバイアスであり、DID & CausalImpactのコンビネーションはそのようなデータにおいて因果推論する上で最適だからです。特に広告や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策などで何かしらの刺激を市場に与えた際のKPIへのアップリフトを、seasonalityを排除しつつ推定したいというケースではDID & CausalImpactほど便利な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF">フレームワーク</a>はないと言っても過言ではないでしょう。</p><br /> <p>……ところが、最近になって思わぬ問題を業界内で耳にするようになりました。それは「使うCausalImpactのパッケージ次第で分析結果が変わる」というもので、しかも場合によっては介入効果の正負自体が変わってしまうという極端な差異が生じることもある、というのです。今回の記事は、そのような事態が起きる要因を推定した上で、同様の問題が<a class="keyword" href="https://d.hatena.ne.jp/keyword/OSS">OSS</a>では普遍的に起こり得るという点に注意を促すものです。<br /> <br /> </p> <blockquote> <p><span style="color: #ff0000"><strong>Disclaimer</strong></span></p><p>このブログ記事の著者は、CausalImpactの元論文の発表元並びにR実装の開発元である企業に所属しています。</p> </blockquote> <ul class="table-of-contents"> <li><a href="#主要なCausalImpact実装">主要なCausalImpact実装</a></li> <li><a href="#論文に記載されている通りの変数選択は行われているか">論文に記載されている通りの変数選択は行われているか?</a></li> <li><a href="#コメントなど">コメントなど</a></li> <li><a href="#追記">追記</a></li> </ul> <div class="section"> <h3 id="主要なCausalImpact実装">主要なCausalImpact実装</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fgoogle%2FCausalImpact" title="GitHub - google/CausalImpact: An R package for causal inference in time series" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>僕が把握している範囲では、CausalImpactには以下の3つの実装があるようです。まず、オリジナルのR実装。CRANにもリリース当初から上がっています。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fpypi.org%2Fproject%2Fpycausalimpact%2F" title="pycausalimpact" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2FWillianFuks%2Ftfcausalimpact%2Fissues%2F22" title="Is this the replacement for pycausalimpact? · Issue #22 · WillianFuks/tfcausalimpact" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p><a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a>実装としては、最初に発表されたのがpycausalimpactです。<a class="keyword" href="https://d.hatena.ne.jp/keyword/PyPI">PyPI</a>にも入っていて、Pythonistaには割と人気のあるパッケージのようです。ただし、現在その<a class="keyword" href="https://d.hatena.ne.jp/keyword/GitHub">GitHub</a> repoは削除されている模様です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2FWillianFuks%2Ftfcausalimpact" title="GitHub - WillianFuks/tfcausalimpact: Python Causal Impact Implementation Based on Google&#39;s R Package. Built using TensorFlow Probability." class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>もう一つ、直近で発表されている<a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a>実装としてtfcausalimpactがあります。こちらはTensorflow Probability (<a class="keyword" href="https://d.hatena.ne.jp/keyword/TFP">TFP</a>)ベースの実装です。<a class="keyword" href="https://d.hatena.ne.jp/keyword/TFP">TFP</a>のせいか若干計算が遅いっぽいですが、使い勝手は良いと思います。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="論文に記載されている通りの変数選択は行われているか">論文に記載されている通りの変数選択は行われているか?</h3> <p><br /> 上掲の3つのパッケージは、いずれも2015年発表のCausalImpactに関する論文に基づいて実装されているとされます。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fresearch.google%2Fpubs%2Fpub41854%2F" title="Inferring causal impact using Bayesian structural time-series models – Google Research" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231201/20231201151141.png" width="880" height="782" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span style="font-size: 80%"><em>(spike-and-slab事前分布による変数選択を最初に具体的に提唱したとする<a href="https://faculty.wharton.upenn.edu/wp-content/uploads/2012/04/Approaches-for-bayesian-variable-selection.pdf">George &amp; McCulloch&#x306B;&#x3088;&#x308B;1997&#x5E74;&#x306E;&#x8AD6;&#x6587;</a>より)</em></span></p><p>その元論文をよく読むと、spike-and-slab事前分布を使ってcontrol群に対して変数選択を行っていると書かれています。これはCausalImpactがSCM(シンセティック統制法)という「control群のcherry-pickingを避けるために重回帰的に複数のcontrol変数を用いる」仕組みを採用しているためで、そこでいわゆる縮小推定をかけているんですね。これはL1<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C0%B5%C2%A7%B2%BD">正則化</a>とコンセプトは同じで、ある程度自動的にcontrol変数を選び出す(モデル推定上不要なものは0に落とす)というものです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fcran%2Fbsts" title="GitHub - cran/bsts: :exclamation: This is a read-only mirror of the CRAN R package repository. bsts — Bayesian Structural Time Series" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>そこで各実装を見ていくと、まずオリジナルのR実装はバックエンドとして<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>構造時系列モデルの推定エンジンである{bsts}を使っており、実はこれ自体がspike-and-slab事前分布をカバーしています。なのでそもそも元論文通りに変数選択を行っているというわけです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.tensorflow.org%2Fprobability%2Fapi_docs%2Fpython%2Ftfp%2Fsts%2FSparseLinearRegression" title="tfp.sts.SparseLinearRegression  |  TensorFlow Probability" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>次に、tfcausalimpactは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9">ソースコード</a>を読むと<a class="keyword" href="https://d.hatena.ne.jp/keyword/tfp">tfp</a>.<a class="keyword" href="https://d.hatena.ne.jp/keyword/sts">sts</a>.SparseLinearRegressionというメソッドを使っていることが分かるんですが、これがspike-and-slab事前分布とほぼ同等のHorseshoe事前分布を用いており、やはり変数選択を行っていると言えます。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fpypi.org%2Fproject%2Fpycausalimpact%2F" title="pycausalimpact" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ところが、pycausalimpactについては残念ながら元repoが削除されてしまっているので<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9">ソースコード</a>は分かりませんが、docを見る限りでは「statsmodelsでカルマンフィルタとして<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BA%C7%CC%E0%BF%E4%C4%EA">最尤推定</a>を行っている」とだけ書かれていて、変数選択が行われているかどうかはっきりしません。よって確言はしづらいのですが、docのどこにも変数選択の話題もspike-and-slab事前分布の話題も出てこないところを見ると、<strong>変数選択が行われていない可能性がある</strong>ようです。実際、業界内で「CausalImpactの結果に差が出る」という話が出る際に使われているのがこのpycausalimpactであることがままあり、その可能性はゼロではなさそうです。仮に変数選択が行われていない場合、pycausalimpactでcontrol変数を複数置いて分析すると元論文とは異なり「変数選択全く無しの結果」が出てしまうわけで、その差は重大なものになりかねません。</p><br /> <p>念のためstatsmodelsのカルマンフィルタ周りのdocを確認した感じでは、変数選択が行われるようなメソッドは実装されていないように見受けられました。カルマンフィルタなど時系列モデルでなければ当然Lassoとかはあるわけですが、それはまた話が別ですよねということで。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fgoogle%2Ftfp-causalimpact%2Ftree%2Fmain" title="GitHub - google/tfp-causalimpact" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fjamalsenouci%2Fcausalimpact%2Ftree%2Fmaster" title="GitHub - jamalsenouci/causalimpact: Python port of CausalImpact R library" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ちなみに、実は<a class="keyword" href="https://d.hatena.ne.jp/keyword/Google">Google</a>からリリースされている<a class="keyword" href="https://d.hatena.ne.jp/keyword/TFP">TFP</a> CausalImpactという実装と、5番目のCausalImpact野良実装というのがあります。前者は読んで字の如くTensorFlow Probability (<a class="keyword" href="https://d.hatena.ne.jp/keyword/TFP">TFP</a>)ベース、後者はPyMCベースで実装されていて、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9">ソースコード</a>を見るとどちらも<a href="https://qiita.com/Kuno3/items/31a81084fdf515a20d45">Bayesian Lasso</a>と思しき<a class="keyword" href="https://d.hatena.ne.jp/keyword/TFP">TFP</a> / PyMCのコードが見えるので、恐らくですが元論文と同様の変数選択は行われているとみなして良いかと思われます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="コメントなど">コメントなど</h3> <p><br /> あくまでも一般論ですが、「論文の手法を実装してみた」パッケージというのはCausalImpactに限らず沢山ある一方で、割と「論文通りに実装されていない」ケースは少なくないと業界内では聞きます。それには様々な理由があり得ますが、少なくともCausalImpactのケースに即して言えば「似たような計算を行うもう少し簡易な実装」を選んだことで、元論文が意図した要素が抜け落ちてしまった……ということのようです。</p><br /> <p>このご時世では、最新の注目手法の多くが論文が出たそばからどんどん実装されていき、<a class="keyword" href="https://d.hatena.ne.jp/keyword/GitHub">GitHub</a>やCRAN / <a class="keyword" href="https://d.hatena.ne.jp/keyword/PyPI">PyPI</a>のようなrepoに上がって公開されるのがすっかり平常運行になっていますが、なればこそその「実装の中身」がどうなっているかをきちんと<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9">ソースコード</a>を読んで確認することも時には必要なのかな、と思う次第です。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="追記">追記</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqiita.com%2Fnekoumei%2Fitems%2F648726e89d05cba6f432" title="「効果検証入門」をPythonで書いた - Qiita" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>実際にpycausalimpactでR版CausalImpactの挙動を再現できなかったケースが、こちらのQiita記事に出ていました。ご参考までに。</p> </div> TJO データセットの本質的な性質を踏まえないデータ分析には、大抵何の意味もない hatenablog://entry/6801883189052782212 2023-11-11T19:51:06+09:00 2023-11-12T15:21:38+09:00 前回のブログ記事は、論文紹介という地味なテーマだったにしてはだいぶ話題を呼んだ*1ようで、個人的にはちょっと意外な感があったのでした。確かに、今をときめくTransformerにも苦手なものがあるという指摘は、NN一強の現代にあってはセンセーショナルなものと受け止められても不思議はなかったかと思います。しかし、それは同時に「データセットが持つ本質的な性質」と「データ分析手法の性質」とのミスマッチと、それが引き起こす問題とについてこれまであまり関心を持ってこなかった人が多いということなのかもしれません。そして、そのミスマッチは冗談でなく古来からある程度定まった類型があり、データ分析業界の古参なら… <p>前回のブログ記事は、論文紹介という地味なテーマだったにしてはだいぶ話題を呼んだ<a href="#f-072ec1df" id="fn-072ec1df" name="fn-072ec1df" title="はてブが伸びたという意味">*1</a>ようで、個人的にはちょっと意外な感があったのでした。確かに、今をときめくTransformerにも苦手なものがあるという指摘は、NN一強の現代にあってはセンセーショナルなものと受け止められても不思議はなかったかと思います。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2023%2F10%2F21%2F185228" title="「機械学習で時系列予測はできるのか」論議がTransformerと共に帰ってきた - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>しかし、それは同時に「デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>が持つ本質的な性質」と「データ分析手法の性質」とのミスマッチと、それが引き起こす問題とについてこれまであまり関心を持ってこなかった人が多いということなのかもしれません。そして、そのミスマッチは冗談でなく古来からある程度定まった類型があり、データ分析業界の古参なら「そんなの常識だよ」というものばかりだったりします。</p><br /> <p>ところが、最近僕の周囲でもそういうミスマッチが深刻な実問題を招いているケースが散見され、思ったよりもそれは常識ではないのかな?と思わされることが少なくないんですね。ということで、今回の記事ではとりあえず僕自身が「あるある」だと認識している「デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>の本質的な性質とデータ分析手法の性質とのミスマッチ」の代表的なケースを3つ挙げてみようかと思います。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#ABテストの条件統制が遵守されないケース">A/Bテストの条件統制が遵守されないケース</a></li> <li><a href="#データそのものの性質が分析手法の特性と噛み合わないケース">データそのものの性質が分析手法の特性と噛み合わないケース</a></li> <li><a href="#ビジネスの性質上どうしてもデータのバイアスが残るケース">ビジネスの性質上どうしてもデータのバイアスが残るケース</a></li> <li><a href="#コメントなど">コメントなど</a></li> </ul> <div class="section"> <h3 id="ABテストの条件統制が遵守されないケース">A/Bテストの条件統制が遵守されないケース</h3> <p><br /> これは新薬治験・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B1%D6%B3%D8%C4%B4%BA%BA">疫学調査</a>などでは頻出<a href="#f-f5454632" id="fn-f5454632" name="fn-f5454632" title="故にIntention-to-Treat, ITTというアプローチがある">*2</a>なので医療統計分野の方々なら見慣れた話かもしれませんが、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分野だと意外と誰も事前に想定していないことが多かったりするので、割と有名な落とし穴だったりします。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231111/20231111190559.png" width="1037" height="500" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>一旦ここでは単<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BD%E3%B2%BD">純化</a>のためRCTを想定しますが、一般にA/Bテストといったらサンプルをテスト群とコン<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C8%A5%ED%A1%BC%A5%EB">トロール</a>群に分けて、テスト群にだけ施策(介入)を行い、測定された指標の差を「施策によるアップリフト」であるとみなすという手続きを取ります。この辺のお作法や取り決めのことを「実験計画」と呼ぶわけです。</p><br /> <p>ところが、世の中には定められた実験計画が守られないケースが少なくないんですね。割と頻繁に聞くのが「コン<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C8%A5%ED%A1%BC%A5%EB">トロール</a>群にだけ何も<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策をやらないのは重大な機会損失なので現場の判断で勝手にいくつか違う施策を打った」みたいなケースで、他にも個々のサンプルが店舗だったりすると「各店舗の方針で勝手に実験計画と無関係にキャンペーンを展開していた」なんてこともあったりします。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231111/20231111190909.png" width="1037" height="500" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>そうなると、A/Bテストというのは「施策(介入)に効果がなければアップリフトは無し」という結果になるはずなのに、何と「コン<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C8%A5%ED%A1%BC%A5%EB">トロール</a>群の方にアップリフトが見られる」などというあべこべな結果になってしまったりするんですね。</p><br /> <p>この問題は事前に実験計画をサンプル全体に確実に遵守させられる範囲にサンプルを絞ってA/Bテストを行うとか、もしくは分析する前に実際のキャンペーン実施状況の情報を集めてnon-compliantなサンプルを除外するといった対策が必要なんですが、それをせずに漫然とA/Bテストをやって「テスト群の方が有意に低いとは???」となってしまっている現場は珍しくも何ともありません。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="データそのものの性質が分析手法の特性と噛み合わないケース">データそのものの性質が分析手法の特性と噛み合わないケース</h3> <p><br /> これはまさに前回の記事で指摘したケースですね。完全に繰り返しになりますが、特に経済・社会的時系列データには「切片・トレンドに対して一定期間に渡り平均回帰的に振る舞う傾向がある」「時々レ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>ムスイッチがある」というような古くから良く知られる特性があり、計量時系列分析分野ではこれを踏まえた分析手法が連綿と編み出されてきたという経緯があります。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231023/20231023154537.png" width="1200" height="886" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>そういった一般的な時系列データに対しては、過去に遡ってポイントごとに顕著な特徴量を拾っては「比較的長期間に渡って互いの関係性が保たれる」という前提でモデルの学習を行うself-attentionベースのTransformerは相性が悪いようだ、というのが前回の記事で紹介した論文の趣旨でした。</p><br /> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分野を含む経済・社会的時系列データの多くはそもそも非定常で様々な系列相関を伴うことが多いのですが、これに対して平然と線形性を強く仮定する分析手法を適用した挙句、不可解な結果が返ってきて処置に窮するというケースは自分の周囲でも時折目にします。少なくとも一般的な時系列データの分析に際しては、最低でも系列相関を事前に除去or補正しておくべきですし、できれば世の中に数多ある線形性の仮定が強い分析手法を使うのは取りやめて計量時系列分析分野の手法に換える、といった対応が必要だと思われます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="ビジネスの性質上どうしてもデータのバイアスが残るケース">ビジネスの性質上どうしてもデータのバイアスが残るケース</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2017%2F09%2F22%2F190000" title="実務の現場に多い時系列データ分析の際に注意しておきたい点を列挙してみる - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>これは以前の記事でも触れたことがありますね。分かりやすい例でいうと、MMM (Media/Marketing Mix Models)が好例ですね。MMMというと一般には売上高などを目的変数に置いて、広告・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策の投下金額やボリュームを説明変数として、回帰分析を行うものです。これだけ聞けば何も難しいことはないんですが、世の中の多くのビジネスの現場で現実に行われている<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策運用を見る限りでは、これがすんなり通るケースは想像以上に狭い範囲に限られます。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231106/20231106185641.png" width="829" height="449" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>例えば、世の中では結構な数の企業が「年末」「年始」「新学期」「夏場」「冬場」「ハロウィン」「〇〇記念日」などのごくごく限られた短い時期だけに限って大型キャンペーンとして集中的にTVCMやら動画やらチラシやらの広告・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策を打つ一方で、その他の時期(うっかりすると1年の残り51週とか)はほぼ何も広告・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策を打っていなかったりします。まさに上図のような状況です。</p><br /> <p>このような事態を避けるためには「平常時からある程度広告・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策を打つタイミングを満遍なくバラけさせておく」必要があるのですが、先述のA/Bテストの話題でも触れたように「世の中の消費行動が集中するタイミングで手を拱いていたら機会損失になる」「世間の注目が低いタイミングで<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>をやるのは予算の無駄遣い」ということで、頑として従前通りいつもの大型キャンペーン期間に集中させて莫大な金額の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>予算を突っ込んでいるという話は正真正銘の「業界あるある」談義です。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231106/20231106185910.png" width="843" height="519" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>そういった極端なデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>に対して普通に回帰分析を行うと、上のような結果になってしまいます<a href="#f-b454f982" id="fn-b454f982" name="fn-b454f982" title="ちなみにプロット元のデータはわざわざRで乱数生成させていて、普通にそこからVIFを出したりlm関数で回帰分析までやってます笑">*3</a>。即ちこれだけ典型的な多重共線性<a href="#f-f7eb3b5f" id="fn-f7eb3b5f" name="fn-f7eb3b5f" title="multicolinearity: 一般に「マルチコ」と呼ばれる">*4</a>を伴うデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>においてはVIF統計量は殆どの説明変数で異常に高くなってしまい、その<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%F6%C1%B3%A4%CE%B5%A2%B7%EB">当然の帰結</a>としてキャンペーンの時だけ大量投下されている広告の評価は異常に高くなる一方で、細々とalways onしている広告の評価は見かけ上極端に下がってしまうということになったりします。</p><br /> <p>よって、この手のMMMのような分析を行うためにはそもそも論として先述したように「普段から多重共線性が生じないようにバランス良く上手く施策をばらけさせて実施する」ようにしていなければならないのですが、これが出来ていない現場はもはや枚挙に遑がないと言っても過言ではないでしょう。これは分析する以前の問題なのです。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="コメントなど">コメントなど</h3> <p><br /> 記事タイトルにも掲げたように「デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>の本質的な性質を踏まえない」データ分析には意味がないわけですが、今回挙げた3つのケースでは「そもそもある『定番』のデータ分析手法で分析を行って意味のある結果が返ってくるデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>になっていない」と言った方が適切なのかなという気がしてきました。実は、どのケースでも「定番ではない」データ分析手法を選ぶか、さもなくば分析に至るアプローチを換えるかすれば、ある程度対応できるものばかりなんですね。</p><br /> <p>けれども、誰もがそのように超柔軟に対応できるわけではありません。うっかりすると、役員会レベルで「〇〇の分析を△△で行いその結果をもとに次の戦略を決める」と事前に決め打ちされた上で実際に〇〇の分析を△△で行うためにデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を集めてこざるを得ない……けれどもデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を集めてみたら△△には適さない代物だった、だが役員会にどう報告すれば分からず窮する、ということの方が多いのではないでしょうか。</p><br /> <p>そういう「今更言われてももう遅い」的な事態に陥らないように、本来であればデータ分析を担う立場の人々の方が平時から積極的に(役員会とは限らず)経営に関わるゾーンの人々に働きかけていって、「データ分析を行って意味のあるデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>が得られるように普段からビジネスを展開する」というのが多分理想像なのでしょう。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F11%2F06%2F120000" title="実験科学の考え方を転じて「ビジネスサイエンス」にする - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>そういう観点から言えば、「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EA%A5%A2%A5%EB%C5%B9%CA%DE">リアル店舗</a>A/Bテスト」「全社内データ電子化」「社員全員<a class="keyword" href="https://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」を貫くワークマン社のような姿勢が、他の多くの企業にも求められるということだと思われます。無論ワークマン社ほどの取り組みはどんな企業であれ一朝一夕には実現できないと思いますが、少なくとも「普段から分析に適したデータ環境を作る」「特定のデータ分析手法にこだわり過ぎない」ぐらいの取り組みはどの現場でも可能なのではないでしょうか。</p><br /> <p>個人的な願望を言えば、少なくとも企業社会のビジネスの現場におけるデータ分析は、Boxの格言をなぞれば「得られる結果は真ではないかもしれないが最低でも役に立つようにやるべき」ものだと僕は考えています。その「最低でも役に立つ」を担保するのは「事前のデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>準備と最適な分析手法の選択」であるケースがほぼ全てなんですよね。</p><br /> <p>言い方を変えると「分析は始める前から既に成否が決まっている」わけで、是非読者の皆様におかれましては分析を始める前のデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>の準備(場合によってはデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>の「発生源」の適正化)から注力していただければと願う次第です。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-072ec1df" id="f-072ec1df" name="f-072ec1df" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A5%D6">はてブ</a>が伸びたという意味</span></p> <p class="footnote"><a href="#fn-f5454632" id="f-f5454632" name="f-f5454632" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">故にIntention-to-Treat, ITTというアプローチがある</span></p> <p class="footnote"><a href="#fn-b454f982" id="f-b454f982" name="f-b454f982" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">ちなみにプロット元のデータはわざわざRで乱数生成させていて、普通にそこからVIFを出したりlm関数で回帰分析までやってます笑</span></p> <p class="footnote"><a href="#fn-f7eb3b5f" id="f-f7eb3b5f" name="f-f7eb3b5f" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">multicolinearity: 一般に「マルチコ」と呼ばれる</span></p> </div> TJO 「機械学習で時系列予測はできるのか」論議がTransformerと共に帰ってきた hatenablog://entry/820878482972190561 2023-10-21T18:52:28+09:00 2023-10-21T18:54:05+09:00 先日、こちらのポストをお見かけしました。AI技術開発部の高橋が社内勉強会の資料「時系列予測にTransformerを使うのは有効か?」を公開しました。論文Are Transformers Effective for Time Series Forecastingの紹介を中心に、時系列予測について解説しています。ぜひご覧ください。https://t.co/LplxTT8b1d pic.twitter.com/nUXb4bGiQ3— GO Inc. AI Tech (@goinc_ai_tech) 2023年9月28日 なるほど、NN全盛というかNN一択の時代にあっては時系列予測もNNでやるのが当… <p>先日、こちらのポストをお見かけしました。</p><p><blockquote data-conversation="none" class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">AI技術開発部の高橋が社内勉強会の資料「時系列予測にTransformerを使うのは有効か?」を公開しました。<br>論文Are Transformers Effective for Time Series Forecastingの紹介を中心に、時系列予測について解説しています。ぜひご覧ください。<a href="https://t.co/LplxTT8b1d">https://t.co/LplxTT8b1d</a> <a href="https://t.co/nUXb4bGiQ3">pic.twitter.com/nUXb4bGiQ3</a></p>&mdash; GO Inc. AI Tech (@goinc_ai_tech) <a href="https://twitter.com/goinc_ai_tech/status/1707326783463235621?ref_src=twsrc%5Etfw">2023年9月28日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </p><p>なるほど、NN全盛というかNN一択の時代にあっては時系列予測もNNでやるのが当たり前になったのだなという感想でした。大昔「沖本本」で古典的な計量時系列分析を一通り学んだ身としては隔世の感がありますが、これもまたNN時代の趨勢なのでしょう。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Farxiv.org%2Fabs%2F2205.13504" title="Are Transformers Effective for Time Series Forecasting?" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fhuggingface.co%2Fblog%2Fautoformer" title="Yes, Transformers are Effective for Time Series Forecasting (+ Autoformer)" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>なお、元論文2点は上記リンクから辿れます。ただし、<a href="https://www.slideshare.net/ssuser369dbc/transformer-261229829">Slideshare&#x306E;&#x307E;&#x3068;&#x3081;</a>を読んだ方が分かりやすい(というか論文自体は短くて素っ気ない)と思いますので、どちらかというとまとめの方を参照された方が良いでしょう。</p><br /> <p>……ただ、個人的な感想を書いてしまうと「ああまた相変わらず同じテーマで使うML技法を変えて堂々巡りしているな」と思ったのも事実です。そこで今回の記事では、過去に同様の議論をした際のポイントをおさらいしつつ、改めて「Transformerで時系列予測を行うのは是か非か」について論じてみようと思います。なお、僕はTransformerについてはど素人を通り越して「知ったかぶりが出来ているかどうかも怪しい」レベルの理解しかありませんので、完全なデタラメを書いている可能性が自分でも否定できません。ということで、誤りや理解不足などの点があれば是非ご指摘いただけると有難いですm(_ _)m<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#Transformerよりもただの線形自己回帰の方が時系列予測に強いという論文">「Transformerよりもただの線形自己回帰の方が時系列予測に強い」という論文</a></li> <li><a href="#時系列のドリフトは機械学習では扱いづらいのか">時系列のドリフトは機械学習では扱いづらいのか</a></li> <li><a href="#Transformerに固有の問題があり得るのか">Transformerに固有の問題があり得るのか</a></li> </ul> <div class="section"> <h3 id="Transformerよりもただの線形自己回帰の方が時系列予測に強いという論文">「Transformerよりもただの線形自己回帰の方が時系列予測に強い」という論文</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20231021/20231021163200.png" width="1200" height="368" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>今回話題を呼んだ論文Zeng et al. (2022)は、単変量時系列の予測に対して4種類のTransformer NNと3種類の単純な線形回帰(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B0%DC%C6%B0%CA%BF%B6%D1">移動平均</a>や自己回帰などを使った1層の線形モデル)の4種類の予測モデルを用意し、幾つかの典型的な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C8%F3%C0%FE%B7%C1">非線形</a>時系列データの予測を行わせてみた結果を比較したものです。</p><br /> <p>その詳細がFigure 3に出ていますが、これが面白いくらい「Transformer NNたちがことごとくただの線形回帰に予測精度で負けている」んですね。代表的なデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>3つにおける実験結果がここでは紹介されているわけですが、物の見事にTransformerは状態変化(しかも予測開始点よりもずっと手前のもの)や周期性やトレンドに追従できていないどころか明後日の方向に飛んでしまっているものが多く、まだ惰性で微妙に外した感じの予測を示している線形回帰の方が精度という点では上回っているという惨憺たる結果になっています。</p><br /> <p>これに対してHugging Faceがブログで「そんなことはない」という趣旨の考察を展開していたようですが、僕が斜め読みしてみた感想としてはあまり本質的な議論ではないところにこだわっているという印象でした。というより、「それはTransformerそのものの擁護になっていないのではないか」という論旨展開が目立つように感じました。どちらかというと「その議論は計量時系列分析分野で散々言われてきた話なので何が新しいのか良く分からない」と言った方が良いかもしれません。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="時系列のドリフトは機械学習では扱いづらいのか">時系列のドリフトは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>では扱いづらいのか</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2019%2F09%2F18%2F190000" title="一般的な時系列のモデリング&予測に、機械学習系の手法よりも古典的な計量時系列分析の方が向いている理由を考えてみた(追記あり) - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>4年前の記事でも簡易的なシミュレーションをもとに考察したことがありますが、今でも基本的には大半の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>モデルはNNであろうとそうでなかろうとある程度「平均回帰的なパート」を学習&予測の対象としており、トレンドや周期性などの「系列相関的なパート」は扱いづらいままだと見て良いかと思います。その点で、ARIMAモデルのように平均回帰的なパート(線形自己回帰)と系列相関的なパートをあらかじめ分離し、別々に扱うことで予測性能を確保する計量時系列分析的なアプローチが生き残る余地があったのでしょう。</p><br /> <p>一方でHugging Faceのブログ記事でも指摘されているように、最近の時系列<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>モデルはそれらの系列相関的なパートを分離して別に扱う工夫がされており、その上でTransformerのように時系列データを遡って特徴的なサンプルをattentionで捉え、予測に活かすというアプローチが取られてきたように見えます。4年前の記事を書いた際にも、いくつかそのようなコメントをいただいたものです。</p><br /> <p>しかしながら、今回のZeng et al. (2022)の実験結果を見る限りでは、Transformerは時系列にありがちな状態変化やドリフトに対して「追従すべきところで追従できない」「平均回帰すべきところで平均回帰できない」という結果になっています。これはHugging Faceブログでも指摘されているように「サンプルサイズが十分に大きければ解決できるはず」なのかもしれませんが、他方で現状のサンプルサイズでもただの線形回帰の方がマシな結果を返していることを考えれば良いdefenseとは言えないように思います。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="Transformerに固有の問題があり得るのか">Transformerに固有の問題があり得るのか</h3> <p><br /> ここからは僕個人の憶測というか妄想ですが、例えばただの線形回帰なりARIMAや状態空間モデル系の線形<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%B8%CA%B2%F3%B5%A2%A5%E2%A5%C7%A5%EB">自己回帰モデル</a>たちなら「ある程度のタイムラグ幅まで過去に遡って学習できる限りは個々の自己回帰係数が互いに対等に推定されるので<strong>『これまでのトレンドは(途中ドリフトや状態変化があればそれ以降のトレンドは)今後も続く』という一般的な時系列データの性質</strong>にバランス良く追従できる」ということなのでしょうが、これがTransformerになると「attentionが過去サンプルの重要性にバラバラに重みづけをかけてしまうためにサンプルサイズが小さいと容易に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B2%E1%B3%D8%BD%AC">過学習</a>してしまいドリフトや状態変化があると追従できない」ということなのかもしれません。</p><br /> <p>それが、上の方で挙げたFigure 3にも<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C7%A1%BC%C2%A4%CB">如実に</a>現れているように見える気がします。例えば(a)では「途中の状態変化(レ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>ムスイッチ)後は平均回帰的」という元データの挙動に対して、線形回帰だけがレ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>ムスイッチ+平均回帰という予測をしており、Transformerはレ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>ムスイッチを無視して平均回帰だけさせています。(b)では「一定の(下降)トレンド+途中でインパルス」という元データの挙動に対して、線形回帰だけが一定下降トレンドという予測をしているものの、Transformerは何故か平均回帰させてしまったり直前の僅かな落ち込みに<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B2%E1%B3%D8%BD%AC">過学習</a>して階段状の急激な下降トレンドを予測してしまっています。(c)はいかなるモデルでも予測が難しいタイプの「途中で大きなドリフト下降があって以後は平均回帰的」という元データなんですが、これも線形回帰は学習データの最後のラインから平均回帰するように予測しているにもかかわらず、Transformerだと勝手にそこより低いラインから平均回帰させてしまったりしています。</p><br /> <p>結局、Transformerご自慢の(self-)attentionという仕組みと、世の中に溢れる一般的な時系列データが持つ「トレンド」「周期性」「ドリフト」「レ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>ムスイッチ」といった気まぐれ感ある特徴との相性が悪い、というのが今回のZeng et al. (2022)で明らかになったポイントなのかな?と個人的には感じています。それはやはり、Transformerが良くも悪くも「個々のサンプル(単語やフレーズ)がその重要性を変化させながら常に前後しばらく離れたところまで関係性を保ち続ける」<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC">自然言語</a>テキストを扱うために作られたモデルであるが故の問題なのかもしれません。</p><br /> <p>ただし、Transformerと例えばARIMAとが自己回帰的なモデル同士であることに変わりはないわけで、この辺の問題はネットワーク構造の工夫で解決可能なのではないかという気が素人考えながらしています。引き続き「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>で時系列予測はできるのか」問題については、今後もフォローしていこうと思う次第です。</p> </div> TJO ビジネスにサイエンスを持ち込むということ hatenablog://entry/820878482971038712 2023-09-29T17:00:00+09:00 2023-09-29T17:00:04+09:00 先日、『しっかり学ぶ数理最適化 モデルからアルゴリズムまで (KS情報科学専門書)』の梅谷先生がこんなポスト(ツイート)をされているのを拝見したのでした*1。個人的には「学問的なものでビジネスのボトルネックを解消する」や「学問的なものでビジネスモデルや業務プロセスをひっくり返す(変革する)」を意識してる。ビジネスモデルや業務プロセスを分析して、解消すべきボトルネックを見つけることから着手した方がスムーズかなと思ってる。 https://t.co/F2SBY57Vt7— Umepon (@shunji_umetani) 2023年9月25日 既にこのブログでも何度も述べていますが、いわゆる「デー… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230927/20230927222412.png" width="1200" height="675" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>先日、『<a href="https://www.amazon.co.jp/dp/B08T9JT543?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1">しっかり学ぶ数理最適化 モデルからアルゴリズムまで (KS情報科学専門書)</a>』の梅谷先生がこんなポスト(ツイート)をされているのを拝見したのでした<a href="#f-39ec5345" name="fn-39ec5345" title="なお『しっかり学ぶ〜』は以前に書籍版をご恵贈いただいており、拝読して大変勉強になりました。数理最適化に関心のある方にはご一読を強くお薦めします">*1</a>。</p><p><blockquote data-conversation="none" class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">個人的には「学問的なものでビジネスの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DC%A5%C8%A5%EB%A5%CD%A5%C3%A5%AF">ボトルネック</a>を解消する」や「学問的なものでビジネスモデルや業務プロセスをひっくり返す(変革する)」を意識してる。ビジネスモデルや業務プロセスを分析して、解消すべき<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DC%A5%C8%A5%EB%A5%CD%A5%C3%A5%AF">ボトルネック</a>を見つけることから着手した方がスムーズかなと思ってる。 <a href="https://t.co/F2SBY57Vt7">https://t.co/F2SBY57Vt7</a></p>&mdash; Umepon (@shunji_umetani) <a href="https://twitter.com/shunji_umetani/status/1706153823734288395?ref_src=twsrc%5Etfw">2023年9月25日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </p><p>既にこのブログでも何度も述べていますが、いわゆる「データサイエンス」がここ10年の企業社会におけるビジネスに変革をもたらしているということは論を俟たないと思います。その観点から言えば、程度問題ながら「学問的なものでビジネスの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DC%A5%C8%A5%EB%A5%CD%A5%C3%A5%AF">ボトルネック</a>を解消する」「学問的なものでビジネスモデルや業務プロセスをひっくり返す」という営みは、既にビジネスの場たる産業界には定着しつつあると言えるでしょう。</p><br /> <p>しかしながら、ビジネスの現場に身を置く立場からすると「学問的なもの」が浸透しているという印象は弱く、あくまでも「データサイエンス」(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>とその関連分野)という一領域が市民権を得つつあるに過ぎない、という感があります。そこで、今回の記事では<s>最近ネタ切れなのもありまして</s>「ビジネスにサイエンスを持ち込む」とはどういうことなのか、というテーマ<a href="#f-37dbcd96" name="fn-37dbcd96" title="実はこのテーマで何かを書いていまして(以下自粛)">*2</a>について考察してみようと思います。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#100年以上も前から存在する科学的管理の概念">100年以上も前から存在する「科学的管理」の概念</a></li> <li><a href="#データサイエンスはビジネスにおけるサイエンスなのか">「データサイエンス」はビジネスにおけるサイエンスなのか</a></li> <li><a href="#今後のビジネスにおけるサイエンスの立ち位置とは">今後のビジネスにおけるサイエンスの立ち位置とは</a></li> </ul> <div class="section"> <h3 id="100年以上も前から存在する科学的管理の概念">100年以上も前から存在する「科学的管理」の概念</h3> <p><br /> これは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B7%D0%B1%C4%B3%D8">経営学</a>を学んだり<a class="keyword" href="https://d.hatena.ne.jp/keyword/MBA">MBA</a>を取ったことのある方ならご存知のことと思いますが、ビジネス(経営)において科学的アプローチを活かそうという試みは実は100年以上も前からある考え方なんですね。世に言う「科学的管理」という概念です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fja.wikipedia.org%2Fwiki%2F%25E7%25A7%2591%25E5%25AD%25A6%25E7%259A%2584%25E7%25AE%25A1%25E7%2590%2586%25E6%25B3%2595" title="科学的管理法 - Wikipedia" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D5%A5%EC%A5%C7%A5%EA%A5%C3%A5%AF">フレデリック</a>・W・テイラーが1911年に著した、その名もズバリ『科学的管理法』という書籍にその詳細が書かれていて実に興味深いです。例えば、テイラーは製鋼所で労働者たちに「これから与える指示を遵守する限りは高い報酬を約束する」「その代わり指示を守れない場合は解雇する」と厳命した上で、様々な「肉体労働における業務ルールと生産性との関係」に関する実験を行っています。そのうちの一つ、鉱石をシャベルですくって貨車から移し替える作業に関する実験では、労働者たちにシャベルで一度にすくう量を変えさせながら、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C8%E8%CF%AB">疲労</a>度や休憩に要する時間なども考慮した上で一日当たりの鉱石移動量を算出し、「一度にシャベルですくうべき最適量」を算出しています。また、その結果に基づいて最適量を確実にすくえるシャベルを特注して全員に支給するという「アウトプット」まで用意していました。</p><br /> <p>「科学的なアプローチで経営上の課題を解決し、その解決策をも実践する」という、現代にも通じるマネジメントのためのサイエンスという取り組みが既にこの頃からなされていたわけです。割と近年まで「ビジネスのためのサイエンス」という考え方は洋の東西を問わず久しく忘れ去られていたようにも見受けられますが、その萌芽は実は20世紀の初頭に現れていたのでした。</p><br /> <p>一つ重要な点を挙げるとすれば、テイラーは「根拠があり客観的に誰が見ても納得する最適解を得るため」に科学的管理法を実践していたように見える、ということでしょう。即ち、普遍的真実というのは言い過ぎにしても、現代的に言えばevidence basedな知見を得て、それに拠って意思決定することを目指していたのではないでしょうか。言うなれば「正しい意思決定」のためのサイエンス、ということかなと。</p><br /> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/MBA">MBA</a>の教科書などを読めば分かりますが、これは現代の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B7%D0%B1%C4%B3%D8">経営学</a>から見たマネジメントの概念の元祖の一つとされているようです。一方でこの科学的管理法に対する批判や反発もその後続々と出てくるようになり、紆余曲折が100年ぐらい続いた後に現代的な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B7%D0%B1%C4%B3%D8">経営学</a>やマネジメントの考え方へと繋がっていっていると見られます。本当はもっと厳密な議論があるということが<a class="keyword" href="https://d.hatena.ne.jp/keyword/MBA">MBA</a>や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B7%D0%B1%C4%B3%D8">経営学</a>のテキストでも指摘されていますが、僕の専門ではないのでここでは一旦置いておきます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="データサイエンスはビジネスにおけるサイエンスなのか">「データサイエンス」はビジネスにおけるサイエンスなのか</h3> <p><br /> では、2010年代から本格的に勃興した「データサイエンス」は、ビジネスにおけるサイエンスなのでしょうか? この点については、多分業界内でも議論が分かれるのではないかと考えています。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F11%2F06%2F120000" title="実験科学の考え方を転じて「ビジネスサイエンス」にする - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>例えば「すごいデータ活用」で名高いワークマン社は、確かにデータ活用によってロジカルかつ合理的な経営を推進していますが、「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EA%A5%A2%A5%EB%C5%B9%CA%DE">リアル店舗</a>A/Bテスト」すら敢行する同社の姿勢は明らかに「科学的(サイエンティフィック)」と言っても差し支えないでしょう。それは、全ての数値的なものを徹底して電子化し、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%C5%C6%FE">仕入</a>れから売り上げから来客数に至るまであらゆる数字が電子データとして処理することが可能になったがゆえに、「ビジネスの場でサイエンスをする」ことが容易になったということが大きいものと思われます。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2023%2F06%2F09%2F170000" title="シュートを外した後で、ゴールポストを動かして「入っていた」ということにしてはいけない - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>しかしながら、データ分析<a href="#f-0000ce1c" name="fn-0000ce1c" title="というより帰無仮説有意差検定">*3</a>の「使い方」によってはサイエンスの名に悖る事態に発展してしまうことも珍しくありません。上記の以前のブログ記事で論った件は好例で、統計分析を「欲しい結果にお墨付きを与えるための方便」として使わんとしたがために、むしろサイエンティフィックというには程遠い帰結に至っています。ただ、そのように「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B4%A1%BC%A5%EB%A5%DD%A5%B9%A5%C8">ゴールポスト</a>の方を動かす」が如き統計分析の使い方<a href="#f-2be0638a" name="fn-2be0638a" title="即ちQRPs">*4</a>が蔓延している科学研究分野も少なくない<a href="#f-726e5523" name="fn-726e5523" title="[https://tjo.hatenablog.com/entry/2022/07/06/170000:title]">*5</a>ので、どちらかというと基礎科学研究としてのサイエンスの方こそしっかりしろと叱咤したい感もあるのが嘆かわしいところです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fnote.com%2Fshinu%2Fn%2Fn5f4dd322621b" title="「情報」には「データ」と「インテリジェンス」がある|データ分析とインテリジェンス" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>一方で、意思決定のために情報を扱うのはサイエンスではなく「インテリジェンス」ではないか、とは畏友しんゆうさんの長年の主張で、この点には僕も首肯する次第です。その意味では、現在のビジネスにおけるデータサイエンスはサイエンスというよりインテリジェンスとして用いられていると言った方が適切なのかもしれません。</p><br /> <p>とは言え、かつて基礎科学研究に従事する科学者(サイエンティスト)だった身としては、僕個人としてはデータサイエンスはやはり「普遍的で汎化され得る何か」を得るための「サイエンス」であって欲しい、という願望があります。もう少し踏み込んで言えば、冒頭に引用した梅谷先生の言にもあるようにやはり「サイエンスこそがビジネスの現実の課題を突破するブレイクスルーとなって欲しい」という、素朴な期待感と身贔屓があるからです。</p><br /> <p>一つ難しいと思われる点は、少なくとも僕の観測範囲に限って言えば「ビジネスの場におけるサイエンス」として現在受容され得るのはどう見ても「データサイエンス」だけに留まる、という点でしょうか。つまり、データサイエンスが人口に膾炙した結果として遍く企業社会では広くその意義が理解されるようになった一方で、科学的(サイエンティフィック)な物の考え方そのものは今もあまり理解されていないということです。もっと具体的に言えば、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A2%CC%B5%B2%BE%C0%E2">帰無仮説</a>有意差検定や統計的学習モデルは広く受け入れられるようになったにもかかわらず、うっかりすると交差検証や再現性といった概念はないがしろにされることが未だにある、という話です。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="今後のビジネスにおけるサイエンスの立ち位置とは">今後のビジネスにおけるサイエンスの立ち位置とは</h3> <p><br /> 上述したように、データサイエンスの勃興と浸透は明らかにビジネスの世界に「サイエンス」を幾許かでも持ち込む結果になった、というのが僕の認識です。他方で、「データサイエンス(サイエンスではない)」が人口に膾炙した帰結として「サイエンスの考え方」は未だにビジネスの世界に定着したとは言い難い、という現実もあると見ています。それは「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B4%A1%BC%A5%EB%A5%DD%A5%B9%A5%C8">ゴールポスト</a>の方を動かしてしまう」事例が相次いでいるのを見れば明らかです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fja.wikipedia.org%2Fwiki%2F%25E7%25A7%2591%25E5%25AD%25A6%25E7%259A%2584%25E6%2596%25B9%25E6%25B3%2595" title="科学的方法 - Wikipedia" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>加えて、現状のビジネスにおけるサイエンスというのは既に見てきたように、正確には「科学的方法」のことを指していると解釈した方が良いでしょう。即ち、「断片化された散在している雑情報あるいは、『新たに実験や観測をする必要がある未解明な対象』に関連性、法則を見出し、立証するための体系的なアプローチ」を取ることそのものが、ビジネスの場においては「サイエンス」だと見做されており、実際にそのように機能することがサイエンスに求められているということです。上記の<a class="keyword" href="https://d.hatena.ne.jp/keyword/Wikipedia">Wikipedia</a>記事には幾つかの切り口が紹介されていますが、少なくとも現在のビジネスの世界においてはサイエンスが持つ「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C4%EA%CE%CC">定量</a>性」という側面を活用しているように見受けられます。A/Bテストが様々な業界で行われるようになったのも、効果検証の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C4%EA%CE%CC">定量</a>化が重視されるようになったためではないでしょうか。</p><br /> <p>その意味で、今後のビジネスにおけるサイエンスの立ち位置がどうあるべきかを考えた場合に、重要になってくるのは基礎科学研究同様にやはり「再現性」ではないかと個人的には考えています。既にある程度「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C4%EA%CE%CC">定量</a>性」が導入されてきていることを鑑みれば、次に重視されるべきはその知見の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%ED%A5%D0%A5%B9%A5%C8">ロバスト</a>さ、もしくは再現性であるべきというのが僕の立場です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2023%2F04%2F26%2F191100" title="マーケティングデータ分析で成果を挙げるには「統計分析(MMMなど)+A/Bテスト」のコンビネーションが有用 - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>例えば、僕が主戦場とする広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>業界では<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A8%A5%B3%A5%CE%A5%E1%A5%C8%A5%EA%A5%C3%A5%AF">エコノメトリック</a>な分析が<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EB%A5%CD%A5%B5%A5%F3%A5%B9">ルネサンス</a>的な再注目の的となっており、その方法論の一つとしてのMMM (Media/Markeing Mix Modeling)が広く実践されるようになってきています。しかし、その実態は統計的学習モデルであり、さらにはその推<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C4%EA%CE%CC">定量</a>には現実社会における様々な制約やバイアスによって不偏性を保証しづらいという問題があります。そこでMMM単体で閉じさせるのではなく、「交差検証としての」A/Bテストを必ず伴わせるべきだ、という話を以前の記事で書いていたりします。これによって少しでも「再現性」を高めたい、というのが個人的な狙いです。</p><br /> <p>後は、「データサイエンス」に留まらない「サイエンス」がどこまでビジネスの世界に浸透し得るかという話ですが、僕自身の知識の範囲では例えば力学的モデルの適用とか<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C8%F9%CA%AC%CA%FD%C4%F8%BC%B0">微分方程式</a>系のモデルの援用といったところしか思い付かない有様ですので、この記事では深入りは避けます。どちらかというと「サイエンス」というよりは「数学という学問(大学教養課程以降)」のビジネスへの導入の方が見込まれているのかな、という気がしています。例えば、鉄道乗り換え案内やタクシー配車などのアプリでは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B0%A5%E9%A5%D5%CD%FD%CF%C0">グラフ理論</a>による最適化が行われているということは有名な話ですし、今後も類似の事例は出てくるものと見て間違いないでしょう。</p><br /> <p>いずれにせよ「サイエンス」そして「学問的なもの」によって従来ないがしろにされてきたビジネス上のクリティカルな問題の解決を試みる、というアプローチは「データサイエンス」の浸透によって今後も拡大していくのではないかと個人的には期待しています。この辺の組織文化ないし業界文化的なものの進歩については、もしかしたら<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B7%D0%B1%C4%B3%D8">経営学</a>などの方面で体系立てられた調査や検証がなされるべきなのかもしれませんが、流石に僕の守備範囲を超えるので一旦置いておきたいと思います。</p><br /> <p><em><span style="font-size: 80%">(Top image by <a href="https://pixabay.com/ja/users/ar130405-423602/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=2081168">ar130405</a> from <a href="https://pixabay.com/ja/illustrations/%E6%88%90%E5%8A%9F-%E3%82%B9%E3%83%88%E3%83%A9%E3%83%86%E3%82%B8%E3%83%BC-%E4%BB%95%E4%BA%8B-%E8%A7%A3%E6%B1%BA-2081168/">Pixabay</a>)</span></em></p> </div><div class="footnote"> <p class="footnote"><a href="#fn-39ec5345" name="f-39ec5345" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">なお『しっかり学ぶ〜』は以前に書籍版をご恵贈いただいており、拝読して大変勉強になりました。数理最適化に関心のある方にはご一読を強くお薦めします</span></p> <p class="footnote"><a href="#fn-37dbcd96" name="f-37dbcd96" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">実はこのテーマで何かを書いていまして(以下自粛)</span></p> <p class="footnote"><a href="#fn-0000ce1c" name="f-0000ce1c" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">というより<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A2%CC%B5%B2%BE%C0%E2">帰無仮説</a>有意差検定</span></p> <p class="footnote"><a href="#fn-2be0638a" name="f-2be0638a" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">即ちQRPs</span></p> <p class="footnote"><a href="#fn-726e5523" name="f-726e5523" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://tjo.hatenablog.com/entry/2022/07/06/170000">&#x518D;&#x73FE;&#x6027;&#x554F;&#x984C;&#x306E;&#x306F;&#x306A;&#x3057; - &#x6E0B;&#x8C37;&#x99C5;&#x524D;&#x3067;&#x50CD;&#x304F;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x306E;&#x30D6;&#x30ED;&#x30B0;</a></span></p> </div> TJO MMM (Media/Marketing Mix Modeling)を回すなら、まずGeorge E. P. Boxの格言を思い出そう hatenablog://entry/820878482967682043 2023-09-18T16:22:24+09:00 2023-09-18T16:29:03+09:00 「最後の統計学界の大御所」の一人で、2013年に亡くなったGeorge E. P. Box*1が残した格言 "All models are wrong; but some are useful"(全てのモデルは間違っている、だが中には役立つものもある)ですが、このブログでは過去に何度も紹介しているのでお馴染みという方も多いかと思います。 実際、5年前にもBoxの格言については独立した記事として取り上げており、ちょっとしたシミュレーションと共に「厳密ではないが有用なモデル」の話題を展開しています。ただ、今回の記事で僕が改めてBoxの格言を取り上げようと思った背景はまた別にあります。それが、広告マ… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230917/20230917150702.png" width="959" height="507" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>「最後の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>界の大御所」の一人で、2013年に亡くなったGeorge E. P. Box<a href="#f-445a3389" name="fn-445a3389" title="Box-Cox変換考案の際の逸話で有名">*1</a>が残した格言 <strong>"All models are wrong; but some are useful"</strong>(全てのモデルは間違っている、だが中には役立つものもある)ですが、このブログでは過去に何度も紹介しているのでお馴染みという方も多いかと思います。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2018%2F01%2F25%2F190000" title="&quot;All models are wrong; but some are useful&quot;(全てのモデルは間違っている、だが中には役立つものもある)という格言 - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>実際、5年前にもBoxの格言については独立した記事として取り上げており、ちょっとしたシミュレーションと共に「厳密ではないが有用なモデル」の話題を展開しています。ただ、今回の記事で僕が改めてBoxの格言を取り上げようと思った背景はまた別にあります。それが、広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>業界で最近<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EB%A5%CD%A5%B5%A5%F3%A5%B9">ルネサンス</a>的な脚光を浴びているMMM (Media/Marketing Mix Models)の扱われ方という問題です。</p><br /> <p>MMMというと<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B7%D0%B1%C4%B3%D8">経営学</a>の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>の教科書にも載っているくらい古くからありふれた<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分析のアプローチの一つですが、いわゆる需要予測モデルなどと同列の位置付けにあるせいか、僕個人の広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>業界における観測範囲では「悉皆的にこの地上の森羅万象を網羅した完璧なモデルたらしめたい」という願望のもとに使われがちなようです。実際にそのような「完璧さ」を目指したMMM手法の提案は古来から数多あり、特に近年の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A8%A5%B3%A5%CE%A5%E1%A5%C8%A5%EA%A5%C3%A5%AF">エコノメトリック</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分析への回帰傾向<a href="#f-dc116f9f" name="fn-dc116f9f" title="[https://tjo.hatenablog.com/entry/2022/01/14/170000:title]">*2</a>の中ではその動きはますます強まるばかりのように見えます。</p><br /> <p>しかし、MMMといえども基本的には単なる統計的学習モデルであり、その本質はBoxの格言で喝破された通りのものでしかないと僕は思うのです。そこで今回の記事では、特にMMMという分析手法にフォーカスしながら改めてBoxの格言が何故当てはまるかという理由を紐解き、その上で我々広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>業界の人間としてはどうすべきかを考察してみようと思います。なおいつもながらですが、記事中に誤りや理解不足の点などがあればご指摘くだされば幸いです。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#全てのモデルは間違っている">「全てのモデルは間違っている」</a></li> <li><a href="#だが中には役立つものもあるようにするには何をすべきか">「だが中には役立つものもある」ようにするには何をすべきか</a></li> </ul> <div class="section"> <h3 id="全てのモデルは間違っている">「全てのモデルは間違っている」</h3> <p><br /> 以前の記事でも取り上げましたが、Boxの格言の初出は1978年の論文だとされています。以下にその重要な箇所を引用すると、</p> <blockquote> <p>Now it would be very remarkable if any system existing in the real world could be exactly represented by any simple model. However, cunningly chosen parsimonious models often do provide remarkably useful approximations. For example, the law PV = nRT relating pressure P, volume V and temperature T of an "ideal" gas via a constant R is not exactly true for any real gas, but it frequently provides a useful approximation and furthermore its structure is informative since it <a class="keyword" href="https://d.hatena.ne.jp/keyword/springs">springs</a> from a physical view of the behavior of gas molecules. For such a model there is no need to ask the question "Is the model true?". If "truth" is to be the "whole truth" the answer must be "No". The only question of interest is "Is the model illuminating and useful?".</p><br /> <p>(さて、どんな現実世界に存在するシステムであれ単純なモデルで正確に表現できるならば、それは非常に注目に値する。しかしながら、巧妙に選ばれた倹約的なモデルは、非常に有用な近似値を提供することが往々にしてある。たとえば、定数 R を介して「理想的な」気体の圧力 P、体積 V、温度 T を関連付ける法則 PV = nRT は、実際の気体には正確には当てはまらないが、有用な近似が得られることが多く、しかもそれは気体分子の振る舞いの物理的な観点からもたされており、そのモデル構造は分かりやすい。このようなモデルに対して「そのモデルは正しいのか(真実なのか)?」という質問をする必要はない。仮に 「真実」が「完全な真実」であるならば、答えは「否」でなければならない。ここにおいて唯一の関心ある質問は、「そのモデルは分かりやすく、尚且つ役に立つか?」ということである。)</p> </blockquote> <p>と言っています。ここでBoxは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CD%FD%C1%DB%B5%A4%C2%CE%A4%CE%BE%F5%C2%D6%CA%FD%C4%F8%BC%B0">理想気体の状態方程式</a>というありふれた例を挙げて、</p> <ul> <li><strong>有用なモデルは、厳密に正しい必要はないし、そもそも厳密に真のモデルなどあり得ない</strong></li> <li><strong>有用なモデルとは、有用な近似値を返し、直感的に解釈しやすいものである</strong></li> </ul><p>と指摘しているんですね。これは非常に分かりやすい例ですし、実際に高校や大学教養課程などで<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CD%FD%C1%DB%B5%A4%C2%CE%A4%CE%BE%F5%C2%D6%CA%FD%C4%F8%BC%B0">理想気体の状態方程式</a>を確かめる実験をやったことのある人なら尚更実感できる話ではないかと思います。</p><br /> <p>ところが、広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>業界におけるMMMの文脈ではとかく「正しいモデル」だの「精緻なモデル」だのといった文言が飛び交い、どういうわけか「精緻なMMM無くして精緻な広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0%C0%EF%CE%AC">マーケティング戦略</a>の意思決定はあり得ない」というような過激な主張までもが平然と開陳されていたりするんですね。一応僕も業界人の端くれなので、そう主張したい人の気持ちは分からなくもありません。何千万円、何億円という巨額の広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>予算を「間違いなく」適切な施策に振り分けることは至難の業であり、なればこそその意思決定に使われるMMMは可能な限り正確でこの社会の真実を表すモデルであって欲しい、という願いは理解できます。</p><br /> <p>しかしながら、過去に様々な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>サイエンス研究で指摘されているように、全ての<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分析においてバイアスのない分析結果などというものは、事実上あり得ません。MMMについても、常識的なサンプルサイズであれば不偏推<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C4%EA%CE%CC">定量</a>は得られないという指摘も繰り返しなされています。</p><br /> <p>特にMMMのような「実社会に対して広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>による影響を与え、返ってきた反応をretrospectiveに<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>する」タイプの分析で一番問題になるのが、統計的因果推論そして欠落変数バイアスです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fyukiyanai.github.io%2Fjp%2Fclasses%2Feconometrics2%2Fcontents%2FR%2Fomitted-variable-bias.html" title="計量経済学応用" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>欠落変数バイアスについてはRユーザー界隈では著名な矢内さんが公開されている資料が最も分かりやすいかと思います。要は、広告メディアなどMMMを回す側から簡単に観測される変数の裏側に、仮に観測されていない(もしくは認識されていない)交絡因子が潜んでいて、それがMMMに説明変数として加えられていない場合は、大きなバイアスを生じさせてしまうという問題です。実際にリンク先の矢内さんのRによるシミュレーション例を見ると、欠落変数バイアスによって回帰係数が誤って2倍以上にインフレしてしまう現象が起きています。</p><br /> <p>MMMは一般には個々の広告メディアのROI(費用対効果:即ち回帰係数もしくはそれに準じる推定値)を求めるものですが、それが欠落変数バイアスによって2倍以上のずれが生じてしまったら、とんでもない一大事になりかねません。当然ながら、そのバイアスを受けたROIの組み合わせに基づいて予算配分など行おうものなら、本来そこまで効果がないはずのメディアに莫大な予算が投じられたり、逆にもっと効果があったはずのメディアの予算が削られたりすることになり、深刻な広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0%C0%EF%CE%AC">マーケティング戦略</a>の失敗に繋がることが危惧されます。</p><br /> <p>一方で、MMMという「実社会からのレスポンス全体をまるっと相手にする」モデルにおいては、事業を展開する側からも分析する側からも観測されないような、隠れた交絡因子が往々にして紛れ込みがちです。最も壮大にして厄介なものを挙げるならば「ブランド認知」がまさにそうでしょう。口コミなどによって増加する<a class="keyword" href="https://d.hatena.ne.jp/keyword/SNS">SNS</a>シェアや検索行動などもありがちです。勿論、広告メディア同士の相乗効果もあります(TVCM→動画サービスもしくはTVCM→検索など)。また最近<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>サイエンス界隈で指摘されているのを見かけましたが、「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策を打ったら売り上げが上がったのでさらに施策を強化する」ことによって起きがちな内生性の問題もあります。この場合はそもそものMMMのモデル自体の識別可能性に影響が出てしまいます。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230916/20230916171926.png" width="1138" height="730" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>この図は過去にも因果フェスなどで大変お世話になった林さんの資料<a href="#f-5ed1fd90" name="fn-5ed1fd90" title="[https://speakerdeck.com/takehikoihayashi/wai-de-nidofalseyounaxi-gariwochi-tuteirufalseka:title]">*3</a>からの引用ですが、そういった「実社会の中に埋もれて見えない因果構造があったとしても何とかする」アプローチが例えばPearl流の因果推論にはあったりします。ある程度以上この辺の因果推論的問題を意識していれば、上記のような問題を緩和することは可能でしょう。</p><br /> <p>にもかかわらず、少なくとも僕が業界の中で観察している範囲では、多くのMMM関係者が「どのような数理的なモデル構造が正しいか」「どのようなモデルパラメータ推定方法が良いか」といったモデルそのものに関わるトピックスに拘泥しており、肝心の「MMMに紛れ込みがちな解決困難なバイアスをどう補正し、どのようにして有用な知見を得るか」に腐心している人は少ないように見えます。残念ながら。</p><br /> <p>なお余談ながら、MMMを万能モデルとみなす界隈においては「それぞれの広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策の絶対不変のROI」<a href="#f-bf6fef8d" name="fn-bf6fef8d" title="即ち「TVCM◯万円=売り上げ×万円」という普遍的法則があったら良いなという動き">*4</a>を追求する動きもあるようですが、こちらについても個人的には非現実的だと思います。理由は簡単で、目的変数を何にするかによっても変わりますし、どの業界・分野を選ぶかによっても変わりますし、社会全体の景況やその時々の社会における流行り廃りといった要因によっても変わってしまうというのがROIというものです。言い換えると、社会全体の共変量シフトに左右されやすいのがMMMという代物なので、ごく一部の短期間にまとめて集中的にメタアナリシスとして実施するもの以外では、MMMで普遍的なROIを得ようとするのは不可能だと考えます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="だが中には役立つものもあるようにするには何をすべきか">「だが中には役立つものもある」ようにするには何をすべきか</h3> <p><br /> 既に述べたように、基本的には実社会からのレスポンスを対象に推定するMMMは事実上バイアスから逃れることはできない、と思った方が良いと僕は考えています。近年様々なバイアス補正のアプローチが提案されていますが、観測されない交絡因子によるバイアスまでをも完全に補正できるかというと個人的には疑問です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2023%2F04%2F26%2F191100" title="マーケティングデータ分析で成果を挙げるには「統計分析(MMMなど)+A/Bテスト」のコンビネーションが有用 - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>故にこれはあくまでも妥協案なのですが、MMM単体で結論を出そうとするのではなく、MMMをあくまでも前段とみなし、その上で交差検証としてのA/Bテスト(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>実験)を行うことでより確かな知見を得るべきだ、というのが僕の提案です。重要なことはここで積極的な介入実験を行うことで、各種広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策のROIをダイレクトに求められるということ。これにより、MMMで得られた「傾向」をもっと具体的な「数値」として捉えることができるようになるはずです。</p><br /> <p>しかしながら、それ以上に重要なのはMMMを「あくまでも前段とみなす」即ち数値的な厳密さではなく大まかな傾向を掴むためのものだと捉える、ということなのではないでしょうか。これはMMMを万能モデルとして扱いたい界隈からは煙たがられる意見かもしれませんが、これまでに見てきたようにMMMには数多くの補正困難なバイアスがつきまとうため、どうしても「厳密な真実」を得ようとするのは無理があります。けれども、有用な近似値を包括的に得ることはできるというのがMMMであり、その近似値の傾向をA/Bテストでダメ押しして検証すれば良いというわけです。これこそが、Boxの格言のMMMに対する適切な当てはめ方であろうと考える次第です。</p><br /> <p>なお広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0%C0%EF%CE%AC">マーケティング戦略</a>立案という軸から見ると、MMMについては先述したような「絶対不変の真実」が得られるなどという幻想は捨て去るべきで、その代わり「ある検証期間中におけるMMM+A/Bテスト」という組み合わせの1セットを通じて「ある一定期間内のスナップショット」が得られる、という受け取り方をするのが妥当なのかなと思います。</p><br /> <p>そこで得られた「ある一定期間内のデータに基づく広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0%C0%EF%CE%AC">マーケティング戦略</a>の改善」案を、その後また一定期間にわたって実際に行ってみて、データが貯まったところでまたMMMを回し、そこで得られた傾向に基づいてA/Bテストを実施し、そこで出た結論に基づいて改善した戦略を実行し……というサイクルを回すことこそが、本来MMMのような包括的な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分析手法の適切な使い方であろうと、僕は思うのです。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-445a3389" name="f-445a3389" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">Box-Cox変換考案の際の逸話で有名</span></p> <p class="footnote"><a href="#fn-dc116f9f" name="f-dc116f9f" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://tjo.hatenablog.com/entry/2022/01/14/170000">&#x751F;&#x6D3B;&#x8005;&#x30BF;&#x30FC;&#x30B2;&#x30C6;&#x30A3;&#x30F3;&#x30B0;&#x306E;&#x6642;&#x4EE3;&#x306F;&#x7D42;&#x308F;&#x308A;&#x3001;&#x30A8;&#x30B3;&#x30CE;&#x30E1;&#x30C8;&#x30EA;&#x30AF;&#x30B9;&#x306B;&#x3088;&#x308B;&#x30DE;&#x30FC;&#x30B1;&#x30C6;&#x30A3;&#x30F3;&#x30B0;&#x304C;&#x53F0;&#x982D;&#x3059;&#x308B; - &#x6E0B;&#x8C37;&#x99C5;&#x524D;&#x3067;&#x50CD;&#x304F;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x306E;&#x30D6;&#x30ED;&#x30B0;</a></span></p> <p class="footnote"><a href="#fn-5ed1fd90" name="f-5ed1fd90" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://speakerdeck.com/takehikoihayashi/wai-de-nidofalseyounaxi-gariwochi-tuteirufalseka">&ldquo;&#x56E0;&#x679C;&#x63A8;&#x8AD6;&#x99C5;&rdquo;&#x306E;&#x5965;&#x306E;&#x65B9;&#x3092;&#x63A2;&#x8A2A;&#x3057;&#x306A;&#x304C;&#x3089;&#x8003;&#x3048;&#x308B;&#xFF1A;&#x308F;&#x308C;&#x308F;&#x308C;&#x306E;&#x8AF8;&#x7814;&#x7A76;&#x306F;&#x5185;&#x7684;&#x306B;/&#x5916;&#x7684;&#x306B;&#x3069;&#x306E;&#x3088;&#x3046;&#x306A;&#x7E4B;&#x304C;&#x308A;&#x3092;&#x6301;&#x3063;&#x3066;&#x3044;&#x308B;&#x306E;&#x304B; - Speaker Deck</a></span></p> <p class="footnote"><a href="#fn-bf6fef8d" name="f-bf6fef8d" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">即ち「TVCM◯万円=売り上げ×万円」という普遍的法則があったら良いなという動き</span></p> </div> TJO 10年経ってもついに消えずに残った、データサイエンティストという職業 hatenablog://entry/820878482958899583 2023-08-26T16:27:04+09:00 2023-08-26T16:27:04+09:00 このブログでも何度か引用しているこちらの記事で、「データサイエンティストという職業は10年以内に消える」という趣旨の議論がされていたのがちょうど10年前の2013年でした。ちなみにこの記事はついているブックマーク数に比して当時は結構注目を集めたという記憶があり、割と業界内では「確かにこんな中途半端な職業が10年後もあるわけないよね」と言われていたのを思い出します。実際には皆さんもご存知のように、2023年になってもデータサイエンティストという職業はついに消えることなく、現在に至るまで残り続けています。その経緯がどんなものであったかは、業界10年史記事でもある程度触れた通りです。しかし、同時に現… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230816/20230816182204.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>このブログでも何度か引用しているこちらの記事で、「データサイエンティストという職業は10年以内に消える」という趣旨の議論がされていたのがちょうど10年前の2013年でした。ちなみにこの記事はついているブックマーク数に比して当時は結構注目を集めたという記憶があり、割と業界内では「確かにこんな中途半端な職業が10年後もあるわけないよね」と言われていたのを思い出します。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fnegative.hateblo.jp%2Fentry%2F2013%2F05%2F10%2F174047" title="データサイエンティストがこれから10年以内に消える理由3つ - ネガティブにデータサイエンティストでもないブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>実際には皆さんもご存知のように、2023年になってもデータサイエンティストという職業はついに消えることなく、現在に至るまで残り続けています。その経緯がどんなものであったかは、業界10年<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%CB%B5%AD">史記</a>事でもある程度触れた通りです。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F10%2F21%2F190700" title="データサイエンティストという職業の10年間の変遷を振り返る - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>しかし、同時に現在では「生成AIの普及でデータサイエンティストの仕事がなくなる」という風説も出回っており、改めてデータサイエンティストという職業の将来性に不透明感が漂いつつあるのもまた事実です。そこで、今回の記事では僕自身の業界内での体験や見聞をもとに、データサイエンティストという職業が10年以上に渡って陰に陽に消えることなくいかにして続いてきたかを改めて振り返り、その上で今後の趨勢についても考察を加えてみようと思います。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#舶来の珍奇な職業から時代の寵児へと移り変わった10年">「舶来の珍奇な職業」から「時代の寵児」へと移り変わった10年</a></li> <li><a href="#DXブームがデータの専門家たるデータサイエンティストの需要を定着させた">DXブームが「データの専門家」たるデータサイエンティストの需要を定着させた</a></li> <li><a href="#生成AIは作業を自動化してくれるものそれがプラスになるかマイナスになるかは個々人次第">生成AIは「作業」を自動化してくれるもの、それがプラスになるかマイナスになるかは個々人次第</a></li> <li><a href="#今後の展望さらなる分化と淘汰の可能性">今後の展望:さらなる分化と淘汰の可能性</a></li> </ul> <div class="section"> <h3 id="舶来の珍奇な職業から時代の寵児へと移り変わった10年">「舶来の珍奇な職業」から「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%FE%C2%E5%A4%CE%C3%FE%BB%F9">時代の寵児</a>」へと移り変わった10年</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fhbr.org%2F2012%2F10%2Fdata-scientist-the-sexiest-job-of-the-21st-century" title="Data Scientist: The Sexiest Job of the 21st Century" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>このブログではそれこそ何十回も引用しているので皆さんにはすっかりお馴染みかと思いますが、「データサイエンティスト」という職業が初めて世間に広く知られるようになったのは、上掲の2012年に公開されたDavenportによる『データサイエンティストは21世紀で最もセクシーな職業である』HBR総説だと見て間違いないでしょう。この記事の日本語版がリリースされたのはさらにその翌2013年初頭のことで、以後日本でもデータサイエンティストという職業が注目を集めることになります。</p><br /> <p>それは、その直前の2010年前後にピークを迎えていた「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D3%A5%C3%A5%B0%A5%C7%A1%BC%A5%BF">ビッグデータ</a>」ブームが加速させた側面も大きいのでしょう。インターネット上で電子的に展開されるビジネスが急増したことにより、「全てのビジネス上のやり取りが電子データとして記録される」状況がいわゆる<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D3%A5%C3%A5%B0%A5%C7%A1%BC%A5%BF">ビッグデータ</a>を生み出したわけです。そこに<a class="keyword" href="https://d.hatena.ne.jp/keyword/Hadoop">Hadoop</a>を中心とした<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D3%A5%C3%A5%B0%A5%C7%A1%BC%A5%BF">ビッグデータ</a>基盤技術が登場し、ある意味「無限に」データを貯め込める仕組みが整ったことで、その莫大なデータを何とかして活用したいというニーズが生まれ、それこそがデータサイエンティストという職業の勃興に繋がったのでしょう。特に<a class="keyword" href="https://d.hatena.ne.jp/keyword/web%A5%B5%A1%BC%A5%D3%A5%B9">webサービス</a>系の業界<a href="#f-7acad853" name="fn-7acad853" title="もっと言えばソシャゲ業界">*1</a>においてそれは非常に顕著でした。</p><br /> <p>業界10年<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%CB%B5%AD">史記</a>事でも概観したように、コロナ禍までの8年ほどの間に2回ほどデータサイエンティストはブームとなっています。第1次ブームは最初期の2013-14年頃で、当時は何といってもその「珍奇さ」が世間の耳目を集めたものでした。「科学者でもないのにサイエンティスト呼ばわりされるのは何故か」「何故データサイエンティストは『セクシー』なのか」というその職名と世評そのものがもたらす珍奇さもありましたし、何といっても「実態の良く分からない謎の職業」というミステリアスさもあり、2015年ぐらいまではデータサイエンティストとかデータサイエンスといった語がタイトルに入った書籍は何でもアホほど売れたという時期もあったものです。</p><br /> <p>しかし、第1次ブームはその「実態の不透明さ」さらにはそこに由来する「期待と実像とのギャップ」から主に「データサイエンティストを『雇う』側」の幻滅を招いたことから、急激に萎みます。当時様々なメディアに登場した自称データサイエンティストたちが低レベルなアウトプットで世間からの嘲笑を買うことが頻発したこともあり、しまいにはIT/tech業界を中心に「データサイエンティストと名乗るのは恥だ」とまで言われる始末に。「データサイエンティストは10年以内に消える」という論も、そういった世相を背景にしたものだといえます。</p><br /> <p>にもかかわらず、2016年のAlphaGoの快進撃と<a class="keyword" href="https://d.hatena.ne.jp/keyword/Deep%20Learning">Deep Learning</a> / NN技術の急速な普及をきっかけに<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>ブームが湧き起こると、今度は「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニアとしての」データサイエンティストということでブームが再燃します。これが第2次ブームで、2017年以降ずっと続いた上でさらにシームレスにコロナ禍の最中に拡大した第3次ブームへと続いていきます。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.sankei.com%2Farticle%2F20200110-AJVI427SIBLMPHA6ZOZXDQRZ4Y%2F" title="【経済インサイド】ビッグデータ分析、新卒年収は1000万円以上 東大生の人気職種に(1/2ページ)" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ただし、これは特に技術者としてのデータ分析業界の内部から見た時の見え方であって、恐らく世間的には2019-20年のコロナ禍前夜ぐらいの時期に「データサイエンティストは初任給でいきなり年収1000万円以上」「データサイエンティストは有名大卒にも人気の職業」みたいな煽りニュース記事が大手マスコミを中心に続発したのが、第3次ブーム(そして世間的にはこれが「最初の」ブーム)なのでしょう。これはほぼ同時期にデータサイエンティスト・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア並びに多くのデータ関連職を抱え、全世界的に好業績を誇っていた<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%EA%A5%B3%A5%F3%A5%D0%A5%EC%A1%BC">シリコンバレー</a>のテク<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CE%A5%ED">ノロ</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>企業各社への羨望と相俟って、データサイエンティストという職業を「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%FE%C2%E5%A4%CE%C3%FE%BB%F9">時代の寵児</a>」たらしめる効果があったように思われます。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F07%2F27%2F170000" title="データサイエンティストに王道無し - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>それは同時に「未経験&理工系教養ゼロから<a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a>と<a class="keyword" href="https://d.hatena.ne.jp/keyword/SQL">SQL</a>を3ヶ月覚えるだけで年収1000万円のデータサイエンティストになれる!」みたいな軽薄なムーブメントや<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BE%F0%CA%F3%BE%A6%BA%E0">情報商材</a>を蔓延させるという事態も生み出しましたが、僕個人の観測範囲では業界全体の趨勢にはそれほど影響を与えなかったように見受けられます。</p><br /> <p>結果として、第1次ブームの頃は「どうせ10年も続かず消える」と思われていたデータサイエンティストという職業は、その後様々な別のブームに巻き込まれる形で消えかかるたびに息を吹き返し、第2・3次ブームと命脈を保ち、ついに2023年になるまで消えることなく残ったということのように見受けられます。もっとも、それはもしかしたら割と日本に固有の状況なのかもしれないというのは、2022 Kaggle DS & ML Survey<a href="#f-fa8f237a" name="fn-fa8f237a" title="[https://www.kaggle.com/kaggle-survey-2022:title]">*2</a>の結果から微妙に透けて見えます。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230818/20230818155324.png" width="1200" height="694" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>この調査結果からは、2022年まである程度継続してデータサイエンティストとして働く人が増えているのはインドと日本のみであるように読み取れます。これはLinkedInに流れてくる各種フィードやDM<a href="#f-ff4e647e" name="fn-ff4e647e" title="見ず知らずのアカウントなのに「Big Techに勤めている貴殿に是非referralをお願いしたい」みたいな厚顔無恥な依頼をDMでしてくる有象無象たち">*3</a>の傾向を見ていても個人的に体感される傾向で、この2ヶ国では「データサイエンティストになる=大きなキャリアアップ」という認識が若い世代を中心に定着しているように見受けられます(実態はともかくとして)。その意味では、言い方は悪いですがキャリアアップを夢見る人たちの幻想の対象として、データサイエンティストという職業があり続けているということなのかもしれません。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="DXブームがデータの専門家たるデータサイエンティストの需要を定着させた">DXブームが「データの専門家」たるデータサイエンティストの需要を定着させた</h3> <p><br /> 一方で、日本国内に固有の事情を勘案するとまた異なる状況が見えてきます。業界10年<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%CB%B5%AD">史記</a>事でも言及した、いわゆる「DXブーム」です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.brainpad.co.jp%2Fdoors%2Fnews_trend%2Fdx_it%2F" title="【2023年最新版】DX(デジタルトランスフォーメーション)とは?今さら聞けない意味・定義・事例をわかりやすく解説 | DOORS DX" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>実は2018年頃から始まりつつあったとされる日本のDXブームですが、本格化したのはやはりコロナ禍以降です。紙や印鑑など物理的な手段(物理的な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C0%DC%BF%A8">接触</a>が必要なもの)を置き換える目的でDXの推進が文字通り日本の津々浦々で叫ばれるようになり、大手ITベンダー<a href="#f-d0c34152" name="fn-d0c34152" title="SIerと言っても良い">*4</a>からスタートアップに至るまで多くの企業がDX事業に参入し、<a class="keyword" href="https://d.hatena.ne.jp/keyword/2020%C7%AF%C2%E5">2020年代</a>に入ってようやく日本の企業社会のデジタル化が進んできたという感があります。</p><br /> <p>ここで重要なのが「デジタル化が進むと自然にデータが増える」ということ。正確には「それまで紙や音声で伝えられたり蓄積されてきた情報が電子データになっていく」ということですが、世間というのは面白いもので「そんなに沢山データがあるなら活用しないのは惜しい」と思う人が多いんですよね。結果として、DXブームが広がれば広がるほど「活用しないのは勿体無いデータ」が日本の津々浦々で増えていき、必然的に「データを活用できる人材」が求められるようになったわけです。つまり、これは<a class="keyword" href="https://d.hatena.ne.jp/keyword/web%A5%B5%A1%BC%A5%D3%A5%B9">webサービス</a>系業界でかつて沸き起こった「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D3%A5%C3%A5%B0%A5%C7%A1%BC%A5%BF">ビッグデータ</a>ブームからのデータサイエンティストブーム」の、いわば一般事業会社版です。</p><br /> <p>データサイエンティストという職業にとって幸運だったのは、過去2回のブームで陰に陽に「データサイエンティスト=データの専門家」という社会的受容が広まっていたことでしょう。これにより、事実上データサイエンティストの進出可能範囲が広まったという印象があります。実際、コロナ禍以降のデータサイエンティストの求人情報を見ると以前では考えられなかったような業界の企業が募集しているのを見かけることが増えており、明らかに需要が拡大しているものと思われます。まさに第3次ブームですね。</p><br /> <p>一つ不安材料を挙げるとすれば、需要過多ではあるものの一般事業会社が想定するデータサイエンティスト像が、後述するデータエンジニアでない場合は依然として旧来の「スー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%DE%A5%F3">パーマン</a>型」のままであるケースが少なくないようで、これに応えられる人材が市場に殆どいないという点でしょうか。これに対して市場に溢れているのは、ごく一部の実力者を除くと近年各地の大学で開設されたデータサイエンス専攻の卒業生たちもしくは「未経験からイッセンマン」勢であり、「スー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%DE%A5%F3">パーマン</a>」が務まる人材は僅かです。</p><br /> <p>よって、データサイエンティストを採用したは良いものの「思ったほど成果が出ない」ということで「やっぱやーめた」となる一般事業会社が今後続発する可能性は全く否定できない、というのが僕の個人的な見立てです。言い換えると「幻滅されて萎んだ第1次ブームの再現」ということですね。とは言え、この第3次ブームによって明らかに日本の企業社会全体におけるデータサイエンティストそしてデータ関連職の需要は飛躍的に増加しており、全体のパイが広がったことによって「条件にこだわらなければどこにでもデータサイエンティストの稼ぎ口はある」状況になりつつあると思われます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="生成AIは作業を自動化してくれるものそれがプラスになるかマイナスになるかは個々人次第">生成AIは「作業」を自動化してくれるもの、それがプラスになるかマイナスになるかは個々人次第</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2023%2F03%2F24%2F170000" title="LLM chatbotが人類にもたらすのは、絶望なのか希望なのか - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>生成AIに関する議論は以前の記事で展開した通りですが、これの台頭が直接データサイエンティストという職業にどのような影響を及ぼすかは正直なところ「まだ良く分からない」というのが偽らざる本音です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.businessinsider.jp%2Fpost-273289" title="ChatGPT活用を激震させる新機能「Code Interpreter」にNetflixをデータ解析させたらスゴかった" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>直近だとやはりコード自動生成機能が何かと話題に上っている印象があります。実際に「これでデータサイエンティストは失業する」と喧伝する向きも頻繁に見られますし、確かにそれらのアウトプットはLLMが台頭し始めた頃に比べると格段にクオリティが向上しています。少なくとも、ヒトのデータサイエンティストが手がけたものと遜色がないところに到達しつつあるのは事実でしょう。</p><br /> <p>ただ、一つ指摘しておきたいのが「生成AIでこなせる範囲のものが最終的なアウトプットであるかどうか」によって、データサイエンティストとして失業するか否かは分かれる、ということ。例えば、上掲した記事に出てくる程度の「データが与えられた状態で前処理して可視化して基礎分析を回してその結果を提示する」のが仕事だという人は、生成AIの普及で失業させられてしまう可能性は否定できないでしょう。</p><br /> <p>しかしながら、これまでにビジネス上の成果をきちんと挙げてきたデータサイエンティストであれば、その程度の「作業」はむしろ仕事の全工程の中のごく一部に過ぎず、それ以外の部分でバリューを出しているというのが常だと思われます。即ち「何故その分析を行うのか」「どのような分析結果をもってアウトプットとするのか」といった課題設定の部分然り、「分析に際してどのような手法・技法を用いることで課題に即した精度や解釈性を与えられるか」「実際に課題に即した手法・技法を適切に実装できるか」といった非定型な技術的アプローチの仕方然り、さらには「分析結果をどのようにして<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C6%A1%BC%A5%AF%A5%DB%A5%EB%A5%C0%A1%BC">ステークホルダー</a>に伝えるか」といったコミュニケーション然り、「作業」として生成AIに片付けられないところは数多くあります。</p><br /> <p>その意味ではむしろ定型の「作業」をどんどん任せられる生成AIが登場したことで、徹底した「作業の省力化」が実現できると喜ぶデータサイエンティストは少なくないのではないでしょうか。というより、生成AIの普及を喜んで受け入れられるような仕事のやり方をしているデータサイエンティストでないと今後生き残るのは難しい、とすら言えるのかもしれません。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="今後の展望さらなる分化と淘汰の可能性">今後の展望:さらなる分化と淘汰の可能性</h3> <p><br /> 色々論ってきましたが、詰まるところデータサイエンティストという職業は良きにつけ悪しきにつけ2012-13年の黎明期に「データを扱う職業の筆頭」というイメージを世間に植え付けることに<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>的に成功してしまったので、それから10年以上が経っても未だに「データを扱う職業=データサイエンティスト」という先入観をある程度以上人々から得ることができている、ということなのかもしれません。</p><br /> <p>しかし一方で、実際にはデータサイエンティストという単一の概念から始まったこの職業は、現在ではどう見ても以下のような多彩な職種に分化していっているように見受けられます。</p> <ul> <li>データサイエンティスト(アナリストの延長)</li> <li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア(ソフトウェアエンジニアの延長)</li> <li>データアーキテクト(DBエンジニアの延長)</li> <li>データエンジニア</li> <li>アナリティクスエンジニア</li> <li>BIエンジニア</li> <li>MLOpsエンジニア</li> <li>……etc.</li> </ul><p>そして直近では、ここに生成AIベースのソフトウェア・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%B9%A5%C6%A5%E0%B3%AB%C8%AF">システム開発</a>を担う技術職が加わっていく流れが生じており、一時の「プロンプトエンジニア」ブームほどではないものの、主に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア・データエンジニア・MLOpsエンジニア辺りの職種に「生成AIアプリケーション開発」ブームが勃興しそうだなという雰囲気を個人的には感じています。</p><br /> <p>その流れが他職種にどう影響するかは正直全然見通せない感じですが、例えば「我が社は今後生成AIアプリ開発に注力する」となれば他のデータ分析職種を採用する優先度は下がるという事態は起こり得ると考えています。一方で、業界10年<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%CB%B5%AD">史記</a>事でも指摘したように「スー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%DE%A5%F3">パーマン</a>型への回帰」も強い傾向として見られており、どれか一つの領域にだけ特化した(そして残りの領域は不得手な)データサイエンティストは採用されなくなるor追い出されるという未来予想図もあり得そうです。</p><br /> <p>いずれにせよ「分化と淘汰が進む」だろうというのが僕個人の見立てですが、先に述べたように業界のパイ全体が広がっているのも事実なので、恐らく今からさらに10年後も何かしらの形でデータサイエンティストという職業は存続しているであろうと考えられます。その答え合わせをまた10年後にやれたら良いな、という願望を述べたところでこの記事もお開きにしたいと思います。</p><br /> <p><em>(Top image by <a href="https://pixabay.com/ja/users/razzmatazz0r-11620339/">Razzmatazz0r</a> from <a href="https://pixabay.com/ja/photos/%E3%82%BF%E3%83%B3%E3%83%9D%E3%83%9D-%E8%88%97%E8%A3%85-%E9%81%93-%E6%95%B7%E7%9F%B3-%E8%8A%B1-4886946/">Pixabay</a>)</em></p> </div><div class="footnote"> <p class="footnote"><a href="#fn-7acad853" name="f-7acad853" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">もっと言えばソシャゲ業界</span></p> <p class="footnote"><a href="#fn-fa8f237a" name="f-fa8f237a" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://www.kaggle.com/kaggle-survey-2022">State of Data Science and Machine Learning 2022 | Kaggle</a></span></p> <p class="footnote"><a href="#fn-ff4e647e" name="f-ff4e647e" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">見ず知らずのアカウントなのに「Big Techに勤めている貴殿に是非referralをお願いしたい」みたいな<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%FC%B4%E9%CC%B5%C3%D1">厚顔無恥</a>な依頼をDMでしてくる有象無象たち</span></p> <p class="footnote"><a href="#fn-d0c34152" name="f-d0c34152" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a class="keyword" href="https://d.hatena.ne.jp/keyword/SIer">SIer</a>と言っても良い</span></p> </div> TJO NN研究における再現性にまつわるエトセトラ hatenablog://entry/820878482951049125 2023-07-25T18:30:00+09:00 2023-07-25T19:37:37+09:00 先日、ふとしたきっかけでしましま先生*1がこちらの論文について触れられているのを見かけたのでした。これは推薦システム分野におけるNN研究の再現性について検証した2019年の論文で、近年のトップ会議*2に採択されたNN手法18個に対して再現を試みたところ、「reasonableな」努力で再現できたのはわずかに7個に過ぎず、その中でも1個は論文中で主張されたベースラインを超えることは出来なかったと報告しています。 ただ、この報告はNN研究における再現性に関する議論のあくまでも一例であり、実際コロナ禍以前から「論文中ではSOTAを達成と書いているのに同じ実装をどう組んでもSOTAに達しない」みたいな… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230725/20230725160645.png" width="768" height="768" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>先日、ふとしたきっかけでしましま先生<a href="#f-c80367d1" name="fn-c80367d1" title="[https://twitter.com/shima__shima:title]">*1</a>がこちらの論文について触れられているのを見かけたのでした。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Farxiv.org%2Fabs%2F1907.06902" title="Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>これは推薦システム分野におけるNN研究の再現性について検証した2019年の論文で、近年のトップ会議<a href="#f-83ba3a5a" name="fn-83ba3a5a" title="KDD, SIGIR, WWW, RecSysの4つ">*2</a>に採択されたNN手法18個に対して再現を試みたところ、「reasonableな」努力で再現できたのはわずかに7個に過ぎず、その中でも1個は論文中で主張されたベースラインを超えることは出来なかったと報告しています。</p><br /> <p>ただ、この報告はNN研究における再現性に関する議論のあくまでも一例であり、実際コロナ禍以前から「論文中ではSOTAを達成と書いているのに同じ実装をどう組んでもSOTAに達しない」みたいな業界噂話はそこかしこで耳にしたものでした。しかしながら、実際のソフトウェアやアプリケーションとしてそれらのNN手法が用いられて、尚且つその結果として何かしらの不具合でも起きない限りは、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>業界の外側<a href="#f-b2857cc6" name="fn-b2857cc6" title="つまりユーザー側">*3</a>に知られることがあまりなかったのも事実だと思われます。</p><br /> <p>昨今の空前のLLMブームでそこかしこにプロ驚き屋やプロ驚き界隈が跋扈するようになり、尚更ユーザー側ではこの辺の話題はすっかり忘れ去られた感がありますが、ChatGPTの登場でフィーバー状態だったLLM界隈が(例えば後続のローカライゼーションを重視した軽量LLMの登場するようになったことで)落ち着いてきたこともあり、改めてNN研究の再現性問題にスポットライトを当てても良いのかなと個人的に思ったのでした。ということで、個人的な備忘録も兼ねてざっくりまとめてみようと思います。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#研究業界におけるNN研究の再現性問題の捉えられ方">研究業界におけるNN研究の再現性問題の捉えられ方</a></li> <li><a href="#あくまでも個人的な感想">あくまでも個人的な感想</a></li> <li><a href="#余談">余談</a></li> </ul> <div class="section"> <h3 id="研究業界におけるNN研究の再現性問題の捉えられ方">研究業界におけるNN研究の再現性問題の捉えられ方</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Farxiv.org%2Fabs%2F2003.12206" title="Improving Reproducibility in Machine Learning Research (A Report from the NeurIPS 2019 Reproducibility Program)" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>意外とNN研究の再現性を懸念する声というのはかなり前から挙がっていて、それこそ冒頭に挙げた論文がコロナ禍前の2019年に出ていることを考えれば「今から4年も前には既に論文としてまとめられている」程度には業界内では広く知られる事態であったと言えるのではないでしょうか。また、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野のトップ国際会議であるNeurIPSも2019年大会の際に再現性問題に関する調査を行っており(上記リンク)、少なくとも研究者の間では課題意識が共有されていたように見えます。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.nature.com%2Farticles%2Fs43588-021-00152-6" title="Moving towards reproducible machine learning - Nature Computational Science" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ただし、実際に「NN研究に再現性の低いものが多い」という話題が公の場で盛んに言われるようになったのはやはりコロナ禍以降ぐらいという認識があり、例えばNatureがeditorialで指摘したのは2021年のことだったりします。このeditorialの中では割と広汎に渡って「何がNN研究の再現性を損なっているのか」が論じられており、例えば</p> <ul> <li>データ収集プロセスの詳細(バイアスを避けるため)</li> <li>データ前処理の詳細(cherry-pickingを避けるため)</li> <li>Train / dev / testデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>の選び方(同上)</li> <li>Ablation study<a href="#f-723f340e" name="fn-723f340e" title="[https://cvml-expertguide.net/terms/dl/misc/ablation/:title]">*4</a>の実施結果(提案部分に実際に効果があったかどうかを示すため)</li> <li>学習にかかった時間</li> <li>学習時に使用した乱数シード</li> <li>学習だけでなくデータ収集・前処理まで含めた全体で使用したコード</li> <li>使用したソフトウェアライブラリ・ハードウェアのバージョンまで含めた情報</li> </ul><p>などなどを論文中で報告すべきである、と提唱しています。これは冗談でなく「NN研究において用いられる『全て』」を報告せよと言っているに等しく、研究する側からすれば大変な負荷になる話なのではないかと思われますが、一方で実際に例えば「使用したNN<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF">フレームワーク</a>のバージョンによって精度が変わる」という論文も出ているところを見ると説得力のある話だと思います。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.mdpi.com%2F2504-4990%2F4%2F4%2F45" title="How Do Deep-Learning Framework Versions Affect the Reproducibility of Neural Network Models?" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>この論文がそれで、TensorFlowとPyTorchのそれぞれで全く同じデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>に対して全く同じNNを組んでパフォーマンスを比較したところ、バージョンが変わるとパフォーマンスも(場合によっては無視できないほど)変わるということを示しています。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="あくまでも個人的な感想">あくまでも個人的な感想</h3> <p><br /> 僕はNNどころか<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野全体で見てもアカデミックな研究者ではなく、あくまでもそれらの科学技術の「ユーザー」に過ぎませんので、実際にNN研究を行っている人たちの視点からどう見えているかについてはそれこそ業界内で飛び交う噂話や雑感の類を見ながら、推し量るしかない状況です。</p><br /> <p>それでも個人的な感想を書いてしまうと、結局のところNNに関してある程度汎用性の高い理論解析が進んでおらずその特性が理解しきれていないことから、恐らくNN(というか<a class="keyword" href="https://d.hatena.ne.jp/keyword/Deep%20Learning">Deep Learning</a>)研究初期の頃は「パフォーマンスに再現性がない気もするけど、まぁこんなものか」で流されていたものが、どんどんモデルとシステム<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3">アーキテクチャ</a>が巨大化してその再現性の低さが深刻な問題を引き起こすようになってからも、見なかったふりをされてきたということなのかなと感じています。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Farxiv.org%2Fabs%2F2202.06499" title="Real World Large Scale Recommendation Systems Reproducibility and Smooth Activations" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>もっとも、理論的な側面からの対策が何も出ていないかというとそんなことはなくて、例えば推薦システム向けNN研究の再現性の低さを活性化関数(特にReLU)の性質に求めることで、これを改良することで再現性を担保しようという研究も出ていたりします。</p><br /> <p>しかし、実際にML研究界隈から聞こえてくるのはそんなにお行儀の良い話ばかりではなくて、酷いと「dev / testデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>の設定のところでインチキをやっている」みたいな噂もあったり、はたまた「一番結果の良かった乱数シードの時の結果だけ報告していて他はお話にならない」みたいなことだったりもします。つまり、これは以前このブログでも皮肉ったような「俺様が考えた最強のネットワーク選手権」状態が未だに続いていて<a href="#f-267d6022" name="fn-267d6022" title="[https://tjo.hatenablog.com/entry/2017/12/27/190000:title]">*5</a>、しかもその構成要素がさらに多大になったことで「どこを弄った結果『最強』になったかが分からず、どこまで普遍性のある話なのかも分からない」ということになっているようにも見受けられます。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F07%2F06%2F170000" title="再現性問題のはなし - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>以前再現性問題の網羅的なレビューを書いた記事でも指摘したように、「<strong>『自分にとって都合の良い分析結果が欲しい』という人類普遍の欲求というか欲望こそが再現性問題の最大の要因</strong>」なんですよね。その「都合」が「SOTA達成」のような数値指標になっているからこそ、それをハックすることが目的になってしまっているということなのでしょう。僕の過去に放言した「闇七則」の中でも「数値指標は必ずハックされる」と嘯いたことがありますが<a href="#f-5a2fd887" name="fn-5a2fd887" title="[https://twitter.com/TJO_datasci/status/943163206016499712]">*6</a>、まさにそれを地で行く有様だと感じています。</p><br /> <p>それら自体はある意味「過去になかったものを見出すor過去の性能を超える」ことが至上命題の基礎研究の世界の宿命なので、本来なら一朝一夕には解決し難い難題であり、地道な啓発と現場での実戦で徐々に改善を図るべきことなのでしょう。しかし、今現在においてはNNベースのLLMがまさに破壊的<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A4%A5%CE%A5%D9%A1%BC%A5%B7%A5%E7%A5%F3">イノベーション</a>を引き起こしかけており、空前のLLMブームでそこかしこの企業・組織から次々と新しいLLMとそれを援用したプロダクトが作り出されては世に送り出されるという状況になっているわけです。そんなNNベースのLLMの中に、再現性の低いパフォーマンスしか出し得ないLLMが多数混じるような事態になれば、これほど面倒なこともないと思われます。</p><br /> <p>かつては<a class="keyword" href="https://d.hatena.ne.jp/keyword/arXiv">arXiv</a>に載った再現性の低いNN論文はただ読んで嘲っていれば良かったのが、NNそしてLLMが跋扈する現代においてはそんなことも言っていられなくなったわけで、いよいよ実務サイドでもNN研究の再現性問題には良く準備して対応するべき時期が来ているのかなと考えているところです。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="余談">余談</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230722/20230722171913.png" width="1178" height="542" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ちなみに、この記事を書こうと思ったきっかけはこちらのツイートを見かけたことでした。NNではない上に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野の話ですらなかったようですが、それでも「提案手法である以上は必ず既存手法を上回っていなければならない」というプレッシャーとバイアスから評価指標のハック(どころか見ようによっては改竄ないし捏造)に走ってしまうというのは、まさに宿痾だなと感じた次第です。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-c80367d1" name="f-c80367d1" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://twitter.com/shima__shima">&#x3057;&#x307E;&#x3057;&#x307E; (@shima__shima) / Twitter</a></span></p> <p class="footnote"><a href="#fn-83ba3a5a" name="f-83ba3a5a" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a class="keyword" href="https://d.hatena.ne.jp/keyword/KDD">KDD</a>, SIGIR, WWW, RecSysの4つ</span></p> <p class="footnote"><a href="#fn-b2857cc6" name="f-b2857cc6" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">つまりユーザー側</span></p> <p class="footnote"><a href="#fn-723f340e" name="f-723f340e" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://cvml-expertguide.net/terms/dl/misc/ablation/">&#x30A2;&#x30D6;&#x30EC;&#x30FC;&#x30B7;&#x30E7;&#x30F3;(ablation) | CVML&#x30A8;&#x30AD;&#x30B9;&#x30D1;&#x30FC;&#x30C8;&#x30AC;&#x30A4;&#x30C9; &#x3010;&#x6DF1;&#x5C64;&#x5B66;&#x7FD2;&#x3011;&#x3010;&#x6A5F;&#x68B0;&#x5B66;&#x7FD2;&#x3011;</a></span></p> <p class="footnote"><a href="#fn-267d6022" name="f-267d6022" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://tjo.hatenablog.com/entry/2017/12/27/190000">&#x6700;&#x5148;&#x7AEF;&#x3068;&#x6CE5;&#x81ED;&#x3044;&#x5B9F;&#x52D9;&#x306E;&#x73FE;&#x5834;&#x3068;&#x306E;&#x306F;&#x3056;&#x307E;&#x3067;&#x3001;&#x751F;&#x304D;&#x308B; - &#x6E0B;&#x8C37;&#x99C5;&#x524D;&#x3067;&#x50CD;&#x304F;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x306E;&#x30D6;&#x30ED;&#x30B0;</a></span></p> <p class="footnote"><a href="#fn-5a2fd887" name="f-5a2fd887" class="footnote-number">*6</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://twitter.com/TJO_datasci/status/943163206016499712">https://twitter.com/TJO_datasci/status/943163206016499712</a></span></p> </div> TJO エンジニア・データ分析職の方々にお薦めしたい、LLM時代に不可欠な教養が身に付くテキスト3選 hatenablog://entry/820878482945318875 2023-07-02T11:30:00+09:00 2023-12-12T17:47:46+09:00 (『IT Text 自然語処理の基礎』より)3ヶ月ほど前に空前のLLMブームについて概観する記事を書きましたが、それ以降も世間のLLMに対する狂騒ぶりは収まるどころかますます拍車がかかるという有様で、あまつさえ僕自身の仕事における日常業務にもじわじわと影響が及びつつあり、今後も良きにつけ悪しきにつけLLMと共生し続ける必要がありそうだと感じている今日この頃です。 そんな猫も杓子もLLMに群がるが如き空前のブームを受けて、エンジニアやデータ分析職の方々の中には「LLMに興味はあるんだけど世の中にあまりにも多くのLLM関連コンテンツが溢れ返っていて何から手をつけたら良いのか分からない」という向きも… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230629/20230629221757.png" width="1200" height="615" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span style="font-size: 80%">(『IT Text 自然語処理の基礎』より)</span></p><p>3ヶ月ほど前に<a href="https://tjo.hatenablog.com/entry/2023/03/24/170000">&#x7A7A;&#x524D;&#x306E;LLM&#x30D6;&#x30FC;&#x30E0;&#x306B;&#x3064;&#x3044;&#x3066;&#x6982;&#x89B3;&#x3059;&#x308B;&#x8A18;&#x4E8B;</a>を書きましたが、それ以降も世間のLLMに対する狂騒ぶりは収まるどころ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A4%AB%A4%DE%A4%B9">かます</a>ます拍車がかかるという有様で、あまつさえ僕自身の仕事における日常業務にもじわじわと影響が及びつつあり、今後も良きにつけ悪しきにつけLLMと共生し続ける必要がありそうだと感じている今日この頃です。</p><br /> <p>そんな猫も杓子もLLMに群がるが如き空前のブームを受けて、エンジニアやデータ分析職の方々の中には「LLMに興味はあるんだけど世の中にあまりにも多くのLLM関連コンテンツが溢れ返っていて何から手をつけたら良いのか分からない」という向きもあるように見受けられます。そこで、僕も断じてLLM以下生成AIの専門家などではないのですが、個人的に「このテキストを読めばLLM時代を生き抜くことが出来そうだ」と感じた書籍を、全くの独断と偏見で3冊選んでみました。以下にそれぞれの紹介を付しておきます。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#LLMの発展を支える自然言語処理機械学習分野の基礎">LLMの発展を支える、自然言語処理・機械学習分野の基礎</a></li> <li><a href="#LLMそのものが動く仕組みの概要と技術的な観点から見た今後の展望と">LLMそのものが動く仕組みの概要と、技術的な観点から見た今後の展望と</a></li> <li><a href="#LLMを初めとする生成AIを支える深層学習が直面する理論的課題の解説">LLMを初めとする生成AIを支える深層学習が直面する、理論的課題の解説</a></li> <li><a href="#コメントなど">コメントなど</a></li> <li><a href="#追記">追記</a></li> </ul> <div class="section"> <h3 id="LLMの発展を支える自然言語処理機械学習分野の基礎">LLMの発展を支える、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野の基礎</h3> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/B0BBT6KXZN?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41eSGWHm1vL._SL500_.jpg" class="hatena-asin-detail-image" alt="IT Text 自然言語処理の基礎" title="IT Text 自然言語処理の基礎"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/B0BBT6KXZN?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">IT Text 自然言語処理の基礎</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%B2%AC%3F%C4%BE%B4%D1" class="keyword">岡﨑直観</a>,<a href="https://d.hatena.ne.jp/keyword/%B9%D3%C0%A5%CD%B3%B5%AA" class="keyword">荒瀬由紀</a>,<a href="https://d.hatena.ne.jp/keyword/%CE%EB%CC%DA%BD%E1" class="keyword">鈴木潤</a>,<a href="https://d.hatena.ne.jp/keyword/%C4%E1%B2%AC%B7%C4%B2%ED" class="keyword">鶴岡慶雅</a>,<a href="https://d.hatena.ne.jp/keyword/%B5%DC%C8%F8%CD%B4%B2%F0" class="keyword">宮尾祐介</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AA%A1%BC%A5%E0%BC%D2">オーム社</a></li></ul><a href="https://www.amazon.co.jp/dp/B0BBT6KXZN?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>1冊目は、随分前に購入したものの実際には<a class="keyword" href="https://d.hatena.ne.jp/keyword/Kindle">Kindle</a>の中で<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C0%D1%C6%C9">積読</a>したままだいぶ時間が経ってしまい、つい最近になって改めて読んでみたらあまりにも素晴らしかったということで絶賛(僕が)宣伝中の『IT Text <a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>の基礎』です。以下に目次を転載しておきますが、その長大さを見るだけでも内容の充実ぶりが窺えるかと思います。</p> <blockquote> <p>第1章 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>の概要<br />  1.1 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>の応用<br />  1.2 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A1%BC%A5%D1%A5%B9">コーパス</a>と<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a><br />  1.3 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>の難しさ<br />  演習問題</p><p>第2章 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>のための<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の基礎<br />  2.1 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>とは<br />  2.2 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%B5%BB%D5%A4%A2%A4%EA%B3%D8%BD%AC">教師あり学習</a><br />  2.3 特徴量表現<br />  2.4 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%BB%A5%D7%A5%C8%A5%ED%A5%F3">パーセプトロン</a><br />  2.5 ロジスティック回帰<br />  2.6 ソフトマックス回帰モデル<br />  2.7 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>モデルの評価<br />  2.8 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%C0%B5%C2%A7%B2%BD">正則化</a><br />  2.9 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%E9%A5%EB%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF">ニューラルネットワーク</a><br />  2.10 計算グラフと自動<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C8%F9%CA%AC">微分</a><br />  2.11 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%E9%A5%EB%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF">ニューラルネットワーク</a>に関するその他の話題<br />  演習問題</p><p>第3章 単語ベクトル表現<br />  3.1 記号からベクトルへ<br />  3.2 素性関数による単語のベクトル表現<br />  3.3 分布仮説と単語文脈行列<br />  3.4 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%C6%C3%B0%DB%C3%CD%CA%AC%B2%F2">特異値分解</a>による次元削減<br />  3.5 Word2Vec:<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%E9%A5%EB%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF">ニューラルネットワーク</a>による学習<br />  3.6 単語ベクトルの応用<br />  3.7 FastText:単語よりも小さな単位の利用<br />  3.8 単語ベクトル表現の課題と限界<br />  演習問題</p><p>第4章 系列に対する<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%E9%A5%EB%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF">ニューラルネットワーク</a><br />  4.1 単語ベクトルの合成<br />  4.2 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%BA%C6%B5%A2">再帰</a>型<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%E9%A5%EB%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF">ニューラルネットワーク</a>(RNN)<br />  4.3 勾配消失問題と勾配爆発問題<br />  4.4 長期短期記憶(LSTM)<br />  4.5 ゲート付き<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BA%C6%B5%A2">再帰</a>ユニット(GRU)<br />  4.6 畳込み<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%E9%A5%EB%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF">ニューラルネットワーク</a>(CNN)<br />  演習問題</p><p>第5章 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>・系列変換モデル<br />  5.1 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>・系列変換モデルの導入<br />  5.2 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>の定式化<br />  5.3 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>の利用例<br />  5.4 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>の具体例1:nグラム<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a><br />  5.5 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>の具体例2:ニューラル<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a><br />  5.6 系列変換モデル<br />  5.7 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>の評価:パープレキシティ<br />  5.8 未知語問題への対応<br />  演習問題</p><p>第6章 Transformer<br />  6.1 Transformerの歴史的背景<br />  6.2 自己注意機構(セルフアテンション)<br />  6.3 Transformerの構成要素<br />  6.4 学習時の工夫<br />  演習問題</p><p>第7章 事前学習済みモデルと転移学習<br />  7.1 事前学習済みモデルの背景<br />  7.2 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C7%A5%B3%A1%BC%A5%C0">デコーダ</a>の事前学習:GPT<br />  7.4 エンコーダ・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C7%A5%B3%A1%BC%A5%C0">デコーダ</a>の事前学習:BART<br />  7.5 事前学習済みモデルと知識蒸留<br />  7.6 事前学習済みモデル利用上の注意点<br />  演習問題</p><p>第8章 系列ラベリング<br />  8.1 系列ラベリングとは<br />  8.2 系列ラベリングの定式化<br />  8.3 点予測による系列ラベリング<br />  8.4 線形連鎖に基づく条件付き確率場<br />  演習問題</p><p>第9章 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%BD%CA%B8%B2%F2%C0%CF">構文解析</a><br />  9.1 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%BD%CA%B8%B2%F2%C0%CF">構文解析</a>とは<br />  9.2 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E7%B9%BD%C2%A4">句構造</a>解析<br />  9.3 依存構造解析<br />  9.4 さまざまな<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%BD%CA%B8%B2%F2%C0%CF">構文解析</a>手法<br />  演習問題</p><p>第10章 意味解析<br />  10.1 意味解析とは<br />  10.2 テキスト間含意関係認識<br />  10.3 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%E9%A5%EB%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF">ニューラルネットワーク</a>による意味解析<br />  10.4 述語項構造解析<br />  10.5 論理表現<br />  10.6 セマンティックパージング<br />  10.7 意味解析のその他の話題<br />  演習問題</p><p>第11章 応用タスク・まとめ<br />  11.1 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%CB%DD%CC%F5">機械翻訳</a><br />  11.2 質問応答<br />  11.3 対話<br />  11.4 <a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>の過去・現在</p> </blockquote> <p>本書の特筆すべき点は、文字通りの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>の基礎事項から近年のニューラル翻訳やニューラル<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>の発展といった「LLMの前身」に当たる概念、さらにはそれらを支えるNNベースの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の基本とその応用、そしてLLMを支えるself-attention / Transformerの概念に至るまで、懇切丁寧に解説しているところです。勿論今をときめくGPTについての解説もあり、割いている紙面は多くありませんが現在問題視されているhallucinationの概念もきちんと説明されていて、LLM時代真っ只中の課題意識にもバッチリ触れられる構成となっています。</p><br /> <p>特にこの手の専門書にありがちな数式の羅列は比較的抑えられた上で<a href="#f-ab2725de" id="fn-ab2725de" name="fn-ab2725de" title="ただし具体的なアルゴリズムの解説のところでは必要に応じて数式表現と擬似コードを併用している">*1</a>、NNモデル構造とそこを流れるテキストデータの様子については図表をふんだんに駆使して分かりやすく説明しており(例えばこの記事冒頭の図など)、「どの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>がどのように言語データを扱っているか」が一目で分かるようになっています。これは僕がこれまでに読んできた<a class="keyword" href="https://d.hatena.ne.jp/keyword/NLP">NLP</a>関連の書籍の中では群を抜いて分かりやすく書かれていると言っても過言ではなく、おかげさまで<a class="keyword" href="https://d.hatena.ne.jp/keyword/NLP">NLP</a>に苦手意識のあった僕でもスムーズに読み切れました。</p><br /> <p>勿論、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>の「基礎」と題するだけあってLLMに直接は関連しないものの<a class="keyword" href="https://d.hatena.ne.jp/keyword/NLP">NLP</a>という観点からはむしろ「主戦場」とも言える、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%BD%CA%B8%B2%F2%C0%CF">構文解析</a>や意味解析といったテーマにも多くの紙面が割かれており、その説明も従来書に比べて非常に分かりやすく僕個人としては大いに助かったという感想です。</p><br /> <p>ちなみに「それらの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>を実現するコーディング実装」の説明がないことだけが難点ですが、これは本書に登場するキーワードを日本語でも英語でもググれた<a class="keyword" href="https://d.hatena.ne.jp/keyword/GitHub">GitHub</a>, Stack Overflow, Cross Validated, Qiita, Zennなどなどに幾らでも実装例が出てきますので、あえて本書で取り上げる必要がなかったということだと思われます。まずは本書を一読して「LLMの根幹を成す、現代における<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>の全体像」を把握するというのが、理想的な読み方と言えそうです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.jstage.jst.go.jp%2Farticle%2Fjnlp%2F30%2F1%2F30_221%2F_article%2F-char%2Fja" title="書籍紹介 『IT Text 自然言語処理の基礎』" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>なお僕の現職でかつて同僚だった小田さんが<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>学会誌に寄稿した本書の紹介文でも</p> <blockquote> <p>前述したように,深層学習以後の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>の進展は非常に高速である一方,技術としては収斂が進みつつある.また本書では各論文固有のモデルについての言及は少なく,汎用的なモデル構造を紹介する形となっている.これらの観点から,本書の内容が直ちに陳腐化することは避けられると考えられ,信頼できる教科書として長く使用できるのではないかと思われる.</p> </blockquote> <p>と称賛されており、参考になるかと思われます。彼の紹介文も本書の非常に良いまとめとなっていますので、この記事での紹介と併せて読まれることをお薦めします。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="LLMそのものが動く仕組みの概要と技術的な観点から見た今後の展望と">LLMそのものが動く仕組みの概要と、技術的な観点から見た今後の展望と</h3> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4000297198?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51940yXNqUL._SL500_.jpg" class="hatena-asin-detail-image" alt="大規模言語モデルは新たな知能か――ChatGPTが変えた世界 (岩波科学ライブラリー)" title="大規模言語モデルは新たな知能か――ChatGPTが変えた世界 (岩波科学ライブラリー)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4000297198?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">大規模言語モデルは新たな知能か――ChatGPTが変えた世界 (岩波科学ライブラリー)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%B2%AC%CC%EE%B8%B6%20%C2%E7%CA%E5" class="keyword">岡野原 大輔</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B4%E4%C7%C8%BD%F1%C5%B9">岩波書店</a></li></ul><a href="https://www.amazon.co.jp/dp/4000297198?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>2冊目は、直近の新刊書で尚且つ一般向け書籍では界隈からの評価が最も高い、PFN創業者の岡野原さんが書かれた『大規模<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>は新たな知能か』です。以下に目次を引用しておきます。</p> <blockquote> <p>序章 チャットGPTがもたらした衝撃<br /> 1 大規模<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>はどんなことを可能にするだろうか<br /> 2 巨大なリスクと課題<br /> 3 機械はなぜ人のように話せないのか<br /> 4 シャノンの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BE%F0%CA%F3%CD%FD%CF%C0">情報理論</a>から大規模<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>登場前夜まで<br /> 5 大規模<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>の登場<br /> 6 大規模<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>はどのように動いているのか<br /> 終章 人は人以外の知能とどのように付き合うのか</p> </blockquote> <p>縦書きの一般書ということもあり、基本的には数式やコードの類はほぼ出てきません。その代わりに分かりやすい模式図・概念図を多数交えて「LLMが何故広く知られるような挙動を示すか」「LLMにとって何が深刻な課題か」といったLLMユーザーが一番に関心を持ちそうな話題について解説を加えています。その上で、さらにはそのベースとなるニューラル<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>に至るまでの過程を、シャノンの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BE%F0%CA%F3%CD%FD%CF%C0">情報理論</a>に始まる長い長い歴史として紐解いていき、それに加えて一般論としての「(人工)知能の捉え方」の議論にまで踏み込んでいくという、大変に興味深い構成になっています。</p><br /> <p>あとがきによればChatGPTが話題を呼び始めた頃に「2週間で一気に書き上げ」たそうですが、そんな駆け足で執筆されたとは思えないくらい充実した内容だと思います。特にLLMがどういう挙動をする代物なのかという解説と、その裏側のメ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AB%A5%CB">カニ</a>ズムの開発は流石一般向け書籍なだけあって非常にコンパクトにまとまっています。これまでLLMどころかニューラル<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>にも疎かった、という人でも読みやすく分かりやすい一冊と言えるのではないでしょうか。</p><br /> <p>個人的には、クロス<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A8%A5%F3%A5%C8%A5%ED%A5%D4%A1%BC">エントロピー</a>の計算などで当たり前のように援用されているシャノンの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BE%F0%CA%F3%CD%FD%CF%C0">情報理論</a>が、何故提唱された当時は画期的だったのかという解説と、その頃シャノンが実際に手計算(!)で示したテキスト生成モデルがどんなものであったかを紹介していたところが、強く印象に残りました。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="LLMを初めとする生成AIを支える深層学習が直面する理論的課題の解説">LLMを初めとする生成AIを支える深層学習が直面する、理論的課題の解説</h3> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4000297031?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51Kx9kvv5kL._SL500_.jpg" class="hatena-asin-detail-image" alt="深層学習の原理に迫る: 数学の挑戦 (岩波科学ライブラリー 303)" title="深層学習の原理に迫る: 数学の挑戦 (岩波科学ライブラリー 303)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4000297031?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">深層学習の原理に迫る: 数学の挑戦 (岩波科学ライブラリー 303)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%BA%A3%C0%F4%20%B0%F4%C1%EF" class="keyword">今泉 允聡</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B4%E4%C7%C8%BD%F1%C5%B9">岩波書店</a></li></ul><a href="https://www.amazon.co.jp/dp/4000297031?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>3冊目は、数年来の知己でもある今泉さんが2年前に出された『深層学習の原理に迫る』です。こちらも以下に目次を引用しておきます。</p> <blockquote> <p>第1章 深層学習の登場<br /> 第2章 深層学習とは何か<br /> 第3章 なぜ多層が必要なのか<br /> 第4章 膨大なパラメータ数の謎<br /> 第5章 なぜパラメータの学習ができる?<br /> 第6章 原理を知ることに価値はあるか</p> </blockquote> <p>正確にはLLMというよりそれを支える基礎技術である深層学習(<a class="keyword" href="https://d.hatena.ne.jp/keyword/Deep%20Learning">Deep Learning</a>)についての、さらにそのまた根底にある基礎原理の仕組みについて、出来るだけ分かりやすい解説を試みるというかなり野心的な一般書です。2年前の本ではありますが、LLMの数々が示す驚異の性能であったり不可解な挙動といった、現在においても未解明のままの課題の数々について現段階での研究成果をもとに説明してくれる、素晴らしい一冊です。</p><br /> <p>そのうちのいくつかを例示すると、今泉さんの近年の研究テーマとして知られる「<a href="https://www.slideshare.net/masaakiimaizumi1/ss-87969960">&#x975E;&#x6ED1;&#x3089;&#x304B;&#x3055;</a>」の話題が好例でしょう。僕は実際の論文を読んでも1割も分からなかったんですが、本書の解説を読んでようやくその意味と意義とが理解できたという次第です。他にも現在ではgrokkingとして知られる「パラメータを増やし続けると<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B2%E1%B3%D8%BD%AC">過学習</a>が収まり再び汎化するようになる」現象の解説や、どの局所最適に落ちても損失関数の「底」が広大に広がっているために全て大域最適解になるという「広い大域最適解」説の話題、さらには「宝くじ仮説」として知られる「多数のパラメータを持つNNは内部にサブNNを多数持っていてランダムにそれらが呼び出される」説の紹介なども詳細にされています。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="コメントなど">コメントなど</h3> <p><br /> ちなみにこの記事では『IT Text <a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>の基礎』→『大規模<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>は新たな知能か』という順に読むことをお薦めする感じになっていますが、実際には「取っ付きやすいと感じた方から読む」のが良いのではないかと思っています。1冊目→2冊目の順であれば「技術的な議論としては難しく見えていたけど実際にはこういう感じだったのか」と後から納得感が出るということもあるかと思いますし、逆に2冊目→1冊目の順なら「平易な解説としてはこれこれのように書かれているけど裏側ではこんな仕組みがあったのか」という種明かし感が得られるのではないかと思われます。</p><br /> <p>ただ、いずれの順であれ3冊目の『深層学習の原理に迫る』は最後に読んだ方が良いと思います。理由は単純で、一般向け書籍であり且つ数式も極力割愛していながら、展開される議論の抽象度があまりにも高過ぎるからです(笑)。どちらかというと前二者を読んで深層学習がどのように使われていて、どのような<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>で動いていて、どれほどの精度が出ているか、ということを理解してから3冊目として読むと色々な気付きが得られるのではないでしょうか。特に、LLMの観点からするとhallucinationの問題はNNの原理的側面が解明されない限り解決されないという観測もあるくらいなので、一通りの議論を知っておくことは有意義なはずです。</p><br /> <p>ともあれ、巷に溢れる得体の知れない「自称AI専門家」「自称AI研究者」が手掛ける有象無象のweb記事や資料を読んだり彼らが開催する<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BB%A5%DF">セミ</a>ナーなどに通うよりは、確かな専門家の方々が著したこれらの書籍を読む方が、よっぽどLLM時代を生き抜く上で不可欠な教養が着実に身につくと思われます。今後もLLMの進歩とそれに連なる狂騒はしばらく続くと予想されますが、それらに惑わされないように確かな見識を持ち続けたいものです……自戒を込めて。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="追記">追記</h3> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4297136333?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51g9GdgZNyL._SL500_.jpg" class="hatena-asin-detail-image" alt="大規模言語モデル入門" title="大規模言語モデル入門"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4297136333?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">大規模言語モデル入門</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="https://d.hatena.ne.jp/keyword/%CE%EB%CC%DA%20%C0%B5%C9%D2" class="keyword">鈴木 正敏</a>,<a href="https://d.hatena.ne.jp/keyword/%BB%B3%C5%C4%20%B9%AF%CA%E5" class="keyword">山田 康輔</a>,<a href="https://d.hatena.ne.jp/keyword/%CD%FB%20%CE%BF%B4%A8" class="keyword">李 凌寒</a></li><li><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/4297136333?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>この記事を書いている最中に、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%BB%C9%BE">技評</a>さんからその名もズバリ『大規模<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>入門』という書籍が出る旨アナウンスがありました。7月末の発売だそうです。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-ab2725de" id="f-ab2725de" name="f-ab2725de" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">ただし具体的な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>の解説のところでは必要に応じて数式表現と<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%BC%BB%F7%A5%B3%A1%BC%A5%C9">擬似コード</a>を併用している</span></p> </div> TJO グアムに行ってきました hatenablog://entry/820878482943122330 2023-06-24T09:00:00+09:00 2023-06-25T14:22:46+09:00 Hafa Adai!!*1 6月中旬、夏至のちょっと前にグアムに行ってきました。コロナ禍以降これまで全く海外に行っておらず、また昨年5月にDVT(深部静脈血栓症)に罹ってから*2は飛行機にすら乗っていなかったので、その両方を今回ようやく解禁したという次第です。 行き先をグアムにした理由は幾つかあるんですが、1つ目は飛行機で4時間未満しかかからず「海外としては極めて近い」ということ。2つ目は時差が1時間しかないということ。3つ目は「南の島でゆっくりしたかった」ということ。1・2番目は主にDVT*3を慮った結果なんですが、3番目に関しては10年前にも行ったサイパンでも良かったんですよね。ただ、サイ… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230621/20230621124239.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>Hafa Adai!!<a href="#f-0b481999" name="fn-0b481999" title="これって「ハファデイ」と発音するんだということを、グアム現地に行ってみて初めて知りました">*1</a></p><br /> <p>6月中旬、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B2%C6%BB%EA">夏至</a>のちょっと前にグアムに行ってきました。コロナ禍以降これまで全く海外に行っておらず、また昨年5月にDVT(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BF%BC%C9%F4%C0%C5%CC%AE%B7%EC%C0%F2%BE%C9">深部静脈血栓症</a>)に罹ってから<a href="#f-7786c48f" name="fn-7786c48f" title="[https://tjo.hatenablog.com/entry/2022/05/16/150418:title]">*2</a>は飛行機にすら乗っていなかったので、その両方を今回ようやく解禁したという次第です。</p><br /> <p>行き先をグアムにした理由は幾つかあるんですが、1つ目は飛行機で4時間未満しかかからず「海外としては極めて近い」ということ。2つ目は時差が1時間しかないということ。3つ目は「南の島でゆっくりしたかった」ということ。1・2番目は主にDVT<a href="#f-99acdcee" name="fn-99acdcee" title="そしてその服薬スケジュールの調整">*3</a>を慮った結果なんですが、3番目に関しては10年前にも行った<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A5%A4%A5%D1%A5%F3">サイパン</a>でも良かったんですよね。ただ、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A5%A4%A5%D1%A5%F3">サイパン</a>は今でも直行便が少なく不便なのに対して、グアムの方が直行便が多くて尚且つ我が家ではまだ行ったことがなかったので、今回はグアムを選んだのでした。</p><br /> <p>ということで、我が家としては事前に期待した以上にグアムが気に入ったということもあり、今回のグアム訪問で気付いたことや今後の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%CF%B9%D2">渡航</a>時に備えて覚えておきたいことなどの備忘録として、そして後述する台風被害からの復興途上にある観光地グアムを応援するメッセージとして、ここに<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CE%B9%B9%D4%B5%AD">旅行記</a>を書いておこうと思います。ただし我が家は決してグアム通というわけではなく<a href="#f-e0bcb224" name="fn-e0bcb224" title="ちなみに友人や同僚にはグアム常連という人が結構いる">*4</a>、もしかしたら間違ったことや事実誤認を書いている可能性もありますので、その際は是非ご指摘くださると有難いです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F01%2F31%2F203657" title="シンガポール訪問記(1年半ぐらいぶり6回目) - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ちなみに「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CE%B9%B9%D4%B5%AD">旅行記</a>」は海外旅行(含出張)に行った時しか書かないカテゴリで、思い起こせば実に3年5ヶ月ぶり。そして前回の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CE%B9%B9%D4%B5%AD">旅行記</a>は、2020年1月中旬に訪問した<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%F3%A5%AC%A5%DD%A1%BC%A5%EB">シンガポール</a>のもの。記事中でも書いていますが、実はこの時点で<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%F3%A5%AC%A5%DD%A1%BC%A5%EB">シンガポール</a>では既に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BF%B7%B7%BF%A5%B3%A5%ED%A5%CA%A5%A6%A5%A4%A5%EB%A5%B9">新型コロナウイルス</a>の感染拡大が始まっていたとされているので、本当にギリギリのタイミングでのコロナ禍前最後の海外<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%CF%B9%D2">渡航</a>だったんですよね。<br /> <br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#グアムはバカンスに必要なものが一通り全てある南の島">グアムは、バカンスに必要なものが「一通り全て」ある南の島</a></li> <li><a href="#6月のグアムは雨季だが日差しが非常にキツいので帽子と日焼け止めが必須">6月のグアムは雨季だが日差しが非常にキツいので、帽子と日焼け止めが必須</a></li> <li><a href="#タモンビーチは果てしなく遠浅なので小さな子供連れには最高">タモンビーチは果てしなく遠浅なので小さな子供連れには最高</a></li> <li><a href="#ホテルはビーチの目の前のところが良い">ホテルはビーチの目の前のところが良い</a></li> <li><a href="#移動にはStrollかレンタカーを用いるべし">移動にはStrollかレンタカーを用いるべし</a></li> <li><a href="#フードコートはUS国内としては綺麗なのでランチにお薦め">フードコートはUS国内としては綺麗なのでランチにお薦め</a></li> <li><a href="#ディナーはOpenTableなどで予約すると便利">ディナーはOpenTableなどで予約すると便利</a></li> <li><a href="#物価支払いその他の細々とした話">物価、支払い、その他の細々とした話</a></li> <li><a href="#Stay-Strong----台風2号Mawarの余波に関して">Stay Strong -- 台風2号(Mawar)の余波に関して</a></li> <li><a href="#往復のフライトと出入国について">往復のフライトと出入国について</a></li> <li><a href="#おまけ">おまけ</a></li> </ul> <div class="section"> <h3 id="グアムはバカンスに必要なものが一通り全てある南の島">グアムは、バカンスに必要なものが「一通り全て」ある南の島</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230621/20230621124140.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fja.wikipedia.org%2Fwiki%2F%25E3%2582%25B0%25E3%2582%25A2%25E3%2583%25A0" title="グアム - Wikipedia" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>以前に何度か<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CE%B9%B9%D4%B5%AD">旅行記</a>を上げているのでこのブログをご愛読いただいている方々にはお馴染みかもしれませんが、我が家はどちらかというと「ハワイ派」だったんですよね。なのでもっと近場で小ぢんまりとしている印象のあるグアムにはこれまであまり食指が動かなかったんですが、今回初めて現地に行ってみて印象が変わりました。それは、色々な意味で「バカンスの要素が一通り全て揃っている」南の島なのだな、と。</p><br /> <p>即ち美しいビーチ、ラグジュアリーで施設の充実したリゾートホテル、多彩なアクティビティ、現地ならではのグルメ、ショッピングを初めとした街歩きスポット……といったものが、コンパクトに全て一つの島に収まっているという感想でした。勿論我が家は今回タモン・タムニンしか回っていないのでその範囲のことしか見聞きしていませんが、この2地区だけでも存分にバカンスを味わえたという実感があります。出発する前に色々な人から「ミニ・ハワイですよ」と聞かされていたんですが、まさにそういうイメージです。</p><br /> <p>ちなみに10年前にお隣の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A5%A4%A5%D1%A5%F3">サイパン</a>に行ったことがあるのですが、そちらは良く言えばローカル感満載、悪く言えば「田舎」の島で、リゾートホテルとビーチを除くとあまり見どころがなくてちょっと寂しいところだったんですよね。その代わり<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CB%CC%C2%C0%CA%BF%CD%CE">北太平洋</a>では屈指の、実に素晴らしいラグーンがある島なので、そちらを目当てに訪れるのが正しいのだろうと思っています。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="6月のグアムは雨季だが日差しが非常にキツいので帽子と日焼け止めが必須">6月のグアムは雨季だが日差しが非常にキツいので、帽子と日焼け止めが必須</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230620/20230620182513.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>一応グアムは1-5月が乾季、6-12月が雨季ということになっていて今回は雨季の訪問だったわけですが、熱帯地方あるあるの「雨季といっても基本的にはいつも晴れている」例に漏れず、我々の滞在中のグアムでは僅かな例外を除いてずっと晴れていました。というと「いや熱帯の雨季だとスコールが凄いのでは」と言われそうですが<a href="#f-4d33a758" name="fn-4d33a758" title="実際例えばシンガポールの雨季のスコールはめちゃくちゃ激しい">*5</a>、今回の滞在中は2,3回ぐらいパラパラとにわか雨が降ってきた程度で、少なくとも雷雨に遭遇したことはありませんでした。</p><br /> <p>なので基本的には雨具の心配はグアムでは無用で、むしろ日除けの方が何倍も重要です。今回の滞在中のグアムでは、とにかく強い日差しが非常にキツかったです。2日目の昼前に運動を兼ねた散歩のつもりでタモンから後述のPremier Outletsまで5.5kmほど歩いたんですが、あまりの炎天下にダウンする寸前でした(汗)。そもそも北回帰線付近に位置するグアムでは、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B2%C6%BB%EA">夏至</a>の前後は正午になると太陽が「本当に真上」辺り、下手をすると北側に昇ってくるんですね。なのでハワイ辺りで想像する日差しとは明らかにその「威力」が異なります。10年前の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B2%C6%BB%EA">夏至</a>の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A5%A4%A5%D1%A5%F3">サイパン</a>でも体感したのと同じように、「真上から照り付ける日光に炙られている」感が半端ないです。</p><br /> <p>故に、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C7%AE%C3%E6%BE%C9">熱中症</a>を防ぐためにも日除けが必要です。ただし日本と違って日傘を差している人は誰もいなくて無駄に目立つだけなので、帽子を被ると良いでしょう。日本から持参しなくても、そこら中にあるABC Storesで売っています。</p><br /> <p>また、それだけ強烈な日差しが降り注ぐのでいとも簡単に日焼けします。僕は昔から日焼けには強い肌質なので油断していたんですが、2日目の午前中にビーチとプールで何気なく日に当たっていただけで物の見事に全身真っ黒になりました(笑)。ということで、日焼け止めはビーチに出る時に限らず、外出する際には必ず塗りましょう。嫁さん曰くでは「この日差しだとSPF50でも1時間に1回塗り直すくらいでないと焼けてしまう」とのことだったので、特に女性は多めに日焼け止めを持って行くか、ABC Storesで現地の強力な日焼け止めを買うかした方が良いかもしれません。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="タモンビーチは果てしなく遠浅なので小さな子供連れには最高">タモンビーチは果てしなく遠浅なので小さな子供連れには最高</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623163923.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>今回のグアム旅行では後述するようにDusit Thani Guam Resortに泊まったんですが、その目の前にあるタモンビーチは想像以上に素晴らしいビーチでした。何が素晴らしいかというと、とにかく透明度が高い。偏光サングラスをかけていると波打ち際を泳いで駆け抜けていく小魚たちの群れがはっきりと見て取れますし、そこかしこに横たわるナマコたちの姿すらはっきり分かるくらいなんですね。</p><br /> <p>そしてもう一点良いと思ったのが、とにかく波が穏やかで遠浅なこと。タモンビーチは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%B9%B8%EA%BE%CC">珊瑚礁</a>のリーフが沖合数百mまで続いているんですが、干潮時だとそこまで普通に歩いていけるんですね。しかもその水深がとにかく浅い。干潮時ならどこまで行っても大人の膝下ぐらいしかなく、満潮に近い時でもせいぜい大人の腰ぐらいまでしかないのです。おまけに波が穏やかというか、ほぼ「無い」。陸側から卓越風として拭き続ける東風が立てる波の方がよほどはっきりしていて、波が逆流していくという不思議な光景すら見られます。そんなわけで周囲を見ていると未就学児ぐらいの小さ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A4%CA%A4%AA%BB%D2">なお子</a>さんを遊ばせている家族連れが多かったんですが、納得です。小さな子供連れの家族には最高のビーチだと思いました。</p><br /> <p>グアムのビーチは他の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A5%EA%A5%A2%A5%CA">マリアナ</a>各島同様「サンゴから出来た白い砂浜」で、非常に粒子が細かいです。先述のようにタモンビーチは遠浅で沖合までズブズブ歩くことが多いんですが、素足で歩くのは石やナマコに当たったりして色々不都合が多いです。他の体験記によると「ビーチサンダル以外の履き物があった方が良い」ということで、今回嫁さんが用意して行ったのがビーチソックスでした。</p><br /> <p>これは確かに便利で、ある程度足を海岸や水中に転がっている様々なものから守ってくれる一方で、履いたまま海に入ってもビーチサンダルと違って脱げてしまうこともないんですね。個人的にはクロックスのストラップ付きでも良いかもと思いましたが、いずれにせよビーチサンダル以外の「水の中で脱げない履き物」があった方が便利だと思います。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230620/20230620183000.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>なお、小学校高学年より上のお子さんがいるご家庭ではグアムだと海が浅過ぎて面白くないということになるかもしれないので、タモン以外のより水深の深い別のビーチか、お隣の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A5%A4%A5%D1%A5%F3">サイパン</a>をお薦めしておきます。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A5%A4%A5%D1%A5%F3">サイパン</a>のラグーンだと上の写真<a href="#f-74af3414" name="fn-74af3414" title="これはサイパンのマニャガハ島">*6</a>のように水深1m程度の浅い海が沖合の堡礁までずーっと続いているエリアが幾つもあって、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%E5%A5%CE%A1%BC%A5%B1%A5%EA%A5%F3%A5%B0">シュノーケリング</a>以下色々なアクティビティが楽しめます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="ホテルはビーチの目の前のところが良い">ホテルはビーチの目の前のところが良い</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230620/20230620181708.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623230648.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.dusit.com%2Fdusitthani-guamresort%2Fja%2F" title="ホーム" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>今回我々が泊まったのはDusit Thani Guam Resort。タイ資本の大手ホ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C6%A5%EB%A5%C1">テルチ</a>ェーンがグアムはタモンビーチに構える大型リゾートホテルです。予約した嫁さんの「朝食などにあまり気を使わなくて良いように」という取り計らいで29階客室に泊まるクラブ・オーシャン・フロントのプランを選択したのでした。</p><br /> <p>これはホテルの上級会員であるDusit Clubの特典をそのまま使えるプランで、最上階30階のクラブラウンジを使えるというものだったんですが、生憎と滞在期間中はずっとクローズされていたのでその代替プランとして朝食に3階のレストラン "Aqua" のビュッフェを使わせてもらえたり、夕方に1階ロ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D3%A1%BC%A5%D5">ビーフ</a>ロアのラウンジでビールなどを貰えたり、というサービスを受けることができました。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623231107.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623231133.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623231148.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623231206.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>なお最終日の朝になってようやくクラブラウンジがオープンしたので、朝食だけ堪能してきました。とりあえず眺めは良かったです(笑)。Aquaほど朝食のメニューのバリエーションはないので、単純に朝食という意味ではAquaに振り替えの方が良かったかもしれません。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623231515.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623231536.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623231550.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>客室は非常に綺麗かつ広かったです。29階と高層階にもかかわらずバルコニーに出られて、美しいタモンビーチの眺望を楽しめるのも個人的にはプラスでした。</p><br /> <p>しかし、何よりもやはりタモンビーチの文字通り目の前の立地で、敷地内のプールから歩いて0分でビーチに出られるのが良かったですね。おかげさまで5年ぶりの海水浴を存分に楽しめましたし、帰国する日の朝も気軽にビーチに出て散策することもできました。先述したようにグアムでどのホテルに泊まるかは完全に目的次第だと思いますが、ビーチとリゾートを楽しみたければやはりビーチの目の前に隣接したホテルが良さそうです。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="移動にはStrollかレンタカーを用いるべし">移動にはStrollかレンタカーを用いるべし</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fstroll.international%2F" title="Stroll" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>グアムは比較的小さな島<a href="#f-d3ff4ac9" name="fn-d3ff4ac9" title="オアフ島やハワイ島に比べればという意味で">*7</a>ですが、それでも歩いて回るのは無理があります。そこでお薦めなのがライドシェアサービスなのですが、グアムでは<a class="keyword" href="https://d.hatena.ne.jp/keyword/Uber">Uber</a>も<a class="keyword" href="https://d.hatena.ne.jp/keyword/Lyft">Lyft</a>もGrabも使えない代わりにStrollというご当地ライドシェアがあるので、そちらを利用するのをお薦めします。<a class="keyword" href="https://d.hatena.ne.jp/keyword/App%20Store">App Store</a> / <a class="keyword" href="https://d.hatena.ne.jp/keyword/Google%20Play">Google Play</a>どちらからもインストールできます。Grabと違って日本国内にいる時点からクレジットカード登録ができますので、出国前に済ませておくと良いでしょう。</p><br /> <p>使い方は完全に<a class="keyword" href="https://d.hatena.ne.jp/keyword/Uber">Uber</a> / <a class="keyword" href="https://d.hatena.ne.jp/keyword/Lyft">Lyft</a> / Grabと同じで、現在地(乗車予定位置)と目的地を指定して、後は希望の車種を選択して配車リク<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A8%A5%B9">エス</a>トをかけるだけです。我々が滞在中は「台風復興(後述)のための寄付つきプラン」で2ドル追加で課金されるようになっていましたが、普段は23ドルが基本料金という感じでした。なお我々が利用した3回とも全て料金は30ドルでした(自動設定チップ20%込みで基本料金=初乗りの金額)。</p><br /> <p>ただ、初乗り23ドルというのは決して安い金額ではないので、島内を頻繁に車で移動するようであればレンタカーを利用した方が良いかもしれません。見た感じではハ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EF%A5%A4%C5%E7">ワイ島</a>や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A5%A6%A5%A4%C5%E7">マウイ島</a>よりは道路は混んでいるものの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AA%A5%A2%A5%D5%C5%E7">オアフ島</a>ほどは混んでいないという交通状況で、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CB%A5%C3%A5%DD%A5%F3%A5%EC%A5%F3%A5%BF%A5%AB%A1%BC">ニッポンレンタカー</a>を初めとして日系のレンタカーサービスも島内にあるので、試してみるのも一手でしょう。</p><br /> <p>ちなみにタクシーはほぼクレジットカードが使えない模様で、念のため持参した現金100ドルは空港との往復のタクシー代(チップ込み)で概ね消えました。またタクシーだと当たり前ですがある程度以上英語でやり取りできないとしんどいので、その意味でもStrollかレンタカーを使った方が無難かもしれません。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="フードコートはUS国内としては綺麗なのでランチにお薦め">フードコートはUS国内としては綺麗なのでランチにお薦め</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623231857.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>今回グアムでは<a href="https://gpoguam.com/">Guam Premier Outlets</a>と<a href="https://www.micronesiamall.com/">Micronesia Mall</a>と2箇所の大型商業施設を訪れたんですが、どちらにもフードコートがあったのでちょっと回ってみました。そこで感心したんですが、US国内のフードコートとしてはかなり衛生的で綺麗なんですね。</p><br /> <p>これは別に他所のUSの都市のフードコート<a href="#f-beef5e5b" name="fn-beef5e5b" title="LAとかサンディエゴとかDCとかNYCとか">*8</a>をdisってるつもりはないんですが(笑)、特に清掃スタッフが駆けずり回っているわけでもないのにどこも汚れたり散らかったりしていなかったのが、物凄く印象に残っています。これはグアム現地の人たちの高い衛生意識のなせる業なのかもしれませんが、日本は都内のその辺のフードコートと比べても綺麗というくらいの感じだったので特筆に値すると思います。</p><br /> <p>ちなみに上の写真はPremier Outletsの<a href="https://www.gpoguam.com/taco-bell/">Taco Bell</a>で頼んだcomboです。日本ではTaco Bell上陸時にどこの店舗でも大行列していたと聞きますが、グアムでもここだけちょっとだけ列が伸びていてやっぱり人気があるんだなと思った次第です。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="ディナーはOpenTableなどで予約すると便利">ディナーはOpenTableなどで予約すると便利</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.opentable.jp%2F" title="レストランの情報とオンライン予約 | OpenTable [オープンテーブル]" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>リゾートの夜と言えばディナーやナイトクラブを楽しみにしている方々も多いかと思います。流石にナイトクラブは僕の守備範囲ではないので分かりかねますが(笑)、ディナーについては調べた範囲ではOpenTableで予約するのが便利なようです。過去の海外旅行でもNYCと<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A5%A6%A5%A4%C5%E7">マウイ島</a>では大いに役立ったのですが、グアムでも有用でした。</p><br /> <p>実際に今回のグアム旅行で予約したのは、他でもない宿泊先のDusit Thaniの中のレストランたちなんですが(汗)、それでも受付にいたりいなかったりするconcierge / restaurant reservationの人たちに頼むよりはwebだけで完結するので、気楽で良いと思います。ただし、見ていた感じではweb予約枠が少なくOpenTableからだとすぐに席が埋まってしまうようだったので、確実を期すなら直接問い合わせた方が良さそうです。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623231921.png" width="1024" height="741" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>我々が2日目の夜に満喫したのは<a href="https://www.dusit.com/dusitthani-guamresort/ja/dining/alfredos-steakhouse/">Alfredo&#39;s Steakhouse</a>。Wolfgang'sの薫陶を受けたというTボーンステーキは実に絶品でした。ワインリストも充実のラインナップを誇っており、流石はかつてグアムNo.1レストランの座に輝いただけのことはあります。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623231946.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>3日目の夜のディナーは<a href="https://www.dusit.com/dusitthani-guamresort/ja/dining/soi/">Soi</a>にて。タイ資本ホテルのタイ料理レストランだけあって、非常に上品で本格的なタイ料理を楽しめます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="物価支払いその他の細々とした話">物価、支払い、その他の細々とした話</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623234833.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623234850.png" width="901" height="1200" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>物価については嫁さんの昔の同僚でグアム常連<a href="#f-661c0dc6" name="fn-661c0dc6" title="シュノーケリング・スキューバダイビングが一家で趣味らしい">*9</a>という方の話では「米本土よりは安い」という話だったんですが、上記のTaco Bellのセットが18ドル弱(2500円ぐらい)という感じだったので、やはり日本に比べると結構な割高感がありますね。上に写真を挙げた<a href="https://goo.gl/maps/2hs7L9PEYFuWnCQe7">Beachin&#39; Shrimp</a>も瓶ビール2本と料理2皿を頼んでチップ込みで56ドル(8000円ぐらい)したんですが、ほぼファミレスみたいなカテゴリであることを鑑みるとやはりちょっと頭を抱えたくなります。どちらかというとちゃんとしたレストランで大ボリュームの料理を1皿頼んでシェアする方がお得感があるんじゃないでしょうか。上記のAlfredo's SteakhouseのTボーンステーキなどはその意味ではお薦めかと。</p><br /> <p>それから、クレジットカードはVisa / Masterのいずれかを必ず持参することをお薦めします。理由は簡単で、これ以外は受け付けない店がちらほらあるからです。というのは嫁さんがAmexユーザーなんですが、2回ほど「Amexは使えない」と断られて「おおこれがあのVisaの有名な比較広告CM<a href="#f-41c4b937" name="fn-41c4b937" title="1988年のカルガリー冬季五輪の際にVisaが「アメリカ大陸であってもカルガリーではAmexは使えません、どこでも使えるVisaをどうぞ」というCMを流していたことがある">*10</a>で言われていた事態か!」と感心したのは単に僕がおっさんなだけです(笑)。</p><br /> <p>グアムは言うまでもなくUS territoryなので<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%F8%CD%D1%B8%EC">公用語</a>は当然英語で、観光客といえども英語が出来た方が便利に決まっているんですが、バブル期などに日本人が大挙して押しかけて暴れ回った成果が(パリ同様に)まだ残っているようで、至るところに日本語表記の看板やレストランメニューがあります。なので細かいやり取りをしない限りは、英語が話せなくてもある程度はいけると思います。また大手リゾートホテルだとスタッフに日本人がいることがあるので、どうしても日本語でのやり取りを希望する場合はホテル側に日本人スタッフによる対応を依頼するというのも一手です。</p><br /> <p>余談ながら。Dusit Thaniのチェックイン時に対応してくれたのが韓国系のスタッフの人だったんですが、あまり英語が得意でないのかdepositの説明<a href="#f-ab69ea7f" name="fn-ab69ea7f" title="確かにこれはサービス業の説明としてはややこしい感はある">*11</a>の際に<a class="keyword" href="https://d.hatena.ne.jp/keyword/Google%CB%DD%CC%F5">Google翻訳</a>で韓国語→日本語の翻訳画面を見せながら説明してきて、思わず苦笑いしてしまうという一幕がありました。そういう意味では、米本土と違ってグアム現地にいる人も必ずしも英語が<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CA%EC%B8%EC">母語</a>とは限らないという側面はある<a href="#f-0db82077" name="fn-0db82077" title="特にDusit Thaniはタイ資本なので必然的にタイ出身と思しきスタッフが多かった">*12</a>ようなので、尚更あまり英語で話すことにこだわらなくても良い気がします。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="Stay-Strong----台風2号Mawarの余波に関して">Stay Strong -- <a class="keyword" href="https://d.hatena.ne.jp/keyword/%C2%E6%C9%F72%B9%E6">台風2号</a>(Mawar)の余波に関して</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTyphoon_Mawar" title="Typhoon Mawar - Wikipedia" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>我が家がグアムを訪れたのは、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C2%E6%C9%F72%B9%E6">台風2号</a>(Mawar)が甚大な被害を出してから2週間余り経った頃でした。台風直撃当時は猛烈な風雨と高波によって人的犠牲が出た他、住宅や施設・ホテルにも破損や浸水の被害が出ており、日本人を含む多くの観光客が足止めを食らった挙句ホテルから追い出されてその日の雨露をしのぐのにも困るという事態になり、1週間ほどはかなり大変だった様子を各種報道や<a class="keyword" href="https://d.hatena.ne.jp/keyword/SNS">SNS</a>で見ていました。</p><br /> <p>それでもかつては航空台風観測の拠点ともなっていた島であり、日本で言えば沖縄に当たる文字通りの「台風銀座」の本拠だけあって、台風被害からは非常にスピーディーな復旧に漕ぎ着け、我が家がグアムに向けて出発する頃には「大半のホテルと商業施設は営業再開」とのニュースが流れていました。これには本当に感服するしかなかったです。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230621/20230621130218.png" width="1200" height="651" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230621/20230621130044.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ただ、現地に行ってみるとやはり台風の爪痕はそこかしこにまざまざと残ったままで、例えばDusit Thaniの隣の<a class="keyword" href="https://d.hatena.ne.jp/keyword/Hyatt%20Regency">Hyatt Regency</a>のさらにその隣にある緑地は、2014年の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%EA%A1%BC%A5%C8%A5%D3%A5%E5%A1%BC">ストリートビュー</a>の写真からはヤシの木と灌木などの茂みで覆われていることが分かりますが、我が家が通りがかった際には見渡す限り全てのヤシの木が倒れ尽くしていて、見るも無惨な有様でした。</p><br /> <p>これに限らず、タモンに立っているヤシの木の大半が枝が折れたり吹き飛んでしまっているなど五体満足なものの方が珍しいという状況で、ホテルの敷地内ですらそれは同様。さらにビーチ側から見ると浜辺のビーチハウス類は軒並み強風と波浪で見る影もないほど壊滅しているところばかりで、我が家が滞在していた間は復旧工事に着手したばかりという様子でした。</p><br /> <p>また主要ホテルは概ねオープンしていたとは言え、例えば前述の<a class="keyword" href="https://d.hatena.ne.jp/keyword/Hyatt%20Regency">Hyatt Regency</a>はビーチに面した施設はプールも含めて強風であちこち破損してしまっていて、ずっと閉鎖されていました。それどころか、我々が宿泊していたDusit Thaniでもチャペルの窓が吹き飛んでしまって閉鎖されていたり、高層階の客室の中にも窓や手すりが破損して修理中のところが散見されました。商業施設でも、例えばMicronesia Mallでは一部天井が落ち屋根やエントランスも破損して修理中でしたし、<a href="https://www.dfs.com/jp/guam">DFS</a>でも屋外の看板が吹き飛ばされたところが何箇所かありました。</p><br /> <p>そして、建物や施設の破損は免れていても台風の影響で<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%ED%A5%B8%A5%B9%A5%C6%A5%A3%A5%AF%A5%B9">ロジスティクス</a>などに問題が起きたり、7月のハイシーズンを前に復旧に専念したいor開けてもオフシーズンで客が来ないので無駄という方針だったりで、休業を余儀なくされているホテルや施設も少なくなかったです。例えばDusit Thaniのショッピングモールは事実上<a href="https://www.cpkguam.com/">California Pizza Kitchen</a>以外全て休業状態(<a href="https://www.hardrockcafe.com/location/guam/">Hard Rock Cafe</a>も閉まっていた)でしたし、Dusit Thani自体もBeach側のプールはずっと客を入れていなかったので恐らくクローズしていたのでしょう。DFSも破損部分は少ないながらも施設全体が休業のままでしたし<a href="#f-70f7d566" name="fn-70f7d566" title="オンラインでの注文は受け付けるという張り紙がエントランスにあった">*13</a>、Premier Outletsも3割ぐらいは閉まっていました。日本人にはお馴染みのパンケーキ屋、<a href="https://goo.gl/maps/e2y7SHfh6EyTJyDG7">Eggs&#39;n Thing</a>sも休業中でした。なお細かいことを書くと、島内全域で生ビール(つまりdraft / tap)の流通が滞っているようでした<a href="#f-e7327204" name="fn-e7327204" title="先述のBeachin' Shrimpでは生ビールが払底していた">*14</a>。</p><br /> <p>ところが、帰りに空港に向かう際に乗ったタクシーのドライバーさん曰くでは「今回のMawarも酷かったが、<a href="https://en.wikipedia.org/wiki/Typhoon_Pongsona">2002&#x5E74;&#x306E;&#x53F0;&#x98A8;(Pongsona)</a>ほどではない」とのことでした。Mawarではタモンビーチの目抜通りであるRoute 1沿いのヤシの木の枝が折れてヤシの実が皆落ちてくる程度で済んだけれども、2002年の台風ではヤシの木が全て薙ぎ倒されてしまったのだそうです。復旧には軍の工兵部隊の支援が必要なほどだったそうで、1週間ぐらいはインフラは全て止まったままだったとか。ドライバーさんの家も屋根とドアと窓は全て吹き飛んだという話を笑いながらしていました。「この程度の台風ごときではグアムはへこたれない」と言わんばかりの彼女の様子が印象的だったのを覚えています。</p><br /> <p>恐らくですが、グアムというのはそんな凄まじい台風に幾度も襲われてもなお不死鳥のように蘇る、逞しい人々が発展させてきたリゾートなのでしょう。グアム政府当局が掲げた復興スローガンが <strong>"Stay Strong"</strong> であったのも、その表れであるように思われます。各種アナウンスから察するに、7月以降のハイシーズンにはほぼグアム全島が元通りに復旧すると見込まれますので、グアムの復興を助けたいと思う方々におかれましては、是非今後の旅行先の候補に加えていただければと願っております。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="往復のフライトと出入国について">往復のフライトと<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BD%D0%C6%FE%B9%F1">出入国</a>について</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623151657.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>選んだエアラインは、比較的お値頃感があって尚且つ席が空いていた<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E6%A5%CA%A5%A4%A5%C6%A5%C3%A5%C9%B9%D2%B6%F5">ユナイテッド航空</a>(<a class="keyword" href="https://d.hatena.ne.jp/keyword/UA">UA</a>)。短距離路線ということで、機材は<a class="keyword" href="https://d.hatena.ne.jp/keyword/B737">B737</a>-800。</p><br /> <p>今回は先述の通り「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A8%A5%B3%A5%CE%A5%DF%A1%BC%A5%AF%A5%E9%A5%B9%BE%C9%B8%F5%B7%B2">エコノミークラス症候群</a>」とも呼ばれるDVTからの海外<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%CF%B9%D2">渡航</a>復帰第一弾ということで、万全を期すという意味合いも込めて<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D3%A5%B8%A5%CD%A5%B9%A5%AF%A5%E9%A5%B9">ビジネスクラス</a>を選びました<a href="#f-3d8a75e5" name="fn-3d8a75e5" title="ちなみにビジネスやファーストクラスに乗っていてもエコノミークラス症候群は発症し得ることが知られています、念のため">*15</a>。フライトタイムが4時間にも満たない短距離路線なので、ビジネスでもそこまでとんでもなくお高いわけでもないというのは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A4%E2%A4%C3%A4%B1">もっけ</a>の幸いでした。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623151832.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623151910.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623151936.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230624/20230624004526.png" width="901" height="1200" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230624/20230624004550.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D3%A5%B8%A5%CD%A5%B9%A5%AF%A5%E9%A5%B9">ビジネスクラス</a>で飛ぶということで、成田・グアムの双方でラウンジが使えました。成田のラウンジは以前に何度か前を通りがかったことがあるターミナル1・南ウイングのゲート31付近にあって、かなり広いです。食事もドリンクも色々用意されているので、ランチぐらいなら一通り取れます。他の各種体験記にもあるようにトイレだけが何故か完全US仕様なのが謎ですが、とにかく広々としているので昼時など空いている時間帯なら出発前にかなり余裕を持ってくつろげると思います。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623152018.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623152042.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>グアムのラウンジはゲート10付近にあって、流石に空港の規模に見合う感じで小ぢんまりとしていました。食事は本当に軽食という感じのラインナップでしたが、バーカウンターがあってアルコール類は色々出してもらえるようでした。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623151747.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623152144.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623152211.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="https://d.hatena.ne.jp/keyword/UA">UA</a>の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D3%A5%B8%A5%CD%A5%B9%A5%AF%A5%E9%A5%B9">ビジネスクラス</a>のシートですが、<a class="keyword" href="https://d.hatena.ne.jp/keyword/B737">B737</a>なのでちょっと横幅とピッチ広めで革張りの座席という程度。とは言え、それでもエコノミーに乗るよりは広くて快適だと思います。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%C6%E2%BF%A9">機内食</a>は陶器の皿でひとまとめに出てくるタイプで、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C7%A5%EB%A5%BF%B9%D2%B6%F5">デルタ航空</a>のプレミアムエコノミーに近い印象でした。ちなみにビールのリストにStella Artoisがあったのは個人的にはナイスでした。実は主治医からは「DVTなので機内ではあまり酒は飲むな(極度な脱水症状になったら再<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B7%EC%C0%F2">血栓</a>化するので)」と言われていたんですが、まぁいっかーアハハハハハ(汗)。</p><br /> <p>一つだけ気になったのが、<a class="keyword" href="https://d.hatena.ne.jp/keyword/UA">UA</a>といえども日本発着便なので一人くらい日本語<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CA%EC%B8%EC">母語</a>話者がクルーにいるだろうと思ったら往路も復路もゼロで、機内サービスから機長アナウンスに至るまで当然ですが英語のみでした(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%C6%E2%BF%A9">機内食</a>の質問が「ニク?サカナ?」だったのはご愛嬌)。まぁ普通は何事もないと思うので大丈夫ですが、何かトラブルや緊急事態があった際には英語が全く分からない人だとちょっと厳しいかもしれません。それもあってか乗客も日本発着便の割にあまり日本人は多くないという印象でした。</p><br /> <p>ちなみにトラブルというほどのことではなかったんですが、往路のフライトは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A5%A4%A5%ED">パイロ</a>ットの勤務時間超過規制の影響で2時間ほど遅れ、逆に復路のフライトはMawarの影響で元々予約していた夕方発の便が取り消しになって昼発の便に振り替えられるという変更を余儀なくされたのでした。どちらも仕方ない話なのですが、やはりMawarの余波は大きいのかなと思われた次第です。</p><br /> <p>ところで、今年5月にWHOが新型コロナ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A5%F3%A5%C7%A5%DF%A5%C3%A5%AF">パンデミック</a>の緊急事態宣言を<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BD%AA%B7%EB">終結</a>させたことで、それ以降は日米両国ともワクチン接種証明に関する手続きを課さなくなりました。我が家は野生株ワクチン3回+オミクロン株2価ワクチン1回まで接種済みなんですが、接種証明絡みの手続きは面倒だと思っていたのでそれが不要になったのは入国審査にも時間がかからなくなって良かったと思ってます。</p><br /> <p>ついでに書いておくと、グアムではマスクをしている人はほぼ見かけなかったです(ただしゼロではない)。オフシーズンだったというのもあるのでしょうが、どこに行っても「そもそもオープンエア」か「そもそも閑散としている」か「そもそも人の密度が低い上に日本より遥かに広々としている空間」かのいずれかで、どう見てもマスクの必要性に乏しいという印象だったので我々もついにグアム滞在中にマスクを着用することはありませんでした。</p><br /> <p>なおコロナ禍の間全然海外<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%CF%B9%D2">渡航</a>していなかったので、今回初めて知ったことが幾つかありました。1つ目は成田の保安検査。ググって出てくる体験記類を幾つか読んだ感じではファースト・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D3%A5%B8%A5%CD%A5%B9%A5%AF%A5%E9%A5%B9">ビジネスクラス</a>向けのファストレーンは閉鎖されていることがあるという話でしたが、成田のターミナル1・南ウイングに関して言えば、ファストレーンはちゃんと開いてました。そして中の保安検査(手荷物&全身<a class="keyword" href="https://d.hatena.ne.jp/keyword/X%C0%FE">X線</a>チェック)システムが一新されてスムーズになっていて、ちょっとびっくりしました。前回成田から出発したのは2019年の9月だったんですが、調べたところでは2020年4月に導入された<a href="#f-3a405d08" name="fn-3a405d08" title="恐らく東京オリンピックのため">*16</a>ようで、もっと前からこのシステムだったら良かったのにと思ったのでした。</p><br /> <p>2つ目は税関申告。現在では日米両国ともオンラインで申告できて、通関時には申告時に生成される<a class="keyword" href="https://d.hatena.ne.jp/keyword/QR%A5%B3%A1%BC%A5%C9">QRコード</a>を見せるだけで良くなったというのは全然知りませんでした。往路はそれでも<a class="keyword" href="https://d.hatena.ne.jp/keyword/UA">UA</a>からの通知メールで事前にやっておけば良いというのでやっておいて、グアム入国時に<a class="keyword" href="https://d.hatena.ne.jp/keyword/QR%A5%B3%A1%BC%A5%C9">QRコード</a>を見せて通ったんですが、復路はそれに気付かず普通に機内で紙の申告書類に記入して、いざ成田で通関する際に<a class="keyword" href="https://d.hatena.ne.jp/keyword/QR%A5%B3%A1%BC%A5%C9">QRコード</a>自動読み取りゲートを見て「なーんだ、日本もオンライン申告で良かったんじゃん!」となってちょっと悲しかったです(笑)。3年も飛ばないとすっかり浦島太郎化するんだな、と痛感した一幕でした。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="おまけ">おまけ</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623150945.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>9.11以降旅客機コックピットへの乗客の立ち入りは厳しくなったんですが、<a class="keyword" href="https://d.hatena.ne.jp/keyword/B737">B737</a>の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D3%A5%B8%A5%CD%A5%B9%A5%AF%A5%E9%A5%B9">ビジネスクラス</a>は前方にあってコックピットまですぐそばだったので、ドアクローズ前にCAさんに頼んだら入れてもらえて、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A5%A4%A5%ED">パイロ</a>ットのお二人に挨拶した上で写真も撮らせていただきました。実機のコックピットを写真に撮るのは生まれて初めてだったので、嬉しかったです。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623151315.png" width="901" height="1200" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ABC Storesで見つけた<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A4%B0%A4%C7%A4%BF%A4%DE">ぐでたま</a>。台湾でも見かけましたが、こんなところにも進出していたんですね。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623151227.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>帰りのグアム空港で見かけたアントノフ。何でグアムなんかにいたんですかね?</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230620/20230620183114.png" width="1200" height="900" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgoo.gl%2Fmaps%2FD5eLhfhRx7FDcz9P8" title="アスンシオン島 · 北マリアナ諸島" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>帰路は<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CB%CC%A5%DE%A5%EA%A5%A2%A5%CA%BD%F4%C5%E7">北マリアナ諸島</a>空域まで天気が良かった<a href="#f-3cd778ca" name="fn-3cd778ca" title="その代わり梅雨時ゆえ伊豆諸島空域は往路も復路もかなり天気が悪くてガタガタ揺れていた">*17</a>ので、色々と<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%E7%D6%D9">島嶼</a>の写真が撮れました。こちらは恐らく<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%B9%A5%F3%A5%B7%A5%AA%A5%F3">アスンシオン</a>島と思しき写真です。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230623/20230623153329.png" width="901" height="1200" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>そして成田への南側進入(34L)だったので、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E5%BD%BD%B6%E5%CE%A4%C9%CD">九十九里浜</a>上空を通過しながらの帰国でした。この景色が眼下に広がると「ああ日本に帰ってきた」という気分になるんですよね(羽田の国際線が復活する前の時代を知っているが故の感想かもしれませんが笑)。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-0b481999" name="f-0b481999" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">これって「ハファデイ」と発音するんだということを、グアム現地に行ってみて初めて知りました</span></p> <p class="footnote"><a href="#fn-7786c48f" name="f-7786c48f" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://tjo.hatenablog.com/entry/2022/05/16/150418">&#x6DF1;&#x90E8;&#x9759;&#x8108;&#x8840;&#x6813;&#x75C7;(DVT)&#x306B;&#x7F79;&#x308A;&#x307E;&#x3057;&#x305F; - &#x6E0B;&#x8C37;&#x99C5;&#x524D;&#x3067;&#x50CD;&#x304F;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x306E;&#x30D6;&#x30ED;&#x30B0;</a></span></p> <p class="footnote"><a href="#fn-99acdcee" name="f-99acdcee" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">そしてその服薬スケジュールの調整</span></p> <p class="footnote"><a href="#fn-e0bcb224" name="f-e0bcb224" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">ちなみに友人や同僚にはグアム常連という人が結構いる</span></p> <p class="footnote"><a href="#fn-4d33a758" name="f-4d33a758" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text">実際例えば<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%F3%A5%AC%A5%DD%A1%BC%A5%EB">シンガポール</a>の雨季のスコールはめちゃくちゃ激しい</span></p> <p class="footnote"><a href="#fn-74af3414" name="f-74af3414" class="footnote-number">*6</a><span class="footnote-delimiter">:</span><span class="footnote-text">これは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A5%A4%A5%D1%A5%F3">サイパン</a>のマニャガハ島</span></p> <p class="footnote"><a href="#fn-d3ff4ac9" name="f-d3ff4ac9" class="footnote-number">*7</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AA%A5%A2%A5%D5%C5%E7">オアフ島</a>やハ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EF%A5%A4%C5%E7">ワイ島</a>に比べればという意味で</span></p> <p class="footnote"><a href="#fn-beef5e5b" name="f-beef5e5b" class="footnote-number">*8</a><span class="footnote-delimiter">:</span><span class="footnote-text">LAとかサンディエゴとかDCとかNYCとか</span></p> <p class="footnote"><a href="#fn-661c0dc6" name="f-661c0dc6" class="footnote-number">*9</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%E5%A5%CE%A1%BC%A5%B1%A5%EA%A5%F3%A5%B0">シュノーケリング</a>・ス<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AD%A5%E5%A1%BC%A5%D0">キューバ</a>ダイビングが一家で趣味らしい</span></p> <p class="footnote"><a href="#fn-41c4b937" name="f-41c4b937" class="footnote-number">*10</a><span class="footnote-delimiter">:</span><span class="footnote-text">1988年の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AB%A5%EB%A5%AC%A5%EA%A1%BC">カルガリー</a>冬季五輪の際にVisaが「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%E1%A5%EA">アメリ</a>カ大陸であっても<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AB%A5%EB%A5%AC%A5%EA%A1%BC">カルガリー</a>ではAmexは使えません、どこでも使えるVisaをどうぞ」というCMを流していたことがある</span></p> <p class="footnote"><a href="#fn-ab69ea7f" name="f-ab69ea7f" class="footnote-number">*11</a><span class="footnote-delimiter">:</span><span class="footnote-text">確かにこれはサービス業の説明としてはややこしい感はある</span></p> <p class="footnote"><a href="#fn-0db82077" name="f-0db82077" class="footnote-number">*12</a><span class="footnote-delimiter">:</span><span class="footnote-text">特にDusit Thaniはタイ資本なので必然的にタイ出身と思しきスタッフが多かった</span></p> <p class="footnote"><a href="#fn-70f7d566" name="f-70f7d566" class="footnote-number">*13</a><span class="footnote-delimiter">:</span><span class="footnote-text">オンラインでの注文は受け付けるという張り紙がエントランスにあった</span></p> <p class="footnote"><a href="#fn-e7327204" name="f-e7327204" class="footnote-number">*14</a><span class="footnote-delimiter">:</span><span class="footnote-text">先述のBeachin' Shrimpでは生ビールが払底していた</span></p> <p class="footnote"><a href="#fn-3d8a75e5" name="f-3d8a75e5" class="footnote-number">*15</a><span class="footnote-delimiter">:</span><span class="footnote-text">ちなみにビジネスやファーストクラスに乗っていても<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A8%A5%B3%A5%CE%A5%DF%A1%BC%A5%AF%A5%E9%A5%B9%BE%C9%B8%F5%B7%B2">エコノミークラス症候群</a>は発症し得ることが知られています、念のため</span></p> <p class="footnote"><a href="#fn-3a405d08" name="f-3a405d08" class="footnote-number">*16</a><span class="footnote-delimiter">:</span><span class="footnote-text">恐らく<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%EC%B5%FE%A5%AA%A5%EA%A5%F3%A5%D4%A5%C3%A5%AF">東京オリンピック</a>のため</span></p> <p class="footnote"><a href="#fn-3cd778ca" name="f-3cd778ca" class="footnote-number">*17</a><span class="footnote-delimiter">:</span><span class="footnote-text">その代わり梅雨時ゆえ伊豆諸島空域は往路も復路もかなり天気が悪くてガタガタ揺れていた</span></p> </div> TJO シュートを外した後で、ゴールポストを動かして「入っていた」ということにしてはいけない hatenablog://entry/820878482939473124 2023-06-09T17:00:00+09:00 2023-06-09T17:00:01+09:00 先日こんなことをコメントしたら、思ったよりも反応が多くて「皆さん同じことを思っていたのかな」と感じたのでした。シュートを外した後でゴールポストを動かして入ったことにするのはダメですよ / 「当初は有意差が認められなかったが、毛乳頭細胞が少ないと思われる被験者を除いて追加解析したころ、塗布24週後の毛髪密度は「含む」を使った被験者のほうが統計学的に有意に上昇したという」 https://t.co/K91NElUAgN— TJO (@TJO_datasci) 2023年6月6日 要はこれは再現性問題の典型例だという話なんですが、近年あれだけ再現性問題が騒がれた割には意外と未だに世間的にはあまり広く… <p>先日こんなことをコメントしたら、思ったよりも反応が多くて「皆さん同じことを思っていたのかな」と感じたのでした。</p><p><blockquote data-conversation="none" class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">シュートを外した後で<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B4%A1%BC%A5%EB%A5%DD%A5%B9%A5%C8">ゴールポスト</a>を動かして入ったことにするのはダメですよ / 「当初は有意差が認められなかったが、毛乳頭細胞が少ないと思われる被験者を除いて追加解析したころ、塗布24週後の毛髪密度は「含む」を使った被験者のほうが<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>的に有意に上昇したという」 <a href="https://t.co/K91NElUAgN">https://t.co/K91NElUAgN</a></p>&mdash; TJO (@TJO_datasci) <a href="https://twitter.com/TJO_datasci/status/1665956516938285056?ref_src=twsrc%5Etfw">2023年6月6日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </p><p>要はこれは再現性問題の典型例だという話なんですが、近年あれだけ再現性問題が騒がれた割には意外と未だに世間的にはあまり広く知られていないのだろうか、という気もしています。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F07%2F06%2F170000" title="再現性問題のはなし - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>このブログでも再現性問題については一通り論じたことがありますが、ちょうど良い機会なので改めてこの手のQRPs (Questionable Research Practices)とはどういうものかという話を書いてみようと思います。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#なぜ仮説検定の際にサンプルを選別してはいけないのか">なぜ仮説検定の際にサンプルを選別してはいけないのか</a></li> <li><a href="#どれほど正当な理由があったとしてもデータの選別は事後的にやってはいけない">どれほど正当な理由があったとしても、データの選別は事後的にやってはいけない</a></li> <li><a href="#ではどうするべきだったのか">では、どうするべきだったのか</a></li> </ul> <div class="section"> <h3 id="なぜ仮説検定の際にサンプルを選別してはいけないのか">なぜ仮説検定の際にサンプルを選別してはいけないのか</h3> <p><br /> これは単純に図示してみれば分かりやすいと思います。ここでは、ヒトのある健康指標に対して何がしかの介入の効果があったかどうかを仮説検定で明らかにしようとしているものとします。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230607/20230607123717.png" width="959" height="552" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>例えばxが介入群、yが対照群として、本来はこのような分布だったとします。全体としては「差がない」というケースを想定しています。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230607/20230607123758.png" width="959" height="552" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>上図の分布から仮にランダムにサンプリングしたとすると、このような分布になるはずです。これはわざわざ仮説検定するまでもなく、「有意差は得られず」という結果になるであろうことは明白でしょう。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230607/20230607123902.png" width="959" height="552" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ところが、ある基準s(ここでは上位10%)を上回ったxと、ある基準t(ここでは下位10%)を下回ったyだけを選んでくると、こんな感じになります。驚くなかれ、これだとどこからどう見ても互いに全く重なりがなくなってしまい、仮説検定すればぶっちぎりで「有意差あり」という結果になることが見込まれます。これはp-hackingであると同時にcherry-pickingでもあるんですが、いずれにせよQRPsのど真ん中を行く行為です。</p><br /> <p>ということで、<strong>仮説検定の類は「データを恣意的に選別すればいかようにでも狙った結果を出せる」</strong>代物であるということが、これでお分かりいただけたかと思います。今回話題になったケースではここまで極端ではなかったようですが、上記の例でいうところの介入群xの方の下位何%かをカットしたのと同じ状況であり、基本的にはQRPsと認められる操作です。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="どれほど正当な理由があったとしてもデータの選別は事後的にやってはいけない">どれほど正当な理由があったとしても、データの選別は事後的にやってはいけない</h3> <p><br /> とは言え、様々な事情からやむなくデータの選別を行わなければならないケースというのは、実験科学では数多いです。代表例としては「そもそも実験操作が完遂できなかったサンプル」がそれで、これはデータとしては意味をなさないので除去しなければなりません。実際、厳密なRCTが行われる新薬治験の世界ではこれは普通に行われる選別行為です。</p><br /> <p>しかし、ここに一つ重要なポイントがあります。それは<strong>「データの選別基準は『事前に』定めておかなければならない」</strong>ということです。即ち、新薬治験であれば「治験終了時にAという条件を満たさない」「新薬の適用条件Bを満たさない」サンプルであると判明した時点で分析対象から除外されるわけですが、それは「実験が終わって分析する前」でなければならない、ということです。もしそうでなく事後にデータを選別してしまうと、「分析した後になってから『都合が悪いから』という理由で選別されるのと傍目には区別がつけられない」からなんですね。<strong>「シュートを外した後で、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B4%A1%BC%A5%EB%A5%DD%A5%B9%A5%C8">ゴールポスト</a>の側を動かして『入っていた』ということにしてはいけない」</strong>というこの記事のタイトルは、このことを表しています。</p><br /> <p>ちなみに実験計画法のテキストでよく言及されるITT (Intetion To Treat)は、あえて新薬治験の対象から外れた(その結果治験対象の新薬ではなく従来薬に戻ってしまった)被験者をそのまま介入群の側に残すことで、「新薬の効果を過大評価しないように抑える」という狙いがあったりします。言い換えると、あえて「本当に物凄く効果があるのでもない限りは有意差が出にくい」ようにしているんですね。新薬審査の慎重姿勢がどれほどのものであるかを物語る一例だと思います。<br /> <br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="ではどうするべきだったのか">では、どうするべきだったのか</h3> <p><br /> 仮に<strong>「介入群xと対照群yとを比べた結果、ある要因fが介入の効果を妨げていると分かったので再解析したい」</strong>となったとしましょう。その場合、どうすれば良いのでしょうか?</p><br /> <p>これは単純で<strong>「要因fでフィルタリングした新たな介入群x2と対照群y2とを集めてきて、もう一度新しく同じ実験を行う」</strong>のが適切だと思われます。これならば、元々あったデータx & yに対して「事後的に選別している」ことにはならず、「事前に選別した上で同じ実験を実施した」ことになるからです。つまりサンプル選別の恣意性がないという状態を作ることができる、ということです。</p><br /> <p>勿論、元々の実験と同じ結果が2回目の実験でも得られる可能性は往々にしてあると思います。ですが、だからと言って「だったら最初から元々の実験のデータに対して要因fでカットオフしてそのまま再解析すれば良い」とはならない点に注意が必要です。言わずもがなですが、毎回2回目の実験で同じ結果になるとは限りませんし、そもそもそうであるかどうか分からないからこそ実験をして分析するわけですから、そこからは極力恣意性を排除するべきなのです。</p><br /> <p>そして、それはとりもなおさず「別の第<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%B0%BC%D4">三者</a>が同じ実験をするのと同様のシチュエーションを自ら作り出す」アプローチでもあるんですよね。とりわけ、特に何の利害もなく、介入群xが対照群yに対して有意差が出て欲しいという願望も持ち合わせない第<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%B0%BC%D4">三者</a>でも、同じ結果が得られるかどうかは非常に大切なことです。それが「再現性」ということだと個人的には思いますし、例えばそれをより強力に担保するために<a href="https://ja.wikipedia.org/wiki/%E4%BA%8C%E9%87%8D%E7%9B%B2%E6%A4%9C%E6%B3%95">&#x300C;&#x4E8C;&#x91CD;&#x76F2;&#x691C;&#x300D;(double-blind)</a>という実験手続きもあるのだと考えています。</p> </div> TJO LLMにデータ分析をさせてみる:テーブルデータの概要解釈 hatenablog://entry/820878482933315920 2023-05-23T18:00:00+09:00 2023-05-23T18:00:03+09:00 先日こんな記事を書いたのでした。はてブも400近くに達しており、良くも悪くもバズったようです。で、この記事の中で言いたかったことは幾つかあるのですが、その一つに「文書・テキスト要約など『そもそもLLMというかLM自体が得意な仕事』をさせると便利なはず」というのがありました。そして実際に現職の日常業務の中でも時々使っているのですが、確かに便利だなぁと思うことが多いです(もっとも時々凄まじいhallucinationを炸裂させてくることもありますが)。 そこでちょっと考えたのが「データ分析の諸作業のうち何をLLMにやらせると効率的か」というお題です。これはちょっと調べれば既に試している人が結構いて… <p>先日こんな記事を書いたのでした。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A5%D6">はてブ</a>も400近くに達しており、良くも悪くもバズったようです。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2023%2F03%2F24%2F170000" title="LLM chatbotが人類にもたらすのは、絶望なのか希望なのか - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>で、この記事の中で言いたかったことは幾つかあるのですが、その一つに「文書・テキスト要約など『そもそもLLMというかLM自体が得意な仕事』をさせると便利なはず」というのがありました。そして実際に現職の日常業務の中でも時々使っているのですが、確かに便利だなぁと思うことが多いです(もっとも時々凄まじいhallucinationを炸裂させてくることもありますが)。</p><br /> <p>そこでちょっと考えたのが「データ分析の諸作業のうち何をLLMにやらせると効率的か」というお題です。これはちょっと調べれば既に試している人が結構いて、例えば以下のような事例があったりします。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqiita.com%2Fakiraokusawa%2Fitems%2F0f582d7a55dd2cac8ac6" title="Kaggleコンペに10分で挑戦、ChatGPTが変えるデータ分析の未来 - Qiita" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ただ、例えば "Titanic" のような有名過ぎるデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>だとそこらじゅうにこれを対象として分析してみましたという記事やドキュメントが沢山転がっており、それらのテキストから間接的に内容を推定するということをLLMならやってしまいそうです。そこで、もう少しだけ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C3%CE%CC%BE%C5%D9">知名度</a>の低いデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を色々LLMに読み込ませてみて、まずは「このデータの概要を教えろ」とリク<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A8%A5%B9">エス</a>トしてみた結果を見比べてみようと思います。なお、使用するLLMは「自分の勤務先が提供しているから」という理由でBardとさせていただきました<a href="#f-68e9b081" name="fn-68e9b081" title="COI丸出し">*1</a>、悪しからずご了承ください。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#Wine-Quality-UCI-ML-Repository">Wine Quality (UCI ML Repository)</a></li> <li><a href="#Seeds-UCI-ML-Repository">Seeds (UCI ML Repository)</a></li> <li><a href="#Online-News-Popularity-UCI-ML-Repository---personal-GitHub">Online News Popularity (UCI ML Repository -&gt; personal GitHub)</a></li> <li><a href="#国交省車両故障データセット">国交省車両故障データセット</a></li> <li><a href="#とある自作データセット">とある自作データセット</a></li> <li><a href="#最後に">最後に</a></li> </ul> <div class="section"> <h3 id="Wine-Quality-UCI-ML-Repository">Wine Quality (<a class="keyword" href="https://d.hatena.ne.jp/keyword/UCI">UCI</a> ML Repository)</h3> <p><br /> まずはこちらのデータでやってみます。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Farchive.ics.uci.edu%2Fml%2Fdatasets%2FWine%2BQuality" title="UCI Machine Learning Repository: Wine Quality Data Set" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F09%2F07%2F173000" title="Rで機械学習モデルの解釈手法たちを試してみる - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>このブログでも何度か利用している "Wine Quality" デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>です。Bardに概要を説明させてみたところ、このような回答が返ってきました。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230523/20230523130030.png" width="1200" height="846" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>完璧な解説です。勿論このデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>はポータル側のページにも事細かに説明が書かれており、単にBardはそのテキストの内容を学習データとして得ているだけであるようにも思われます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="Seeds-UCI-ML-Repository">Seeds (<a class="keyword" href="https://d.hatena.ne.jp/keyword/UCI">UCI</a> ML Repository)</h3> <p><br /> では、こちらのデータではどうでしょうか?</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Farchive.ics.uci.edu%2Fml%2Fdatasets%2Fseeds" title="UCI Machine Learning Repository: seeds Data Set" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>"Seeds" デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>は僕が毎年開講している初級者向けデータサイエンスコースで<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF%A5%EA%A5%F3%A5%B0">クラスタリング</a>の演習に使っているものです。Bardの説明はこんな感じでした。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230523/20230523145946.png" width="1168" height="419" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>確か種子の「クラス」に関する情報は含まれていなかった気がしますが<a href="#f-7b5e1c2f" name="fn-7b5e1c2f" title="もしかしたらIrisデータセットと混同しているのかもしれない">*2</a>、それほど変な説明ではないと思われます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="Online-News-Popularity-UCI-ML-Repository---personal-GitHub">Online News Popularity (<a class="keyword" href="https://d.hatena.ne.jp/keyword/UCI">UCI</a> ML Repository -&gt; personal <a class="keyword" href="https://d.hatena.ne.jp/keyword/GitHub">GitHub</a>)</h3> <p><br /> どんどん行ってみましょう。こちらのデータで試してみます。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fozt-ca%2Ftjo.hatenablog.samples%2Fblob%2Fmaster%2Fr_samples%2Fpublic_lib%2Fjp%2Fexp_uci_datasets%2Fonline_news_popularity%2FONP_train.csv" title="tjo.hatenablog.samples/ONP_train.csv at master · ozt-ca/tjo.hatenablog.samples" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Farchive.ics.uci.edu%2Fml%2Fdatasets%2FOnline%2BNews%2BPopularity" title="UCI Machine Learning Repository: Online News Popularity Data Set" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2019%2F05%2F23%2F190000" title="AutoML Tablesと他の機械学習モデルとのパフォーマンス比較をしてみた(追記あり) - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>以前AutoML Tablesの性能検証で用いた "Online News Popularity" デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>です。ただし、僕の<a class="keyword" href="https://d.hatena.ne.jp/keyword/GitHub">GitHub</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EA%A5%DD%A5%B8%A5%C8%A5%EA">リポジトリ</a>に適当にsplitして<a class="keyword" href="https://d.hatena.ne.jp/keyword/CSV">CSV</a>にして置いておいたものを読ませています。Bardの説明は以下の通りでした。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230523/20230523153819.png" width="1200" height="416" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>元の<a class="keyword" href="https://d.hatena.ne.jp/keyword/UCI">UCI</a> ML repositoryの説明を見れば分かるように、これは日本ではなく(おそらく)<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DD%A5%EB%A5%C8%A5%AC%A5%EB">ポルトガル</a>のデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>で、確か記録された時期も2005-7年ではなかったと思いますが、それ以外は概ね合っています。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="国交省車両故障データセット"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%F1%B8%F2%BE%CA">国交省</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%D6%CE%BE%B8%CE%BE%E3">車両故障</a>デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a></h3> <p><br /> 調子に乗ってもっと試してみます。次のデータはこちらです。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fozt-ca%2Ftjo.hatenablog.samples%2Fblob%2Fmaster%2Fr_samples%2Fpublic_lib%2Fjp%2Fkk%2Fkk_cut_traindev_w_token_header.csv" title="tjo.hatenablog.samples/kk_cut_traindev_w_token_header.csv at master · ozt-ca/tjo.hatenablog.samples" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2018%2F06%2F26%2F220234" title="生TensorFlow七転八倒記(6):TensorFlow Hubのtext embeddingsを使って日本語テキストを分類してみた(追記あり) - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>TF-Hubで遊んでみたり、また4年前の登壇時にもAutoMLに扱わせたりした、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%F1%B8%F2%BE%CA">国交省</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%D6%CE%BE%B8%CE%BE%E3">車両故障</a>デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>です。Bardに説明させると、以下のような回答が返ってきました。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230523/20230523150518.png" width="1167" height="526" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>流石に細かい説明ではありませんが、それでもこれが「日本語の」「テキスト分類タスクのための」デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>であるということを認識しているようです。例えばここから「そのテキスト分類タスクのための<a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a>コードを書け」とリク<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A8%A5%B9">エス</a>トすることも可能でしょう。ちなみにリク<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A8%A5%B9">エス</a>トしてきたらこんなコードが返ってきました。</p> <pre class="code lang-python" data-lang="python" data-unlink><span class="synPreProc">import</span> pandas <span class="synStatement">as</span> pd <span class="synPreProc">import</span> numpy <span class="synStatement">as</span> np <span class="synComment"># データセットを読み込む</span> df = pd.read_csv(<span class="synConstant">'kk_cut_traindev_w_token_header.csv'</span>) <span class="synComment"># テキストとカテゴリを分離する</span> X = df[<span class="synConstant">'text'</span>] y = df[<span class="synConstant">'category'</span>] <span class="synComment"># テキストをベクトルに変換する</span> vect = TfidfVectorizer() X_vect = vect.fit_transform(X) <span class="synComment"># 分類器を学習する</span> clf = LogisticRegression() clf.fit(X_vect, y) <span class="synComment"># 分類器を評価する</span> y_pred = clf.predict(X_vect) <span class="synIdentifier">print</span>(f<span class="synConstant">'Accuracy: {clf.score(X_vect, y):.2f}'</span>) </pre><p>sklearnとか<a class="keyword" href="https://d.hatena.ne.jp/keyword/mecab">mecab</a>とか入ってないのでこれではダメなんですが(苦笑)、お作法という意味ではガワぐらいは書けているという感がありますね。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="とある自作データセット">とある自作デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a></h3> <p><br /> では最後に、こちらのデータではどうでしょうか?</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fozt-ca%2Ftjo.hatenablog.samples%2Fblob%2Fmaster%2Fr_samples%2Fpublic_lib%2Fjp%2FR%2Fuser_journey_analysis%2Fuser_journey_sample.csv" title="tjo.hatenablog.samples/user_journey_sample.csv at master · ozt-ca/tjo.hatenablog.samples" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>実は、このデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>はまだどこにもその使い方や解釈、及びこれを利用したデータ分析例を書いたりしたことはありません。しかしBardは以下のような説明を返してきました。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230523/20230523130819.png" width="1168" height="885" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>何とこれは正解なのです。というのも、これは僕が個人的に訳あってユーザージャーニー<a href="#f-04a14247" name="fn-04a14247" title="広告界隈ではアトリビューションともいう">*3</a>分析を<em>再び</em>やってみようと思ってRコードを書いたのですが、その検証データとして手入力で適当に作った代物なんですね。確かにファイル名がuser_journey_sampleなのでそれを見れば一目瞭然だろと言われればそこまでですが<a href="#f-5adcca43" name="fn-5adcca43" title="でもファイル名から類推できるならそれはそれで凄い気がする">*4</a>、特に説明を付したことのないデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>でも的確にその特徴を捉えられるようです。</p><br /> <p>……ともあれ、グラフデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>も読み解くことが出来ると分かったので、最後の最後にこちらのデータでやってみます。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fgraphistry%2Fpygraphistry%2Fblob%2Fmaster%2Fdemos%2Fdata%2Flesmiserables.csv" title="pygraphistry/lesmiserables.csv at master · graphistry/pygraphistry" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2015%2F12%2F14%2F190000" title="グラフ・ネットワーク分析で遊ぶ(4):コミュニティ検出(クラスタリング) - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ご存知『<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EC%A1%A6%A5%DF%A5%BC%A5%E9%A5%D6%A5%EB">レ・ミゼラブル</a>』の共起関係デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>です。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%D4%A5%F3%A5%B0%A5%E9%A5%B9">スピングラス</a>法のコミュニティ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF%A5%EA%A5%F3%A5%B0">クラスタリング</a>をかけると、物の見事に劇中での人間関係のグルーピングが全部検出されるというので名高い代物ですね。で、Bardに説明させたらこうなりました。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230523/20230523142837.png" width="1170" height="478" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>いやー……登場人物の名前と(同時)出現回数は記録されているんですが、年齢・性別・役割については何一つ書かれていないんですよね。これは他のデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>との類似性から勝手に付け足されてしまったhallucinationと思われます。やはりLLMは一筋縄ではいかないようです。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="最後に">最後に</h3> <p><br /> 色々試してみましたが、最初の憶測通り「ある程度はデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>そのものを解釈するというよりもそのデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>(のURL)が引用されて行われているデータ分析の記述を踏襲している」感が結構あるなと思ったのも事実です。</p><br /> <p>しかしながら、ユーザージャーニーデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>でも見たように「他のデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>の類似度からある程度類推する」ことも出来るようで、この辺にLLMならではの利用価値があるのかもしれません。</p><br /> <p>ということで、次回は<a href="#f-07763cda" name="fn-07763cda" title="次回があれば">*5</a>デー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>をLLMに提示した上で、その分析を行うコードをどれだけ正確に出せるかを検証してみようかと思いました。これまた既に結構な数の検証結果が世に出回っているテーマですが、僕のようなマニアックな分析ばかりしている人間にとっても有用かどうかは気になるところなので、暇を見て試してみたいところです。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-68e9b081" name="f-68e9b081" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">COI丸出し</span></p> <p class="footnote"><a href="#fn-7b5e1c2f" name="f-7b5e1c2f" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">もしかしたらIrisデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>と混同しているのかもしれない</span></p> <p class="footnote"><a href="#fn-04a14247" name="f-04a14247" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">広告界隈ではアトリビューションともいう</span></p> <p class="footnote"><a href="#fn-5adcca43" name="f-5adcca43" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">でもファイル名から類推できるならそれはそれで凄い気がする</span></p> <p class="footnote"><a href="#fn-07763cda" name="f-07763cda" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text">次回があれば</span></p> </div> TJO マーケティングデータ分析で成果を挙げるには「統計分析(MMMなど)+A/Bテスト」のコンビネーションが有用 hatenablog://entry/4207112889982809267 2023-04-26T19:11:00+09:00 2023-04-27T22:53:51+09:00 既に記事タイトルが雄弁に物語っていますが、「マーケティング分野におけるデータ分析でいかにして成果を挙げるか」というのはある意味永遠の課題であると言えると思います。誇張でも何でもなく、この地球上の全てのマーケティングに関わるデータ分析組織ではこの課題について毎日議論を戦わせていると言っても過言ではないでしょう。 <p>既に記事タイトルが雄弁に物語っていますが、「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分野におけるデータ分析でいかにして成果を挙げるか」というのはある意味永遠の課題であると言えると思います。誇張でも何でもなく、この地球上の全ての<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>に関わるデータ分析組織ではこの課題について毎日議論を戦わせていると言っても過言ではないでしょう。</p><br /> <p>より具体的に言えば、「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0%C0%EF%CE%AC">マーケティング戦略</a>立案のためにデータ分析を実施しても改善提案がなかなか事業側から採用してもらえない」「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>データ分析の結果を事業側としてはどこまで信頼して良いのか分からない」という悩みは、それこそ僕がデータサイエンス業界にやってきた10年以上前からそこかしこで聞かれ続けてきたものです。しかし、個人的にはここ5年くらいである程度そこを突破するためのスキームが整備されてきたという感想を持っています。</p><br /> <p>特に現在僕が働いているチームでは、ここ4年ほどに渡って「MMMなどの統計分析+DIDベースのA/Bテスト(&CausalImpactによる効果検証)」というコンビネーションを実践し続けており、ある程度以上の成果が挙がっているという実感があります。中には公開事例として記事化されているものもあり<a href="#f-b7ff4c7d" name="fn-b7ff4c7d" title="例えば [https://www.thinkwithgoogle.com/intl/ja-jp/marketing-strategies/data-and-measurement/shopping-title-optimization/] など">*1</a>、もしかしたらご存知の方もいらっしゃるかもしれません。</p><br /> <p>そこで、だいぶ今更という感がある上に手前味噌的な話題ではありますが、今一度改めて「統計分析+A/Bテスト」のコンビネーションが、いかに現代の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>においても有用なアプローチであるかについてちょっとまとめてみようと思います。<br /> <br /> <br /> </p> <div class="section"> <h3 id="大前提としての生活者ターゲティングからエコノメトリクスへの回帰">大前提としての、「生活者ターゲティング」から「エコノメトリクス」への回帰</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F01%2F14%2F170000" title="生活者ターゲティングの時代は終わり、エコノメトリクスによるマーケティングが台頭する - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>この話題は昨年に一度このブログでも論じたことがあります。端的に言えば、<a class="keyword" href="https://d.hatena.ne.jp/keyword/GDPR">GDPR</a>を初めとする世界各国・各地域における<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C4%BF%CD%BE%F0%CA%F3%CA%DD%B8%EE%CB%A1">個人情報保護法</a>制による規制強化で、いわゆるone-to-one marketingは今後難しくなるものと考えられているという話です。</p><br /> <p>そこで、古いマス<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>全盛の時代に盛んに行われていたエコノメトリクス(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B7%D7%CE%CC%B7%D0%BA%D1%B3%D8">計量経済学</a>)ベースの、各種要約統計量に基づいた<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分析への回帰傾向が強まっていると言われており、これは実際に僕自身も広告<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>業界の中にあって日に日にその比重が増しているという感想を持っています。</p><br /> <p>勿論、実際にユーザー行動の1st partyデータを持っている現場では今後もターゲティング系の分析が行われ続けるだろうと考えられますが、上記リンクの過去記事にもあるように「意外とone-to-one marketingで有用なアクチュエータがない」<a href="#f-0694e160" name="fn-0694e160" title="例えばプッシュ通知やDMメールのような方法ではユーザーは動いてくれないといった話">*2</a>という問題があり、業界全体としてはやはりエコノメトリクスベースのマス<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>への回帰が進んでいるように見受けられます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="マーケティング戦略立案のためのMMMなどの統計分析"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0%C0%EF%CE%AC">マーケティング戦略</a>立案のためのMMMなどの統計分析</h3> <p><br /> ではエコノメトリクスベースの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>分析をやるとして、何をどう分析したものでしょうか? これには色々な戦略や考え方があり得て、全ての現場に普遍共通の方針が立てられるわけではないのですが、ある程度以上の規模のビジネスとデータを扱う現場ではいわゆる需要予測モデル分析を行うことが多いのではないかと思われます。これが広告メディア・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策を主たる分析対象となる場合は、一般にMMM (Marketing / Media Mix Models)と呼ばれます。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F09%2F15%2F230310" title="Lightweight MMM:NumPyroで実装されたベイジアンMMMフレームワーク - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>MMMというと世の中には様々なレベル感のものがあり、中には<a class="keyword" href="https://d.hatena.ne.jp/keyword/Excel">Excel</a>で重回帰しているだけとかいう代物もあるようですが、分析の性質上「必ず時系列データを対象とする」ことから一般には回帰つき時系列モデル(動的線形モデル系)を用いることが多いようです。巷には色々な実装があり、以前の記事で紹介したLightweight MMM (LMMM)もその一つです。</p><br /> <p>いずれのモデルであっても、目指しているのは「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策・広告などの効果を<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C4%EA%CE%CC">定量</a>化すること」であり、特に具体的な費用対効果(ROI / ROAS)を算出して、例えば施策A, B, C...とで比較して「どの施策がより効果的か」を決めるというのは良くあるやり方です。時には、それらの費用対効果の値をズラリと並べて数理最適化手法を用いて、リソース配分を最適化するというアプローチも取られたりします。ともあれ、これらMMMなどの統計分析によって「次の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0%C0%EF%CE%AC">マーケティング戦略</a>の立案」がなされるわけです。即ち「施策Aは予算を増やす / 施策Bは減らす」というような戦略ですね。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="交差検証としての介入実験">交差検証としての介入実験</h3> <p><br /> ところが、世の中の多くの現場ではMMMなどの統計分析結果に基づく「次の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0%C0%EF%CE%AC">マーケティング戦略</a>案」がすんなりと<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C6%A1%BC%A5%AF%A5%DB%A5%EB%A5%C0%A1%BC">ステークホルダー</a>に受け入れられることはない、というように見受けられます。その際の決まり文句が<strong>「過去データだけ見ていても未来のことは分からない」</strong>だというのは良くある話だと思われます。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2019%2F09%2F10%2F080000" title="{CausalImpact}を使う上での注意点を簡単にまとめてみた - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>そこでお薦めしたいのが、一定の単位に区切った地域ごとに広告や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策のON/OFFを切り替えるA/Bテスト、いわゆる「地域テスト」の実施です。これによって統計分析結果から予想される「効果的な施策」が実際に効果をもたらし得るかどうかを検証することができます。先述したように<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>データは時系列データであることが多く、特にseasonalityに由来するバイアスに左右されやすいので、DID(差分の差分法)による実験計画に拠ることを僕は推奨しています。その実験データ分析はCausalImpactで行う、という流れです。</p><br /> <p>また、ユーザーレベルではなく地域レベルでA/B群に割り振ることで、個々のユーザーの情報やデータを得る必要もないですし、個人情報保護という点からも理にかなっています。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230426/20230426185425.png" width="853" height="513" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>と言うと「何故MMMを回した後にわざわざ追加でA/Bテストをするのか」と訝る声が挙がることが少なくないのですが、これは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>における<strong>「交差検証」</strong>と同じ考え方だと思ってもらえれば良いと考えています。即ち、漫然と過去データに対するMMMなどの統計分析だけ行なっていても、もしかしたら<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B2%E1%B3%D8%BD%AC">過学習</a>しているかもしれないわけです<a href="#f-65129695" name="fn-65129695" title="勿論MMM自体でもある程度の交差検証は出来ますが">*3</a>。それを危惧してこそ上述の「過去データだけ見ていても未来のことは分からない」という決まり文句が出てくるわけで、ならば交差検証することでダメ押ししようというのは自然な考え方だと思います。</p><br /> <p>その交差検証を「既にあるデータをsplitする」か「新たにデータを取得して適用してみる」かのどちらで行うかという点が異なるだけであることを鑑みれば、「事後にA/Bテストを行ってトドメを刺す」というのは十分過ぎるぐらい理想的な姿ではないでしょうか。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="実験は努力を積み重ねて出来るようにしておくべきもの">実験は「努力を積み重ねて出来るようにしておく」べきもの</h3> <p><br /> 一方で「とてもじゃないが介入実験なんか出来るわけがない、機会損失が大きかったら怖いし、お客さんからサービスに差があったとクレームを入れられても困るし、そんなことはやりたくない」という声が、特にビジネス側から挙がることは世の中非常に多いようです。確かに、直前のMMMで効果が高いと判明した施策であるにもかかわらず、A/Bテストのコン<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C8%A5%ED%A1%BC%A5%EB">トロール</a>グループでは「あえて打たない」ことになるわけで、それはコン<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C8%A5%ED%A1%BC%A5%EB">トロール</a>グループの規模次第では結構な機会損失になり得ます。</p><br /> <p>しかし、世の中には「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EA%A5%A2%A5%EB%C5%B9%CA%DE">リアル店舗</a>A/Bテスト」を日常的に敢行して大きな<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>成果を挙げている企業があります。それが、「すごいデータ活用」で名高いワークマン社です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F11%2F06%2F120000" title="実験科学の考え方を転じて「ビジネスサイエンス」にする - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>この「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EA%A5%A2%A5%EB%C5%B9%CA%DE">リアル店舗</a>A/Bテスト」という取り組みには、「より効率的な経営のためには一時の機会損失も辞さない」という経営陣の覚悟もあるのでしょうが、それ以上に優れていると思われるのが「全取引データが電子化済みである」点でしょう。売り上げデータはPOSで当然管理できるわけですが、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%C5%C6%FE">仕入</a>れに関してもかなり早い時期から電子化されていたというのは驚異的です。</p><br /> <p>全てがデジタル化されているからこそ、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EA%A5%A2%A5%EB%C5%B9%CA%DE">リアル店舗</a>A/Bテストを敢行しても直ちに実験データが収集&集約され、お馴染みの「社員全員<a class="keyword" href="https://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」のもと細かな分析が行われた上で早急に経営陣の手に委ねられる、というわけです。その果断さとスピード感たるや、まさに「ワークマンのすごいデータ活用」と言って良いかと思います。</p><br /> <p>その意味では、常日頃から「いつでも新たにA/Bテストが出来るように<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>体制を整備しておく」ことも極めて重要だと考える次第です。それは経営陣や現場の実験に臨む姿勢に限らず、それを可能にするデータ収集・集約基盤を持つということにも及ぶというのは上記で見てきた通りです。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="最後に">最後に</h3> <p><br /> ……ということで、特にデジタル<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>界隈では釈迦に説法もいいというレベルの議論をしてきたわけですが、世の中を見渡す限りでは「MMMなどの統計分析+A/Bテスト」を実行するだけでも意外とままならないんですよね。それは本質的には<strong>「普段から効果検証を行うつもりがあるかどうか」</strong>という一点に尽きるかと思うのです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2017%2F09%2F22%2F190000" title="実務の現場に多い時系列データ分析の際に注意しておきたい点を列挙してみる - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>例えば、MMMなどの時系列データに対する回帰分析だと「ある程度広告や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策などのタイミングがばらけている」(多重共線性が低い状態になっている)ことが求められるわけですが、上記の過去記事でも引き合いに出したように「全ての施策が一斉に打たれて一斉に終わる」完全タイミング連動的なキャンペーンを漫然と打っている現場は少なくないようです。これでは当然ですが分析なんかやりようがありません。故に、普段からある程度意図的に広告や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>施策の強弱の時系列はばらけさせておく必要があります。</p><br /> <p>また、A/Bテストに関しても何かしらのキャンペーンを実施する際に合わせて行おうとすると「大事な〇〇商品のキャンペーンなのだから機会損失になるような行為はまかりならん」ということで、最悪の場合既にA/Bテストを開始した後になってからコン<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C8%A5%ED%A1%BC%A5%EB">トロール</a>群にも分析対象となる施策を勝手に打ってしまうという現場もあるようです。これはこれでIntention-to-Treat (ITT)と見做せなくはありませんが、それには事前の準備が必要なわけで、大抵の場合はA/Bテスト不成立になって手間も労力もリソースも無駄になるだけです。A/Bテストをやるからには、条件統制を確実に遵守することが必須なのです。</p><br /> <p>これらの問題は、大抵の場合は個々の現場のカルチャーであったり、時には<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C6%A1%BC%A5%AF%A5%DB%A5%EB%A5%C0%A1%BC">ステークホルダー</a>というか意思決定者<a href="#f-3e70a146" name="fn-3e70a146" title="往々にして役員会">*4</a>のマインドに依存するように見受けられます。よって、「MMMなどの統計分析+A/Bテスト」のコンビネーションを各現場に根付かせるには、そういったカルチャーやマインドの涵養が必要だというのが僕の個人的な経験則であり、それこそがまさにこの記事を書いた理由でもあります(笑)。この記事によって、少しでも<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>データ分析が成果を挙げやすい現場が増えることを願っております。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-b7ff4c7d" name="f-b7ff4c7d" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">例えば <a href="https://www.thinkwithgoogle.com/intl/ja-jp/marketing-strategies/data-and-measurement/shopping-title-optimization/">https://www.thinkwithgoogle.com/intl/ja-jp/marketing-strategies/data-and-measurement/shopping-title-optimization/</a> など</span></p> <p class="footnote"><a href="#fn-0694e160" name="f-0694e160" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">例えばプッシュ通知やDMメールのような方法ではユーザーは動いてくれないといった話</span></p> <p class="footnote"><a href="#fn-65129695" name="f-65129695" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">勿論MMM自体でもある程度の交差検証は出来ますが</span></p> <p class="footnote"><a href="#fn-3e70a146" name="f-3e70a146" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">往々にして役員会</span></p> </div> TJO ChatGPTに書かせた基礎統計学の教科書を公開しました hatenablog://entry/4207112889970783222 2023-04-01T08:00:00+09:00 2023-05-17T16:25:44+09:00 ChatGPT以下各種LLM chatbotが創り出すコンテンツが何かと話題を呼ぶ昨今ですが、僕もその世間の潮流に沿って試してみたことがあります。それが「統計学の教科書の自動執筆」です。 ということで、実際にChatGPTを使って基礎統計学の教科書を書いてみました(カバーはStable Diffusionに描かせてみました)。プロンプトは何を入力したか記録を取っていなくて忘れてしまったお見せできませんが、ひとまず要約統計量・相関・回帰についての解説までを執筆させてみたので、是非そのクオリティをご評価いただければと思います。なお、統計学のテキストにありがちな「統計学者たちのエピソード」的コラムも… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230312/20230312164456.png" width="768" height="768" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ChatGPT以下各種LLM chatbotが創り出すコンテンツが何かと話題を呼ぶ昨今ですが、僕もその世間の潮流に沿って試してみたことがあります。それが「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の教科書の自動執筆」です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fozt-ca%2Ftjo.hatenablog.samples%2Fblob%2Fmaster%2Fbasic_stats_text%2Fstats_text_by_ChatGPT.pdf" title="tjo.hatenablog.samples/stats_text_by_ChatGPT.pdf at master · ozt-ca/tjo.hatenablog.samples" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ということで、実際にChatGPTを使って基礎<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の教科書を書いてみました(カバーはStable Diffusionに描かせてみました)。プロンプトは<s>何を入力したか記録を取っていなくて忘れてしまった</s>お見せできませんが、ひとまず要約統計量・相関・回帰についての解説までを執筆させてみたので、是非そのクオリティをご評価いただければと思います。なお、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>のテキストにありがちな「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>者たちのエピソード」的コラムもありますので、どうぞご笑覧ください。</p><br /> <p><span style="color: #ff0000">(これはエイプリルフールネタです)</span></p> TJO LLM chatbotが人類にもたらすのは、絶望なのか希望なのか hatenablog://entry/4207112889967085719 2023-03-24T17:00:00+09:00 2023-05-17T16:25:22+09:00 ちょっと前に以下のようなことを放言したら、思いの外反響が多くてちょっとびっくりしたのでした。それだけ、現代のLLM chatbot / generative AIの台頭に期待と不安を抱いている人が多いということの裏返しなのでしょう。既に色々コメントが出ているけど、我々人類が「知的労働」だと思っていることの大半が実は「過去実績をなぞって適当にその場に合わせて組み立てているだけ」なんじゃないかと訝っているので、そういう「自称知的労働」は多分LLMで代替されると思う。新奇なものを生み出す仕事は相変わらず残る https://t.co/GGK41vSDcn— TJO (@TJO_datasci) 20… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230316/20230316183919.png" width="768" height="768" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ちょっと前に以下のようなことを放言したら、思いの外反響が多くてちょっとびっくりしたのでした。それだけ、現代のLLM chatbot / generative AIの台頭に期待と不安を抱いている人が多いということの裏返しなのでしょう。</p><p><blockquote data-conversation="none" class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">既に色々コメントが出ているけど、我々人類が「知的労働」だと思っていることの大半が実は「過去実績をなぞって適当にその場に合わせて組み立てているだけ」なんじゃないかと訝っているので、そういう「自称知的労働」は多分LLMで代替されると思う。新奇なものを生み出す仕事は相変わらず残る <a href="https://t.co/GGK41vSDcn">https://t.co/GGK41vSDcn</a></p>&mdash; TJO (@TJO_datasci) <a href="https://twitter.com/TJO_datasci/status/1635847884221603841?ref_src=twsrc%5Etfw">2023年3月15日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </p><br /> <p>昨年の年末振り返り記事でも話題にしたChatGPT(そして後続の各種LLM chatbot)ですが、今年に入ってからの話題の広がり方には想像を超えるものがあり、ついに朝の情報番組などでも取り上げられるなどあっという間にお茶の間にまで届くという有様になっています。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F12%2F23%2F170000" title="難局を乗り越えた先に見えるもの - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>勿論当初はその「AIとは信じられない」ほどの流暢な受け答えと回答内容の的確さ、さらには各種<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%C0%B8%EC">プログラミング言語</a>によるコード生成などの正確さなどから非常に高い評価を受けて大いに話題となったわけですが、人口に膾炙するにつれて「LLM chatbotが人類の全ての仕事に革命を起こす」という希望的観測に満ちた言説と「LLM chatbotが人類から多くの仕事を奪ってしまう」という絶望感に満ちた言説とが拮抗するレベルで世の中に溢れ、結構なカオスに至っているように見受けられます。</p><br /> <p>そこで、今回の記事ではChatGPTを初めとするLLM chatbotが人類にもたらすのは本当に絶望なのか、それとも希望なのか、という点について現段階でもある程度の自分なりの確信をもって言えそうなことをメインに、簡単に論じてみようと思います。なお、僕自身がLLMのここ3-4年の進歩については業界内傍観者以上の知識学識を持たないこと、そして立場上書けない事項があるということを、予めお断りしておきます。また事実や情報(特に学術・技術的な箇所)の誤りについては、是非識者の方々におかれましては忌憚なくご指摘いただけると幸いです。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#そもそもLLMとは何か">そもそもLLMとは何か</a></li> <li><a href="#LLMの驚異的な性能への期待の高さとhallucination及び不正確さの谷という課題と">LLMの驚異的な性能への期待の高さと、hallucination及び「不正確さの谷」という課題と</a></li> <li><a href="#LLM-chatbotは人類から仕事を奪うのか">LLM chatbotは人類から仕事を奪うのか</a></li> <li><a href="#データ分析職の今後の展望">データ分析職の今後の展望</a></li> <li><a href="#現段階でのLLM-chatbotの最適な使い方">現段階でのLLM chatbotの最適な使い方</a></li> <li><a href="#最後に">最後に</a></li> <li><a href="#余談">余談</a></li> </ul> <div class="section"> <h3 id="そもそもLLMとは何か">そもそもLLMとは何か</h3> <p><br /> LLMとはLarge Language Models即ち大規模<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>のことで、2023年4月ではChatGPTのベースとなっているGPT-3.5/4やBardのベースとなっている<a class="keyword" href="https://d.hatena.ne.jp/keyword/PaLM">PaLM</a>がLLMの代表例として知られています。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230317/20230317154755.png" width="498" height="599" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>GPTはGenerative Pre-trained Transformerの略で、その詳細については以前のバージョンである<a href="https://ja.wikipedia.org/wiki/GPT-2">GPT-2&#x306E;Wikipedia&#x8A18;&#x4E8B;</a>が詳しいです。文字通り訳すと「事前学習済み生成的Transformerモデル」といったところでしょうか。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqiita.com%2Fomiita%2Fitems%2F07e69aef6c156d23c538" title="深層学習界の大前提Transformerの論文解説! - Qiita" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>Transformerについてはこちらの記事が分かりやすいと思います。技術的な詳細には踏み込<s>め</s>みませんが、基本的には「テキストの内容を多次元(例えば512次元など)の数値ベクトルに変換して入力と出力との間の依存関係を(主に語やフレーズの前後関係に基づいて)学習して<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>する」仕組みの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%E9%A5%EB%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF">ニューラルネットワーク</a>(Neural Network: NN)です。「生成モデル」といった場合は、大雑把には何かしらの入力を与えることでそれを何らかの狙った形に加工して出力(生成)できるモデルのことを指します。</p><br /> <p>「事前学習済みモデル」というのはここ5-6年ぐらい隆盛を誇っているNNの一種で、事前に<a class="keyword" href="https://d.hatena.ne.jp/keyword/Wikipedia">Wikipedia</a>記事<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A1%BC%A5%D1%A5%B9">コーパス</a>やwebニュース記事<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A1%BC%A5%D1%A5%B9">コーパス</a>といった莫大な量の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC">自然言語</a>の文書から成るデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を事前に読み込ませて学習させることで、様々な文章や単語に対応する内部表現ベクトルをあらかじめ作っておいてしまってあるモデルのことです。ちなみにNNのモデル構造を変えて、出力側に読み込ませるデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を画像や映像に変えれば、当然ですがテキストをもとに画像や映像を生成させることができます。例えばStable Diffusionなどの画像生成AIは概ねこの理屈に沿って作られています。GPTも4からはマルチモーダル(多感覚)ということで、テキストだけでなく画像データなども用いられています。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2016%2F04%2F14%2F190000" title="「そのモデルの精度、高過ぎませんか?」過学習・汎化性能・交差検証のはなし - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>また、一般に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>モデルはパラメータ数を増やし続けると、学習データに対する<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B2%E1%B3%D8%BD%AC">過学習</a>(過剰適合)という現象を起こしてしまい、未知データに対する予測性能がかえって悪化してしまいます。それ故、極端な大規模モデルはあまり性能を高くできないのではないかと以前は危惧されていました。ところが、GPTシリーズ・<a class="keyword" href="https://d.hatena.ne.jp/keyword/PaLM">PaLM</a>などのLLMはパラメータ数を増やし続けているにもかかわらず、あるところから逆に非常に高い未知データに対する予測性能(汎化性能)を示すようになることが知られています。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Farxiv.org%2Fabs%2F2201.02177" title="Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>これはgrokkingという用語で表現される現象で、やや情緒的な言い方をするとNNがデータを「理解」するようになることで、あるポイントを超すと<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B2%E1%B3%D8%BD%AC">過学習</a>しなくなり逆に汎化性能が向上していくようだ、と指摘する研究が2022年に出ています。各種LLMが驚異的な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>性能を発揮する理由の一つに、このgrokkingが関わっている可能性は高そうです。</p><br /> <p>ところで、これまで話題にしてきたのはLLMそのものでした。これをchatbotにしたのが、今巷で話題のChatGPTを初めとするLLM chatbotたちです。素朴に考えれば、LLMに対して任意のテキスト入力を送ってその出力を表示するインタフェースさえあればLLM chatbotは実現可能なわけですが、ChatGPTに関しては事前に人間のテスターが質疑内容のチェックを行い、そこからのフィードバックによる<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%AF%B2%BD%B3%D8%BD%AC">強化学習</a>などを用いてチューニングされている旨が既に公表されています。よって、今後現れるLLM chatbotも同じ手順をたどるであろうことが予想されます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="LLMの驚異的な性能への期待の高さとhallucination及び不正確さの谷という課題と">LLMの驚異的な性能への期待の高さと、hallucination及び「不正確さの谷」という課題と</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fmedical.jiji.com%2Fnews%2F56105" title="ChatGPTが米医師資格試験で合格ライン" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ChatGPTは当初からその性能の高さが注目の的となっています。例えばGPT-3.5の時点でも<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%E1%A5%EA">アメリ</a>カの医師資格試験を解かせてみたら合格ラインに到達したという報告があり、ある意味これらの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%F3%A5%C1%A5%DE%A1%BC%A5%AF">ベンチマーク</a>の驚異的なスコアがLLM chatbotブームに火をつけたという側面があると思われます。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fopenai.com%2Fresearch%2Fgpt-4" title="GPT-4" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>またGPT-4になってからは多くの資格試験類でGPT-3.5のスコアを上回って「人間並みの性能」を叩き出しており、これらのパフォーマンスを引いて「人類はChatGPTによって皆失業させられる」的な言説が大量に流布するようになっているのも皆様ご存知の通りかと思います。</p><br /> <p>これ以外にも、例えば「特定の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%C0%B8%EC">プログラミング言語</a>で特定の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>を実装するコードを書かせる」とか「ちょっと凝った料理のレシピを出させる」といった<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E6%A1%BC%A5%B9%A5%B1%A1%BC%A5%B9">ユースケース</a>も報告されていますし、面白いところだと「朝昼晩の食事の献立を曜日別に考えさせる」といった例もあったりします。そのいずれでも極めてクオリティの高いレスポンスを返している点もこれまでのchatbotにはなかった高い汎用性の顕れだとも言えるでしょう。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fxtech.nikkei.com%2Fatcl%2Fnxt%2Fcolumn%2F18%2F02065%2F00022%2F" title="ロボット開発で重要なAIとの距離感、まだ安全は頼れない" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.forbes.com%2Fsites%2Flanceeliot%2F2023%2F02%2F15%2Foutthinking-generative-ai-chatgpt-to-straighten-out-those-vexing-ai-hallucinations-advises-ai-ethics-and-ai-law%2F%3Fsh%3D37ccded17cc7" title="Outthinking Generative AI ChatGPT To Straighten Out Those Vexing AI Hallucinations, Advises AI Ethics And AI Law" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>しかし、LLM chatbotに限らず例えば<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%CB%DD%CC%F5">機械翻訳</a>分野などでも用いられてきたニューラル<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>(NNLM)には古くから知られる問題があり、それは現在における各種LLMでも根本解決は出来ていません。それが"Hallunication"(幻覚)現象です。分かりやすく言うなら、LLM含むNNLMが堂々と流暢に嘘っぱちをアウトプットする、という現象です。これまた既に多くの報告と指摘があり、例えばChatGPTに関しても上掲したようにhallucinationの具体的な内容と問題点を指摘するメディア記事が出ていたりします。昨年末の振り返り記事でお見せした例でも、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C2%E7%B2%CF%A5%C9%A5%E9%A5%DE">大河ドラマ</a>「鎌倉殿の13人」主人公だった<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CB%CC%BE%F2%B5%C1%BB%FE">北条義時</a>を「江戸時代に活躍した武将」と紹介した挙句全く無関係な土地で頓死したと解説してしまうなど、嘘っぱちというかデタラメが流暢に並べられていてもはや清々しいくらいです。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHallucination_(artificial_intelligence)" title="Hallucination (artificial intelligence) - Wikipedia" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ちなみに、既に<a class="keyword" href="https://d.hatena.ne.jp/keyword/Wikipedia">Wikipedia</a>英語版には独立した記事があるくらいで、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B1%D1%B8%EC%B7%F7">英語圏</a>では現時点でも結構深刻な課題として語られているようです。なお、以下はこのブログの概要をChatGPTに説明させた時のレスポンスですが、完全に嘘っぱちの著者名を答えている上に、それが誤りだと明確に指摘してもなお別の嘘っぱちの著者名を答えており、hallucinationが酷いとこうなるのかということが良く分かります。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230315/20230315003234.png" width="1200" height="548" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230315/20230315003452.png" width="1200" height="537" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>では、このhallucinationは何故起こり、どうすれば防げるのでしょうか? これらの点については実は上記の<a class="keyword" href="https://d.hatena.ne.jp/keyword/Wikipedia">Wikipedia</a>記事でも触れられているように、未だ研究途上にあってどちらかというとまだはっきりとは分かっていないというのが現状のようです。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Farxiv.org%2Fabs%2F2202.03629" title="Survey of Hallucination in Natural Language Generation" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>例えば、昨年公開された網羅的な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A1%BC%A5%D9%A5%A4">サーベイ</a>総説論文でもその傾向や現状での対策方法などは述べられているものの、決定的な原因究明や対策方法の提案はなされていません。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Farxiv.org%2Fabs%2F2204.07931" title="On the Origin of Hallucinations in Conversational Models: Is it the Datasets or the Models?" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>また、昨年公開された別の論文ではhallucinationを抑制するための仕組みを導入したにもかかわらず、却ってhallucinationが酷くなったという事例すら報告しています。</p><br /> <p>巷では「NNが確率的な出力を返すモデルだから」という説明がなされることもあるようですが、これについてはNNそのものやNNLMの専門家からは「NNは<em>推論過程に揺らぎを与えるパラメータがないので</em>確率的に振る舞っているわけではない」<a href="#f-7295c15f" name="fn-7295c15f" title="例えば[https://twitter.com/odashi_t/status/1638114021277851648]など。またYann LeCunのツイート[https://twitter.com/ylecun/status/1625127902890151943]も参考になるかと">*1</a><a href="#f-9b202329" name="fn-9b202329" title="追記:こちらのスレッドもご参照ください。幾つか補足説明がされています[https://twitter.com/odashi_t/status/1639678962539298817]">*2</a>と指摘されているようです。また、「LLMはテキストで表現される人間の知識のごく表面的な部分しか捉えていない」という指摘も見かけました<a href="#f-f92757c1" name="fn-f92757c1" title="例えば[https://twitter.com/ylecun/status/1625123045261344769]など。プログラミングのコードが完璧に生成されるのに対して自然言語の受け答えだとhallucinationが多くなる理由もこれだと指摘している">*3</a>。僕個人としては、どちらかというと「LLMなどの大規模モデルでは設定したネットワーク以外にも莫大な数のパラメータ同士で勝手に自らサブネットワークを作って勝手に異なる学習をしてしまう」という説<a href="#f-04bce770" name="fn-04bce770" title="以前どこかで論文を見かけたんですが出典がどうしても思い出せないので、どなたかご教示下さいorz">*4</a>の方がしっくり来る気がしているんですが、門外漢たる身としては何も分からない感の方が強いです。</p><br /> <p>ただ、個人的な感想を書いてしまうとhallucinationについては「そんなものはニューラル翻訳で散々ネタにされてきたはずでは」という思いの方が強いです。実際問題として、世にある各種のニューラル翻訳サービスはいずれもかなりhallucinationに悩まされた<a href="#f-8ab0bf01" name="fn-8ab0bf01" title="「実際の意味とは真逆の翻訳が返ってきた」みたいなネタはTwitterやRedditで散々ネタにされたはず">*5</a>結果として、程度問題ながらもかなりのルールベースによる後処理をかけてhallucinationに由来する「誤訳」を避けるように工夫されています<a href="#f-b83f154b" name="fn-b83f154b" title="例えばDeepLでは何故か元の文章の中から訳されずに省略されるという現象に遭遇したことのある人は多いはずです">*6</a>。この辺の話は先述の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A1%BC%A5%D9%A5%A4">サーベイ</a>総説論文でも触れられており、決して新しい問題ではないはずなのです。</p><br /> <p>にもかかわらず、ここに来て俄かにhallucinationがクローズアップされているのはやはりLLM chatbotに対する社会の関心と期待が過度に高いということの裏返しなのでしょう。ど素人の読みとしては「hallucinationの解決のためにはNNの理論解析研究が不可欠だ」と考えていて、そこに<a href="https://ja.wikipedia.org/wiki/%E7%94%98%E5%88%A9%E4%BF%8A%E4%B8%80">&#x7518;&#x5229;&#x4FCA;&#x4E00;</a>先生以来の日本の伝統的<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A4%AA%B2%C8%B7%DD">お家芸</a>たる理論解析分野が貢献できる白地があるのではないかと期待しております。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fnote.com%2Fvaaaaanquish%2Fn%2Fn228744f30bf3" title="データの民主化とこれからのAI組織|ばんくし" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>そして、これは必ずしもLLMに限った話ではないのですが、僕が勝手に<strong>「不正確さの谷」</strong>と名付けた問題があります。読んで字の如くロボット開発における<a href="https://ja.wikipedia.org/wiki/%E4%B8%8D%E6%B0%97%E5%91%B3%E3%81%AE%E8%B0%B7%E7%8F%BE%E8%B1%A1">&#x300C;&#x4E0D;&#x6C17;&#x5473;&#x306E;&#x8C37;&#x300D;</a>をもじった語ですが、要は「精度(例えばaccuracy)がどれくらいあれば実用に耐えるか」という話ですね。これについては上掲したばんくしさんの記事がズバリ的を射た意見だと感じていて、要は「従来のML/AI開発が80点ぐらいの出来だったところにLLMが90点を出してきたが、皆が本当に納得して『これはマジで使える』と感じるラインはその先の91点以上の世界」だったりするんじゃないか、ということです。</p><br /> <p>これには色々な意見があるかと思いますが、個人的には「知識や経験のある人間なら外さないポイントをLLMだと外してしまう」ケースがある、ということだと考えています。例えば僕の趣味の一つが自作インド料理なんですが、ChatGPTに<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C6%EE%A5%A4%A5%F3%A5%C9">南インド</a>式チキンカレーのレシピを書かせてみると<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DE%A5%B9%A5%BF%A1%BC%A5%C9%A5%B7%A1%BC%A5%C9">マスタードシード</a>や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%DE%A5%EA%A5%F3%A5%C9">タマリンド</a>といった<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C6%EE%A5%A4%A5%F3%A5%C9">南インド</a>料理特有の材料はきちんと入れてくるくせに、物の見事に<a href="https://ja.wikipedia.org/wiki/%E3%82%AA%E3%82%AA%E3%83%90%E3%82%B2%E3%83%83%E3%82%AD%E3%83%84">&#x30AB;&#x30EC;&#x30FC;&#x30EA;&#x30FC;&#x30D5;</a>だけが抜け落ちるんですよね。これは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C6%EE%A5%A4%A5%F3%A5%C9">南インド</a>や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%EA%A5%E9%A5%F3%A5%AB">スリランカ</a>の料理ではほぼ必須のハーブで、日本国内だとどうしてもこれの生の葉が欲しいということで自家栽培しているインド料理シェフが多いくらいの代物なのです<a href="#f-b9bca863" name="fn-b9bca863" title="僕もベランダで自家栽培しています笑">*7</a>。他にも、ChatGPTに<a href="https://tjo.hatenablog.com/entry/2022/09/15/230310">MMM (Media Mix Model)</a>のコードをRStanで書かせてみると、どれほど「季節調整やトレンドを考慮しろ」とコメントを追加しても毎回単なる線形回帰をStanで書いただけのコードを返してきたりします。どちらもGPT-3.5/4で使われている<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A1%BC%A5%D1%A5%B9">コーパス</a>を考慮する限りでは学習データに正解の情報が含まれているはずなんですが、何故かうまくいってません。</p><br /> <p>ということで、ばんくしさんもご指摘のように「90点の出来で良い仕事ならLLMがやっても良い」という世間や業界の流れが今後強まってきそうだなと思う一方で、「91点以上の出来でないとLLMは使えない」という領域は結構な割合<a href="#f-925f8d20" name="fn-925f8d20" title="これは冗談ではなく5割を超えると思います">*8</a>で残るのではないかと思っています。よって、その結構な割合に達する「91点以上を要求する」領域に対して、例えば<strong>「ラフな下作業はLLMで90点のレベルまでやって残り10点は熟練したヒトの専門家がやる」</strong>というような流れが生まれるかどうか、そして主流になるかどうか、によってLLMの普及速度は変わっていくのではないでしょうか。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="LLM-chatbotは人類から仕事を奪うのか">LLM chatbotは人類から仕事を奪うのか</h3> <p><br /> そもそものLLM chatbotのコンセプト(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>による生成モデルである・過去に存在した文書や会話などのデータを使っている・人間がその問答の妥当性を教示している)を考えれば、LLM chatbotが最も得意なのは<strong>「過去実績をなぞってその場のニーズに合わせて適当に組み立てる」</strong>作業であろうと簡単に予想がつきます。まさに冒頭で引用した放言の通りです。</p><br /> <p>よって、50年とか100年といった超長期的に見ればLLMそしてLLM chatbotが様々な「過去に公開された様々な情報や実績をなぞってその場のニーズに合わせて適当に組み立てる」系の仕事を代替するようになるのはほぼ間違いないと見て良いでしょう。これに当てはまる知的職業は実は結構多く、実際に医師・法曹・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE%A1%BC">プログラマー</a>・大学教員といった職業が槍玉に挙がることが多いようです。このブログの主題であるデータサイエンティストも良く槍玉に挙げられていますがこれについては後述します。中にはLLM chatbotの提供機関自身が発表する「LLMで消滅する職業一覧」なるものまであるようですが、流石に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DD%A5%B8%A5%B7%A5%E7%A5%F3%A5%C8%A1%BC%A5%AF">ポジショントーク</a>の度が過ぎるのでここでは触れません。</p><br /> <p>ただ、中短期的には正直なところ「そんなにすぐLLM chatbotがヒトの仕事をガンガン奪っていく」というシチュエーションは発生しないのではないかと思っています。LLM chatbotの普及を<a href="https://ja.wikipedia.org/wiki/%E7%94%A3%E6%A5%AD%E9%9D%A9%E5%91%BD">&#x30B8;&#x30A7;&#x30FC;&#x30E0;&#x30BA;&#x30FB;&#x30EF;&#x30C3;&#x30C8;&#x306E;&#x84B8;&#x6C17;&#x6A5F;&#x95A2;&#x767A;&#x660E;&#x306B;&#x3088;&#x3063;&#x3066;&#x5F15;&#x304D;&#x8D77;&#x3053;&#x3055;&#x308C;&#x305F;&#x7523;&#x696D;&#x9769;&#x547D;</a>になぞらえる動きは既に沢山見られますが、実際には例えばイギリスでの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BB%BA%B6%C8%B3%D7%CC%BF">産業革命</a>は1760年代から<a class="keyword" href="https://d.hatena.ne.jp/keyword/1830%C7%AF">1830年</a>代にかけて様々な周辺要素が加わりながら徐々に徐々に進んでいったとされています。そして、肝心のデータソースのLLMへの接続のような「周辺要素」の発展も必要なのは現代においても事情は変わりません<a href="#f-2d882d83" name="fn-2d882d83" title="紙ベースの発注・受注データの電子化&DWH格納みたいなプロジェクトがいかに進んでいないかを思い出してみてください">*9</a>。よって、例えば今後10年のうちに社会における多くの仕事がLLMに取って代わられて、大量の失業者で溢れる……ということは多分ないだろうと言って良いかと思います。</p><br /> <p>もっとも、あえてここでLLMに様々な仕事が代替されると仮定して、どんな仕事が超長期的には求められていくかを考えるのは面白いことだと思います。僕個人の考えでは、以下のようなポイントが大事になってくるのではないかと考えています。<br /> <br /> </p> <ol> <li>オペレーション要員の必要性は下がっていく</li> <li>ストラテジストの重要性が相対的に増す</li> <li>「答え」をLLMが出すようになればなるほど「適切な問いを立てられること」の重要性が増す</li> <li>Hallucinationそして「不正確さの谷」を潰す作業は依然としてヒトの仕事のまま</li> <li>LLMの学習データに「まだ含まれない」ような新規性かつオリジナリティのある仕事を手掛ける</li> </ol><p><br /> 1は言うまでもないでしょう。「過去実績に基づくオペレーション」はLLM chatbotが最も得意な作業の一つなので、これは割と中短期的にもLLMによる侵食が進みやすい領域だと思います。よって、そのオペレーション多数を組み合わせて束ねて大きな動きにするという戦略を担う、いわばストラテジスト的な仕事をヒトが今以上に手掛ける必要が出てくるだろうというのが2です。一方で、LLMは「過去実績に基づく答え」を出すことに優れているので、その答えの価値を高めるためには「適切な問い」を立てることが重要になってきます。これが3なわけですが、マネジメントに関するビジネス書の類では言い古された言葉の割にこんなところで出てくるというのは面白いですよね。そして、4のhallucinationと「不正確さの谷」については前節でも書いた通りで、しばらくはLLMが出せるのは「90点前後の出来」のままであろうことを鑑みるに、「最後の10点を仕上げるヒトの専門家」の存在は重要なままではないかと思います。</p><br /> <p>後は冒頭の放言でも言及した5ですね。やはり何と言っても「LLMがまだ出来ないこと」を目指すというのは、ヒトならではのアドバンテージだと思います。問題は「それが本当にLLMの学習データにも含まれず、尚且つLLMがまだ生成できないものかどうか」というところでしょうか。もっともそれはこれまでのアートを初めとするクリエイティブな仕事で必ず求められてきた「過去になされてきた仕事を網羅した上で新奇なものを生み出す」という営みの厳しさを考えれば、それほど難しいことではないかもしれません。むしろクリエイティブな仕事をする人たちこそ、LLMの限界を知るために積極的にLLMを使ってみる必要があるという話になりそうです。</p><br /> <p>……で、こういう話をしていてそれっぽいなと思った喩えが<strong>「LLMは『駆け出しで時々ミスすることもあるが何でも出来る部下』であり、これを巧みな指示とマネジメントでうまく使いこなす『管理職』的な立場をヒトが担うべき」</strong>というものです。このように考えれば、全ての人類に「部下」を与えてくれるのがLLM chatbotだと見ることもできそうです。となれば、そんな「誰もが自由に使える部下にどう上手く仕事をさせるか」が問われる時代が今後やってくる、とも言えるのかもしれません。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="データ分析職の今後の展望">データ分析職の今後の展望</h3> <p><br /> ある意味僕にとっては昔から見慣れた光景ですが<a href="#f-11126afc" name="fn-11126afc" title="AutoML技術が普及した時は「AutoMLの台頭でデータサイエンティストは失業する」と言われたものです">*10</a>、「LLM chatbotの台頭でデータサイエンティストは失業する」という声が多く上がっているようです。が、これについては既に昨年の記事で書いた通りかなと考えています。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F01%2F14%2F170000" title="生活者ターゲティングの時代は終わり、エコノメトリクスによるマーケティングが台頭する - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>とりあえず「アナリストの延長としてのデータサイエンティスト」で、尚且つ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>を用いて何かを予測するタイプの業務ではなく、マクロデータに対する統計分析や市場実験で何かを説明するタイプの業務をメインに手掛けているのであれば、LLM chatbotに代替されるのは当面先の話になるのではないでしょうか。</p><br /> <p>というのも、戦略レベルのデータはいつまで経ってもなかなか一箇所に集約されなければ、戦略レベルの分析は自動化してまでやるほど高頻度に求められるものでもないわけです<a href="#f-73a32b29" name="fn-73a32b29" title="よってそれらのデータは異なる部門間や酷いと異なるベンダー間で分散してバラバラに保存されていたりする">*11</a>。しかも、最後のアウトプットからアクションに繋げるところには必ずヒト同士の緻密なコミュニケーションと、ヒト自身による意思決定が関わってきます。特に「因果推論を意識して適切な実験計画を立てて新たなデー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を取ってくる」点は、そもそも論として「収集済みデータ」<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A4%AB%A4%E9%A4%B7">からし</a>か学習ができないLLMにとっては守備範囲外にあるわけです。これらのヒトが行うステップを撤廃できない限りは、「アナリストの延長としてのデータサイエンティスト」の仕事はいつまでも残るでしょうし、やや刺激的なことを言えば「アナリスト的なデータサイエンティストは当面LLMでは失業させてもらえない」ということになると思われます。</p><br /> <p>一方で「エンジニアの延長としてのデータサイエンティスト」即ち<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニアの立場から見た場合は、例えば「自前の汎用的な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>モデルを作っていきたい」という動きが萎んでいくであろうことは想像に難くないです。少なくとも<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC%BD%E8%CD%FD">自然言語処理</a>と何かを結びつけるタイプの業務は、割と中短期的なスパンでLLMに代替されていく可能性があることは否定できません。しかしながら、各種LLMの台頭は「LLMが出来る範囲の汎用的なことは既に解がある」状態になるというだけであり、LLMの存在を前提とした<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%B9%A5%C6%A5%E0%B3%AB%C8%AF">システム開発</a>のニーズはそうそう簡単には消えないのではないでしょうか。</p><br /> <p>そしてもう一点、優れたLLMはそのモデルの性質上優れたembeddingを提供する事前学習モデルでもあります。例えば元のLLMの性質を理解した上で、LLMが提供するembeddingをベースとした転移学習でより現場のニーズに合わせた(そして願わくばhallucinationも少なく「不正確さの谷」を乗り越えた)実用的な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>モデルを作っていくには、何よりも腕の立つ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニアが必要です。今後LLMの<a class="keyword" href="https://d.hatena.ne.jp/keyword/API">API</a>が普及するにつれて、逆にますます多くの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニアが「各現場向けにカスタマイズされたLLMベースのMLプロダクト」を作るために求められる可能性すらある、と個人的には考えています。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="現段階でのLLM-chatbotの最適な使い方">現段階でのLLM chatbotの最適な使い方</h3> <p><br /> LLM chatbotの具体的かつ効果的な使い方については既に多くのearly adopter層の人たちがこれでもかと<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E6%A1%BC%A5%B9%A5%B1%A1%BC%A5%B9">ユースケース</a>を披露しているのをあちこちで見かけるので、僕がここで四の五の論うよりはそういった具体例をご覧いただいた方が手っ取り早いかもしれません(汗)。</p><br /> <p><blockquote data-conversation="none" class="twitter-tweet" data-lang="ja"><p lang="en" dir="ltr">My unwavering opinion on current (auto-regressive) LLMs<br>1. They are useful as writing aids.<br>2. They are &quot;reactive&quot; &amp; don&#39;t plan nor reason.<br>3. They make stuff up or retrieve stuff approximately.<br>4. That can be mitigated but not fixed by human feedback.<br>5. Better systems will come</p>&mdash; Yann LeCun (@ylecun) <a href="https://twitter.com/ylecun/status/1625118108082995203?ref_src=twsrc%5Etfw">2023年2月13日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </p><p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B4%D7%CF%C3%B5%D9%C2%EA">閑話休題</a>。LLM chatbotの「最適な使い方」については、NNの三開祖の一人であるYann LeCunのコメントが参考になるかと思います。即ち「物書きのサポート役」として使うのが良いだろう、と。なお彼は「星座占いの結果を考えるのにちょうど良い」ともジョークを飛ばしていましたが、鋭いところを突いていると感じます。実際のところ、hallucinationと「不正確さの谷」を勘案すると、既に十分なスキルと見識のある人が「アシスタント」として用いるのが最も効果的だと考えられます。これはニューラル翻訳でも同じはずで、いきなり全文そのままコピペする人は少なく、原文(自分が書いた場合でも外から用意してきた場合でも)を翻訳した結果をまず見て、それから細かな用途に合わせて自分で手を入れるという人の方が多いのではないでしょうか。分かりやすく言えば、createさせるというより<a class="keyword" href="https://d.hatena.ne.jp/keyword/rewrite">rewrite</a>させるという方がLLMには向いていそうです。</p><br /> <p>その意味でいうと、既に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E6%A1%BC%A5%B9%A5%B1%A1%BC%A5%B9">ユースケース</a>記事で同様のものを複数見かけていますが<strong>「自分で沢山テキストを書いて試行錯誤する代わりに、LLM chatbotに適当なプロンプトを与えて何パターン・何十パターンとドラフトを作らせて、その中から一番良さそうなものだけを選んで最後に自分で仕上げる」</strong>というのが、現段階では最も効果的かつ効率的な使い方なのかなと思いました。何を隠そう、実はこのブログ記事も節見出しとその内容の一部だけを書いたドラフトの状態でChatGPTに読み込ませて残りを全部書かせようとしたんですが、流石に長<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C2%E7%B2%E1">大過</a>ぎたのか大して<a class="keyword" href="https://d.hatena.ne.jp/keyword/rewrite">rewrite</a>してくれませんでした(笑)。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="最後に">最後に</h3> <p><br /> 最後に、ちょっとした蘊蓄を披露させてください。</p><br /> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%E3%A5%F3%A5%D1">シャンパ</a>ンと言えば、誰もが知るフランス・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%E3%A5%F3%A5%D1%A1%BC%A5%CB%A5%E5">シャンパーニュ</a>地方が誇る世界に冠たる伝統的製法による<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%D1%A1%BC%A5%AF%A5%EA%A5%F3%A5%B0%A1%A6%A5%EF%A5%A4%A5%F3">スパークリング・ワイン</a>ですが、その製造工程の中に<a href="https://www.champagne.fr/ja/%E3%82%B7%E3%83%A3%E3%83%B3%E3%83%91%E3%83%BC%E3%83%8B%E3%83%A5%E3%82%92%E7%99%BA%E8%A6%8B/%E3%82%B7%E3%83%A3%E3%83%B3%E3%83%91%E3%83%BC%E3%83%8B%E3%83%A5%E3%81%AE%E9%86%B8%E9%80%A0/%E3%83%AB%E3%83%9F%E3%83%A5%E3%82%A2%E3%83%BC%E3%82%B8%E3%83%A5%EF%BC%88%E5%8B%95%E7%93%B6%EF%BC%89">&#x300C;&#x30EB;&#x30DF;&#x30E5;&#x30A2;&#x30FC;&#x30B8;&#x30E5;&#xFF08;&#x52D5;&#x74F6;&#xFF09;&#x300D;</a>という工程があります。これは瓶内二次発酵でボトルの中に溜まっていく澱を毎日少しずつボトルを回すことで1箇所に澱を集めるという作業なのですが、以前は人手でやっていてそれはそれは大変に手間のかかる作業でした。しかし現代ではこの作業は機械化が進んでいて、人手の6倍のスピードでこなせるそうです<a href="#f-08209baa" name="fn-08209baa" title="例えば人手だと6週間かかるところを機械だと1週間で終わらせられる">*12</a>。その上、人手で動瓶させたものと機械で動瓶させたものとをブラインド<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C6%A5%A4%A5%B9%A5%C6%A5%A3%A5%F3%A5%B0">テイスティング</a>で比べてみても、味に差が出ないことが分かっています。故に、現在大半のメゾン(蔵元)では機械で動瓶を行なっています。</p><br /> <p>ところが、<a href="https://www.polroger.com/en/">&#x30DD;&#x30EB;&#x30FB;&#x30ED;&#x30B8;&#x30A7; (Pol Roger)</a>という古くからの有名メゾンでは、21世紀の現在でも動瓶を人手で行っているんですね。かの第二次大戦の英雄サー・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A6%A5%A3%A5%F3%A5%B9%A5%C8%A5%F3%A1%A6%A5%C1%A5%E3%A1%BC%A5%C1%A5%EB">ウィンストン・チャーチル</a>も愛飲したということで名高い<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%E3%A5%F3%A5%D1">シャンパ</a>ン・メゾンですが、「味が変わらないとしても人手『だけ』で丁寧に作られているという事実が<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%E3%A5%F3%A5%D1">シャンパ</a>ンに価値を与える」ということで今も人手による動瓶にこだわっているそうです。ちなみに物の本によればスタンダードラインは機械で動瓶させているけれどもトップキュヴェは人手で動瓶させているというメゾンは他にも少なくないそうで、いかに「人手だけで作られている」ということがブランドに価値を与えるかが分かるエピソードだと思います。</p><br /> <p>……以上はあくまでも僕の個人的な趣味の話ですが、機械で動瓶させて作られるスタンダードラインの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%E3%A5%F3%A5%D1">シャンパ</a>ンと、手間暇かけて人手で動瓶させて作られるトップキュヴェの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%E3%A5%F3%A5%D1">シャンパ</a>ンとが市場に共存しているのを見る限りでは、LLMと人類が仕事を奪い合って皆が不幸になる未来は多分来ないのではないかと感じています。他の製品(例えば包丁や木桶のような工芸品など)でも機械生産品と手工業生産品とが共存しているケースは幾つもありますが、「品質に差がない」ことが明らかであるにもかかわらず共存しているケースは、僕が知る限りでは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%E3%A5%F3%A5%D1">シャンパ</a>ンぐらいです。</p><br /> <p>この例に見られるように、ヒトが「何に価値を認めるか」を決める限りは、LLMと人類は案外超長期の将来に渡ってもうまく共存していけるのではないかと個人的には期待している次第です。また、そういう社会が到来するよう僕としても微力ながら何がしか貢献できればと願っております。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="余談">余談</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2021%2F12%2F14%2F100000" title="『ディープラーニング 学習する機械』は一人称で語られる壮大な物語にして、「AIの過去・現在・未来」の解説書 - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>上掲したYann LeCunのツイートですが、その後に「(Transformerのように語順やフレーズの前後関係をメインに学習する)自己回帰型のNNでは限界がある、もっと優れたLLMは違うタイプの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>システムから生まれるだろう」という趣旨のことを言っています<a href="#f-12923a77" name="fn-12923a77" title="[https://twitter.com/ylecun/status/1625118945920397316]">*13</a>。同様の指摘は彼の著書『<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C7%A5%A3%A1%BC%A5%D7%A5%E9%A1%BC%A5%CB%A5%F3%A5%B0">ディープラーニング</a> 学習する機械』の中でも述べられており、僕も全くもって同感です。現状の自己回帰型NNによるLLMだと性能向上には限界があるかも?ということは頭の片隅に入れておいて損はないかと思います。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fja.wikipedia.org%2Fwiki%2F%25E4%25BD%259C%25E8%25A9%25B1" title="作話 - Wikipedia" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>また、以前あるところで見かけたコメントとして「hallucinationは『作話』の症状に似ている」というものがありましたが、これも僕には大いに首肯できるものがありました。もしかしたら、ヒトの自然知能は例えば「知識ベースユニット」と「(自己回帰型NN的な)文脈記憶ベースユニット」とに分かれていて、これが各種認知機能障害によって前者が損なわれると作話が生じるのかなと。だとすると、自己回帰型LLMが作話を頻発させるのは当然で、これを解決するには知識ベースの何かを追加しなければならないのかもしれませんね。確かこれまた同様のことをLeCunは著書で述べていたはずです。</p><br /> <p>ところで、この記事を全部書き終わった後で改めて前出のばんくしさんの記事を読み返してみたら「ああこれはほぼ全く同じ話を違う口が言っているだけだな」という感想になりました(苦笑)。まぁ、同じ業界人同士考えることは似ていて当然ですね、ということでお後がよろしいようで……。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-7295c15f" name="f-7295c15f" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">例えば<a href="https://twitter.com/odashi_t/status/1638114021277851648">https://twitter.com/odashi_t/status/1638114021277851648</a>など。またYann LeCunのツイート<a href="https://twitter.com/ylecun/status/1625127902890151943">https://twitter.com/ylecun/status/1625127902890151943</a>も参考になるかと</span></p> <p class="footnote"><a href="#fn-9b202329" name="f-9b202329" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">追記:こちらのスレッドもご参照ください。幾つか補足説明がされています<a href="https://twitter.com/odashi_t/status/1639678962539298817">https://twitter.com/odashi_t/status/1639678962539298817</a></span></p> <p class="footnote"><a href="#fn-f92757c1" name="f-f92757c1" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">例えば<a href="https://twitter.com/ylecun/status/1625123045261344769">https://twitter.com/ylecun/status/1625123045261344769</a>など。プログラミングのコードが完璧に生成されるのに対して<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BC%AB%C1%B3%B8%C0%B8%EC">自然言語</a>の受け答えだとhallucinationが多くなる理由もこれだと指摘している</span></p> <p class="footnote"><a href="#fn-04bce770" name="f-04bce770" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">以前どこかで論文を見かけたんですが出典がどうしても思い出せないので、どなたかご教示下さいorz</span></p> <p class="footnote"><a href="#fn-8ab0bf01" name="f-8ab0bf01" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text">「実際の意味とは真逆の翻訳が返ってきた」みたいなネタは<a class="keyword" href="https://d.hatena.ne.jp/keyword/Twitter">Twitter</a>や<a class="keyword" href="https://d.hatena.ne.jp/keyword/Reddit">Reddit</a>で散々ネタにされたはず</span></p> <p class="footnote"><a href="#fn-b83f154b" name="f-b83f154b" class="footnote-number">*6</a><span class="footnote-delimiter">:</span><span class="footnote-text">例えばDeepLでは何故か元の文章の中から訳されずに省略されるという現象に遭遇したことのある人は多いはずです</span></p> <p class="footnote"><a href="#fn-b9bca863" name="f-b9bca863" class="footnote-number">*7</a><span class="footnote-delimiter">:</span><span class="footnote-text">僕もベランダで自家栽培しています笑</span></p> <p class="footnote"><a href="#fn-925f8d20" name="f-925f8d20" class="footnote-number">*8</a><span class="footnote-delimiter">:</span><span class="footnote-text">これは冗談ではなく5割を超えると思います</span></p> <p class="footnote"><a href="#fn-2d882d83" name="f-2d882d83" class="footnote-number">*9</a><span class="footnote-delimiter">:</span><span class="footnote-text">紙ベースの発注・受注データの電子化&DWH格納みたいなプロジェクトがいかに進んでいないかを思い出してみてください</span></p> <p class="footnote"><a href="#fn-11126afc" name="f-11126afc" class="footnote-number">*10</a><span class="footnote-delimiter">:</span><span class="footnote-text">AutoML技術が普及した時は「AutoMLの台頭でデータサイエンティストは失業する」と言われたものです</span></p> <p class="footnote"><a href="#fn-73a32b29" name="f-73a32b29" class="footnote-number">*11</a><span class="footnote-delimiter">:</span><span class="footnote-text">よってそれらのデータは異なる部門間や酷いと異なるベンダー間で分散してバラバラに保存されていたりする</span></p> <p class="footnote"><a href="#fn-08209baa" name="f-08209baa" class="footnote-number">*12</a><span class="footnote-delimiter">:</span><span class="footnote-text">例えば人手だと6週間かかるところを機械だと1週間で終わらせられる</span></p> <p class="footnote"><a href="#fn-12923a77" name="f-12923a77" class="footnote-number">*13</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://twitter.com/ylecun/status/1625118945920397316">https://twitter.com/ylecun/status/1625118945920397316</a></span></p> </div> TJO データ分析部門にビジネス上のレゾンデートルを与えるということ hatenablog://entry/4207112889970201667 2023-03-14T17:00:00+09:00 2023-03-14T18:07:19+09:00 3月にばんくしさんとイベントでご一緒したり個人的に話をする機会*1があったんですが、その際に何度も話題にされていたのが「エンジニア部門やAI部門にビジネス上のレゾンデートル(存在意義)をどう与えるか」というテーマでした。これについては実際にご本人もnoteの記事としてまとめられています。このnote記事ははてブ数を見るまでもなく各所で多くの議論を呼んだようで、観測範囲ではかなり広汎に分かれた論調が散見されています。そのいずれもそれぞれの界隈*2における実態を反映しているように見受けられ、一口にエンジニア業界・AI業界といってもやはり多様なのだなという感想を持ちました。 ということで既にある程度… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230311/20230311160417.png" width="1200" height="675" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>3月にばんくしさんとイベントでご一緒したり個人的に話をする機会<a href="#f-b46726a4" name="fn-b46726a4" title="イベントの打ち上げも兼ねて銀座で飲み会をやったの意">*1</a>があったんですが、その際に何度も話題にされていたのが「エンジニア部門やAI部門にビジネス上のレゾンデートル(存在意義)をどう与えるか」というテーマでした。これについては実際にご本人もnoteの記事としてまとめられています。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fnote.com%2Fvaaaaanquish%2Fn%2Fn22d5e8b067d9" title="エンジニアとビジネスの距離感の難しさ|ばんくし|note" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>このnote記事は<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A5%D6">はてブ</a>数を見るまでもなく各所で多くの議論を呼んだようで、観測範囲ではかなり広汎に分かれた論調が散見されています。そのいずれもそれぞれの界隈<a href="#f-fd7fa7a3" name="fn-fd7fa7a3" title="「業界」よりも狭い、ぐらいのイメージ">*2</a>における実態を反映しているように見受けられ、一口にエンジニア業界・AI業界といってもやはり多様なのだなという感想を持ちました。</p><br /> <p>ということで既にある程度論点が出尽くしてきた感もありますが、今回のブログ記事ではデータ分析部門の話題に特化した上で、そこに僕の見聞談並びに見解を幾許か付け加えてみようかと思います。ちなみにあまり楽しい話題ではない旨、予め警告しておきます(笑)。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#データ分析業界で見聞してきた例">データ分析業界で見聞してきた例</a></li> <li><a href="#自分が見聞してきた事例">自分が見聞してきた事例</a></li> <li><a href="#もっと一般的な技術部門と何が違うのか">もっと一般的な技術部門と何が違うのか</a></li> <li><a href="#結局明示的な事業貢献とコミュニケーションこそが身を助く">結局、明示的な事業貢献とコミュニケーションこそが身を助く</a></li> </ul> <div class="section"> <h3 id="データ分析業界で見聞してきた例">データ分析業界で見聞してきた例</h3> <p><br /> 身も蓋もない話で恐縮ですが、基本的に<strong>「分析部門やAI部門は作られては必ず潰れるもの」</strong>であるというのが僕の11年近い業界経験に基づく経験則です。5年くらい前に以下のような内容を放言しましたが、この構図は今も変わっていないように見受けられます。</p><p><blockquote data-conversation="none" class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">業界あるある:業績悪化→偉い人「これからはデータ利活用の時代だ!」→<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C3%E6%C5%D3%BA%CE%CD%D1">中途採用</a>人材でデータ分析部門が作られる→いざ分析に取り掛かるが環境・組織の壁に阻まれ成果出ず→偉い人「そんな役立たずは要らん!」→データ分析部門解散&人材流出→業績悪化→偉い人「これからは…」(以下繰り返し)</p>&mdash; TJO (@TJO_datasci) <a href="https://twitter.com/TJO_datasci/status/966698169860894720?ref_src=twsrc%5Etfw">2018年2月22日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </p><p>つまり、</p> <ol> <li>経営陣やトップマネジメントが「データ分析に注力すべき」と何かのきっかけで考え始める</li> <li>データ分析部門が設立され、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C3%E6%C5%D3%BA%CE%CD%D1">中途採用</a>や既存社員の配置転換で人員が充当される</li> <li>立ち上がったデータ分析部門が頑張って分析業務を遂行するが、経営陣やトップマネジメントから評価されない</li> <li>「こんなはずではなかった、資金とリソースの無駄だ」などと批判され、データ分析部門はお取り潰しに合う</li> <li>だがデータ分析部門がなくなったことで、その後新たに湧いてきたデータ分析ニーズに対応できない</li> <li>1に戻る</li> </ol><p>というような堂々巡りの構図になっているケースが非常に多いということですね。これは企業規模の大小には殆ど関連がないようで、スタートアップでも大企業でも普遍的に聞かれる話です。</p><br /> <p>例えば、上記のパターンを忠実になぞったある大企業<a href="#f-3dd376d7" name="fn-3dd376d7" title="勿論社名は断じて明かせませんが、誰もが知る超有名企業です">*3</a>のケースでは、最初「社長室直下に肝煎りでデータ分析部門を設置してそこに<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C3%E6%C5%D3%BA%CE%CD%D1">中途採用</a>で採用した優秀なデータサイエンティストを複数配置する」という形で始まったものの、ほんの数年で「あいつらは実際の業務には何の役にも立たないし単に会社の箔付けのために論文を出させたり<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BB%A5%DF">セミ</a>ナーをやらせているだけ」と社内で言われるようになり、最終的に担当役員が退職した上にチームも解散になったという話を伝え聞いています。しかも、その後「やっぱりデータ分析部門は必要だ」という話が社長から出て……という絵に描いたようなパターンを繰り返し、現在は3巡目に入っているという噂が聞こえてきているところです。</p><br /> <p>ちなみに「担当役員が退職したらデータ分析部門が潰れた」系の話は他にもチラホラ聞いており、興味深いのが「データ分析部門を一手に庇護していたマネージャーが役員に昇進してその役割から離れた途端に他の役員から大ナタを振るわれて部門を潰された」という事例があることですね。直接利害を共にする庇護者がいてこそ維持されるデータ分析部門であり、庇護者がいなくなった途端にお取り潰しになる……という話は枚挙に遑がありません。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F05%2F23%2F134437" title="新型コロナウイルス不況でデータサイエンティスト・機械学習エンジニアは失業するのか - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>また、ある程度条件を絞れば海の向こうでも同じだとすら言えます。例えば、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Uber">Uber</a>はコロナ禍に伴う景気後退の煽りを受けて自動運転AI部門を解散させていますし、当時同様の理由でデータサイエンティストや<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニアを<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EC%A5%A4%A5%AA%A5%D5">レイオフ</a>した海外企業は少なくなかったようです。</p><br /> <p>上掲の過去記事でも指摘しましたが、身も蓋もないことを言えば<strong>「『余興』としてのデータサイエンスやAIにカネを出し続ける企業はない」</strong>ということなんですよね。というと語弊がありそうですが、もう少しフォーカスを明確にして<strong>「『<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B3%A5%B9%A5%C8%A5%BB%A5%F3%A5%BF">コストセンタ</a>ー』としてのデータサイエンスやAIは容易に存在意義を失い得る」</strong>とすれば、より穏当かもしれません。即ち、事業貢献が不明確な取り組みである限りは「(事業化を目指しているが)まだ事業化できていない」「そもそも最初から事業化する気がない」のいずれであっても、いざ自社の経営が傾いてきたというタイミングで切られてしまいやすい、ということなのでしょう。</p><br /> <p>亜流としては、先述の例にもあるような「会社の箔付け」とか「自社のテク<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CE%A5%ED">ノロ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>に挑む姿勢のアピール」といった目的でデータサイエンス・AI部門が運営されているパターンがあり、これも基本的には「自社の経営が好調なうちは羽振りが良いが経営が傾いてくると途端に潰される」というケースが多いようです。ぶっちゃけ第一次データサイエンティストブームの頃はそういう話を良く聞いた記憶があります。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fmag.sendenkaigi.com%2Fhansoku%2F201702%2Fanalysis-of-data%2F009768.php" title="施策を磨き上げ着実に成果を出す 花王のデータ活用の極意 | 販促会議 2017年2月号" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>これらに対して、かなり以前の草創期から連綿とデータ分析部門を維持し続けている企業の例を見ると、ほぼ例外なく「事業貢献が明確化されている」ところばかりであるように見受けられます。例えば、日本のデータサイエンティスト業界では<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B2%D6%B2%A6">花王</a>が長年データ分析に注力している企業として知られていますが、上記の記事<a href="#f-57c33229" name="fn-57c33229" title="余談ですが記事中でインタビューされている佐藤さんとは僕がTokyoRに頻繁に参加していた頃は良く興味深い議論をさせていただいたものです">*4</a>からも分かるように、2000年前後から既に事業貢献を強く意識したデータ分析が行われてきており、まさに好例だと思います。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="自分が見聞してきた事例">自分が見聞してきた事例</h3> <p><br /> 僕が過去の職場にいた頃は、どこもまだまだ2023年現在のように成熟したデータ分析部門があったわけではなく、勿論そのノウハウもあったわけではないので、良かったとか悪かったとか論じるのは難しい気がします。ただ、僕が所属していた個々の部門ではやはりその事業貢献度を「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B8%AB%A4%A8%A4%EB%B2%BD">見える化</a>」するのに苦労した記憶があり、あまり居心地の良い感じがしなかったという印象があります<a href="#f-e7b6796d" name="fn-e7b6796d" title="他の部門では事情が異なっていたことが多い旨付記しておきます">*5</a>。</p><br /> <p>一方で、<a href="https://about.google/">&#x73FE;&#x8077;</a>は巨大企業ということもあって大部門ごと・個別部門ごと・さらにはチームごとでだいぶ状況が異なります。例えばプロダクト研究開発の大部門というか<a class="keyword" href="http://d.hatena.ne.jp/keyword/SWE">SWE</a>というかEngでの状況については、良くも悪くも僕自身が当事者になったことはない<a href="#f-95c6fe52" name="fn-95c6fe52" title="ただしPM / GPLと折衝したことは何故か何度かあります">*6</a>ので、例えば<a class="keyword" href="http://d.hatena.ne.jp/keyword/Kaz">Kaz</a>さんのコメントが参考になるかと思います。</p><p><blockquote data-conversation="none" class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr"><a class="keyword" href="http://d.hatena.ne.jp/keyword/Google">Google</a>にはこの苦難を乗り越えるのに長けた希少なエンジニア達がいて(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%BF%A5%F3%A5%D5%A5%A9%A1%BC%A5%C9">スタンフォード</a>CS出てるのに<a class="keyword" href="http://d.hatena.ne.jp/keyword/MBA">MBA</a>取ったとか)、社内ではプロダクトマネージャと呼ばれている。 <a href="https://t.co/WtKWgqwAUk">https://t.co/WtKWgqwAUk</a></p>&mdash; Kazunori Sato (@kazunori_279) <a href="https://twitter.com/kazunori_279/status/1633936627998552064?ref_src=twsrc%5Etfw">2023年3月9日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </p><p>一般にはやはりPMないしそれに類する立場の人間が、エンジニアリングとビジネスとの間を繋いで、開発サイドのレゾンデートルをきちんと確立させるということが重要なのでしょう。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F09%2F15%2F230310" title="Lightweight MMM:NumPyroで実装されたベイジアンMMMフレームワーク - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>他方で、BizというかSalesというかズバリ広告営業部門に属する僕が日々直面している状況は、遥かにダイレクトといっても良いかもしれません。基本的には「広告主のお客様の事業目標を実現する上で最も貢献度が高く尚且つ効率的な広告<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0%C0%EF%CE%AC">マーケティング戦略</a>を提案する」「その一環として自社広告に出稿していただくことを目指す」という確立された枠組み<a href="#f-1174d253" name="fn-1174d253" title="勿論断じてevilなことはしないという制約の中で進められます">*7</a>の中にMMMなどの統計分析で<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%D3%A5%C7%A5%F3%A5%B9">エビデンス</a>を提供して戦略立案をサポートしていくというものなのですが、これは言い換えると「全ての仕事に対して必ず出稿額=売り上げがつく」ということでもあります。</p><br /> <p>僕の所属は建て付けとしては「営業部門の中のデータ分析チーム」であり、当然僕を含めチーム全員が手掛ける仕事には必ず売り上げがついて回ります。故に、いかなるデータ分析業務についても例外なく「売り上げがどれくらいになった(なりそう)かをtrackする」のが組織としての最優先事項になっており、その数字をどのような形でトップマネジメントにコミュニケーションするかという点も常に強く意識されています。</p><br /> <p>この辺は研究開発系の分析チームとは全く状況が異なるので単純比較は出来ませんが、実際問題としては例えば僕がたまたま手に入ったデータで何かこれまでになかったタイプの新たな分析アプローチを試してみようとした場合、ちょっとやってみていざ面白いことが出来そうだとなったところで真っ先に「それはどういうビジネス貢献が可能か?」という問いを投げかけられるのが常態化しています。極端な言い方をすると、分析チームの一員としての一挙手一投足全てにビジネス貢献の有無を問われているといっても過言ではない気がします。それは、どストレートな言い方をすれば「面白い分析・技術テーマであってもやらせてもらえ続けるかどうかはビジネス貢献次第」ということでもあります。もっとも、それはやはり「営業部門の中の分析チーム」なればこそであり、それ故にレゾンデートルの与え方にも慣れている、と言えるのかもしれませんが。</p><br /> <p>冒頭にリンクしたばんくしさんのnote記事中において、</p> <blockquote> <p>エンジニアは残念ながら多くの場合、ビジネス職に比べて所謂狭義の経済行為の渦中に居る時間が短い(広義では居ると言えるかもしれないが)当然だ。ビジネス職が営業や責任者をやる中で新卒から長い時間を掛けて顧客に触れてお金に触れてビジネスマンとしてプロに育っていく中で、多くのエンジニア職はそうではない(エンジニア職、ビジネス職といっても様々ではあるしバックオフィスなども含めると複雑になるがここでは安易に表現する)。この差は大きくて、エンジニアが強く大きな価値と考えているビジネス貢献、事業貢献が、プロのビジネスマンから見て小さいなんてことはよくある事だと思う。</p> </blockquote> <p>と書かれていますが、僕の現在の立ち位置だとズバリ「ビジネス職と完全に並走してデータ分析職をやっている」状況で、「所謂協議の経済行為の渦中にどっぷり浸かっている」に等しいとすら言えるのでしょう。一方で、かつて僕自身がそうだったように、研究・開発・技術畑どっぷりというキャリアのデータサイエンティストやエンジニアが「ビジネス職から認められるようなビジネス貢献・事業貢献を自ら打ち出す」というのは、依然として非常に難しいままのように思えます。何だかんだで、営業部門に7年いる僕自身でもそれをやるのは難しいと感じ続けていますので……。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="もっと一般的な技術部門と何が違うのか">もっと一般的な技術部門と何が違うのか</h3> <p><br /> ところで、ばんくしさんと意見交換していて出てきた論点として「じゃあ例えば普通のバックエンド・フロントエンド・インフラといったエンジニアリング部門でレゾンデートルを問われることはあるんだろうか?」というものがありました。</p><br /> <p>これに対しては時代を遡ればそういう頃もあったという話が出てくるのかもしれませんが、少なくとも2023年現在ではそういうことはないように観測しています。それは、特に実ビジネス事業の多くがオンライン化している現在においては「システム・サービス・アプリそのものの維持」がそっくりそのまま事業継続性に直結することが多く、事実上その開発・メンテナンス部門という存在自体が事業にとって不可欠だからなのでしょう。</p><br /> <p>ただしその在り方については、いわゆるテク<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CE%A5%ED">ノロ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>業界におけるそれと、いわゆる<a class="keyword" href="http://d.hatena.ne.jp/keyword/SIer">SIer</a>業界におけるそれとでは、かなり様相が違うのではないかと考えています。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fjp.quora.com%2F%25E6%2597%25A5%25E6%259C%25AC%25E3%2581%25AE%25E3%2583%2597%25E3%2583%25AD%25E3%2582%25B0%25E3%2583%25A9%25E3%2583%259E%25E3%2583%25BC%25E3%2581%25AF%25E4%25B8%2580%25E9%2583%25A8%25E3%2581%25AE%25E5%25A4%25A9%25E6%2589%258D%25E3%2582%2592%25E9%2599%25A4%25E3%2581%2584%25E3%2581%25A6%25E4%25B8%258B%25E5%2583%258D%25E3%2581%258D%25E3%2581%25A0%2Fanswers%2F231290862" title="日本のプログラマーは一部の天才を除いて下働きだと父が言っていました。本当ですか?" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>それはしばらく前にQuora回答に書いた通りで、前者が「ソフトウェアを作りながら同時にリリースもして試行錯誤しながら常にアップデートし続ける」世界である一方で、後者は程度の差はありながらも「一度完成度の高い大きなものをきっちり作ったら後はメンテするだけ」の世界であることが多く、自ずと一般的なエンジニアの存在意義のありようにも差があるだろうと思われます。とはいえ、「何の前触れもなく急にバックエンド・フロントエンド・インフラ系のエンジニア部門が消滅する」ということは比較の問題で言えば少ないのではないでしょうか。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="結局明示的な事業貢献とコミュニケーションこそが身を助く">結局、明示的な事業貢献とコミュニケーションこそが身を助く</h3> <p><br /> ……ということで、結論から言うと上記の節見出しの通りなのだと思います。「明示的な事業貢献」と「コミュニケーション」が大事だなんて分かり切った話だと怒られそうですが、詰まるところそういう常識のような話に帰着するんですよね。</p><br /> <p>少なくとも僕個人の現在の立場においては<strong>「自分自身(そして協働する他メンバー)のデータ分析結果がどのようなプロセスを経てどれくらいの金額の売り上げに繋がっているか」を的確にマネジメントレベルに対してコミュニケーションすること</strong>がほぼ全てであり、極端な言い方をすればそれをそのままjob securityに繋げようとしているとすら言えると思います。そして、そこには<strong>費用対効果(ROI)の観点も加わる</strong>ことが多いです。即ち、これだけの顔ぶれのデータ分析部門が雁首を揃えてやるだけの価値がある分析を本当に出来ているのか?ということも問われるという話ですね。</p><br /> <p>この点については、冒頭のnote記事を書かれたばんくしさんがイベントの楽屋で談笑していた時に話されていた「昔の職場には『この技術的取り組みの価値は〇〇億円あるんですよ!』と社内のあちこちで言って回っている技術側のお偉いさんがいた」という話<a href="#f-7ed44338" name="fn-7ed44338" title="多分同じ話がばんくしさんのnote記事にも書かれていると思ったらそのものズバリの記述がなかったので勝手に僕の方で補完してます、間違っていたらご指摘ください">*8</a>にも通じると思っています。つまりここには2つポイントがあって、</p> <ol> <li><strong>実際に売り上げや利益といったビジネス観点でROIの高い仕事をデータ分析部門がしっかりやる</strong></li> <li><strong>そのROIがどれくらい経営方針に沿った素晴らしい成果であるかをトップマネジメントに宣伝する役割の人を必ず置く</strong></li> </ol><p>ということなのではないかと。ここで厄介なのが、1の方はデータ分析部門自身でもそれなりに舵取りできる一方で、2の方はばんくしさんのnote記事でも書かれているようにデータ分析畑でそれをやれる人は殆どいないということなんですよね。なので、データサイエンティストでビジネスにも積極的な人を抜擢して2の仕事をやってもらうか、さもなくばビジネス畑バリバリで尚且つデータ分析で価値を出したいという人を探してきて2の仕事をお願いするか、のいずれかを選ぶ必要がありそうです。</p><br /> <p><blockquote data-conversation="none" class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">AI七つ道具:<br>1. <a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a><br>2. Anaconda<br>3. TensorFlow (+Keras) or PyTorch or Chainerのいずれか<br>4. <a class="keyword" href="http://d.hatena.ne.jp/keyword/GPU">GPU</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9">インスタンス</a><br>5. BigQueryなど速くて便利なDB<br>6. <a class="keyword" href="http://d.hatena.ne.jp/keyword/arXiv">arXiv</a><br>7. 社内政治に強い相棒</p>&mdash; TJO (@TJO_datasci) <a href="https://twitter.com/TJO_datasci/status/1105977989727051776?ref_src=twsrc%5Etfw">2019年3月13日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </p><p>ちなみに4年前に「AI七つ道具」と称してこんなことを放言しましたが、観測範囲で最も支持を集めたのはやはり「社内政治に強い相棒」でした。上記の2の役割の人がいかに重要かということが良く分かるエピソードだと思っています。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/B0BT7GBF5L?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41f+YYGNklL._SL500_.jpg" class="hatena-asin-detail-image" alt="評価指標入門〜データサイエンスとビジネスをつなぐ架け橋" title="評価指標入門〜データサイエンスとビジネスをつなぐ架け橋"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/B0BT7GBF5L?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">評価指標入門〜データサイエンスとビジネスをつなぐ架け橋</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%B9%E2%CC%F8%20%BF%B5%B0%EC" class="keyword">高柳 慎一</a>,<a href="http://d.hatena.ne.jp/keyword/%C4%B9%C5%C4%20%CE%E7%BB%CE" class="keyword">長田 怜士</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/B0BT7GBF5L?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>後は、色々なところで指摘していますがそもそも論として<strong>「ビジネスの課題を適切にデータサイエンスの課題に変換できているかどうか、そしてそれを正しく解けて、正しく元のビジネス空間に返せるかどうか」</strong>という問題があります。これについては全く同じ議論が先日ご恵贈いただいた『評価指標入門』でも展開されているので、興味のある方は是非ご一読ください。個人的な意見としてはひたすら経験を積むしかこれを身につける術はない気がしていますが、同書ではこれを体系化する試みがなされています。</p><br /> <p>以上の指摘に当てはまらないデータ分析部門としては、先述したような「会社の箔付け・アピールのため」の部門という存在があり、どういう力学か分かりませんが連綿とそういう部門を維持し続けている企業や業界というのが一定数あったりします。けれども、それはやはり当事者たる企業の経営が好調で資金・リソースに余裕があるということが前提であり、そうでなければ潰れがちというのは<a class="keyword" href="http://d.hatena.ne.jp/keyword/Uber">Uber</a>の自動運転AI部門の例で見た通りです。</p><br /> <p>ちなみにそのお取り潰しに遭った<a class="keyword" href="http://d.hatena.ne.jp/keyword/Uber">Uber</a>の自動運転AI部門ですが、実はコロナ禍から経済が回復してきていた2022年10月時点の報道では再開設するという話が出てきています<a href="#f-36f4ec46" name="fn-36f4ec46" title="[https://www.bloomberg.com/news/articles/2022-10-06/uber-self-driving-taxis-new-partnership-could-ferry-riders-as-soon-as-this-year]">*9</a>。これを見れば分かるように、やはり経営的に余裕がない限り「投資的な(まだ事業貢献化出来ていない状態の)データ分析部門」を存続させるのは難しいのでしょう。</p><br /> <p>そういうわけで、あまり明るい話題でもなければ答えを明確に出せる問題でもないので、まずはデータ分析職やエンジニアの人々は「社内政治やビジネスに強い相棒」を上手く探してきて、タッグを組んでjob securityを確保することで、何とかしてこの景気後退の時代を生き残りましょう、ということで……お粗末様でした。</p><br /> <p><span style="font-size: 80%">(Top image by <a href="https://pixabay.com/ja/users/qimono-1962238/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=2125183">Arek Socha</a> from <a href="https://pixabay.com/ja/illustrations/%e3%82%b3%e3%82%b0%e3%83%9b%e3%82%a4%e3%83%bc%e3%83%ab-%e8%a3%85%e5%82%99-%e8%bb%8a%e8%bc%aa-%e6%a9%9f%e6%a2%b0-2125183/">Pixabay</a>)</span></p> </div><div class="footnote"> <p class="footnote"><a href="#fn-b46726a4" name="f-b46726a4" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">イベントの打ち上げも兼ねて銀座で飲み会をやったの意</span></p> <p class="footnote"><a href="#fn-fd7fa7a3" name="f-fd7fa7a3" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">「業界」よりも狭い、ぐらいのイメージ</span></p> <p class="footnote"><a href="#fn-3dd376d7" name="f-3dd376d7" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">勿論社名は断じて明かせませんが、誰もが知る超有名企業です</span></p> <p class="footnote"><a href="#fn-57c33229" name="f-57c33229" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">余談ですが記事中でインタビューされている佐藤さんとは僕がTokyoRに頻繁に参加していた頃は良く興味深い議論をさせていただいたものです</span></p> <p class="footnote"><a href="#fn-e7b6796d" name="f-e7b6796d" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text">他の部門では事情が異なっていたことが多い旨付記しておきます</span></p> <p class="footnote"><a href="#fn-95c6fe52" name="f-95c6fe52" class="footnote-number">*6</a><span class="footnote-delimiter">:</span><span class="footnote-text">ただしPM / <a class="keyword" href="http://d.hatena.ne.jp/keyword/GPL">GPL</a>と折衝したことは何故か何度かあります</span></p> <p class="footnote"><a href="#fn-1174d253" name="f-1174d253" class="footnote-number">*7</a><span class="footnote-delimiter">:</span><span class="footnote-text">勿論断じてevilなことはしないという制約の中で進められます</span></p> <p class="footnote"><a href="#fn-7ed44338" name="f-7ed44338" class="footnote-number">*8</a><span class="footnote-delimiter">:</span><span class="footnote-text">多分同じ話がばんくしさんのnote記事にも書かれていると思ったらそのものズバリの記述がなかったので勝手に僕の方で補完してます、間違っていたらご指摘ください</span></p> <p class="footnote"><a href="#fn-36f4ec46" name="f-36f4ec46" class="footnote-number">*9</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://www.bloomberg.com/news/articles/2022-10-06/uber-self-driving-taxis-new-partnership-could-ferry-riders-as-soon-as-this-year">https://www.bloomberg.com/news/articles/2022-10-06/uber-self-driving-taxis-new-partnership-could-ferry-riders-as-soon-as-this-year</a></span></p> </div> TJO 2023年版:実務データ分析を手掛けるデータサイエンティスト向け推薦書籍リスト(初級6冊+中級8冊+テーマ別15冊) hatenablog://entry/4207112889960225013 2023-02-07T17:00:00+09:00 2023-02-07T17:18:05+09:00 (Image by wal_172619 from Pixabay)去年で恒例の推薦書籍リストの更新は一旦終了したつもりだったんですが、記事を公開して以降に「これは新たにリスト入りさせないわけにはいかない!」という書籍が幾つも現れる事態になりましたので、前言撤回して今年も推薦書籍リストを公開しようと思います。 <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230204/20230204162556.png" width="1200" height="834" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span style="font-size: 80%">(Image by <a href="https://pixabay.com/ja/users/wal_172619-12138562/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=7408106">wal_172619</a> from <a href="https://pixabay.com/ja/photos/%e5%9b%b3%e6%9b%b8%e9%a4%a8-%e6%9c%ac-%e8%aa%ad%e3%82%80-%e7%9f%a5%e8%ad%98-7408106/">Pixabay</a>)</span></p><p>去年で恒例の推薦書籍リストの更新は一旦終了したつもりだったんですが、記事を公開して以降に「これは新たにリスト入りさせないわけにはいかない!」という書籍が幾つも現れる事態になりましたので、前言撤回して今年も推薦書籍リストを公開しようと思います。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#初級向け6冊">初級向け6冊</a><ul> <li><a href="#実務総論">実務総論</a></li> <li><a href="#データサイエンス総論">データサイエンス総論</a></li> <li><a href="#RPythonによるデータ分析プログラミング">R・Pythonによるデータ分析プログラミング</a></li> <li><a href="#統計学">統計学</a></li> <li><a href="#機械学習">機械学習</a></li> </ul> </li> <li><a href="#中級向け8冊">中級向け8冊</a><ul> <li><a href="#統計学-1">統計学</a></li> <li><a href="#機械学習-1">機械学習</a></li> </ul> </li> <li><a href="#テーマ別15冊">テーマ別15冊</a><ul> <li><a href="#回帰モデル">回帰モデル</a></li> <li><a href="#PRML">PRML</a></li> <li><a href="#機械学習の実践">機械学習の実践</a></li> <li><a href="#Deep-Learning--NN">Deep Learning / NN</a></li> <li><a href="#統計的因果推論">統計的因果推論</a></li> <li><a href="#ベイズ統計学">ベイズ統計学</a></li> <li><a href="#時系列分析">時系列分析</a></li> <li><a href="#グラフネットワーク分析">グラフ・ネットワーク分析</a></li> <li><a href="#データ基盤">データ基盤</a></li> </ul> </li> <li><a href="#コメントや補足説明など">コメントや補足説明など</a></li> <li><a href="#完全なる余談">完全なる余談</a></li> </ul> <div class="section"> <h3 id="初級向け6冊">初級向け6冊</h3> <p><br /> 今回は新たに加わったテキストがあります。<br /> <br /> </p> <div class="section"> <h4 id="実務総論">実務総論</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/B08P988YXB?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51cUi7d-CZL._SL500_.jpg" class="hatena-asin-detail-image" alt="AI・データ分析プロジェクトのすべて[ビジネス力×技術力=価値創出]" title="AI・データ分析プロジェクトのすべて[ビジネス力×技術力=価値創出]"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/B08P988YXB?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">AI・データ分析プロジェクトのすべて[ビジネス力×技術力=価値創出]</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%C2%E7%BE%EB%20%BF%AE%B9%B8" class="keyword">大城 信晃</a>,<a href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%B9%A5%AF%A5%C9%A1%A6%A5%A2%A5%CA%A5%E9%A5%A4%A5%BA" class="keyword">マスクド・アナライズ</a>,<a href="http://d.hatena.ne.jp/keyword/%B0%CB%C6%A3%20%C5%B0%CF%BA" class="keyword">伊藤 徹郎</a>,<a href="http://d.hatena.ne.jp/keyword/%BE%AE%C0%BE%20%C5%AF%CA%BF" class="keyword">小西 哲平</a>,<a href="http://d.hatena.ne.jp/keyword/%C0%BE%B8%B6%20%C0%AE%B5%B1" class="keyword">西原 成輝</a>,<a href="http://d.hatena.ne.jp/keyword/%CC%FD%B0%E6%20%BB%D6%CF%BA" class="keyword">油井 志郎</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/B08P988YXB?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p><a href="https://tjo.hatenablog.com/entry/2020/12/22/180000">&#x4EE5;&#x524D;&#x66F8;&#x8A55;&#x3057;&#x305F;&#x300E;AI&#x30FB;&#x30C7;&#x30FC;&#x30BF;&#x5206;&#x6790;&#x30D7;&#x30ED;&#x30B8;&#x30A7;&#x30AF;&#x30C8;&#x306E;&#x3059;&#x3079;&#x3066;&#x300F;</a>ですが、今回は「実務データ分析向けの総論」としてお薦めしています。それは「駆け出しからベテランまで『必携の仕事術大全』」という内容に着目した位置付けであり、「データ分析職はどう仕事するべきか」論が網羅的に解説されている良書と言って良いでしょう。<br /> <br /> </p> </div> <div class="section"> <h4 id="データサイエンス総論">データサイエンス総論</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4641166110?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51yh5X71tML._SL500_.jpg" class="hatena-asin-detail-image" alt="データサイエンス入門: データ取得・可視化・分析の全体像がわかる (単行本)" title="データサイエンス入門: データ取得・可視化・分析の全体像がわかる (単行本)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4641166110?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">データサイエンス入門: データ取得・可視化・分析の全体像がわかる (単行本)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%BE%E5%C5%C4%20%B2%ED%C9%D7" class="keyword">上田 雅夫</a>,<a href="http://d.hatena.ne.jp/keyword/%B8%E5%C6%A3%20%C0%B5%B9%AC" class="keyword">後藤 正幸</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%CD%AD%C8%E5%B3%D5">有斐閣</a></li></ul><a href="https://www.amazon.co.jp/dp/4641166110?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p><a href="https://tjo.hatenablog.com/entry/2022/07/29/173000">&#x4EE5;&#x524D;&#x306E;&#x8A18;&#x4E8B;</a>で大絶賛した『<a href="https://www.amazon.co.jp/dp/B0B75ZXJM7?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1">マーケティング・エンジニアリング入門 (有斐閣アルマ)</a>』の著者のお一人、上田先生が昨年末に出版された『データサイエンス入門』が、近年僕が読んだ関連書籍の中では群を抜いてデータサイエンス分野の知識の網羅度が高かったので、この度改めて初級向けに追加させていただきました。紙面の都合もあって各手法の技術的な詳細は割愛されていますが、事実上「データ分析業界で用いられる分析手法全て(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>・データ基盤技術)」を概観できる素晴らしい入門書です。初学者はまずこちらの書籍を目次代わりにして、興味が湧いた分野の書籍・資料を当たっていくと良いと思います。<br /> <br /> <br /> </p> </div> <div class="section"> <h4 id="RPythonによるデータ分析プログラミング">R・<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>によるデータ分析プログラミング</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4065132320?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/5177J3OxO6L._SL500_.jpg" class="hatena-asin-detail-image" alt="実践Data Scienceシリーズ ゼロからはじめるデータサイエンス入門 R・Python一挙両得 (KS情報科学専門書)" title="実践Data Scienceシリーズ ゼロからはじめるデータサイエンス入門 R・Python一挙両得 (KS情報科学専門書)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4065132320?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">実践Data Scienceシリーズ ゼロからはじめるデータサイエンス入門 R・Python一挙両得 (KS情報科学専門書)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%C4%D4%20%BF%BF%B8%E3" class="keyword">辻 真吾</a>,<a href="http://d.hatena.ne.jp/keyword/%CC%F0%BF%E1%20%C2%C0%CF%AF" class="keyword">矢吹 太朗</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li></ul><a href="https://www.amazon.co.jp/dp/4065132320?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>昨年に引き続きこの位置に据わるのはこちらの一冊です。まさに読んで字の如く、一通りの現代的なデータサイエンスの分析に関わるコードを、全てRと<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>で「ほぼ完全に一対一対応」するように書いて解説してくれるという至れり尽くせりぶりはなかなか他書では見られません。初心者向けながらNNというか<a class="keyword" href="http://d.hatena.ne.jp/keyword/Deep%20Learning">Deep Learning</a>の組み方まで載っている点もお薦めポイントです。<br /> <br /> </p> </div> <div class="section"> <h4 id="統計学"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a></h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4274067106?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/412G0HB7AnL._SL500_.jpg" class="hatena-asin-detail-image" alt="Rによるやさしい統計学" title="Rによるやさしい統計学"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4274067106?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">Rによるやさしい統計学</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%BB%B3%C5%C4%20%B9%E4%BB%CB" class="keyword">山田 剛史</a>,<a href="http://d.hatena.ne.jp/keyword/%BF%F9%DF%B7%20%C9%F0%BD%D3" class="keyword">杉澤 武俊</a>,<a href="http://d.hatena.ne.jp/keyword/%C2%BC%B0%E6%20%BD%E1%B0%EC%CF%BA" class="keyword">村井 潤一郎</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AA%A1%BC%A5%E0%BC%D2">オーム社</a></li></ul><a href="https://www.amazon.co.jp/dp/4274067106?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>初学者向けの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の教科書といったら今でもこれしかないですね。Rベースでコードを書きながら<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a><a href="#f-3b519d2d" name="fn-3b519d2d" title="ただし頻度論に限る">*1</a>の基本事項の大半を実践的に学べます。<br /> <br /> </p> </div> <div class="section"> <h4 id="機械学習"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a></h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4797393963?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/514DjOwjLUL._SL500_.jpg" class="hatena-asin-detail-image" alt="機械学習のエッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)" title="機械学習のエッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4797393963?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">機械学習のエッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%B2%C3%C6%A3%20%B8%F8%B0%EC" class="keyword">加藤 公一</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/SB%A5%AF%A5%EA%A5%A8%A5%A4%A5%C6%A5%A3%A5%D6">SBクリエイティブ</a></li></ul><a href="https://www.amazon.co.jp/dp/4797393963?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>お馴染みはむかずさん本です。未読だけど中身が気になるという方は<a href="https://tjo.hatenablog.com/entry/2018/11/01/080000">&#x4EE5;&#x524D;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;</a>をお読みください。文字通り、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>を生業にしたいと願う人がゼロから学んでいく上で絶対必須不可欠の知識・教養・技術の全てがこの一冊に収められています。さらに、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>に必要な最低限の数学もこの本で大体のところを学べるので、特に数学的な基礎についても学びたいという人には是非お薦めです。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4798155659?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/5142Bv+F3KL._SL500_.jpg" class="hatena-asin-detail-image" alt="見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑" title="見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4798155659?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%BD%A9%C4%ED%20%BF%AD%CC%E9" class="keyword">秋庭 伸也</a>,<a href="http://d.hatena.ne.jp/keyword/%BF%F9%BB%B3%20%B0%A4%C0%BB" class="keyword">杉山 阿聖</a>,<a href="http://d.hatena.ne.jp/keyword/%BB%FB%C5%C4%20%B3%D8" class="keyword">寺田 学</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%E6%C6%B1%CB%BC%D2">翔泳社</a></li></ul><a href="https://www.amazon.co.jp/dp/4798155659?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>そして<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の全体像を俯瞰するという意味では、そのはむかずさん監修のこちらの一冊が良いでしょう。「図解」である点が素晴らしいといつもながら思います。<br /> <br /> <br /> </p> </div> </div> <div class="section"> <h3 id="中級向け8冊">中級向け8冊</h3> <p><br /> 中級向けも今回は微妙に変動があります。<br /> <br /> </p> <div class="section"> <h4 id="統計学-1"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a></h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4753601234?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41kxwTgmj0L._SL500_.jpg" class="hatena-asin-detail-image" alt="Rで学ぶ確率統計学一変量統計編" title="Rで学ぶ確率統計学一変量統計編"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4753601234?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">Rで学ぶ確率統計学一変量統計編</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%C0%B5%C7%EE%2C%20%BF%C0%B1%CA" class="keyword">正博, 神永</a>,<a href="http://d.hatena.ne.jp/keyword/%CA%D9%2C%20%CC%DA%B2%BC" class="keyword">勉, 木下</a></li><li>内田老鶴圃</li></ul><a href="https://www.amazon.co.jp/dp/4753601234?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4753601242?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41OlbhxgBNL._SL500_.jpg" class="hatena-asin-detail-image" alt="Rで学ぶ確率統計学 多変量統計編" title="Rで学ぶ確率統計学 多変量統計編"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4753601242?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">Rで学ぶ確率統計学 多変量統計編</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%C0%B5%C7%EE%2C%20%BF%C0%B1%CA" class="keyword">正博, 神永</a>,<a href="http://d.hatena.ne.jp/keyword/%CA%D9%2C%20%CC%DA%B2%BC" class="keyword">勉, 木下</a></li><li>内田老鶴圃</li></ul><a href="https://www.amazon.co.jp/dp/4753601242?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>すっかりお馴染みになった、神永先生の手による「新・赤本&<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C0%C4%CB%DC">青本</a>』です。「<b>実務家向けであることを考慮すると</b>数理<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>的な基礎知識を重視した<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%C2%E7%BD%D0%C8%C7%B2%F1">東大出版会</a>3冊よりもこちらの2冊の方がRコードによる実践も添えられていて分かりやすい」ことから、今回も筆頭に挙げています。もう3年連続で書いていますが、赤・青と続いて是非「緑」(社会科学データ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>)も期待したいと思います<a href="#f-96d41a43" name="fn-96d41a43" title="永遠に著者の方々にプレッシャーをかけていくスタイル">*2</a>。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4065165369?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51hPe3a0cjL._SL500_.jpg" class="hatena-asin-detail-image" alt="実践Data Scienceシリーズ RとStanではじめる ベイズ統計モデリングによるデータ分析入門 (KS情報科学専門書)" title="実践Data Scienceシリーズ RとStanではじめる ベイズ統計モデリングによるデータ分析入門 (KS情報科学専門書)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4065165369?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">実践Data Scienceシリーズ RとStanではじめる ベイズ統計モデリングによるデータ分析入門 (KS情報科学専門書)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%C7%CF%BE%EC%20%BF%BF%BA%C8" class="keyword">馬場 真哉</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li></ul><a href="https://www.amazon.co.jp/dp/4065165369?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>そして<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>及び統計<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>の基礎については、もはや定番となった馬場さんのこちらの一冊を。<a href="https://tjo.hatenablog.com/entry/2019/08/13/190000">&#x4EE5;&#x524D;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;&#x3067;&#x5927;&#x7D76;&#x8CDB;&#x3057;&#x305F;</a>通りですが、RとStanを駆使してGLM, GLMM, 階層<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>そして状態空間モデルと、古典的な統計<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>からモダンな<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>までを分かりやすく、豊富な例題と共に実践的に学ぶことが出来ます。現職で僕がリードするサブチームでも若手向けのテキストとしてこちらを指定させていただいております。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4254128827?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41HvqG4u8rL._SL500_.jpg" class="hatena-asin-detail-image" alt="新版 統計学のセンス ―デザインする視点・データを見る目― (医学統計学シリーズ1)" title="新版 統計学のセンス ―デザインする視点・データを見る目― (医学統計学シリーズ1)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4254128827?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">新版 統計学のセンス ―デザインする視点・データを見る目― (医学統計学シリーズ1)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%C3%B0%B8%E5%20%20%BD%D3%CF%BA" class="keyword">丹後 俊郎</a></li><li>朝倉書店</li></ul><a href="https://www.amazon.co.jp/dp/4254128827?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>のトリを飾るのは、これまたすっかりお馴染みになった『新版 <a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>のセンス』です。<a href="https://tjo.hatenablog.com/entry/2018/12/12/190000">&#x4EE5;&#x524D;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;&#x3067;&#x3082;&#x6FC0;&#x8CDE;&#x3057;&#x305F;</a>通り、信頼<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>など頻度論<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>のやや難解なところも言葉を濁さずきちんと解説し、統計的因果推論や実験計画法や果ては非劣性検定についてもページを割いており、極めて貴重な一冊です。あえて言えば多少医療統計の色が強いのが難点かも。<br /> <br /> </p> </div> <div class="section"> <h4 id="機械学習-1"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a></h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4627849710?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51YFB3Y0EYL._SL500_.jpg" class="hatena-asin-detail-image" alt="はじめてのパターン認識" title="はじめてのパターン認識"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4627849710?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">はじめてのパターン認識</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%CA%BF%B0%E6%20%CD%AD%BB%B0" class="keyword">平井 有三</a></li><li>森北出版</li></ul><a href="https://www.amazon.co.jp/dp/4627849710?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>そろそろ内容の陳腐化が見えてきている間もありますが、バランス良く幅広く<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の基礎が収録されていて「独習に」最適という点でやはり外せないのがこちらの「はじパタ」。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>の識別規則や性能評価といった基礎事項から、線形分類器、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AB%A1%BC%A5%CD%A5%EB%CB%A1">カーネル法</a>、行列分解、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF%A5%EA%A5%F3%A5%B0">クラスタリング</a>、アンサンブル学習と主要なトピックを簡潔かつ分かりやすくまとめています。これを読んで<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の全体像を掴んでから、各トピックに特化したテキストを求めてそこでコーディング実装と合わせて深掘りしていく、というのが本書の正しい使い方かなと思います。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/432012362X?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51PeHM97m5L._SL500_.jpg" class="hatena-asin-detail-image" alt="統計的学習の基礎 ―データマイニング・推論・予測―" title="統計的学習の基礎 ―データマイニング・推論・予測―"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/432012362X?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">統計的学習の基礎 ―データマイニング・推論・予測―</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/Trevor%20Hastie" class="keyword">Trevor Hastie</a>,<a href="http://d.hatena.ne.jp/keyword/Robert%20Tibshirani" class="keyword">Robert Tibshirani</a>,<a href="http://d.hatena.ne.jp/keyword/Jerome%20Friedman" class="keyword">Jerome Friedman</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%A6%CE%A9%BD%D0%C8%C7">共立出版</a></li></ul><a href="https://www.amazon.co.jp/dp/432012362X?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>毎度お馴染み「カステラ本」です。現代的なNNに関する記述は物足りないですが、それ以外のほぼ全ての<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野の話題がカバーされているので辞書として使う上では今でも最適の鈍器です。英語版PDFならweb上で無料で読めます。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4065133327?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41Gpn0CggQL._SL500_.jpg" class="hatena-asin-detail-image" alt="深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ)" title="深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4065133327?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%B2%AC%C3%AB%20%B5%AE%C7%B7" class="keyword">岡谷 貴之</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li></ul><a href="https://www.amazon.co.jp/dp/4065133327?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>お馴染み<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/MLP">MLP</a>シリーズ『深層学習』改訂第2版です。基本的なNNの構造、勾配法とそれにまつわる性能評価、そしてCNN, LSTM含むRNNファミリー、Seq2Seq, attention, transformer, GNN, adversarial examples, LIME / SHAPなどの説明可能性(解釈性)関連手法、<a class="keyword" href="http://d.hatena.ne.jp/keyword/NAS">NAS</a>, data augmentation, one-shot learning, VAE, GANといった近年の研究成果と実装された手法たちが網羅的に取り上げられています。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4873119472?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/412g-5c6IES._SL500_.jpg" class="hatena-asin-detail-image" alt="仕事ではじめる機械学習 第2版" title="仕事ではじめる機械学習 第2版"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4873119472?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">仕事ではじめる機械学習 第2版</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%CD%AD%B2%EC%20%B9%AF%B8%B2" class="keyword">有賀 康顕</a>,<a href="http://d.hatena.ne.jp/keyword/%C3%E6%BB%B3%20%BF%B4%C2%C0" class="keyword">中山 心太</a>,<a href="http://d.hatena.ne.jp/keyword/%C0%BE%CE%D3%20%B9%A7" class="keyword">西林 孝</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AA%A5%E9%A5%A4%A5%EA%A1%BC%A5%B8%A5%E3%A5%D1%A5%F3">オライリージャパン</a></li></ul><a href="https://www.amazon.co.jp/dp/4873119472?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>そして<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>のトリはこちら。「実務家として」<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>を学ぶ上では重要な、ML <a class="keyword" href="http://d.hatena.ne.jp/keyword/Ops">Ops</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>のモデル検証、さらにバンディット<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>やオンライン広告配信の最適化といった様々な「実践的」な<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>のトピックスを俯瞰できる良書です。ただ、最近ML <a class="keyword" href="http://d.hatena.ne.jp/keyword/Ops">Ops</a>に関しては良い本が沢山出ているので、いずれはそれらの新刊書に置き換えられるかもしれません。<br /> <br /> <br /> </p> </div> </div> <div class="section"> <h3 id="テーマ別15冊">テーマ別15冊</h3> <p><br /> 初級・中級に新刊書が加わった影響で、今回のリストから削除された書籍もあるのでご注意を。<br /> <br /> </p> <div class="section"> <h4 id="回帰モデル">回帰モデル</h4> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4254122462?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41vqA3bF23L._SL500_.jpg" class="hatena-asin-detail-image" alt="回帰分析(新装版) (統計ライブラリー)" title="回帰分析(新装版) (統計ライブラリー)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4254122462?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">回帰分析(新装版) (統計ライブラリー)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%CE%B4%B8%F7%2C%20%BA%B4%CF%C2" class="keyword">隆光, 佐和</a></li><li>朝倉書店</li></ul><a href="https://www.amazon.co.jp/dp/4254122462?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p><a href="https://tjo.hatenablog.com/entry/2021/07/13/180000">&#x4EE5;&#x524D;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;&#x3067;&#x300C;&#x6E29;&#x6545;&#x77E5;&#x65B0;&#x300D;&#x3068;&#x79F0;&#x3057;&#x3066;&#x5927;&#x7D76;&#x8CDB;&#x3057;&#x305F;</a>のが佐和本ことこちらの一冊です。1979年初版と極めて古い<a href="#f-9df9c37b" name="fn-9df9c37b" title="僕が2歳の時ですね……">*3</a>書籍ですが、現代における様々な回帰モデルのバリエーションにも通じる普遍的な事項の丁寧な解説に満ち溢れており、特に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>モデルなど回帰モデルによる「説明(解釈)」を扱う人にとってはバイブルに等しい一冊になるかと思います。絶版なのか度々売り切れになることが多く、朝倉書店さんには是非電子版の刊行もお願いしたいところです。<br /> <br /> </p> </div> <div class="section"> <h4 id="PRML"><a class="keyword" href="http://d.hatena.ne.jp/keyword/PRML">PRML</a></h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4621061224?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41O0QFyTHJL._SL500_.jpg" class="hatena-asin-detail-image" alt="パターン認識と機械学習 上" title="パターン認識と機械学習 上"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4621061224?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">パターン認識と機械学習 上</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/C.M.%20%A5%D3%A5%B7%A5%E7%A5%C3%A5%D7" class="keyword">C.M. ビショップ</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%DD%C1%B1%BD%D0%C8%C7">丸善出版</a></li></ul><a href="https://www.amazon.co.jp/dp/4621061224?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4621061240?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/418MuoJetFL._SL500_.jpg" class="hatena-asin-detail-image" alt="パターン認識と機械学習 下 (ベイズ理論による統計的予測)" title="パターン認識と機械学習 下 (ベイズ理論による統計的予測)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4621061240?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">パターン認識と機械学習 下 (ベイズ理論による統計的予測)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/C.M.%20%A5%D3%A5%B7%A5%E7%A5%C3%A5%D7" class="keyword">C.M. ビショップ</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%DD%C1%B1%BD%D0%C8%C7">丸善出版</a></li></ul><a href="https://www.amazon.co.jp/dp/4621061240?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>かつて「黄色い本」として人気を誇った<a class="keyword" href="http://d.hatena.ne.jp/keyword/PRML">PRML</a>上下巻ですが、今年も入れておきました。理由は同様で、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AC%A5%A6%A5%B9">ガウス</a>過程回帰といった「<a class="keyword" href="http://d.hatena.ne.jp/keyword/PRML">PRML</a>なら他のテーマと共に包括的に学べる」テーマが近年流行っている一方、特に系列データ分析などは今でも<a class="keyword" href="http://d.hatena.ne.jp/keyword/PRML">PRML</a>以外に思ったほど良書がないためです。ただし、テーマを選んで<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/MLP">MLP</a>シリーズの当該巻を買った方が良いという考え方もあり、今後もリストインさせ続けるかどうかは再考の余地があるかも。<br /> <br /> </p> </div> <div class="section"> <h4 id="機械学習の実践"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の実践</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4297108437?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41zp6hN7f+L._SL500_.jpg" class="hatena-asin-detail-image" alt="Kaggleで勝つデータ分析の技術" title="Kaggleで勝つデータ分析の技術"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4297108437?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">Kaggleで勝つデータ分析の技術</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%CC%E7%CF%C6%20%C2%E7%CA%E5" class="keyword">門脇 大輔</a>,<a href="http://d.hatena.ne.jp/keyword/%BA%E5%C5%C4%20%CE%B4%BB%CA" class="keyword">阪田 隆司</a>,<a href="http://d.hatena.ne.jp/keyword/%CA%DD%BA%E4%20%B7%CB%CD%A4" class="keyword">保坂 桂佑</a>,<a href="http://d.hatena.ne.jp/keyword/%CA%BF%BE%BE%20%CD%BA%BB%CA" class="keyword">平松 雄司</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/4297108437?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>毎度お馴染み「Kaggleで勝つ」本です。評価指標の置き方・特徴量の扱い方・モデル評価と交差検証の方法・モデルのチューニング・モデルの組み合わせ方・leakageのような落とし穴、などなどKaggleで勝つという目標だけに閉じず、個人的には<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>そのものの理論や実装以上に重要と思われる「MLデザイン」の考え方が網羅されており、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の実務家であれば必携の書と言って良いでしょう。<br /> <br /> </p> </div> <div class="section"> <h4 id="Deep-Learning--NN"><a class="keyword" href="http://d.hatena.ne.jp/keyword/Deep%20Learning">Deep Learning</a> / NN</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4873119286?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41Y2uZwdXtL._SL500_.jpg" class="hatena-asin-detail-image" alt="scikit-learn、Keras、TensorFlowによる実践機械学習 第2版" title="scikit-learn、Keras、TensorFlowによる実践機械学習 第2版"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4873119286?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">scikit-learn、Keras、TensorFlowによる実践機械学習 第2版</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/Aur%8F%AB%B1lien%20G%8F%AB%B1ron" class="keyword">Aurélien Géron</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AA%A5%E9%A5%A4%A5%EA%A1%BC%A1%A6%A5%B8%A5%E3%A5%D1%A5%F3">オライリー・ジャパン</a></li></ul><a href="https://www.amazon.co.jp/dp/4873119286?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>以前の推薦書籍リスト記事でも紹介したsklearn + TensorFlow本の第2版です。相変わらずこの第2版は未読なのですが<a href="#f-1d741e4d" name="fn-1d741e4d" title="さっさと読めよ、というツッコミは既に沢山頂いているのでご容赦ください">*4</a>、初版本はうちのチームの若手向け<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>ト<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EC%A1%BC%A5%CB%A5%F3">レーニン</a>グでも使っていて好評でした<a href="#f-59dc0edf" name="fn-59dc0edf" title="ちなみに昨年のコースでは皆さん第2版を読んだようですが同様に好評でした">*5</a>。特にTF / Kerasの本という意味では非常に良い解説書で、著名なCNN / RNNモデルの生ネットワークの書き方なんかも紹介されていて便利だと思います。Attention, Transformer, GANや<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%AF%B2%BD%B3%D8%BD%AC">強化学習</a>など最近の話題もカバーしています。ただし、JAX系<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF">フレームワーク</a>やPyTorchが台頭してきている現在ではそろそろお役御免になるかもという気がしています。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4863542763?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51TG4zTck7L._SL500_.jpg" class="hatena-asin-detail-image" alt="図解速習DEEP LEARNING" title="図解速習DEEP LEARNING"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4863542763?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">図解速習DEEP LEARNING</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%C1%FD%C5%C4%20%C3%CE%BE%B4" class="keyword">増田 知彰</a></li><li>シーアンドアール研究所</li></ul><a href="https://www.amazon.co.jp/dp/4863542763?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>今年もこのカテゴリの2冊目はこちらです。Colaboratoryを駆使し、現代のDeep諸系統全盛期における代表的なネットワークの大半の組み方とその実践さらにはwebへのデプロイ<a href="#f-b483b6d0" name="fn-b483b6d0" title="TensorFlow.jsを使う">*6</a>をこれ一冊でカバーするという、極めて野心的かつ実践的な良書です。Colabでサクサク学びたいという人には特にお薦めです。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4065305136?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/61vUhgUGlDL._SL500_.jpg" class="hatena-asin-detail-image" alt="Kaggleに挑む深層学習プログラミングの極意 (KS情報科学専門書)" title="Kaggleに挑む深層学習プログラミングの極意 (KS情報科学専門書)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4065305136?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">Kaggleに挑む深層学習プログラミングの極意 (KS情報科学専門書)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%BE%AE%D6%BF%20%B9%CC%CA%BF" class="keyword">小嵜 耕平</a>,<a href="http://d.hatena.ne.jp/keyword/%BD%A9%CD%D5%20%C2%F3%BA%C8" class="keyword">秋葉 拓哉</a>,<a href="http://d.hatena.ne.jp/keyword/%CE%D3%20%B9%A7%B5%AA" class="keyword">林 孝紀</a>,<a href="http://d.hatena.ne.jp/keyword/%C0%D0%B8%B6%20%BE%CD%C2%C0%CF%BA" class="keyword">石原 祥太郎</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li></ul><a href="https://www.amazon.co.jp/dp/4065305136?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>そしてこちらの一冊はつい最近出版されたばかりですが、日本人Kaggle Grand Master / Masterの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%EF%A3%A1%B9%A4%BF%A4%EB">錚々たる</a>顔ぶれが執筆陣にズラリと並ぶ、まさに超豪華版です。主にNNが得意とする画像分類・画像検索・テキスト分類の3領域にテーマを絞って、いかにしてKaggle competitionレベルの競争の中で精度を上げていくかという点をこれでもかと追求した、極めて野心的な一冊です。一方でコード記述の大半を<a class="keyword" href="http://d.hatena.ne.jp/keyword/GitHub">GitHub</a>で公開し、実装環境は章ごとにDockerで構築してもらうことにすることで、冊子自体は非常にコンパクトにまとめられています。<br /> <br /> </p> </div> <div class="section"> <h4 id="統計的因果推論">統計的因果推論</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4297111179?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41UyPDseKsL._SL500_.jpg" class="hatena-asin-detail-image" alt="効果検証入門〜正しい比較のための因果推論/計量経済学の基礎" title="効果検証入門〜正しい比較のための因果推論/計量経済学の基礎"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4297111179?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">効果検証入門〜正しい比較のための因果推論/計量経済学の基礎</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%B0%C2%B0%E6%20%E6%C6%C2%C0" class="keyword">安井 翔太</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/4297111179?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>統計的因果推論については、2023年現在に至ってもなお前々職の後輩である安井君の手によるこちらの一冊が実務家向けでは決定版でしょう。<a href="https://tjo.hatenablog.com/entry/2020/01/24/190000">&#x904E;&#x53BB;&#x306B;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;&#x3067;&#x79F0;&#x8CDB;&#x3057;&#x305F;</a>通りで、「セレクションバイアスとRCT」「介入効果を測るための回帰分析」「傾向スコアを用いた分析」「差分の差分法(DID)とCausalImpact」「回帰不連続デザイン(<a class="keyword" href="http://d.hatena.ne.jp/keyword/RDD">RDD</a>)」という章立てで、段階を踏みながら<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%D7%CE%CC%B7%D0%BA%D1%B3%D8">計量経済学</a>的な理論面での背景も丁寧に解説しつつ、Rコードによる実践例も付して分かりやすく統計的因果推論について説いた良書です。ただし最近は良い他書も増えてきているので、そのうち入れ替わりになるかもしれません。<br /> <br /> </p> </div> <div class="section"> <h4 id="ベイズ統計学"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a></h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4254122675?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/31RjZneic7L._SL500_.jpg" class="hatena-asin-detail-image" alt="標準 ベイズ統計学" title="標準 ベイズ統計学"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4254122675?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">標準 ベイズ統計学</a></p><ul class="hatena-asin-detail-meta"><li>朝倉書店</li></ul><a href="https://www.amazon.co.jp/dp/4254122675?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>1冊目は<a href="https://tjo.hatenablog.com/entry/2022/11/21/170000">&#x4EE5;&#x524D;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;</a>でも大絶賛した『標準<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>』です。本邦では殆ど見られなかった「最初の基本のきから<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>的に考える」ことを重視したガチ正統派の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>テキストで、「信念」としての確率の扱い方、事前分布・尤度・事後分布の考え方、そしてギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a>・ヘイスティング<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>による<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>を用いた事後分布のサンプリングといった、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の根幹をなす諸事項をRコードを付して懇切丁寧に解説しています。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4065191831?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/31CtX5M4ovL._SL500_.jpg" class="hatena-asin-detail-image" alt="モンテカルロ統計計算 (データサイエンス入門シリーズ)" title="モンテカルロ統計計算 (データサイエンス入門シリーズ)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4065191831?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">モンテカルロ統計計算 (データサイエンス入門シリーズ)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%B3%F9%C3%AB%20%B8%A6%B8%E3" class="keyword">鎌谷 研吾</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%D6%C3%CC%BC%D2">講談社</a></li></ul><a href="https://www.amazon.co.jp/dp/4065191831?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>2冊目は『<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%F3%A5%C6%A5%AB%A5%EB%A5%ED">モンテカルロ</a>統計計算』です。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の理論面での考え方の入門と、その事後分布を求める手段である<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>サンプリングのRコードによるス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%C3%A5%C1">クラッチ</a>実装から成ります。普段RStanであまり深く考えずサラッと流してしまっている<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>そして<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>の裏側を、極めて分かりやすく解説しており、前掲の『標準<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>』に引き続いて読むに相応しい優れたテキストです。ただしRStanの話は全然出てこない<a href="#f-d63d7da7" name="fn-d63d7da7" title="勿論NumPyroの話題も出てこない">*7</a>ので、あくまでも「RStanで良く実装される手法の原理を学ぶための教科書」として読んだ方が良いです。<br /> <br /> </p> </div> <div class="section"> <h4 id="時系列分析">時系列分析</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4254127928?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41YxH76njsL._SL500_.jpg" class="hatena-asin-detail-image" alt="経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)" title="経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4254127928?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%CE%B5%B5%C1%2C%20%B2%AD%CB%DC" class="keyword">竜義, 沖本</a></li><li>朝倉書店</li></ul><a href="https://www.amazon.co.jp/dp/4254127928?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>鉄板の「沖本本」です。ひとまず理論的な部分についてはこれ一冊あれば十分でしょう。<a href="https://tjo.hatenablog.com/archive/category/%E6%99%82%E7%B3%BB%E5%88%97%E5%88%86%E6%9E%90">&#x3053;&#x306E;&#x30D6;&#x30ED;&#x30B0;&#x306E;&#x521D;&#x671F;&#x306B;&#x6642;&#x7CFB;&#x5217;&#x5206;&#x6790;&#x30AB;&#x30C6;&#x30B4;&#x30EA;&#x8A18;&#x4E8B;&#x7FA4;&#x3067;&#x6563;&#x3005;&#x53D6;&#x308A;&#x4E0A;&#x3052;&#x305F;</a>ので、ダイジェスト版としてはそちらを読まれても良いかもしれません。どうしても足りない<a href="#f-1c57eee9" name="fn-1c57eee9" title="例えばマルコフ転換モデルのEMはどうやっているのかが気になるとか">*8</a>という人はその師匠筋の<a href="https://www.amazon.co.jp/Time-Analysis-James-D-Hamilton/dp/0691042896">Hamilton&#x306E;&#x920D;&#x5668;</a>を読まれると良いかと思います。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4774196460?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/517UNNmUFtL._SL500_.jpg" class="hatena-asin-detail-image" alt="基礎からわかる時系列分析 ―Rで実践するカルマンフィルタ・MCMC・粒子フィルター (Data Science Library)" title="基礎からわかる時系列分析 ―Rで実践するカルマンフィルタ・MCMC・粒子フィルター (Data Science Library)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4774196460?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">基礎からわかる時系列分析 ―Rで実践するカルマンフィルタ・MCMC・粒子フィルター (Data Science Library)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%C7%EB%B8%B6%20%BD%DF%B0%EC%CF%BA" class="keyword">萩原 淳一郎</a>,<a href="http://d.hatena.ne.jp/keyword/%B1%BB%C0%B8%20%BF%BF%CC%E9" class="keyword">瓜生 真也</a>,<a href="http://d.hatena.ne.jp/keyword/%CB%D2%BB%B3%20%B9%AC%BB%CB" class="keyword">牧山 幸史</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/4774196460?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>そしてモダンな<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>を駆使した時系列分析に関しては、僕が把握している範囲のテキストとして萩原さんの本をお薦めしています。単に時系列分析や状態空間モデルというだけでなく、粒子フィルタまで含めた<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>時系列<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>全般の話題をス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%C3%A5%C1">クラッチ</a>からのRコーディングまで添えて解説しているので、網羅的で非常に読み応えがあります。勿論RStanによる標準的な<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>方法もカバーしていてお薦めです。なお馬場さんのいわゆる「隼本」は実は未読なのでリストから外れています……ごめんなさい。<br /> <br /> </p> </div> <div class="section"> <h4 id="グラフネットワーク分析">グラフ・ネットワーク分析</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4320113152?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41dU-bHzb+L._SL500_.jpg" class="hatena-asin-detail-image" alt="ネットワーク分析 第2版 (Rで学ぶデータサイエンス)" title="ネットワーク分析 第2版 (Rで学ぶデータサイエンス)"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4320113152?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">ネットワーク分析 第2版 (Rで学ぶデータサイエンス)</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%C5%D8%2C%20%CE%EB%CC%DA" class="keyword">努, 鈴木</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%A6%CE%A9%BD%D0%C8%C7">共立出版</a></li></ul><a href="https://www.amazon.co.jp/dp/4320113152?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>グラフ・ネットワーク分析に関しては、現在もなお<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CE%EB%CC%DA%C0%E8%C0%B8">鈴木先生</a>のこちらの一冊が鉄板にして唯一の決定版でしょう<a href="#f-a5b339b9" name="fn-a5b339b9" title="グラフ理論そのものの書籍は沢山あるが肝心の分析方法について解説した本は依然として新たに出てこない">*9</a>。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B0%A5%E9%A5%D5%CD%FD%CF%C0">グラフ理論</a>の基礎から中心性やコミュニティ検出といった有用な手法の実践例が付されて解説されており、特にソーシャルデータを扱う人は必ず脇に置いておくべき一冊です。ただし、こちらも近年のグラフ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%E9%A5%EB%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF">ニューラルネットワーク</a>(GNN)の進歩で更新を迫られるかもしれません。<br /> <br /> </p> </div> <div class="section"> <h4 id="データ基盤">データ基盤</h4> <p><br /> <div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4297124459?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51NldrHqGJL._SL500_.jpg" class="hatena-asin-detail-image" alt="実践的データ基盤への処方箋〜 ビジネス価値創出のためのデータ・システム・ヒトのノウハウ" title="実践的データ基盤への処方箋〜 ビジネス価値創出のためのデータ・システム・ヒトのノウハウ"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4297124459?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">実践的データ基盤への処方箋〜 ビジネス価値創出のためのデータ・システム・ヒトのノウハウ</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%A4%E6%A4%BA%A4%BF%A4%BD" class="keyword">ゆずたそ</a>,<a href="http://d.hatena.ne.jp/keyword/%C5%CF%C9%F4%20%C5%B0%C2%C0%CF%BA" class="keyword">渡部 徹太郎</a>,<a href="http://d.hatena.ne.jp/keyword/%B0%CB%C6%A3%20%C5%B0%CF%BA" class="keyword">伊藤 徹郎</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a></li></ul><a href="https://www.amazon.co.jp/dp/4297124459?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>実は結構前に刊行されているんですが、最近になって読んでみて良かったと思ったのがこちらです。文字通り「データ基盤の作り方」を一から懇切丁寧に説く、まさに処方箋的な一冊です。特に「ファーストペンギンとしてデータ基盤の整備から手掛けなければならないがどこから手をつけたら良いか分からない」という人には一押しです。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4839961263?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/51dFJh3FKiL._SL500_.jpg" class="hatena-asin-detail-image" alt="ビッグデータ分析・活用のためのSQLレシピ" title="ビッグデータ分析・活用のためのSQLレシピ"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4839961263?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">ビッグデータ分析・活用のためのSQLレシピ</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%B2%C3%D6%BF%20%C4%B9%CC%E7" class="keyword">加嵜 長門</a>,<a href="http://d.hatena.ne.jp/keyword/%C5%C4%B5%DC%20%C4%BE%BF%CD" class="keyword">田宮 直人</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%A4%A5%CA%A5%D3%BD%D0%C8%C7">マイナビ出版</a></li></ul><a href="https://www.amazon.co.jp/dp/4839961263?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>そろそろアップデートが必要かなと思わなくもないのですが、純粋なデータ分析目的の<a class="keyword" href="http://d.hatena.ne.jp/keyword/SQL">SQL</a>コーディングについてはやはり畏友・田宮さんも共著に加わったこの一冊を依然として推したいところです。<a href="https://tjo.hatenablog.com/entry/2017/04/12/233208">&#x904E;&#x53BB;&#x306E;&#x66F8;&#x8A55;&#x8A18;&#x4E8B;&#x3067;&#x6FC0;&#x8CDE;&#x3057;&#x305F;</a>通りで、文字通り「データ分析のための<a class="keyword" href="http://d.hatena.ne.jp/keyword/SQL">SQL</a>黒魔術大全」と言って良いでしょう。<br /> <br /> <br /> </p> </div> </div> <div class="section"> <h3 id="コメントや補足説明など">コメントや補足説明など</h3> <p><br /> 毎回の言い訳ですが、今回も<b>上級向け書籍は特に選んでおりません</b>。僕自身が上級者でも何でもない半端者なので、上級向け書籍をお望みの方はもっと然るべき学識経験者の方にお尋ね下さい(笑)。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4780608600?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/41UAJR0zlvL._SL500_.jpg" class="hatena-asin-detail-image" alt="新装改訂版 現代数理統計学" title="新装改訂版 現代数理統計学"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4780608600?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">新装改訂版 現代数理統計学</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/%BE%B4%C4%CC%2C%20%C3%DD%C2%BC" class="keyword">彰通, 竹村</a></li><li>学術図書出版社</li></ul><a href="https://www.amazon.co.jp/dp/4780608600?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>数理<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>周りについては、前回も書いたように個人的には<a href="https://tjo.hatenablog.com/entry/2021/07/16/190000">&#x3068;&#x3042;&#x308B;&#x3064;&#x3044;&#x3067;&#x304C;&#x3042;&#x3063;&#x3066;</a>入手した竹村本こと『現代数理<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>』を持っているのでこれを推したいところですが、裏を返すと未読の他書が多くて選べる状況にないことと、そもそもビジネス実務で数理<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>周りの事項を調べる必要性があまり出てこないこともあって、特にリストアップしておりません。悪しからずご了承ください。</p><br /> <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4320018672?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/31YXe9CJKnL._SL500_.jpg" class="hatena-asin-detail-image" alt="一般化線形モデル入門 原著第2版" title="一般化線形モデル入門 原著第2版"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4320018672?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">一般化線形モデル入門 原著第2版</a></p><ul class="hatena-asin-detail-meta"><li><span class="hatena-asin-detail-label">作者:</span><a href="http://d.hatena.ne.jp/keyword/Annette%20J.Dobson" class="keyword">Annette J.Dobson</a></li><li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%A6%CE%A9%BD%D0%C8%C7">共立出版</a></li></ul><a href="https://www.amazon.co.jp/dp/4320018672?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>ちなみに佐和本を入れるならDobson本も入れる(復活させる)べきではないかと言われそうな気がするんですが、これは佐和本があればとりあえず要らないかなぁと思って今回も入れませんでした。ただ、非常に良い本なので特にGLMそのものについて詳細に解説したテキストが必要な際は是非お読み下さればと思います。</p><br /> <p>最後に。去年も同じことを書きましたが、今回の推薦書籍リストも(狭義の)データサイエンティスト、即ち「アナリストの延長としてのデータサイエンティスト」を主たるターゲットとしています。言い換えると、このリストは(狭義の)<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア向けではない、ということです。あくまでも「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>を主とするデータ分析分野全体を薄くても良いので広くカバーする、そして出来るだけ冊数は少なく抑える」ことを目的とした書籍リストですので、より突っ込んだ知識が必要になった際は改めて皆さん自身で深掘りしていただきたいです。幸い、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%B7%B7%BF%A5%B3%A5%ED%A5%CA%A5%A6%A5%A4%A5%EB%A5%B9">新型コロナウイルス</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A5%F3%A5%C7%A5%DF%A5%C3%A5%AF">パンデミック</a>も若干落ち着いてきたことで、僕も新刊書に触れる機会が増えてきましたので、今後も可能な範囲でup to dateなリストに更新できるように調査・読破していこうと思います。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="完全なる余談">完全なる余談</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230204/20230204162020.png" width="768" height="768" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ところで、こういうご時世なのでいつも通り「図書館の中の光景」的なトップ画像が欲しかったので試しにStable Diffusion 2.1に色々描かせてみたんですが、どれほど試しても<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C3%F8%BA%EE%B8%A2">著作権</a>フリーのちゃんとした写真に遠く及ばない出来の代物ばかりだったので、諦めました。やっぱり綺麗な完成品だけが欲しいという用途には向かないんですかねぇ……。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-3b519d2d" name="f-3b519d2d" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">ただし頻度論に限る</span></p> <p class="footnote"><a href="#fn-96d41a43" name="f-96d41a43" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">永遠に著者の方々にプレッシャーをかけていくスタイル</span></p> <p class="footnote"><a href="#fn-9df9c37b" name="f-9df9c37b" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">僕が2歳の時ですね……</span></p> <p class="footnote"><a href="#fn-1d741e4d" name="f-1d741e4d" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">さっさと読めよ、というツッコミは既に沢山頂いているのでご容赦ください</span></p> <p class="footnote"><a href="#fn-59dc0edf" name="f-59dc0edf" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text">ちなみに昨年のコースでは皆さん第2版を読んだようですが同様に好評でした</span></p> <p class="footnote"><a href="#fn-b483b6d0" name="f-b483b6d0" class="footnote-number">*6</a><span class="footnote-delimiter">:</span><span class="footnote-text">TensorFlow.jsを使う</span></p> <p class="footnote"><a href="#fn-d63d7da7" name="f-d63d7da7" class="footnote-number">*7</a><span class="footnote-delimiter">:</span><span class="footnote-text">勿論NumPyroの話題も出てこない</span></p> <p class="footnote"><a href="#fn-1c57eee9" name="f-1c57eee9" class="footnote-number">*8</a><span class="footnote-delimiter">:</span><span class="footnote-text">例えばマルコフ転換モデルのEMはどうやっているのかが気になるとか</span></p> <p class="footnote"><a href="#fn-a5b339b9" name="f-a5b339b9" class="footnote-number">*9</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B0%A5%E9%A5%D5%CD%FD%CF%C0">グラフ理論</a>そのものの書籍は沢山あるが肝心の分析方法について解説した本は依然として新たに出てこない</span></p> </div> TJO K-meansのクラスタ数を決めるのにエルボー法を使うのはやめよう、という論文 hatenablog://entry/4207112889948626832 2023-01-27T17:46:40+09:00 2023-01-27T17:46:40+09:00 クラスタリングに用いられるK-meansのクラスタ数決定方法については長く議論されてきた歴史があり、このブログでも以前ちょろっと取り上げたことがあります。で、Twitterを眺めていたらタイムラインに面白い論文が流れてきました。それがこちらです。タイトルを読んで字の如く「K-meansのクラスタ数を決めるのにエルボー法を使うのはやめろ」という論文なんですね。全体で7ページと非常にコンパクトで読みやすい内容なので、簡単にまとめて紹介してみようと思います。なおいつもながらですが、僕の技術的理解が不足しているが故の誤りなどが混じる可能性がありますので、その際はコメント欄などでご指摘くださると幸いです… <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF%A5%EA%A5%F3%A5%B0">クラスタリング</a>に用いられるK-meansの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>数決定方法については長く議論されてきた歴史があり、このブログでも以前ちょろっと取り上げたことがあります。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2021%2F04%2F20%2F173000" title="RでK-meansの最適なクラスタ数をAIC / BICに基づいて求める - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>で、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a>を眺めていたらタイムラインに面白い論文が流れてきました。それがこちらです。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Farxiv.org%2Fabs%2F2212.12189" title="Stop using the elbow criterion for k-means and how to choose the number of clusters instead" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>タイトルを読んで字の如く「K-meansの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>数を決めるのにエルボー法を使うのはやめろ」という論文なんですね。全体で7ページと非常にコンパクトで読みやすい内容なので、簡単にまとめて紹介してみようと思います。なおいつもながらですが、僕の技術的理解が不足しているが故の誤りなどが混じる可能性がありますので、その際はコメント欄などでご指摘くださると幸いです。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#あるtoy-dataに対するK-meansの結果">あるtoy dataに対するK-meansの結果</a></li> <li><a href="#目検に頼らないエルボー法について考える">目検に頼らないエルボー法について考える</a></li> <li><a href="#ならば既存のクラスタ数決定法の中では何を選ぶべきか">ならば、既存のクラスタ数決定法の中では何を選ぶべきか</a></li> <li><a href="#そもそもK-meansが有効でないケースもあることを留意すべき">そもそもK-meansが有効でないケースもあることを留意すべき</a></li> <li><a href="#感想など">感想など</a></li> </ul> <div class="section"> <h3 id="あるtoy-dataに対するK-meansの結果">あるtoy dataに対するK-meansの結果</h3> <p><br /> この論文の言いたいことのほぼ全てがFigure 1に込められています。要は「どう見ても真の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>数が見た目にすぐ分かる」toy dataを幾つか用意して、それに対する<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>数をエルボー法で決めようとしたらどうなるかという様子を可視化したものです。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230120/20230120152338.png" width="1200" height="462" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>もう見たまんまですね(笑)。明確に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>の分離が可能な(a: k = 3)ではエルボー法でもk = 3と妥当な結果になっていますが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>間で重なりのある(b: k = 3)になると既に怪しくなってきて、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>が多数ある(c: k = 25)ではもうダメな感じがあり、単なるノイズの(d, e: k = 1)ではもはや意味をなしません。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230127/20230127162730.png" width="728" height="1200" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>この5つのtoy datasetsに対してエルボー法含む様々な<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>数決定法を当てはめた際に得られる<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>数を一覧にしたのがTable 1です。色々並んでいますが、以前ブログ記事でも紹介した<a class="keyword" href="http://d.hatena.ne.jp/keyword/BIC">BIC</a> (fixed)が最も正解に近いパフォーマンスを示していることが分かります。いずれにせよ、「『肘』の位置を目検で見出す」エルボー法にはあまり信頼性がないようだ、ということをこの論文は主張しているというわけです。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="目検に頼らないエルボー法について考える">目検に頼らないエルボー法について考える</h3> <p><br /> では、エルボー法はそれほどまでにもダメなのか?という点について、3.3節では「目検はやめてきちんと<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>内分散<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20SSE" alt=" SSE"/>を適切に扱うべきだ」という話をしていて、その中で<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20%5Csqrt%7BSSE%20%2F%20%28n%20-%20k%29%7D" alt=" \sqrt{SSE / (n - k)}"/>を使うというア<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%C7%A5%A2">イデア</a>が出てきます。これは「直感的には最近傍<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>中心からの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a>として捉えられるはず」ということで、その<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>数kの時の推定値</p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%20%5Cdisplaystyle%20%5Chat%7BSSE%7D_k%20~%20%3A%3D%20~%20%5Cfrac%7BN%20-%20k%7D%7Bk%7D%20~%20%5Cmin_%7Bj%20%3D%201%2C%20%5Ccdots%2C%20k%20-%201%7D%20~%20%5Cfrac%7Bj%7D%7BN%20-%20j%7D%20~%20SSE_j" alt=" \displaystyle \hat{SSE}_k ~ := ~ \frac{N - k}{k} ~ \min_{j = 1, \cdots, k - 1} ~ \frac{j}{N - j} ~ SSE_j"/></p><p>を算出して、上記の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>内分散の補正値との比を取ります。即ち</p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%20%5Cdisplaystyle%20%5Cfrac%7B%5Csqrt%7BSSE%20%2F%20%28N%20-%20k%29%7D%7D%7B%5Csqrt%7B%5Chat%7BSSE%7D%20%2F%20%28N%20-%20k%29%7D%7D%20~%20%3D%20~%20%5Csqrt%7B%5Cfrac%7BSSE%7D%7B%5Chat%7BSSE%7D%7D%7D" alt=" \displaystyle \frac{\sqrt{SSE / (N - k)}}{\sqrt{\hat{SSE} / (N - k)}} ~ = ~ \sqrt{\frac{SSE}{\hat{SSE}}}"/></p><p>として、これが1(等しい)の前後でどう振る舞うかを見れば良いと指摘しています。この値は必ず最後は1より大きくなる方向に発散していく(性質を考えれば明らか)ので、1のラインを最後に横切る直前のkの値が「ベストのk」になる、という理屈です。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230120/20230120152443.png" width="1200" height="635" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>Figure 2はその様子を(a: k = 25, b, c: k = 1)の3つのtoy datasetsに対して示したもので、(a)に対しては確かにk = 25という真値と同じ値を返していますし、一様乱数である(b)に対してはちょっと挙動が怪しいものの、正規乱数である(c)に対しては悪くない感じの挙動になっています。</p><br /> <p>で、Figure 2の(a)を見るとk = 8のところで上記の指標が最小値を取るということで、その詳細を見たのがFigure 3です。これはおまけみたいなものですが、K-meansという手法が多<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>データに対してどう振る舞うかが良く分かる実験結果となっています。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="ならば既存のクラスタ数決定法の中では何を選ぶべきか">ならば、既存の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>数決定法の中では何を選ぶべきか</h3> <p><br /> 本文中では<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>内分散に注目した手法、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>間距離に注目した手法、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BE%F0%CA%F3%CD%FD%CF%C0">情報理論</a>即ち情報量規準に即した手法(<a class="keyword" href="http://d.hatena.ne.jp/keyword/BIC">BIC</a>など)、乱数シミュレーションを活用した手法などについての言及がされていますが、Table 1を見る限りではどれも一長一短あるように見えます。</p><br /> <p>あえて言えば<a class="keyword" href="http://d.hatena.ne.jp/keyword/BIC">BIC</a> (fixed)が全てのtoy datasetsに対して真値を返しているので有望だと言えそうな気もしますが、冒頭にリンクした過去記事での検証結果だと常に真値を返すというわけでもないので、ここは多面的かつ総合的に検討してどれを使うか決めるべきという話なのでしょう(玉虫色の結論)。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="そもそもK-meansが有効でないケースもあることを留意すべき">そもそもK-meansが有効でないケースもあることを留意すべき</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20230120/20230120152512.png" width="1200" height="336" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>最後に、Figure 4ではそもそもK-meansが有効でないデー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>の例が紹介されています。これはもう見たまんまですが、言い方を変えると「K-meansでこれこれの結果になったのでこれを前提として〜」というような議論を進めようとするのは結構危ういということなのでしょう。本文中ではK-meansの結果に信頼性がないケースについてFigure 4の例に限らず言及されているので、引用先の文献も含めて精読されることをお薦めします。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="感想など">感想など</h3> <p><br /> これは完全に<a class="keyword" href="http://d.hatena.ne.jp/keyword/PRML">PRML</a>の受け売りですが、「2次元サンプルで成り立つことが高次元空間でも成り立つとは限らない」ということは良く言われるので、この論文の実験結果が(より一般的な)高次元空間でも成り立つかどうかについてはもう少し議論が必要なのかなと思いました。</p><br /> <p>また今回の論文中では言及がなかったんですが、例えば<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AB%A1%BC%A5%CD%A5%EB%CB%A1">カーネル法</a>と組み合わせるとか、t-SNEで前処理するみたいなのもあり得るのかなと思いました。特に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AB%A1%BC%A5%CD%A5%EB%CB%A1">カーネル法</a>を使えばFigure 4 (c)のnon-convex samplesに対しては効果的な気がします。が、いずれも「その前処理自体に恣意性があるのでは」と言われたらそこまでなので、結局データを丁寧に見ながらやるしかないってことですかね……。</p> </div> TJO 難局を乗り越えた先に見えるもの hatenablog://entry/4207112889944193146 2022-12-23T17:00:00+09:00 2023-05-17T16:26:01+09:00 (Stable Diffusion 2.1でこの記事のタイトルをプロンプトとして与えて生成した画像)時が経つのは早いもので、あっという間に今年2022年も恒例の年末振り返り記事の時期が来てしまいました。ということで、例年通り何のオチも学びも技術的内容もない記事ですが、この1年を振り返ってみようと思います。 <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20221220/20221220230059.png" width="768" height="768" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p><span style="font-size: 80%">(<a href="https://huggingface.co/spaces/stabilityai/stable-diffusion">Stable Diffusion 2.1</a>でこの記事のタイトルをプロンプトとして与えて生成した画像)</span></p><p>時が経つのは早いもので、あっという間に今年2022年も恒例の年末振り返り記事の時期が来てしまいました。ということで、例年通り何のオチも学びも技術的内容もない記事ですが、この1年を振り返ってみようと思います。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#相次ぐ世界規模の難局">相次ぐ世界規模の難局</a></li> <li><a href="#クリエイティブAIの飛躍的な進歩がもたらした混沌">クリエイティブAIの飛躍的な進歩がもたらした混沌</a></li> <li><a href="#個人的な話">個人的な話</a></li> <li><a href="#最後に">最後に</a></li> </ul> <div class="section"> <h3 id="相次ぐ世界規模の難局">相次ぐ世界規模の難局</h3> <p><br /> 一般的な時事問題を論じるのはこのブログの本題ではないのですが、それを差し置いても今年は世界規模の難局があまりにも多過ぎたように思います。オミクロン株主体に移行し現在も継続している<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BF%B7%B7%BF%A5%B3%A5%ED%A5%CA%A5%A6%A5%A4%A5%EB%A5%B9">新型コロナウイルス</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B4%B6%C0%F7%BE%C9">感染症</a>の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A5%F3%A5%C7%A5%DF%A5%C3%A5%AF">パンデミック</a>然り、2月に始まった<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A6%A5%AF%A5%E9%A5%A4%A5%CA">ウクライナ</a>戦争然り<a href="#f-c7212e47" name="fn-c7212e47" title="個人的には[asin:B0BNQ9C67N:title]が良い解説書かなと思いました">*1</a>、そしてその影響を受けて突然陥った世界規模の不況<a href="#f-0c27f461" name="fn-0c27f461" title="急激な円安→円高と、海外株価下落のダブルパンチ">*2</a>然り、とコロナが収まり切らないうちに大変なことが立て続けに起きているという印象は否めません。</p><br /> <p>市井の一市民としては、いずれの世界的難局も何とかして速やかに収束し、それらの難局に翻弄されている人々が一刻も早く元の穏やかな生活に戻れることを願ってやみません。そのためにデータ分析職として出来ることがもしかしたら何かしらあるのではないかと思いますが、現状では僕如き在野のデータサイエンティストの出番はないのかなという感想です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fjp.quora.com%2F%25E3%2581%25AA%25E3%2581%259C%25E6%2596%25B0%25E5%259E%258B%25E3%2582%25B3%25E3%2583%25AD%25E3%2583%258A%25E3%2581%25AE%25E6%2584%259F%25E6%259F%2593%25E6%258B%25A1%25E5%25A4%25A7%25E3%2582%2584%25E5%258F%258E%25E6%259D%259F%25E3%2581%25AB%25E3%2581%25A4%25E3%2581%2584%25E3%2581%25A6AI%25E3%2581%25A7%25E4%25BA%2588%25E6%25B8%25AC%25E3%2581%258C%2Fanswers%2F311156986" title="なぜ新型コロナの感染拡大や収束についてAIで予測が立てられないのですか?そろそろデータも集まっていると思いますが。" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>なお、一時期は「データサイエンスが新型コロナの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D1%A5%F3%A5%C7%A5%DF%A5%C3%A5%AF">パンデミック</a>を制御するのに役立つはず」と喧伝されたりもしましたが、以前Quora記事で指摘したようにそれは事実上幻想だと言って差し支えないかと思います。同じ理屈で、世界規模の様々な難局の解決にデータサイエンスがどのように役立てられるかについては、世界中で未だ模索が続いているという印象です。とは言え、個々の難局をミクロにブレイクダウンした先ではデータサイエンスが役立つ領域もある(そして実際に役立っている領域もある)ように見えますので、出来得るものならば僕もそういったところで貢献できたら良いなと願っています。</p><br /> <p>……と書くと「現在なら色々な貢献先<a href="#f-ab0d48c5" name="fn-ab0d48c5" title="昨今だと話題のデジタル庁とか">*3</a>があるじゃないか」とか言われそうですが、僕もサラリーマンなのでまずは今の所属先で出来ることをやっていくべきなのだろうと考えています。その意味ではコロナ禍初期に手掛けた取り組み<a href="#f-6969de36" name="fn-6969de36" title="[https://www.thinkwithgoogle.com/intl/ja-jp/marketing-strategies/search/covid-19-2/:title]">*4</a>の時と同じような姿勢で、social goodを目指して自らア<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A4%A5%C7%A5%A2">イデア</a>を出していく必要があるのかもしれません。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="クリエイティブAIの飛躍的な進歩がもたらした混沌">クリエイティブAIの飛躍的な進歩がもたらした混沌</h3> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20221221/20221221000458.png" width="768" height="768" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p><span style="font-size: 80%">(<a href="https://huggingface.co/spaces/stabilityai/stable-diffusion">Stable Diffusion 2.1</a>で「メガネをかけてジャケットと白いTシャツを着た日本人のデータサイエンティスト」というプロンプトを与えて生成した画像)</span></p><p>昨今のNN主体となった<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野の発展については僕個人がキャッチアップを諦めたこともあり、このブログで取り上げることも殆どなかったのですが、それでも<a href="https://ai-scholar.tech/articles/image-generation/DiffusionModels">diffusion model</a>の進歩については時折各所で見かけては凄いなと思っていました。その進歩の現段階における究極形の一つが、<a href="https://huggingface.co/spaces/stabilityai/stable-diffusion">Stable Diffusion</a>とその関連モデル群であることはもはや論を俟たないでしょう。</p><br /> <p>一方で、それらを総称して呼ばれるところの「画像生成AI(AI絵師・お絵描きAI)」たちがあまりにもハイクオリティな画像(もしくは「絵」)を生成するため、プロアマ問わず漫画家や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A4%A5%E9%A5%B9%A5%C8%A5%EC%A1%BC%A5%BF">イラストレータ</a>ーといった人々から「このままではAIに仕事を奪われる」という反発を受けるという事態が発生しています。さらに、画像生成AIの中には<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C3%F8%BA%EE%B8%A2">著作権</a>を侵害していると思しき画像を学習データに用いていると強く疑われるものもあり、批判を受けて公開を中止したAIもあれば他方でそのような批判もどこ吹く風とばかりに公開され続けるAIもあったりします。これらの問題は現在もなお流動的な状況にあり、注意深く見守り続ける必要がありそうです<a href="#f-d5e7c595" name="fn-d5e7c595" title="なお良いまとめがあります→[https://dentsu-ho.com/articles/8322:title]">*5</a>。</p><br /> <p>しかしながら、「これまでに存在しなかった(と思われる)イメージを手軽かつ大量に生成できる」ということで、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A4%A5%E9%A5%B9%A5%C8%A5%EC%A1%BC%A5%BF">イラストレータ</a>ーの人々の中には「新たなイラストのア<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A4%A5%C7%A5%A2">イデア</a>を得るために画像生成AIに試しにイメージを生成させてみる」とか、はたまたこの記事の冒頭の画像のように「とりあえず適当な挿絵が欲しい」だけのライターが画像生成AIを活用するとか、などという活用方法も生まれてきているようです。いずれにせよ、今後のこの分野の進歩からは目が離せないなと思う次第です。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20221220/20221220234710.png" width="1200" height="620" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p><span style="font-size: 80%">(<a href="https://openai.com/blog/chatgpt/">ChatGPT</a>でのやり取りの<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A1%BC%A5%F3%A5%B7%A5%E7%A5%C3%A5%C8">スクリーンショット</a>)</span></p><p>もう一つはほぼ毎年恒例となっている巨大<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>の進歩ですが、今年最も話題を呼んだのは何と言っても<a href="https://openai.com/blog/chatgpt/">ChatGPT</a>の登場でしょう。多言語に対応している上に、個々の言語における学習データの豊富さを活かしてそれぞれのお国事情に即した返事を返してくるという気の利きようが見事です。上記はChatGPTにデータサイエンスが過去10年に渡って社会に何をもたらしてきたかを問うた際の回答ですが、なかなかそつなく答えています。また日本語でも英語でも、学習データが不足していてきちんと答えられない質問に対してはその旨を明示して「答えられません」という趣旨の回答を返してくる辺りは、過去になかったタイプの優れた会話AIと言って良いかと思います。</p><br /> <p>特に、web上に「正解」があるタイプの質問に対してはほぼ完璧な答えを返してきます。直近で話題になったのが「tech companyのコーディング面接の問題を出すと事実上の正解を返してくる」というもので、実際に適当な<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>を挙げて「一番計算量の小さいコードを<a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> / Rで書け」と命じると本当にその通りの答えを出してきます<a href="#f-fbedb3f0" name="fn-fbedb3f0" title="良い解説があります→[https://medium.com/@sushrit.pk21/chatgpt-copilot-and-the-future-of-coding-interviews-a-technical-founders-perspective-8628c7102a9b:title]">*6</a>。これらの事態を受けて、昨今のコロナ禍の影響を受けて何かにつけてオンラインでの試験や面接が多くなっている世の中においては「ChatGPTによる替え玉受験も可能なのではないか」と危惧する議論も沸き起こっているようで、今後も物議を醸しそうです<a href="#f-f4399561" name="fn-f4399561" title="関連記事→[https://gigazine.net/news/20221206-chatgpt-banned-temporary/:title]">*7</a>。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20221220/20221220232833.png" width="1200" height="801" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ところが、これもちょっとプロンプトを変えると結構訳の分からない回答を返してきます。上記のスクショは社会現象にもなった今年の<a class="keyword" href="https://d.hatena.ne.jp/keyword/NHK">NHK</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%C2%E7%B2%CF%A5%C9%A5%E9%A5%DE">大河ドラマ</a><a href="https://www.nhk.or.jp/kamakura13/">&#x300C;&#x938C;&#x5009;&#x6BBF;&#x306E;13&#x4EBA;&#x300D;</a>の主人公・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CB%CC%BE%F2%B5%C1%BB%FE">北条義時</a>の死因を尋ねた時のChatGPTの回答ですが、<a href="https://ja.wikipedia.org/wiki/%E5%8C%97%E6%9D%A1%E7%BE%A9%E6%99%82">Wikipedia&#x8A18;&#x4E8B;&#x306E;&#x5185;&#x5BB9;</a>と比較すると義時が江戸時代の武将になっていたりあまつさえ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C6%C1%C0%EE%B2%C8%B9%AF">徳川家康</a>に暗殺されたという説があることにされていたり、お前どれだけ嘘歴史を創作しているんだという感じですね(笑)。現状では、ChatGPTは「学習データが不足していて尚且つ明示的に答えられない」問いにはきちんと答えられないと返す一方で、「学習データは不足しているが答えられないと明示できない」問いにはあり合わせのデータを組み合わせてそれっぽく流暢に答えてしまうようです。これだとどうしても<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C2%E7%B4%EE%CD%F8">大喜利</a>をやるぐらいしか用途がない局面もあるわけで、万能の会話AIが生まれるのは流石にもうしばらく先のことになりそうな気がします。</p><br /> <p>とは言え、画像生成AIの時と同様にChatGPTをより現実的な用途に活かそうという動きも出てきているようです。面白いなと思ったのが、多<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B8%C0%B8%EC%A5%E2%A5%C7%A5%EB">言語モデル</a>である点を活用して「ある日本語の文章を英語に直したいがより自然な英文にしたい」というようなリク<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A8%A5%B9">エス</a>トをChatGPTに出して、実際にネイティブが書きそうな文章を得るという使い方です。僕も試してみましたが、素朴に「日英翻訳しろ」でも通じますし、事前に叩き台となる英文を自分で書いてから「もっと自然に響くように書き換えろ」でも通じるので、確かに便利だと思いました。</p><br /> <p>その意味では、これら2つの例に共通して言えそうなのは「クリエイティブAIを『補助』として用いるとその価値を最大限発揮できる」ということであり、今後の方向性としてより「アシスタント」的な機能に特化したクリエイティブAIが増えてくるかもしれない、という印象を僕個人としては持っており、実際にそのような方向を目指したクリエイティブAIの開発事例は増えているようです。もしかしたら、それらについて本格的に<a href="#f-b82b656e" name="fn-b82b656e" title="技術的側面に限らない、の意">*8</a>論評するブログ記事を書くことになる日はそう遠くないのかもしれません。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="個人的な話">個人的な話</h3> <p><br /> 2022年という年は、僕個人にとっては文字通り災厄だらけでした。まずのっけから右脚の母趾外転筋肉離れ+足底筋膜炎に見舞われて趣味のテニスを1ヶ月ぐらい休む羽目になり、5月には<a href="https://tjo.hatenablog.com/entry/2022/05/16/150418">DVT&#x3068;&#x3044;&#x3046;&#x5384;&#x4ECB;&#x306A;&#x75C5;&#x6C17;&#x306B;&#x7F79;&#x60A3;&#x3059;&#x308B;</a>という不測の事態に陥った挙句、その翌日には<a href="https://apgmman.hatenablog.com/entry/2022/05/15/160000">&#x9032;&#x884C;&#x6027;&#x7A00;&#x5C11;&#x304C;&#x3093;&#x3067;&#x95D8;&#x75C5;&#x4E2D;&#x3060;&#x3063;&#x305F;&#x5B9F;&#x5BB6;&#x306E;&#x89AA;&#x7236;&#x304C;&#x4EA1;&#x304F;&#x306A;&#x308B;</a>という、まさに不幸の連続という憂き目に遭っていました。その後もDVTの急性期治療が3ヶ月ほど続いた<a href="#f-1c364a68" name="fn-1c364a68" title="その間テニスも出来なかった">*9</a>一方で親父の没後処理にも追い回され、だいぶ疲弊した感があります。なお、おまけとして11月には再開したテニスのオーバーワークがまずかったのか腰と右膝を痛め、さらには12月も下旬になってから謎<a href="#f-1ca6be43" name="fn-1ca6be43" title="エコーの結果肉離れではないという診断だが、何となく嫌〜な感触がする……">*10</a>の右下腿痛に襲われるなど、泣きっ面に蜂とはまさにこのことですね……3年遅れで厄年<a href="#f-538609cd" name="fn-538609cd" title="男の大厄は42歳">*11</a>が来たのではないか、というぐらい災難に見舞われ続けた1年でした<a href="#f-b3ebc7a9" name="fn-b3ebc7a9" title="追記:さらに12/23の夜になってから左下8番(親知らず)が斜めからの応力に負けて歯根破折を起こし、年の瀬の慌ただしい真っ只中に抜歯しました泣">*12</a>。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F06%2F01%2F083000" title="企業で働くデータサイエンティストになって10年が経ちました - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>という惨憺たる有様だったのですが、その一方で6月には無事にデータサイエンティストに転じて10周年の記念日を迎えることができました。2012年にこの仕事を始めた時は「いつまでこの仕事をやって食っていくのかなぁ」とぼんやり思っていたものですが、必死に学術技術の進歩をキャッチアップし続け、遮二無二降ってくるデータ分析の仕事を片付け続けているうちに、あっという間に10年が経ってしまったというのが実感です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F09%2F15%2F230310" title="Lightweight MMM:NumPyroで実装されたベイジアンMMMフレームワーク - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>仕事面では、9月の記事でお気付きになった方もおられるかもしれませんが最近はMedia Mix Model (MMM)を扱うことが増えてきています。それはやはり<a href="https://tjo.hatenablog.com/entry/2022/01/14/170000">&#x300C;&#x751F;&#x6D3B;&#x8005;&#x30BF;&#x30FC;&#x30B2;&#x30C6;&#x30A3;&#x30F3;&#x30B0;&#x304B;&#x3089;&#x30A8;&#x30B3;&#x30CE;&#x30E1;&#x30C8;&#x30EA;&#x30C3;&#x30AF;&#x30DE;&#x30FC;&#x30B1;&#x30C6;&#x30A3;&#x30F3;&#x30B0;&#x3078;&#x306E;&#x56DE;&#x5E30;&#x300D;</a>という年初に述べた展望の通りで、戦略レベルでの意思決定の材料となるようなデータ分析を求められることが増えてきたなという印象です。それに伴い、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>におけるML <a class="keyword" href="https://d.hatena.ne.jp/keyword/Ops">Ops</a>よろしく(アナリスト的な)データサイエンティストの分析業務におけるDS <a class="keyword" href="https://d.hatena.ne.jp/keyword/Ops">Ops</a>とも呼ぶべきdeploy processについても検討することが増えた気がします。もしかしたら、いつかそのうちそのDS <a class="keyword" href="https://d.hatena.ne.jp/keyword/Ops">Ops</a>の話題をこのブログでも扱うことがあるかもしれませんが、あまり期待せずに(笑)お待ちいただければと思います。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="最後に">最後に</h3> <p><br /> 完全に余談ですが、実はここ数年に渡って内心忸怩たる思いを抱いていたのが、このブログ自体の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C3%CE%CC%BE%C5%D9">知名度</a>の低下<a href="#f-a057e2a8" name="fn-a057e2a8" title="そしてそれに伴って感じられる反響の乏しさ">*13</a>でした。以前は<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A5%D6">はてブ</a>100超えは毎月ぐらいの勢いで連発していた時期もあったのですが、最近はなかなか<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A5%D6">はてブ</a>も<a class="keyword" href="https://d.hatena.ne.jp/keyword/SNS">SNS</a>シェア数も伸びない記事ばかりでした。特にこの3年ぐらいはSearch Consoleで見ていても「データサイエンティスト」の検索掲載順位が完全圏外(50位以下)ということが常態化していた期間が長く、黎明期からの老舗ブログとしてはだいぶ読まれなくなったなという感が強かったです。常々「ブログは個人的な備忘録」と公言してはいますが、とは言え誰からも全く読まれないというのもそれはそれで寂しいなと思っていました。</p><br /> <p>けれども、今年に入ってからは割と注目を集めた記事に恵まれ、久しぶりに<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A5%D6">はてブ</a>300超え記事が4つも出た<a href="#f-926546da" name="fn-926546da" title="Q4になってからは3つ連続で、さらに1つは600超、もう1つも400超">*14</a>ということで注目度の高さを多少は取り戻せた気がします。「データサイエンティスト」の検索掲載順位もここ最近は1桁を記録することが時々あり、まだまだこの「老舗ブログ」も捨てたものじゃないなと思う次第です。</p><br /> <p>ただ、皆様もお気付きの通りこのブログも初期に比べるとめっきり技術的・学術的な記事が減り、どちらかというと業界談義や戦略論、はたまた書評<a href="#f-56003b01" name="fn-56003b01" title="しかも献本ばっかり">*15</a>などの記事が多くなっており、9年前に書き始めた頃に比べるとだいぶ様変わりしたのは否めません。その意味では「読者の方々に学びを提供する」とはもはや口が裂けても言えない気がしていますが、一方で「データ分析業界の現場の実態と思考と思いをできる限り広く伝えたい」という当初掲げたこのブログの目的にはかなっているのではないかと思っています。</p><br /> <p>ということで、皆様におかれましては2022年も当ブログをご愛読いただき、まことに有難うございました。来年もどうにか続けていくつもりですので、是非ともよろしくお願いいたします。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-c7212e47" name="f-c7212e47" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">個人的には<a href="https://www.amazon.co.jp/dp/B0BNQ9C67N?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1">ウクライナ戦争 (ちくま新書)</a>が良い解説書かなと思いました</span></p> <p class="footnote"><a href="#fn-0c27f461" name="f-0c27f461" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">急激な円安→<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B1%DF%B9%E2">円高</a>と、海外株価下落のダブルパンチ</span></p> <p class="footnote"><a href="#fn-ab0d48c5" name="f-ab0d48c5" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">昨今だと話題のデジタル庁とか</span></p> <p class="footnote"><a href="#fn-6969de36" name="f-6969de36" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://www.thinkwithgoogle.com/intl/ja-jp/marketing-strategies/search/covid-19-2/">Google &#x30C8;&#x30EC;&#x30F3;&#x30C9;&#x3067;&#x63A2;&#x308B;&#x65B0;&#x578B;&#x30B3;&#x30ED;&#x30CA;&#x30A6;&#x30A4;&#x30EB;&#x30B9;&#x306B;&#x95A2;&#x9023;&#x3059;&#x308B;&#x691C;&#x7D22;&#x52D5;&#x5411; - Think with Google</a></span></p> <p class="footnote"><a href="#fn-d5e7c595" name="f-d5e7c595" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text">なお良いまとめがあります→<a href="https://dentsu-ho.com/articles/8322">&#x753B;&#x50CF;&#x751F;&#x6210;AI&#x306F;&#x30AF;&#x30EA;&#x30A8;&#x30A4;&#x30BF;&#x30FC;&#x3092;&#x8105;&#x304B;&#x3059;&#x306E;&#x304B;&#x3001;&#x305D;&#x308C;&#x3068;&#x3082;&#x3002; | &#x30A6;&#x30A7;&#x30D6;&#x96FB;&#x901A;&#x5831;</a></span></p> <p class="footnote"><a href="#fn-fbedb3f0" name="f-fbedb3f0" class="footnote-number">*6</a><span class="footnote-delimiter">:</span><span class="footnote-text">良い解説があります→<a href="https://medium.com/@sushrit.pk21/chatgpt-copilot-and-the-future-of-coding-interviews-a-technical-founders-perspective-8628c7102a9b">ChatGPT, Copilot and the future of Coding Interviews &mdash; A Technical Founder&rsquo;s Perspective | by Sushrit Pasupuleti | Medium</a></span></p> <p class="footnote"><a href="#fn-f4399561" name="f-f4399561" class="footnote-number">*7</a><span class="footnote-delimiter">:</span><span class="footnote-text">関連記事→<a href="https://gigazine.net/news/20221206-chatgpt-banned-temporary/">&#x4F1A;&#x8A71;AI&#x300C;ChatGPT&#x300D;&#x306E;&#x56DE;&#x7B54;&#x306E;&#x6295;&#x7A3F;&#x304C;&#x30B3;&#x30FC;&#x30C7;&#x30A3;&#x30F3;&#x30B0;Q&#xFF06;A&#x30B5;&#x30A4;&#x30C8;&#x306E;Stack Overflow&#x3067;&#x4E00;&#x6642;&#x7684;&#x306B;&#x7981;&#x6B62;&#x3055;&#x308C;&#x308B; - GIGAZINE</a></span></p> <p class="footnote"><a href="#fn-b82b656e" name="f-b82b656e" class="footnote-number">*8</a><span class="footnote-delimiter">:</span><span class="footnote-text">技術的側面に限らない、の意</span></p> <p class="footnote"><a href="#fn-1c364a68" name="f-1c364a68" class="footnote-number">*9</a><span class="footnote-delimiter">:</span><span class="footnote-text">その間テニスも出来なかった</span></p> <p class="footnote"><a href="#fn-1ca6be43" name="f-1ca6be43" class="footnote-number">*10</a><span class="footnote-delimiter">:</span><span class="footnote-text">エコーの結果肉離れではないという診断だが、何となく嫌〜な感触がする……</span></p> <p class="footnote"><a href="#fn-538609cd" name="f-538609cd" class="footnote-number">*11</a><span class="footnote-delimiter">:</span><span class="footnote-text">男の大厄は42歳</span></p> <p class="footnote"><a href="#fn-b3ebc7a9" name="f-b3ebc7a9" class="footnote-number">*12</a><span class="footnote-delimiter">:</span><span class="footnote-text">追記:さらに12/23の夜になってから左下8番(親知らず)が斜めからの応力に負けて歯根破折を起こし、年の瀬の慌ただしい真っ只中に抜歯しました泣</span></p> <p class="footnote"><a href="#fn-a057e2a8" name="f-a057e2a8" class="footnote-number">*13</a><span class="footnote-delimiter">:</span><span class="footnote-text">そしてそれに伴って感じられる反響の乏しさ</span></p> <p class="footnote"><a href="#fn-926546da" name="f-926546da" class="footnote-number">*14</a><span class="footnote-delimiter">:</span><span class="footnote-text">Q4になってからは3つ連続で、さらに1つは600超、もう1つも400超</span></p> <p class="footnote"><a href="#fn-56003b01" name="f-56003b01" class="footnote-number">*15</a><span class="footnote-delimiter">:</span><span class="footnote-text">しかも献本ばっかり</span></p> </div> TJO 「データ分析の民主化」の在り方を、「社員全員Excel経営」が「社員全員データサイエンス経営」へと進化していった事例に見る hatenablog://entry/4207112889941098203 2022-12-11T17:04:02+09:00 2022-12-11T17:09:53+09:00 以前こんな記事を書いたことがあります。「社員全員Excel経営」で名高い、ワークマン社のサクセスストーリーを論評したものです。2012年にCIOに就任した土屋哲雄常務のリーダーシップのもと、取引データの完全電子化を皮切りに「全社員がExcelを使いこなして数字とデータで経営する」戦略へと移行し、社内のExcelデータ分析資格を一定以上取得しないと管理職に昇進できないとか、はたまた幹部クラスの企画・経営会議ではデータに基づかない議論や提案は相手にすらされないとか、「Excelを社員全員が使えるようになるだけでもここまで企業カルチャーは変わり得るのか」という事例のオンパレードで、関連記事や書籍を読… <p>以前こんな記事を書いたことがあります。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F11%2F06%2F120000" title="実験科学の考え方を転じて「ビジネスサイエンス」にする - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>「社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」で名高い、ワークマン社のサクセスストーリーを論評したものです。2012年にCIOに就任した土屋哲雄常務のリーダーシップのもと、取引データの完全電子化を皮切りに「全社員が<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>を使いこなして数字とデータで経営する」戦略へと移行し、社内の<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>データ分析資格を一定以上取得しないと管理職に昇進できないとか、はたまた幹部クラスの企画・経営会議ではデータに基づかない議論や提案は相手にすらされないとか、「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>を社員全員が使えるようになるだけでもここまで企業カルチャーは変わり得るのか」という事例のオンパレードで、関連記事や書籍を読んでいて舌を巻いたのを覚えています。まさしく「ワークマンのすごいデータ活用」だったのです。</p><br /> <p>一方、個人的に強く印象を受けたのが土屋常務が様々なところでコメントしていた「我が社には突出したデータサイエンティストは要らない」というフレーズと、「社員全員が<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>を使えればAIの必要性は低い」という趣旨のコメントでした。勿論、高度な統計分析や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>のビジネスへの適用を生業とするデータサイエンティストたる我が身としては、それらのコメントはちょっとだけ残念に感じたものの、同時に「社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営であればそんなものはなくても十分なのか」と感嘆したものでした。</p><br /> <p>……ところが。最近以下のメディア報道を見かけて、僕は思わず大きな声を上げてしまったのでした。「おおおーーーーー!!!」と。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fdiamond.jp%2Farticles%2F-%2F313666" title="ワークマン「Excel経営」が超進化!次のデータ分析ツールに選んだのは?" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> </p> <blockquote> <p>だが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>とて<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E4%A4%CE%C3%C6%B4%DD">銀の弾丸</a>ではない。データ分析が浸透したワークマンには、新たな課題が生じている。それは、分析内容が高度化するにつれ、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>では時間がかかるようになってしまったことだ。</p><br /> <p>たどり着いた2つの解決策。それは、データ分析に適した<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%C0%B8%EC">プログラミング言語</a>「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>」の習得をはじめとした社内教育の充実。そして、<a class="keyword" href="http://d.hatena.ne.jp/keyword/AWS">AWS</a>のBI(ビジネスインテリジェンス)ツールの活用だ。</p> </blockquote> <p>何と、ワークマン社では「社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」で飽和点にまでたどり着いた全社共通のデータ分析レベルを超えていくために、自主的に<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>を用いたデータサイエンス技術の導入を図り、さらに<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9">クラウド</a>(ここでは<a class="keyword" href="http://d.hatena.ne.jp/keyword/AWS">AWS</a>)の導入でスケーラビリティの追求をも目指し始めていたというのです。</p><br /> <p>ということで、今回の記事では「社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」がいかにして「社員全員データサイエンス経営」へと進化しつつあるかについての解説を試みると共に、何故ワークマン社ほどデータ活用が全社的に普及した企業であっても「データサイエンス経営」に行き着くのかという理由について、個人的に考えていることを論じてみようと思います。なお、既にお気付きの方も多いかと思いますがこの記事は「データサイエンスは企業経営に大事ですよ」という僕の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%B8%A5%B7%A5%E7%A5%F3%A5%C8%A1%BC%A5%AF">ポジショントーク</a>ですので、そこは割り引いてお読みください(笑)。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#Excelの限界を超えるためのデータサイエンス">「Excelの限界」を超えるためのデータサイエンス</a></li> <li><a href="#データ分析の民主化の理想像誰でも取り組めるものを足掛かりとしてより高みと深みを目指す">「データ分析の民主化」の理想像:誰でも取り組めるものを足掛かりとして、より高みと深みを目指す</a></li> </ul> <div class="section"> <h3 id="Excelの限界を超えるためのデータサイエンス">「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>の限界」を超えるためのデータサイエンス</h3> <p><br /> 先述した通り、元々ワークマン社はかなり積極的な理由をもって「社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」を志向していました。それは「会社全体にデータドリブンなカルチャーを浸透させるため」であり、さらには以前のこのブログの記事でも紹介した通り「(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D6%A5%E9%A5%C3%A5%AF%A5%DC%A5%C3%A5%AF%A5%B9">ブラックボックス</a>のAIとは違って<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>を使えば)自分で考えるようになるから」だというのが土屋常務の狙いだったようです。</p> <blockquote> <p>「ワークマンのデータ活用の原則は『浅く広く』。知識が浅い分を衆知という広さで補う。皆で考えて進化させていく。AIのようなスーパーパワーではなく、普通の人の知恵を集めて経営していくのが理想。それなら、むしろエクセルのほうがいい」(土屋氏)</p> </blockquote> <p>かくしてワークマン社は<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>業界でもなかなか聞かない「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EA%A5%A2%A5%EB%C5%B9%CA%DE">リアル店舗</a>A/Bテスト」を敢行したり、経営幹部が集まる会議でもデータを伴わない議論は相手にすらされなかったりするという、日本国内では他に例を見ないようなデータドリブン経営を推進する代表的な企業となったのでした。</p><br /> <p>一方で、「社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」さえ成れば突出したデータサイエンティストは要らない、というのもまたワークマン社のデータ活用の話になると必ずついてくるフレーズでした。これは土屋常務ご自身の著書では何度か開陳されている文言であり、僕はそれを読んで「なるほど確かにデータサイエンティスト的な仕事は『ごく一部のメンバーがデータとその活用に通じてスケールさせる』という発想のものが多いので、社員全員がデータ活用できるなら確かに要らないかもな」と思ったものです。実際にワークマン社の社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営はコロナ禍に突入した後も過去最高益を更新するという快進撃を続けており、そこに何か手を加える必要はもはや無いように見えたのも事実です。</p><br /> <p>ところが、ワークマン社の中では「社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」が浸透し切ったことで別の壁にぶつかった……というのが、今回ご紹介しているメディア記事の中で語られている事態です。</p> <blockquote> <p>ワークマンは、12年から全社で<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>スキルを高めていき、13年に小売向けBI(ビジネスインテリジェンス)ツール「d3」を導入した。ここまではスムーズだった。しかし、BIを使い始めると、分析したいことがどんどん複雑多様化し、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>の範疇を超えていった。</p><br /> <p>データ戦略部の長谷川誠さんと店舗エンジニアリング部の森池翔さんは、独学で<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>を使い始めた。</p><br /> <p>「例えば、雪関連商品がよく売れる店舗群をグルーピングし、もっと売れる売り場の構成を考えようとすると、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>ー分析や少々ややこしい時系列の回帰モデルが必要で、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>では膨大な時間がかかってしまうのです。統計解析ソフトを使ってみたのですが、こちらは分析するまでの準備が面倒で……。そんなとき、ネット検索で知った<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>を試してみたら意外と簡単だったんです」(長谷川さん)</p> </blockquote> <p>過去に何度かあったデータサイエンティストブームのたびに語られていた「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>だけではカバーし切れないデータ分析を進めるためのデータサイエンス」の有用性が、ついにワークマン社の関心を引いた瞬間だったのでしょう。</p><br /> <p>事態はこれに留まらず、コロナ禍でも快進撃を繰り広げた「ワークマンプラス」ブランドもまた<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>に閉じないデータ活用体制を開拓するきっっかけとなったようです。</p> <blockquote> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>を使った現場の創意工夫は、ほかにも見られる。</p><br /> <p>急成長には痛みが伴う。18年にオープンした一般向けのアウトドア・スポーツウエア専門店「ワークマンプラス」のヒットで最初に悲鳴を上げたのは、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%ED%A5%B8%A5%B9%A5%C6%A5%A3%A5%AF%A5%B9">ロジスティクス</a>部門だった。急激な需要過多で在庫管理が破綻。どの店舗・倉庫に在庫があり、どの店舗・倉庫で欠品が発生しているのか分からない状態に陥った。</p><br /> <p>普通の会社なら人員を増やして対処するかもしれない。しかし、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%ED%A5%B8%A5%B9%A5%C6%A5%A3%A5%AF%A5%B9">ロジスティクス</a>部門のメンバーは、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>の本を買ってプログラムを組み、3時間の業務を20分に短縮するなど、ひたすら自動化することで持ちこたえた。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>で鍛えられたITの素地が存分に生かされた格好だ。</p> </blockquote> <p>あれほどまでに「社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」の成功が喧伝されたワークマン社が、社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>マスターに飽き足らずに向かった先は<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>によるプログラミングそしてデータサイエンスだったというわけです。しかも社員個々人が創意工夫して<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>で多彩なデータ分析を繰り広げるのが当たり前のカルチャーだったからこそ、「自主的に<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>の勉強をして習得&その成果を実装して業務につなげる」ということもまた当たり前のように行われ、尚且つ社内でも受け入れられたのでしょう。</p><br /> <p>さらに驚くべきは、かつて<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>データ分析の社内資格制度を設けて「社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」を推進していたのと同じように、今度はデータサイエンスの社内資格制度を始めた点です。上記のメディア記事には以下のように書かれています。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20221211/20221211125802.png" width="1000" height="250" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> </p> <blockquote> <p>自力で難局を乗り切ったことで、社員の自主性と学習意欲は一気に高まった。21年には、全社員を対象としたデータサイエンスの社内資格認定制度を開始した。最上位のデータ分析エンジニアまでコンプリートすれば、報奨金は42万円になる。</p><br /> <p>「みんなで盛り上げて、切磋琢磨しながら全体の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EA%A5%C6%A5%E9%A5%B7%A1%BC">リテラシー</a>を高めています。楽しく学ぶのが一番伸びますから」(長谷川さん)</p><br /> <p>22年11月末現在、分析チームは35人、データサイエンティストは14人、データ分析エンジニアは3人。社内資格認定者は全社員350人中52人にまで増えている。</p> </blockquote> <p>「突出したデータサイエンティストは要らない」とまで公言していたワークマン社ですが、君子豹変すとはまさにこのことですね。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BB%E4%B8%AB">私見</a>ですが、このまま行けばいつかワークマン社の全社員350人の大半が(社内資格上の)「データサイエンティスト」になることになりそうだと思われます。</p><br /> <p>勿論、現代の実務データサイエンス業界から見ればまだまだ初歩的な取り組みに留まるように感じられるところもありますが、それでもワークマン社の「社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」が「社員全員データサイエンス経営」へと進化していくプロセスには目を見張るものがあります。今後も同社の「データ活用の進化」には目が離せないなと思う次第です。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="データ分析の民主化の理想像誰でも取り組めるものを足掛かりとしてより高みと深みを目指す">「データ分析の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CC%B1%BC%E7%B2%BD">民主化</a>」の理想像:誰でも取り組めるものを足掛かりとして、より高みと深みを目指す</h3> <p><br /> ところで、少なくともこの10年に渡って僕が業界事情を観察してきた限りでは、実務データ分析の領域においては割と根強い路線対立(というか路線分化)があったように思います。それは大まかに言って、</p> <ul> <li><strong><a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>など誰でも使えるツールに限定して、データ分析を広く浅く誰にでも行えるように普及させるべき</strong></li> <li><strong><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>及びそれらを実装するプログラミングなどを重視して、データ分析はより深く実践できる専門家に委ねるべき</strong></li> </ul><p>という二軸に分かれるものでした。これは現在もある程度生きていて、実際に毎年出版されるデータ分析関連書籍を眺めていても基本的にはこの二軸のどちらかに分類されるという印象があります。</p><br /> <p>例えば、このブログの読者の皆さんからすると意外かもしれませんが、2022年現在でも「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>で簡単に実践できる〇〇分析」的なテキストは少なくない数が出版されています。個人的な理解では、その軸の延長上にデータ可視化ツール・ソフトウェアの普及もあるのだろうと見ています。これもまた「データ活用を広く浅く普及させる」試みであると言えるでしょう。</p><br /> <p>そして前掲のワークマン社(そして立役者であられる土屋常務)の立場としては徹底して前者を推進し、後者は二の次とする、という典型的なこの路線分化に沿った戦略を取っていたわけです。それによって大成功を収めた同社が、このまま前者の戦略を堅持して「広く浅くデータ分析を実践」という流れのまま行くのかと思いきや、「満を持して」データサイエンス経営に向けて転換してきたという点に今回のニュースの最大のポイントがあると思うのです。</p><br /> <p>これは単純に考えれば「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>で提供可能なデータ分析手法には限りがあるから」という話に過ぎないのですが、先述したようにこれは「<strong>社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営</strong>で<strong>幅広く素地が出来ていた</strong>ところに、<strong><a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>の限界を超えるデータ分析課題</strong>が生じたことで、自主的に<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>に頼らず<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>と<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9">クラウド</a>を活用したデータ分析に<strong>ステップアップする機運</strong>が生まれた」ということに他なりません。</p><br /> <p>即ち、先に触れた二軸の路線分化(対立)は実は分化でも対立でもなくて、<strong>「前者(社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営)はそのまま後者(社員全員データサイエンス経営)へとステップアップしていくための素地となりうる」</strong>ということをワークマン社の事例は示しているわけです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2021%2F01%2F14%2F180000" title="データ分析をする前に、まず生データを見てみよう - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>以前のブログ記事でも論じたことがありますが、どれほど高度なデータ分析であっても生データそのものに対する深い理解と洞察はなされて然るべきだと個人的には考えています。その「深い理解と洞察」は、どちらかというとデータサイエンティスト以下専門家ばかりに頼るよりは、現場でビジネス実務を担う人々に広く問うた方がむしろ彼らの経験と知恵に基づいたより確かなものが得られるのではないでしょうか。</p><br /> <p>「社員全員<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>経営」は、まさにそれらの深い理解と洞察を経験から学んでいる現場の人々にデータ分析の初歩を身につけてもらうことで、「より高度なデータ分析が必要か不要か」を見極めるための素地を作り出してきたとも言えそうです。特にワークマン社の場合は、単に<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>の関数を使いこなすだけでなく分析マクロの開発を行うということもやっているということで、意図的かどうかはともかくとしてコーディングへの抵抗感を抑えることにも成功していたのかもしれません。</p><br /> <p>かくして、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>で出来ることの限界に気付いた社員たちが、自主的に<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>とデータサイエンスを学んで実践することで課題を解決し、さらには<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9">クラウド</a>環境の導入でスケーラビリティにも目を向けるようになった……というのがこの度のワークマン社の事例が示していることで、これこそが<strong>「データ分析の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CC%B1%BC%E7%B2%BD">民主化</a>」の理想像</strong>なのではないかと思っています。個人的には、他のまだデータ活用カルチャーが根付いていない企業や組織にも、是非このワークマン社の事例を参考にしてもらいたいと願う次第です。</p> </div> TJO 『標準ベイズ統計学』はベイズ統計学をきちんと基礎から日本語で学びたいという人にとって必携の一冊 hatenablog://entry/4207112889923092656 2022-11-21T17:00:00+09:00 2022-11-21T22:11:54+09:00 標準 ベイズ統計学朝倉書店Amazon発刊当時に話題になっていた『標準ベイズ統計学』。実は訳者のお一人、菅澤翔之助さんからオフィス宛てでご恵贈いただいていたのですが、親父の没後処理やら自分のDVTやら実家の片付けやらで全く手が回らずオフィスに置いたままにしてしまっていたのでした。で、この度改めて拝読してみたら「何故もっと早く読まなかったんだ」と後悔するくらいあまりにも内容が素晴らしかったので、遅まきながら書評記事を書こうと思い立った次第です。 ベイズ統計学というと、殆ど詳しくない人だと「ベイズの定理以外に何があるの?」という印象ぐらいしかないかもしれませんし、一方でとりあえず技法としてやり方だ… <p><div class="hatena-asin-detail"><a href="https://www.amazon.co.jp/dp/4254122675?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="hatena-asin-detail-image-link" target="_blank" rel="noopener"><img src="https://m.media-amazon.com/images/I/31RjZneic7L._SL500_.jpg" class="hatena-asin-detail-image" alt="標準 ベイズ統計学" title="標準 ベイズ統計学"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="https://www.amazon.co.jp/dp/4254122675?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" target="_blank" rel="noopener">標準 ベイズ統計学</a></p><ul class="hatena-asin-detail-meta"><li>朝倉書店</li></ul><a href="https://www.amazon.co.jp/dp/4254122675?tag=hatena-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" class="asin-detail-buy" target="_blank" rel="noopener">Amazon</a></div></div></p><p>発刊当時に話題になっていた『標準<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>』。実は訳者のお一人、菅澤翔之助さんからオフィス宛てでご恵贈いただいていたのですが、親父の没後処理やら自分のDVTやら実家の片付けやらで全く手が回らずオフィスに置いたままにしてしまっていたのでした。で、この度改めて拝読してみたら「何故もっと早く読まなかったんだ」と後悔するくらいあまりにも内容が素晴らしかったので、遅まきながら書評記事を書こうと思い立った次第です。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>というと、殆ど詳しくない人だと「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>の定理以外に何があるの?」という印象ぐらいしかないかもしれませんし、一方でとりあえず技法としてやり方だけ覚えてしまった人だと「とりあえず<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>回せばいいんだよね?」みたいな雑な理解になってしまうかもしれません。いずれにせよこれまで邦書では<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>というと超初歩か実装重視かの二択が多かったせいか、「ゼロベースからきちんと学べる」良書に乏しかったという感がありました。</p><br /> <p>そこに満を持して登場したのが本書です。訳者まえがきにも「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>を学ぶにあたり重要なことは、その考え方の理解と計算<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>の実装」と謳われている通りで、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>に欠かせない概念である「信念」及びその表現である事前確率と事後確率の意味であったり、はたまた事後確率分布を得るための手法である<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%F3%A5%C6%A5%AB%A5%EB%A5%ED">モンテカルロ</a>近似・<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>についての解説がこれでもかと懇切丁寧に綴られており、半可通だった僕にとっては「ああこれが<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>というものだったのか……」と唸らされること頻りでした。</p><br /> <p>ということで、早速本書の内容を簡単に紹介していこうと思います。なお、本書では随所で頻度主義<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>との対比がなされているため、古典的な頻度論を既に学んでいることが大前提だと思った方が良いです。少なくとも<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%C2%E7%BD%D0%C8%C7%B2%F1">東大出版会</a>赤本&<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C0%C4%CB%DC">青本</a>ぐらいは読んでおくべきかもしれません。<br /> <br /> </p> <ul class="table-of-contents"> <li><a href="#本書の内容">本書の内容</a><ul> <li><a href="#1-導入と例">1. 導入と例</a></li> <li><a href="#2-信念確率交換可能性">2. 信念,確率,交換可能性</a></li> <li><a href="#3-二項モデルとポアソンモデル">3. 二項モデルとポアソンモデル</a></li> <li><a href="#4-モンテカルロ近似">4. モンテカルロ近似</a></li> <li><a href="#5-正規モデル">5. 正規モデル</a></li> <li><a href="#6-ギブスサンプラーによる事後分布の近似">6. ギブスサンプラーによる事後分布の近似</a></li> <li><a href="#7-多変量正規モデル">7. 多変量正規モデル</a></li> <li><a href="#8-グループ比較と階層モデリング">8. グループ比較と階層モデリング</a></li> <li><a href="#9-線形回帰">9. 線形回帰</a></li> <li><a href="#10-非共役事前分布とメトロポリスヘイスティングスアルゴリズム">10. 非共役事前分布とメトロポリス・ヘイスティングスアルゴリズム</a></li> <li><a href="#11-線形一般化線形混合効果モデル">11. 線形・一般化線形混合効果モデル</a></li> <li><a href="#12-順序データに対する潜在変数法">12. 順序データに対する潜在変数法</a></li> </ul> </li> <li><a href="#個人的な感想など">個人的な感想など</a></li> <li><a href="#追記">追記</a></li> </ul> <div class="section"> <h3 id="本書の内容">本書の内容</h3> <p><br /> いつも通り、完全引用にならない範囲で本書の内容をレビューしていきます。割と章立てが多いので、節レベルでは分けずに章ごとにまとめてあります。<br /> <br /> </p> <div class="section"> <h4 id="1-導入と例">1. 導入と例</h4> <blockquote> <p> 1.1 導入<br />  1.2 なぜ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>か<br />   1.2.1 稀な事象の確率の推定<br />   1.2.2 予測モデルの構成<br />  1.3 本書の構成<br />  1.4 補足と文献案内</p> </blockquote> <p>文字通りイントロダクションに当たる章で、2つ例を挙げて<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の有用性が論じられています。まず1つ目では、古典的な例としてある小さな町における<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%B6%C0%F7%BE%C9">感染症</a>の有病率を小サイズ標本から推定し、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BC%AB%BC%A3">自治</a>当局として町民へのワクチン接種を推奨すべきか否かを決定するという話が出てきます。なおここでいきなり頻度論における信頼<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>と<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>信用<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>との対比の議論が出てきており、なかなかに面白いです(笑)。</p><br /> <p>2つ目の例は予測モデルの話題で、糖尿病の進行度を様々な検査数値からなる説明変数に基づいて回帰・予測するという取り組みを<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>的にやったらどうなるかという話をしています。なおここで扱われているのはかなりスパースなデータであり、頻度論的なOLSで求められる偏回帰係数には不確実性が高いのにそれを評価する仕組みがない一方で、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>偏回帰係数だとこれがゼロに落ちる確率も議論できるという点で有用だ、という議論の展開がされています。ちなみにここでもいきなりspike-and-slab事前分布による<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>Lassoの話題が出てきており、序盤からガンガン飛ばしていくぞという原著者Hoffの意気込みが見て取れますね。</p><br /> <p>このような展開になっているのはやはり次章に出てくる「信念」の取っ掛かりを作るためなのでしょう。つまり<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BC%E7%B4%D1%B3%CE%CE%A8">主観確率</a>を扱うという<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の特徴<a href="#f-249b6699" name="fn-249b6699" title="詳細は例えばこの辺を参照のこと:[https://ill-identified.hatenablog.com/entry/2017/03/17/025625:title]">*1</a>をより理解しやすくするための例をまず最初に挙げておこう、というのが恐らく原著者の狙いなのだと思われます。<br /> <br /> </p> </div> <div class="section"> <h4 id="2-信念確率交換可能性">2. 信念,確率,交換可能性</h4> <blockquote> <p> 2.1 信念関数と確率<br />  2.2 事象,分割,<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>ルール<br />  2.3 独立性<br />  2.4 確率変数<br />   2.4.1 離散型確率変数<br />   2.4.2 連続型確率変数<br />   2.4.3 分布の特徴づけ<br />  2.5 同時分布<br />  2.6 独立な確率変数<br />  2.7 交換可能性<br />  2.8 デ・フィネッティの定理<br />  2.9 補足と文献案内</p> </blockquote> <p>この章では前章で取り上げた「信念関数」と確率との関係を明らかにし、その上で<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の様々な個々の概念を解説していきます。古典的な頻度論<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の知識があれば難なく読みこなせるパートだと思いますが、そうでない人にはしんどいと思われます。というか、この本からいきなり<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>そのものの勉強を始めるのはクレイ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>なので見合わせた方が良いです。なお個人的には交換可能性の話題とデ・フィネッティの定理はきちんと考えたことがなかったので<a href="#f-22e216df" name="fn-22e216df" title="実は過去にこれに関するquizを出されて回答に窮したことがある">*2</a>勉強になりました……。<br /> <br /> </p> </div> <div class="section"> <h4 id="3-二項モデルとポアソンモデル">3. 二項モデルと<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%A2%A5%BD%A5%F3">ポアソン</a>モデル</h4> <blockquote> <p> 3.1 二項モデル<br />   3.1.1 交換可能な二値データに対する推測<br />   3.1.2 信頼領域<br />  3.2 <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%A2%A5%BD%A5%F3">ポアソン</a>モデル<br />   3.2.1 事後推測<br />   3.2.2 例:<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%D0%C0%B8%CE%A8">出生率</a><br />  3.3 指数型分布族と共役事前分布<br />  3.4 補足と文献案内</p> </blockquote> <p>3章では、まず手始めとして一つの未知パラメータにより定まる確率分布の代表として二項モデルと<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%A2%A5%BD%A5%F3">ポアソン</a>モデルを題材に取り、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>推定(推測)をどのように行なっていくかを解説していきます。2つの分布の分かりやすさからついでに共役事前分布の概念の説明もなされており、さらにこの章からはRコードによる実践例も付されています。</p><br /> <p>ちなみにこの章で改めて頻度論的な信頼<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>と<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>信用<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>との違いについての解説がなされています。p.47には</p> <blockquote> <p>これ<em>(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>信用<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>)</em>は<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20Y%20%3D%20y" alt=" Y = y"/>を観測した後に、<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20%5Ctheta" alt=" \theta"/>の真の値がどの位置にあるかという情報を表す<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>であり、データが観測される「前に」<em>(信頼)</em><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>が真の値を被覆する確率を説明するような被覆確率の頻度論的解釈とは異なる。</p><p>(斜体字筆者)</p> </blockquote> <p>とあり、同じページの後段では実際に<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20Y%20%3D%20y" alt=" Y = y"/>を観測した後では頻度論的な信頼<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>にパラメータが存在する確率が「0か1のどちらか」に帰着してしまう例が引かれています<a href="#f-7859d53b" name="fn-7859d53b" title="これは[https://tjo.hatenablog.com/entry/2021/07/16/190000:title=以前の記事で紹介したWassermanの例]と類似している">*3</a>。これらの比較を通じて、本書では<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>信用<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>がまさしく「信念の幅」を表現しているということを強調しているものと、僕は読み取りました。<br /> <br /> </p> </div> <div class="section"> <h4 id="4-モンテカルロ近似">4. <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%F3%A5%C6%A5%AB%A5%EB%A5%ED">モンテカルロ</a>近似</h4> <blockquote> <p> 4.1 <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%F3%A5%C6%A5%AB%A5%EB%A5%ED%CB%A1">モンテカルロ法</a><br />  4.2 任意の関数に対する事後推測<br />  4.3 予測分布からのサンプリング<br />  4.4 事後予測分布によるモデルのチェック<br />  4.5 補足と文献案内</p> </blockquote> <p>本書の面白いところがこの4章で、3章で折角分かりやすい二項モデルと<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%A2%A5%BD%A5%F3">ポアソン</a>モデルを取り扱ったにもかかわらず、いきなり「事後要約統計量を得ることが困難または不可能な複雑なケースのために」と言って<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%F3%A5%C6%A5%AB%A5%EB%A5%ED">モンテカルロ</a>近似による事後分布サンプリングの話題を持ち出してきます(笑)。当然ながらこれは後で取り上げる<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>の導入になっています。勿論Rコードによる実践例も付されているので、簡単にその過程を学ぶことができます。<br /> <br /> </p> </div> <div class="section"> <h4 id="5-正規モデル">5. 正規モデル</h4> <blockquote> <p> 5.1 正規モデル<br />  5.2 分散所与の下での平均に関する推測<br />  5.3 平均と分散の同時推定<br />  5.4 バイアス,分散,平均二乗誤差<br />  5.5 期待値に基づく事前分布の特定<br />  5.6 非正規なデータに対する正規モデル<br />  5.7 補足と文献案内</p> </blockquote> <p>ここでようやく基本的な正規モデル(つまり線形回帰モデル)の推定の話題が出てきます。ポイントとしては、3章で「単一パラメータで表現されるモデル」を扱ったのに対して、正規モデルでは当然ながら「2つ(以上)のパラメータで表現される」(即ち平均と分散)という違いがあり、その場合の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%F3%A5%C6%A5%AB%A5%EB%A5%ED">モンテカルロ</a>サンプリングのやり方についても議論されています。</p><br /> <p>なおちょうど相性が良い話題でもあるせいか、この章では<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>ではお馴染みのバイアス=バリアンス分解の話題と、非正規なデータに対して正規モデルを当てはめた際の事後分布の歪みについての議論も取り上げられています。<br /> <br /> </p> </div> <div class="section"> <h4 id="6-ギブスサンプラーによる事後分布の近似">6. ギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>による事後分布の近似</h4> <blockquote> <p> 6.1 準共役な事前分布<br />  6.2 離散近似<br />  6.3 条件付き分布からのサンプリング<br />  6.4 ギブスサンプリング<br />  6.5 ギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>の一般的な性質<br />  6.6 <a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a> の収束診断法<br />  6.7 補足と文献案内</p> </blockquote> <p>いよいよこの章から本格的な<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>の話題に入っていきます。まずはギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>の実装と、その性質についての議論が展開されていきます。一般的な<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>のテキストではあまり触れられることのない、<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>サンプルの収束に関する話題が懇切丁寧に書かれていて、個人的には勉強になりました。<br /> <br /> </p> </div> <div class="section"> <h4 id="7-多変量正規モデル">7. 多変量正規モデル</h4> <blockquote> <p> 7.1 多変量<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C0%B5%B5%AC%CA%AC%C9%DB">正規分布</a>の密度関数<br />  7.2 平均に関する準共役事前分布<br />  7.3 逆ウィシャート分布<br />  7.4 平均ベクトルと共分散行列のギブスサンプリング<br />  7.5 欠測データと代入法<br />  7.6 補足と文献案内</p> </blockquote> <p>本書ではこれ以前の章においては全て単変量モデルを扱ってきており、ようやくこの章から多変量モデルの話題に入っていきます。そのため他の教科書では良く見るもののイマイチご利益のはっきりしなかった逆ウィシャート分布の解説が出てきたり、ついでと言っては何ですがここで欠測データに対するギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>を用いた解決策の話題が紹介されていたりします。欠測データを「自然に」解決する手法というとこのブログの過去記事では状態空間モデルぐらいしか扱ったことがないのですが<a href="#f-850db034" name="fn-850db034" title="ただし状態空間モデルの勘所は未だに自分では理解できている気がしない">*4</a>、そう言えば状態空間も<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>推定の応用例の典型として語られることが多いのを考えると納得という感じです。<br /> <br /> </p> </div> <div class="section"> <h4 id="8-グループ比較と階層モデリング">8. グループ比較と階層<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a></h4> <blockquote> <p> 8.1 二つのグループを比較する<br />  8.2 複数のグループを比較する<br />   8.2.1 交換可能性と階層モデル<br />  8.3 階層正規モデル<br />   8.3.1 事後推論<br />  8.4 例:米国公立学校における数学試験<br />   8.4.1 事前分布と事後近似<br />   8.4.2 事後要約と縮小効果<br />  8.5 平均と分散の階層<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a><br />   8.5.1 数学試験データの分析<br />  8.6 補足と文献案内</p> </blockquote> <p>いかにも<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>らしい統計モデルということで、階層<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>モデルの話題が出てきます。ここでは階層<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>向けに組んだギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>によってパラメータの事後分布をサンプルする話がメインです。<br /> <br /> </p> </div> <div class="section"> <h4 id="9-線形回帰">9. 線形回帰</h4> <blockquote> <p> 9.1 線形回帰モデル<br />   9.1.1 酸素摂取量データに対する最小二乗推定<br />  9.2 回帰モデルにおける<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>推定<br />   9.2.1 準共役事前分布<br />   9.2.2 既定事前分布と弱情報事前分布<br />  9.3 モデル選択<br />   9.3.1 <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>的なモデル比較<br />   9.3.2 ギブスサンプリングとモデル平均<br />  9.4 補足と文献案内</p> </blockquote> <p>意外かもしれませんが、本書ではここまで線形回帰モデルを扱ってきていないのでした。ということで、9章になってようやく線形回帰モデル(多変量が前提)の話題が取り上げられています。これまたちょっと意外と言えば意外ですが、ここでモデル選択の話題が出てきます。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>ファクター<a href="#f-acb724c6" name="fn-acb724c6" title="[https://tjo.hatenablog.com/entry/2022/07/06/170000:title=再現性問題の話題]の際に出てきたやつです">*5</a>やモデル平均の概念もこの章で解説されています。<br /> <br /> </p> </div> <div class="section"> <h4 id="10-非共役事前分布とメトロポリスヘイスティングスアルゴリズム">10. 非共役事前分布と<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D8%A5%A4%A5%B9%A5%C6%A5%A3%A5%F3%A5%B0%A5%B9">ヘイスティングス</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a></h4> <blockquote> <p> 10.1 一般化線形モデル<br />  10.2 <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a><br />  10.3 <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%A2%A5%BD%A5%F3">ポアソン</a>回帰に対する<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a><br />  10.4 <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a>,<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D8%A5%A4%A5%B9%A5%C6%A5%A3%A5%F3%A5%B0%A5%B9">ヘイスティングス</a>,ギブス<br />   10.4.1 <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D8%A5%A4%A5%B9%A5%C6%A5%A3%A5%F3%A5%B0%A5%B9">ヘイスティングス</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a><br />   10.4.2 <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D8%A5%A4%A5%B9%A5%C6%A5%A3%A5%F3%A5%B0%A5%B9">ヘイスティングス</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>はなぜうまくいくのか<br />  10.5 <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a>とギブスの組み合わせ<br />   10.5.1 相関した誤差をもつ回帰モデル<br />   10.5.2 氷床コアデータの分析<br />  10.6 補足と文献案内</p> </blockquote> <p>ここまでは共役or準共役事前分布を利用できる場合に限ってきたので、ギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>で基本的にはどのパラメータも事後分布をサンプルできていたわけです。が、正規線形回帰モデル以外のGLMでは一般にそれができません。ということで、その解決策としての<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D8%A5%A4%A5%B9%A5%C6%A5%A3%A5%F3%A5%B0%A5%B9">ヘイスティングス</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>とその実装並びにご利益、さらにギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>との併用の仕方を自己相関のある時系列データである氷床コアデータを題材に解説しています。<br /> <br /> </p> </div> <div class="section"> <h4 id="11-線形一般化線形混合効果モデル">11. 線形・一般化線形混合効果モデル</h4> <blockquote> <p> 11.1 階層回帰モデル<br />  11.2 完全条件付き分布<br />  11.3 数学試験データの事後解析<br />  11.4 一般化線形混合効果モデル<br />   11.4.1 <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%C8%A5%ED%A5%DD%A5%EA%A5%B9">メトロポリス</a>・ギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>による事後分布の近似<br />   11.4.2 腫瘍部位データの解析<br />  11.5 補足と文献案内</p> </blockquote> <p>ここまでで全ての道具が揃ったということで、満を持してここでGLMMの話題が出てきます。題材として実験用マウスにおける腫瘍部位データの分析例が出てきますが、それ自体は単なる階層効果つき<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DD%A5%A2%A5%BD%A5%F3">ポアソン</a>回帰モデルです。<br /> <br /> </p> </div> <div class="section"> <h4 id="12-順序データに対する潜在変数法">12. 順序データに対する潜在変数法</h4> <blockquote> <p> 12.1 順序プロビット回帰と順位尤度<br />   12.1.1 プロビット回帰<br />   12.1.2 変換モデルと順位尤度<br />  12.2 正規コピュラモデル<br />   12.2.1 順位尤度によるコピュラ推定<br />  12.3 補足と文献案内</p> </blockquote> <p>最後の12章では、意外と他のテキストではあまりお目にかからない順序データに対するプロビット回帰を題材として、順位尤度やコピュラモデルさらには従属グラフといった概念が解説されています。この辺は僕も全く事前知識がなくて馴染みがなく、読んでいて結構「???」の連続でした……。<br /> <br /> <br /> </p> </div> </div> <div class="section"> <h3 id="個人的な感想など">個人的な感想など</h3> <p><br /> これまで僕個人としても様々な<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>のテキストを手に入れては読んできたわけですが、おそらくこの『標準<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>』ほどきちんと基礎から懇切丁寧に「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>とは何ぞや」を解説したテキストは日本にはこれまでなかったのではないかと思います。どちらかというと、冒頭でも指摘したようにこれまでにあった<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>のテキストは「難解な理論の話題に終始したもの」「コーディングによる実装と実践的な応用の仕方にフォーカスしたもの」が大半で、「そもそも<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>ってどんなものだったっけ」という疑問に一から答えてくれるものはあまり多くなかったように感じています。そこに、まさしく一から教えてくれるテキストとして登場したのが本書と言って良いでしょう。</p><br /> <p>特に、僕のようなオーソドックスな頻度論から<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>に入っていった人間からすると、冒頭の「信念」の話題<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%AB%A4%E9%A4%B7">からし</a>て既に(知ってはいたものの)結構新鮮な印象を受けたものです。必然的にそれは(例えば)<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>信用<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>と信頼<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>とでの解釈の違いの話にも繋がっていくわけで、他の一般的な数理<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>のテキストではほんのちょっとしか触れられない<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>についての考え方が、本書を読んでようやく「広がり」を持って体得されていくような感覚を持ちました。</p><br /> <p>また、例えば『みどりぼん』ではBUGSベースなのもあってギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>を中心に解説されていた記憶がありますが<a href="#f-cdd87972" name="fn-cdd87972" title="例えば[https://tjo.hatenablog.com/entry/2014/05/01/190346:title=この辺]など">*6</a>、本書では当然ながらまず共役・準共役事前分布があれば回るギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>から入っていって、その上でそれらがない場合の手段としてのMH<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>を導入していく、という流れを取っています。これは<a href="https://tjo.hatenablog.com/entry/2022/02/09/170000">&#x63A8;&#x85A6;&#x66F8;&#x7C4D;&#x30EA;&#x30B9;&#x30C8;&#x8A18;&#x4E8B;</a>でも触れた『<a href="https://www.amazon.co.jp/dp/4065191831?tag=hatena-22&amp;linkCode=osi&amp;th=1&amp;psc=1">モンテカルロ統計計算 (データサイエンス入門シリーズ)</a>』でも同じ流れになっていますが、本書ではより懇切丁寧に解説している感があります。どちらかというと、本書を一通り読んだ上でさらに<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0">アルゴリズム</a>に興味を持った人は『<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%F3%A5%C6%A5%AB%A5%EB%A5%ED">モンテカルロ</a>統計計算』を続けて読む、というのが良いのかなと思っています。</p><br /> <p>本書を通じていて面白いというか独特だなと思ったのが、もしかしたら講義録のようなものだからかもしれませんが「へー、この項目をこんなところで解説するんだ」みたいなパターンが多い点です。例えばspike-and-slab事前分布による変数選択の話題はいきなり1章で触れられていますし、一方で欠測データのサンプリングループの話題はしれっと7章で多変量データを扱うついでとして出てきます。この辺には頻度論のテキストとは異なって何となく「行ったり来たり」「行きつ戻りつ」的な雰囲気を感じますが、それもまた本書の味わい深さみたいなものなのかもしれません。</p><br /> <p>一つ惜しむらくは、ギブス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>にせよMH<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>にせよ、徹底してRコードによるス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%C3%A5%C1">クラッチ</a>からの実装に終始しており、現在ライブラリ・パッケージとしてRや<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>で利用可能なStan, NumPyro, <a class="keyword" href="http://d.hatena.ne.jp/keyword/JAGS">JAGS</a>といった既存の汎用<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>を用いた実装が紹介されていない点でしょうか。ただ、原著初版が2009年刊行であることを勘案すると、そこは致し方ないところですかね。是非新版が出た暁には、それらの汎用<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>による実装の紹介も載せられることを期待したいと思います。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="追記">追記</h3> <p><br /> <blockquote class="hatena-bookmark-comment"><a class="comment-info" href="https://b.hatena.ne.jp/entry/4728412416244484740/comment/kazoo_keeper2" data-user-id="kazoo_keeper2" data-entry-url="https://b.hatena.ne.jp/entry/s/tjo.hatenablog.com/entry/2022/11/21/170000" data-original-href="https://tjo.hatenablog.com/entry/2022/11/21/170000" data-entry-favicon="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F11%2F21%2F170000" data-user-icon="/users/kazoo_keeper2/profile.png">『標準ベイズ統計学』はベイズ統計学をきちんと基礎から日本語で学びたいという人にとって必携の一冊 - 渋谷駅前で働くデータサイエンティストのブログ</a><br><p style="clear: left">僕は久保拓弥 著『データ解析のための統計<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>入門』<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%E4%C7%C8%BD%F1%C5%B9">岩波書店</a>がお薦め。「最初からこれ読んどきゃよかったー!」って思いました。</p><a class="datetime" href="https://b.hatena.ne.jp/kazoo_keeper2/20221121#bookmark-4728412416244484740"><span class="datetime-body">2022/11/21 22:05</span></a></blockquote><script src="https://b.st-hatena.com/js/comment-widget.js" charset="utf-8" async></script></p><p>本文中でもリンクを張ってありますが、久保先生の通称「みどりぼん」は8年以上前の記事で取り上げていましてですね……。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2014%2F02%2F08%2F173324" title="Stanで統計モデリングを学ぶ(2): そもそもMCMCって何だったっけ? - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </div><div class="footnote"> <p class="footnote"><a href="#fn-249b6699" name="f-249b6699" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">詳細は例えばこの辺を参照のこと:<a href="https://ill-identified.hatenablog.com/entry/2017/03/17/025625">[&#x6559;&#x6750;] &#x4ECA;&#x66F4;&#x3060;&#x304C;, &#x30D9;&#x30A4;&#x30BA;&#x7D71;&#x8A08;&#x3068;&#x306F;&#x4F55;&#x306A;&#x306E;&#x304B;. - ill-identified diary</a></span></p> <p class="footnote"><a href="#fn-22e216df" name="f-22e216df" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">実は過去にこれに関するquizを出されて回答に窮したことがある</span></p> <p class="footnote"><a href="#fn-7859d53b" name="f-7859d53b" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">これは<a href="https://tjo.hatenablog.com/entry/2021/07/16/190000">&#x4EE5;&#x524D;&#x306E;&#x8A18;&#x4E8B;&#x3067;&#x7D39;&#x4ECB;&#x3057;&#x305F;Wasserman&#x306E;&#x4F8B;</a>と類似している</span></p> <p class="footnote"><a href="#fn-850db034" name="f-850db034" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">ただし状態空間モデルの勘所は未だに自分では理解できている気がしない</span></p> <p class="footnote"><a href="#fn-acb724c6" name="f-acb724c6" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://tjo.hatenablog.com/entry/2022/07/06/170000">&#x518D;&#x73FE;&#x6027;&#x554F;&#x984C;&#x306E;&#x8A71;&#x984C;</a>の際に出てきたやつです</span></p> <p class="footnote"><a href="#fn-cdd87972" name="f-cdd87972" class="footnote-number">*6</a><span class="footnote-delimiter">:</span><span class="footnote-text">例えば<a href="https://tjo.hatenablog.com/entry/2014/05/01/190346">&#x3053;&#x306E;&#x8FBA;</a>など</span></p> </div> TJO データサイエンティストという職業の10年間の変遷を振り返る hatenablog://entry/4207112889927128415 2022-10-21T19:07:00+09:00 2023-01-16T10:12:24+09:00 (Image by Gordon Johnson from Pixabay)TL;DR 今年の6月に僕自身がデータサイエンティストに転じて10年という節目の年を迎え、10月でDavenportの「データサイエンティストは21世紀で最もセクシーな職業である」HBR総説から10周年になるのを機に、この10年間のデータサイエンティストという職業の変遷を振り返ることにしました。 6月の回顧録記事でも書いた通り、僕がデータサイエンティストの仕事に就いてから今年で10年になります。最近も同じかどうかは分かりませんが、古くから「10年ひと昔」という常套句がある通りで個人的には大きな節目の年だと感じています。… <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20221014/20221014010252.png" width="1200" height="600" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span style="font-size: 80%">(Image by <a href="https://pixabay.com/ja/users/gdj-1086657/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=4911164">Gordon Johnson</a> from <a href="https://pixabay.com/images/id-4911164/">Pixabay</a>)</span></p><p><span style="font-size: 150%"><strong>TL;DR</strong></span> <em>今年の6月に僕自身がデータサイエンティストに転じて10年という節目の年を迎え、10月でDavenportの「データサイエンティストは21世紀で最もセクシーな職業である」HBR総説から10周年になるのを機に、この10年間のデータサイエンティストという職業の変遷を振り返ることにしました。</em></p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F06%2F01%2F083000" title="企業で働くデータサイエンティストになって10年が経ちました - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>6月の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B2%F3%B8%DC%CF%BF">回顧録</a>記事でも書いた通り、僕がデータサイエンティストの仕事に就いてから今年で10年になります。最近も同じかどうかは分かりませんが、古くから「10年ひと昔」という常套句がある通りで個人的には大きな節目の年だと感じています。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fhbr.org%2F2012%2F10%2Fdata-scientist-the-sexiest-job-of-the-21st-century" title="Data Scientist: The Sexiest Job of the 21st Century" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>一方で、今年の10月にはあまりにも有名な「データサイエンティストは21世紀で最もセクシーな職業である」HBR総説が出てから10周年を迎え、後述するようにDavenportは「今もデータサイエンティストは21世紀で最もセクシーな職業か?」という総説を寄稿していたりします。</p><br /> <p>ということで、6月の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B2%F3%B8%DC%CF%BF">回顧録</a>記事ではデータ分析業界全体の10年分(正確には<a href="https://tjo.hatenablog.com/entry/2017/10/17/190000">&#x524D;&#x534A;5&#x5E74;&#x5206;</a>にさらに後半5年分)の振り返りを書きましたが、今回は改めて「データサイエンティストという職業」の10年間の変遷を振り返ってみようと思います。とは言え、どちらかというとこの10年の間にこのブログで何度か書いたデータサイエンティストのキャリア論記事の振り返りに終始する感じになっているので、以前からこのブログをご愛読いただいている方々には「もう読み飽きたよ」という内容かもしれませんが、平にご容赦いただければと思います。</p><br /> <p><em>(※なおこの記事自体は公開後も何度か加筆修正されていますので、出来れば毎回最新版の内容をチェックしてくださると有難いです)</em></p><br /> <p></p> <ul class="table-of-contents"> <li><a href="#黎明期地道な分析屋の時代">黎明期:地道な「分析屋」の時代</a></li> <li><a href="#第一次ブーム見限られるのも早かったアメリカ発の珍奇で目新しい職業">第一次ブーム:見限られるのも早かった、アメリカ発の珍奇で目新しい職業</a></li> <li><a href="#第二次ブームいわゆる人工知能の担い手が社会から求められる">第二次ブーム:「いわゆる人工知能」の担い手が社会から求められる</a></li> <li><a href="#第三次ブームDXブームと共にとにかくデータサイエンティストと名乗りたい人々が殺到">第三次ブーム:DXブームと共に「とにかくデータサイエンティストと名乗りたい」人々が殺到</a></li> <li><a href="#個人的な見解本質的には強い課題意識を持って学び続けられる人に向いている仕事">個人的な見解:本質的には「強い課題意識を持って学び続けられる人に向いている仕事」</a></li> <li><a href="#最後に">最後に</a></li> </ul> <div class="section"> <h3 id="黎明期地道な分析屋の時代">黎明期:地道な「分析屋」の時代</h3> <p><br /> この時代のことは、正確に言えば僕自身も最初から居合わせていたわけではないので、全て伝聞に頼った話になります。時期としては2012年第3四半期以前で、まだ「データサイエンティスト」という言葉が日本はおろか世界的に見てもまだまだ知られていなかった頃です。</p><br /> <p>ちょっと微妙な表現かもですが、データ分析業界の古参というか「古老」の方々から聞かされてきたのは「黎明期のデータ分析は指折り数えるくらいしかいない『分析屋』による職人仕事だった」という話ですね。2010年頃までには実は現在データ分析業界で用いられるようになる<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の手法の多くが既にある程度完成されていたわけで、そこには勿論後に<a class="keyword" href="http://d.hatena.ne.jp/keyword/Deep%20Learning">Deep Learning</a>と呼ばれるようになったNN技術も含まれます<a href="#f-028c8c54" name="fn-028c8c54" title="ただしTransformerとかdiffusion modelとかは当然ありませんでしたが">*1</a>。ただ、何といってもその需要が乏しかったこともあり、古老から良く聞いたのが「そもそもデータ分析による解決が必要な仕事自体がどこの社内に行ってもなかった」という話でした。</p><br /> <p>実際、今でこそデータサイエンティストが活躍する業界の代名詞となったweb改善・デジタル広告&<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>といった業界は当時はまだそこまで隆盛を誇っておらず、もっと地道な品質管理・工程管理的な仕事をしていた人も少なくなかったようです。僕がデータ分析の仕事を始めた頃は結構「<a href="https://ja.wikipedia.org/wiki/%E5%93%81%E8%B3%AA%E5%B7%A5%E5%AD%A6">&#x30BF;&#x30B0;&#x30C1;&#x30E1;&#x30BD;&#x30C3;&#x30C9;</a>は使わないのか?」と言われたものですが、10年以上前は「データ分析」と言ったらまだまだそういう世間の認識のされ方をしていたのではないでしょうか。</p><br /> <p>僕が調べた限りでは、この頃世間で用いられていたのは「データサイエンス」という語ではなく、「<a href="https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0">&#x30C7;&#x30FC;&#x30BF;&#x30DE;&#x30A4;&#x30CB;&#x30F3;&#x30B0;</a>」という語でした。リンク先の<a class="keyword" href="http://d.hatena.ne.jp/keyword/Wikipedia">Wikipedia</a>記事にもあるように、元々1990年代に計算機性能が向上したのに伴って進歩した領域だったものの、2000年代はまだその応用先に恵まれていなかったようです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.publickey1.jp%2Fblog%2F10%2F10_3.html" title="次の10年、「統計分析」こそテクノロジー分野でいちばんホットな職業になる" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ちなみに、この頃巷で知られていたのは「次の10年でテク<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CE%A5%ED">ノロ</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>業界で注目を集める仕事は統計分析だ」というフレーズでした。特に<a href="https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%AB%E3%83%BB%E3%83%B4%E3%82%A1%E3%83%AA%E3%82%A2%E3%83%B3">Hal Varian</a><a href="#f-f2391cac" name="fn-f2391cac" title="Halには2017年にMountain Viewまで直接会いに行ってきました">*2</a>が<a class="keyword" href="http://d.hatena.ne.jp/keyword/New%20York%20Times">New York Times</a>に語ったこのコメントについては実は僕も初めての企業転職をしていた頃に聞き知ってはいて、実際に各社の採用面接に臨むに当たってアカリクのTさんからの勧めもあって自己PRのネタにしていました。まぁ、今にして思えば「脳研究で<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>を使っていたので統計分析には自信があります!」なんていうのは途方もない誇大広告だったわけですが(笑)。</p><br /> <p>一方で、黎明期の中でも最後の方に当たる2010年頃はちょうど<a class="keyword" href="http://d.hatena.ne.jp/keyword/Hadoop">Hadoop</a>がデジタル事業を手掛ける企業各社に広まりつつあった頃で、当時は必然的に「データ分析屋=<a class="keyword" href="http://d.hatena.ne.jp/keyword/Hadoop">Hadoop</a>が使える人」という暗黙のコンセンサスがあったように記憶しています。皆さんご存知の通り<a class="keyword" href="http://d.hatena.ne.jp/keyword/Hadoop">Hadoop</a>は<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>で実装されていますが、そこから「データ分析屋=<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>が書ける人」という連想があったせいか当時のデータ分析業務に関わっていた人の多くが<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>使いだったという印象があります。<a href="https://www.cs.waikato.ac.nz/ml/weka/">Weka</a>という<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>ベースの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF">フレームワーク</a>がありますが、その点で当時は割と広く使われていたような気がします。しかし何と言っても、当時はまだ統計分析も<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>もライブラリ・パッケージ類の整備がそこまで進んでいなかったこともあり、「とにかく<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>である程度書ける」というのがスキル要件だったのではないでしょうか。特に直接<a class="keyword" href="http://d.hatena.ne.jp/keyword/MapReduce">MapReduce</a>を書けるというスキルは物凄く重宝されていたように思います。</p><br /> <p>ところで、Rや<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>そのものは当時既にある程度データ分析業界で市民権を得つつあったようです。実際、<a href="https://tokyor.connpass.com/">TokyoR</a>や<a href="https://sites.google.com/site/tokyowebmining/home">Tokyo Webmining</a>といった有名勉強会はこの黎明期の頃から既にあり、黎明期のデータ分析業界人たちが集まっていたと聞きます。ただ、上記のようにまだどちらの言語も現在ほど多彩な統計分析・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の最新手法パッケージに恵まれた時代ではなかった<a href="#f-a1b07663" name="fn-a1b07663" title="例えばScikit-Learnも当時は今ほど機能が充実していなかった記憶があります">*3</a>はずで、既にお忘れの方もいるかもしれませんがTokyoSciPyという「SciPyの勉強会」もあったぐらいでした。当時はまだまだのんびりと皆が勉強したり、実装したりした体験を共有し合っては親睦を深めるといった感じの、牧歌的な時代だったように記憶しています。</p><br /> <p>以上の事情を総合すると、当時のデータサイエンティストはまだ「データサイエンティスト」とは呼ばれておらず、個々の現場における「分析屋」として時に<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>を書いて<a class="keyword" href="http://d.hatena.ne.jp/keyword/Hadoop">Hadoop</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%B9%A5%BF">クラスタ</a>を管理したり、また時にRなり<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>なりで<a class="keyword" href="http://d.hatena.ne.jp/keyword/Hadoop">Hadoop</a>(もしくは<a class="keyword" href="http://d.hatena.ne.jp/keyword/MySQL">MySQL</a>などのDB)で集計・抽出したデータをデスクトップで扱える範囲で細々と分析をしていた、のではないかと思われます。職業としてもそこまで魅力的と広くみなされていた形跡は特になく、現場によっては一種のオタク的な扱い方をされていた人も多かったのではないでしょうか。データ分析職を部門としてまとめて整備していたのは、ソシャゲ事業者などごく一部に限られていたという印象です。</p><br /> <p>なお、僕が「データサイエンティスト」の肩書きを前々職で得たのは2012年の6-7月ぐらいの頃です。後述するDavenportのHBR総説が公開されるよりも3ヶ月以上前のことで、当時そんな言葉があるということ自体を僕は全く知らず、唐突にそんな肩書きを僕に付与した当時のCTOはつくづく慧眼であったと思います。また2010年以降になるといわゆるソシャゲ事業の隆盛もあり、web解析・改善といった領域におけるデータ分析のニーズが高まっていったものと見られます。<br /> <br /> </p> <blockquote> <p><strong>追記</strong></p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fstarpentagon.net%2Fanalytics%2Fweekly_230101%2F" title="週記(23/01/01週):データサイエンティストという職業の1X年を振り返る | 有意に無意味な話" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fnote.com%2Fcoding%2Fn%2Fn359c26970869" title="企業の研究開発文脈とデータサイエンス/データサイエンティストのこれまで|KY研究所@CoderDojo横浜港北ニュータウンやってます|note" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>この記事を受けて、2008-09年頃の業界事情をブログでご紹介してくださった方々がいらっしゃいます。当時の状況が非常に良く分かる内容ですので、是非ご一読ください。</p> </blockquote> </div> <div class="section"> <h3 id="第一次ブーム見限られるのも早かったアメリカ発の珍奇で目新しい職業">第一次ブーム:見限られるのも早かった、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%E1%A5%EA">アメリ</a>カ発の珍奇で目新しい職業</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fhbr.org%2F2012%2F10%2Fdata-scientist-the-sexiest-job-of-the-21st-century" title="Data Scientist: The Sexiest Job of the 21st Century" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2013%2F12%2F02%2F192033" title="Thomas H. Davenportのデータサイエンティストに関するHarvard Business Reviewの記事を改めて読んでみる - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>2012年10月に、Davenportがあまりにも有名な「データサイエンティストは21世紀で最もセクシーな職業である」という総説をHBRに寄稿します。諸説ありますが、個人的にはこの時をもって「データサイエンティスト」という職業が全世界に認知された瞬間だと理解しています。この総説は2013年2月に翻訳されてHBR日本語版に掲載され、4ヶ月遅れで日本でもデータサイエンティストの一大ブームが沸き起こります。第一次データサイエンティストブームの到来です。あまりにも有名な「データサイエンティストに必要なのは『ビジネス力』『データサイエンス力』『データエンジニアリング力』の3つの要素」という言説が生まれたのもこの頃です。</p><br /> <p><iframe src="https://www.slideshare.net/slideshow/embed_code/key/bbbdmhkEhcJ8Ks" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="https://www.slideshare.net/takashijozaki1/21-21583073" title="21世紀で最もセクシーな職業!?「データサイエンティスト」の実像に迫る" target="_blank">21世紀で最もセクシーな職業!?「データサイエンティスト」の実像に迫る</a> </strong> from <strong><a href="https://www.slideshare.net/takashijozaki1" target="_blank">Takashi J OZAKI</a></strong> </div> </p><p>参考までに2013年の前々職在籍時に講演した時の資料を貼っておきます。当時の「データサイエンティスト」像がどんなものであったかがお分かりいただけるかと思います。</p><br /> <p>同じ時期にはこのブームに乗ってナントカ協会が創設されていますし<a href="#f-cbabf6ae" name="fn-cbabf6ae" title="僕も創設時の発起人名簿に名前を連ねています">*4</a>、一方でIT関連メディアに「データサイエンティストが分析した〇〇」といった<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C4%F3%C5%F4%B5%AD%BB%F6">提灯記事</a>が流れたりするようになっていった記憶があります。ちなみに僕がこのブログを開設したのも2013年の3月末のことで、まさに第一次データサイエンティストブームの真っ只中でした。このブログのおかげで僕は既に黎明期から築き上がりつつあったデータサイエンティスト業界で名を知られるようになり、まだ2年目の新参者ながらTokyoR, Tokyo Webminingといった勉強会に呼ばれて登壇したり、また業界の実力者の人々との交流を深めるようになりました。</p><br /> <p>経済メディアやIT関連メディアで喧伝された話題とは裏腹に、当時データサイエンティストが活躍していた業界と言えばweb解析・改善(その後アプリ改善へとシフトしていった)やコンサル・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>界隈、業種であればeコマースやアドテクさらにはソシャゲ辺りが多かったと記憶しています。データサイエンティストたちが集まる勉強会で参加者の顔ぶれを見渡してみても概ねそれらの業界の人たちが占めており、少なくともそれらの技術コミュニティにおける様々なコンセンサスは<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CE%C9%A4%AB%A4%EC%B0%AD%A4%B7%A4%AB%A4%EC">良かれ悪しかれ</a>それらの業界における共通認識の影響があったように思います。例えば、相変わらず<a class="keyword" href="http://d.hatena.ne.jp/keyword/Hadoop">Hadoop</a>とその関連技術<a href="#f-7e5bccb6" name="fn-7e5bccb6" title="特に分散処理周り">*5</a>は大きなウェイトを占めていましたし、加えてこの頃からRと<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>がデータ分析向けの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%C0%B8%EC">プログラミング言語</a>として広く認知されるようになったという印象があります。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2013%2F06%2F10%2F190508" title="Webデータ分析&データサイエンスで役立つ統計学・機械学習系の分析手法10選 - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>このブログで初めて<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A5%D6">はてブ</a>1000超えを記録した記事をお読みいただけば、当時の雰囲気がどのようなものであったかを何となく感じていただけるのではないでしょうか。2022年の今現在から見ると臍で茶を沸かすような項目のオンパレードですが、この頃はまだ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%E9%A5%A6%A5%C9">クラウド</a>もそれほど普及しておらず、オンプレのサーバで事業を回し、ローカルの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%BF%A5%F3%A5%C9%A5%A2%A5%ED%A5%F3">スタンドアロン</a>環境でデータ分析をするというのが当たり前だったことを鑑みれば、データ分析と言えば往々にしてこんな感じのものだったのです。即ち、事業システムから<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A1%BC%A5%B1%A5%C6%A5%A3%A5%F3%A5%B0">マーケティング</a>に関わるユーザー行動ログを取ってきて、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Hadoop">Hadoop</a>で集計したデータテーブルをローカルのRStudioに入れて、様々な多変量解析を行なって事業改善のための<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B5%A5%A4%A5%C8">インサイト</a>を導き出し、その<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B5%A5%A4%A5%C8">インサイト</a>をまとめた資料を事業チームに提供して、実際にビジネスの現場を変えていく……そんなことを僕もやっていたものでした。</p><br /> <p>……という雰囲気の中、データサイエンティスト業界にはにわかに降って沸いた大フィーバーに煽られてどんどん多くの人が新規参入してくる日々が続いたのですが、2014年ぐらいになると潮目が変わってきます。その当時の状況を明快に喝破した文章が、意外にも<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2">技術評論社</a>さんのサイトに載っています。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgihyo.jp%2Fbook%2Fpickup%2F2016%2F0054" title="データサイエンティストは幻の職業か?:新刊ピックアップ" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> </p> <blockquote> <p>技術的な内容に触れていない書籍をたよりにデータサイエンティストを志した方は,残念としか言いようがありません。</p> </blockquote> <p>端的に言えば、軽薄なブームに煽られて我も我もとデータサイエンティスト職に就いた人々の多くがプログラミングなどの技術的基礎を持っていなかったせいで、データ分析の現場ならどこであっても求められるような最低限のIT業務もできない人たちが続出したということですね。<a href="https://tjo.hatenablog.com/entry/2016/09/21/190000">&#x4EE5;&#x524D;&#x306E;&#x8A18;&#x4E8B;</a>でも取り上げたように、先述したデータサイエンティストの3要素を引き合いに出して「データサイエンティストにはビジネス力が必要」を曲解して「ビジネス力さえあればデータサイエンティストを名乗ってOKッ!」という謎ムーブメントも起きたぐらいなのです。そして実際、この頃多発した「なんちゃってデータサイエンティスト」が各種メディアなどで開陳していた「分析(と称するもの)」には浅薄なものが目立ち、IT/tech業界関係者からは散々に嘲笑されたものでした<a href="#f-a2b79183" name="fn-a2b79183" title="僕自身の低レベルな情報発信もその風潮を助長した可能性は否定できませんがorz">*6</a>。当時は冗談でも何でもなくて「データサイエンティストを名乗るのは恥だ」という風潮が広まり<a href="#f-be56b8b7" name="fn-be56b8b7" title="当時はこんな感じのブログ記事もありました→[https://negative.hateblo.jp/entry/2013/11/15/213045:title]">*7</a>、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a>では「やーいお前の父ちゃんデータサイエンティスト」と煽られたなんていうジョークまでが流れたくらいです。</p><br /> <p>ただし、そういう事態に至ったもう一つの理由として「データサイエンティスト=スー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%DE%A5%F3">パーマン</a>説」が当時は根強かったということもあるのではないかと思っています。即ち「データサイエンティストである以上はビジネス力・データサイエンス力・データエンジニアリング力の全てを併せ持つスー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%DE%A5%F3">パーマン</a>であるべき」という、それこそDavenportのHBR総説でも提唱されていた非現実的なスキル要件ですね。「非現実的」と既に書いている通りでそんなものは未だもって<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B3%A8%B6%F5%BB%F6">絵空事</a>なわけですが、当時は大真面目にあらゆるところで喧伝されていたものでした。そういう風潮があるが故に「お前データサイエンティストなんだって?だったら世間で良く言われる通りお前もスー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%DE%A5%F3">パーマン</a>なんだろ?え?スー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%DE%A5%F3">パーマン</a>じゃない???じゃあ何でデータサイエンティストなんて名乗ってるんだよ」と叩かれるようなパターンもまた結構あったように思います。これもまた「データサイエンティストとは名乗りたくない人々」が続出した原因だったのではないでしょうか。</p><br /> <p><iframe src="https://www.slideshare.net/slideshow/embed_code/key/JPH8bLcHr8mENt" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="https://www.slideshare.net/takashijozaki1/hcmpl140712-tjo" title="データ分析というお仕事のこれまでとこれから(HCMPL2014)" target="_blank">データ分析というお仕事のこれまでとこれから(HCMPL2014)</a> </strong> from <strong><a href="https://www.slideshare.net/takashijozaki1" target="_blank">Takashi J OZAKI</a></strong> </div> </p><p>同じ頃、前職在籍当時の2014年夏の<a href="https://hackers-champloo.org/">&#x30CF;&#x30C3;&#x30AB;&#x30FC;&#x30BA;&#x30C1;&#x30E3;&#x30F3;&#x30D7;&#x30EB;&#x30FC;</a>で話した時の資料がこちらです。前々職での講演からたったの1年ちょっとしか経っていないのに、もうデータサイエンティストを「オワコン」呼ばわりしているという有様で、当時の雰囲気がお分かりいただけるかと思います。</p><br /> <p>また、今にして思えば当時はまだまだ後の世に言うDXが進んでいない企業が多く、折角データ分析しようにもそもそもデータが用意されていないという現場の方が明らかに多数派だったようです。「プログラミングもまともに出来ないデータサイエンティストもどきを集めたデータ分析部門」と「データをろくろく用意できない企業」との<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B0%AD%CB%E2%B9%E7%C2%CE">悪魔合体</a>がそこかしこで生じた結果、何の成果も挙げられないデータサイエンティストなんて抱えるだけ無駄だとばかりにデータ分析部門を閉鎖する企業が相次いだのもこの頃です。</p><br /> <p>結果的に第一次データサイエンティストブームは「データサイエンティスト」という単語を社会に広めたところで急速に萎み、いきなり「幻滅期」に突入して終了してしまいました。後に残ったのは「データサイエンティスト=口先ばかりの紛い物」という有難くない負のイメージと、データサイエンティストとは名乗りたくないがデータ分析の仕事は地道に続けているという、黎明期からの古参たちだけでした。ちなみにその頃の僕はどうしていたかというと、2013年に前職に移り、その後第一次ブームが萎んだ後の2016年に現職に移っています。「名乗るのも恥」とまで言われていたデータサイエンティストという肩書きを、会社指定のものとして一貫して使っていた変わり者だったのです。</p><br /> <p>一方で、「データサイエンティスト」という単語そのものが社会に広まったこともあり、2015年頃を境にして「新卒入社でいきなりデータサイエンティストとして採用される」いわば生え抜きデータサイエンティストが登場するようになります。彼らの多くは大学・大学院の情報学や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%D7%CE%CC%B7%D0%BA%D1%B3%D8">計量経済学</a>といった専攻の出身者で<a href="#f-3afe2b1d" name="fn-3afe2b1d" title="もっとも当時はデータサイエンス学部というものは主流ではなかったので主に工学部・理学部などが多かった">*8</a>、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>などの専門教育を受けた上で参入してきており、中には以後の時代の中核を担う存在になっている人たちもいます。ただし、その割合は<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BE%AF%BB%D2%B2%BD">少子化</a>の進行もあっていつでもそれほど大きいものではなく、多数派を占めて業界の潮流を大きく変えるには至っていないように感じています。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2015%2F03%2F13%2F190000" title="データサイエンティストというかデータ分析職に就くための最低限のスキル要件とは - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>余談ながら。このブログで最初の「データサイエンティストのスキル要件」記事を書いたのも第一次ブーム後の幻滅期真っ只中だった2015年のことです。今でもこのブログの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A5%D6">はてブ</a>最多記録を保っている記事ですが、ご覧の通りでこの時はまだ「データサイエンティスト」単体のスキル要件しか解説しておらず、まだ「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア」という概念は出てきていません。</p><br /> <p>というのは、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野においては2006年の<a class="keyword" href="http://d.hatena.ne.jp/keyword/Deep%20Learning">Deep Learning</a>(深層学習)の登場によるNeural Network(NN: <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%E9%A5%EB%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF">ニューラルネットワーク</a>)の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%FC%B8%A2">復権</a>、2012年のILSVRCにおけるAlexNetの圧勝がもたらしたNN技術の躍進、その後Caffe, Chainer, TensorFlowなどの登場がもたらした「<a class="keyword" href="http://d.hatena.ne.jp/keyword/OSS">OSS</a>のNN時代」の到来があったものの、まだ社会の側に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>単体での社会実装へと繋がる下地が乏しかったからです。2015年以降のKaggle / <a class="keyword" href="http://d.hatena.ne.jp/keyword/KDD">KDD</a> cupなどの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>コンペにおける日本人たちの活躍も、この頃はまだまだ社会に広く知られる話題ではなかった気がしています。「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア」という概念を僕が提唱するようになったのは、この後に述べる第二次ブーム以降のことです。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="第二次ブームいわゆる人工知能の担い手が社会から求められる">第二次ブーム:「いわゆる<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>」の担い手が社会から求められる</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwired.jp%2F2016%2F03%2F20%2Fabout-alphago%2F" title="AlphaGo記事のまとめ:AIが人類に勝つ以前の世界と、以後の世界" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>2016年の3月に、一つの革命的事件が起きます。それは、<a class="keyword" href="http://d.hatena.ne.jp/keyword/DeepMind">DeepMind</a>の開発した深層<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B6%AF%B2%BD%B3%D8%BD%AC">強化学習</a>システムであるAlphaGoが当時の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B0%CF%B8%EB">囲碁</a>における世界トップ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%FD%BB%CE">棋士</a>との5番勝負に勝利し、「チェスや将棋とは違って最後まで人類の方がコンピュータよりも強い」と言われ続けてきた<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B0%CF%B8%EB">囲碁</a>においてもコンピュータが優位であると決定づける、画期的な成果でした。この「事件」を機に世の中には「シンギュラリティ」に関する議論が沸き起こり、急速に「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>」という言葉とその概念(さらには不安と懸念と恐怖)が社会に浸透していきます。果ては某超有名昭和的サラリーマン漫画にまで「天才インド人研究者が作った謎の小箱に入ったAI」なるものが登場した<a href="#f-9c663bfa" name="fn-9c663bfa" title="[https://kabumatome.doorblog.jp/archives/65857192.html:title]">*9</a>ほどで、いかに<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>なるものが急速に人口に膾炙したかが良く分かります。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2016%2F05%2F15%2F130000" title="「人工知能」ブームに乗り遅れた!という方々に捧げる人工知能(機械学習)まとめ記事 - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>このブログでも俄かに沸き起こった<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>ブームに合わせて解説記事を書いたのですが、たまたま<a class="keyword" href="http://d.hatena.ne.jp/keyword/NHK%A5%B9%A5%DA%A5%B7%A5%E3%A5%EB">NHKスペシャル</a>で<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>の進化について解説した番組が放映されるタイミングにかぶったせいか、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A5%D6">はてブ</a>1000超えを記録しています。ともあれ、2016年を境にして日本の国内外を問わず一挙に沸騰した<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>ブームは、文字通り世界を変えていくことになります。</p><br /> <p>そして、このタイミングで再び「データサイエンティスト」が脚光を浴びることになります。即ち「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>のスキルを持つデータサイエンティストが<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>を開発して世にリリースしていく」というイメージが醸成されていったことで、すっかり幻滅期に落ち込んで見る影もなかったデータサイエンティストという職業が息を吹き返していったのでした。折りしも、Kaggleのトップランカーたちを高待遇で採用するという大手企業が何社も現れたことで「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>)に強いデータサイエンティストは稼げる!」という世評も広まったようで、再びデータサイエンティストを目指す人々が増えていきました。第二次データサイエンティストブームの到来です。</p><br /> <p>しかし、第二次ブームでは以前と違ってとにかく「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>を駆使して<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>を作る」人材が求められるようになり、自ずとそのスキル要件も従来のデータサイエンティストとは異なるものになっていっているというのが僕の個人的な観測でした。これに基づき、「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア」という新たな概念を提唱したのが2017年のスキル要件記事です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2017%2F06%2F25%2F185426" title="データサイエンティストもしくは機械学習エンジニアになるためのスキル要件とは(2017年夏版) - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>この記事以降、僕は「データサイエンティスト=アナリストの延長」「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア=エンジニアの延長」というコンセプトを提唱するようになりますが、これは個人的には我ながら上手いまとめ方をしたなと勝手に思っています(笑)。実際問題、この頃からデータ分析職というと「アウトプットする先がヒト」であるアナリスト側と「アウトプットする先がシステム」であるエンジニア側とに分かれていったという印象があるので、この分類は割と実態に即していたのではないでしょうか。</p><br /> <p>ただ、実際の企業社会では依然としてこの二者はごっちゃにされてひとまとめに「データサイエンティスト」として募集・採用されることが多かった記憶があり、それによる混乱も結構あったようです。<a class="keyword" href="http://d.hatena.ne.jp/keyword/SNS">SNS</a>などに流れてくる日本の会社のデータサイエンティスト募集要項の中に「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>を用いてデータを分析して経営陣にレポートを提出する」みたいなものを見つけた時は、流石に僕も笑うしかなかったですね。</p><br /> <p>データサイエンティストにせよ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニアにせよ、第二次ブームで人材需要の主たる業界となったのは第一次ブームに引き続いてアドテク・eコマース・コンサル界隈と、さらにこの頃から増えてきたtech系スタートアップ界隈だったように思います。平たく言えば「デジタルのデータが事業の主流を占める」業界ということで、やはりデータの取れる現場でないとこれらのデータ分析職はまだまだ機能しないということだったのでしょう。</p><br /> <p>結果から言うと、業界全体としての進歩はありながらも2019年頃には「やっぱり<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>(AI)の事業応用は難しいよね」という風潮が濃淡はありながらも広がっていった印象があり、一時の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>ブームにはやや翳りが見えてきたというのが現場の肌感覚でした。もっともこの頃はまだML <a class="keyword" href="http://d.hatena.ne.jp/keyword/Ops">Ops</a>の考え方も広まっておらず、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>システムの開発を既存のソフトウェアエンジニアリングと同じレベルで整備・推進するための枠組みもまだ道半ばだったように思います。</p><br /> <p>ただ、その一方で「データサイエンティストの仕事=<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>)システムを作る」という先入観がこの第二次ブームで生まれ、その後定着したのも事実だと思います。少なくとも、この頃の各種メディアや<a class="keyword" href="http://d.hatena.ne.jp/keyword/SNS">SNS</a>などで流布される「データサイエンティストとは」論の大半が「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B9%A9%C3%CE%C7%BD">人工知能</a>」「AI」「深層学習」といったキーワードで埋め尽くされたものばかりであったと記憶していて、「データサイエンティスト=アナリストの延長」というイメージは弱まっていき、入れ替わりで「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア=データサイエンティスト」というイメージがどんどん強まっていったという印象が強いです。もっともこれには当事者たちの志向も影響していたかもしれないという気がしています。理由は単純で、アナリストの延長として「ヒトに対してアウトプットする」のは何だかんだでコミュニケーションコストを費やすので面倒だと、またエンジニアの延長として「システムに対してアウトプットする」方がずっと楽だと思う人が多かったからではないかと。</p><br /> <p>これらの世の趨勢もあり、過熱していた第二次ブームは「エンジニアの延長たる<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニアが常に一定レベルで求められる」という定常的な需給状態へと移行し、一旦沈静化したものと僕個人は見ています。しかし、ほんの1年経ったところで人類は地球レベルの未曾有の危機に見舞われ、データサイエンティスト業界もその影響を大きく受けることになります。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%B7%B7%BF%A5%B3%A5%ED%A5%CA%A5%A6%A5%A4%A5%EB%A5%B9">新型コロナウイルス</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A5%F3%A5%C7%A5%DF%A5%C3%A5%AF">パンデミック</a>の到来です。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="第三次ブームDXブームと共にとにかくデータサイエンティストと名乗りたい人々が殺到">第三次ブーム:DXブームと共に「とにかくデータサイエンティストと名乗りたい」人々が殺到</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F12%2F28%2F170000" title="人類未曾有の危機に抗いながら、前を向く - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>この記事を書いている間も現在進行中であるCOVID-19<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A5%F3%A5%C7%A5%DF%A5%C3%A5%AF">パンデミック</a>は、文字通り世界中のあらゆる人々に大きな影響を及ぼし、時に社会のあり方全体をも変革するほどの、まさに人類史に残る大事件となりました。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fja.wikipedia.org%2Fwiki%2F%25E3%2583%2587%25E3%2582%25B8%25E3%2582%25BF%25E3%2583%25AB%25E3%2583%2588%25E3%2583%25A9%25E3%2583%25B3%25E3%2582%25B9%25E3%2583%2595%25E3%2582%25A9%25E3%2583%25BC%25E3%2583%25A1%25E3%2583%25BC%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%25B3" title="デジタルトランスフォーメーション - Wikipedia" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>そんな<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A5%F3%A5%C7%A5%DF%A5%C3%A5%AF">パンデミック</a>下において急速に拡大したのがリモートワーク。特に各地の当局がロックダウンなり外出制限なりをかけた場合はどうしても職場に出社もできず、家で働くしかないわけです。しかし、世の中の多くの企業は社員全員にリモートワークをさせたくても、例えばハンコを押さなければいけないとか紙の書類を処理しなければならないといった理由で、ままならないことも多かったようです。そこで日本社会で幅広く叫ばれるようになったのが"DX" (Digital Transformation)でした。これは端的に言えば企業の業務の「デジタル化」「IT化」を目指すものであり、例えば日本政府がデジタル庁を設立したのはその最も象徴的な出来事と言えるでしょう。まさしくDXブームの到来です。</p><br /> <p>で、ここからが良く分からないのですが「DXにはデータサイエンティストが(も)必要だ」という世論がじわじわ広がっていって、コロナ禍の中にあってもデータサイエンティストの需要が旺盛になっていったようです。DXブームによって程度問題ながらも多くの企業に「デジタルデータ」が新たに生まれるようになり、これを分析したら何か良いことがあると思う経営者やマネジメント層が増えたということもあるのでしょう。いずれにせよ、様々な就職・転職斡旋サービスに「データサイエンティスト」の職名を冠した求人募集が多く出回るようになったようです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F07%2F27%2F170000" title="データサイエンティストに王道無し - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>この流れに沿って生まれたのが、あえてネタ元の表現を借りると「未経験から3ヶ月でデータサイエンティストになって一発逆転」<a href="#f-df061e98" name="fn-df061e98" title="[https://todes-mentor.hatenablog.com/entry/help_todesko:title]">*10</a>を目指そうという人々、即ち「データサイエンティスト<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EF%A5%CA%A5%D3%A1%BC">ワナビー</a>」でした。恐らくこれは「未経験からwebエンジニアになって一発逆転」<a href="#f-d40e2c0e" name="fn-d40e2c0e" title="[https://zenn.dev/wawoon/articles/891663eda370bc:title]">*11</a>と同じ流れに属するトレンドで、要は「コロナ禍でもリモートワークが出来て尚且つ高給にも恵まれる<a href="#f-149ca75d" name="fn-149ca75d" title="[https://www.sankei.com/article/20200110-AJVI427SIBLMPHA6ZOZXDQRZ4Y/:title]">*12</a>割に新しい職業なので未経験者でも就くのが簡単と思われる」仕事の人気が沸騰するという現象なのだと思われます。この現象について、旧知のしんゆうさんは「データサイエンティストと名乗りたい人々」のブームだと喝破されていますが<a href="#f-32dfb247" name="fn-32dfb247" title="[https://note.com/shinu/n/nd6ec9af9ca04:title]">*13</a>、僕も大いに同意するものです。ともあれ、この現象はコロナ禍にあってもデータサイエンティストになりたいという人々を沢山引き寄せ、至るところでデータサイエンティストスクールやオンライン講座が大盛況になったり、某協会が主催する最初歩レベルの検定試験にも志願者が殺到するという帰結を産みました。第三次データサイエンティストブームが到来したというわけです。</p><br /> <p>この記事を書いている2022年10月現在も、第三次ブームは現在進行中です。<a class="keyword" href="http://d.hatena.ne.jp/keyword/SNS">SNS</a>を眺めていると毎日掃いて捨てるほどの「これからデータサイエンティストを目指します!」という声を見かけますし、ブラウザなりアプリなりを開けば「あなたもデータサイエンティストになれる!」というデータサイエンティストスクールやオンライン講座の広告が山ほど舞い込んできます。僕のところにも「副業でデータサイエンティストスクールの講師をやりませんか」という<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%D1%A5%E0%A5%E1%A1%BC%A5%EB">スパムメール</a>が様々な媒体経由で日々流れてきますし、毎日呆れるばかりです。</p><br /> <p>ただ、正直に言ってこの現状は極めて歪んでいるなと感じています。理由は極めて簡単で、かつてのゴールドラッシュで儲かったのが「金を掘っていた人々」ではなく「金を掘る人々に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>ンズやツルハシを売っていた人々」であったのと同じように、「データサイエンティストになろうとしている人々」よりもどう見ても「データサイエンティストになりたい人々に情報や教育コンテンツや資格認定を売る」人々の方が儲かっているように見受けられるからです。つまり、第三次ブームはゴールドラッシュと大差ないということですね。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F07%2F15%2F173000" title="機械学習や統計学を「社会実装」するということ - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>一方で、データサイエンティスト(そして<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア)の主たる業務とも言える「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の社会実装」においては、以前の記事でも指摘したように未だもって非常に大きな課題が山積したままです。特に第一次・第二次ブームで既にそれらの導入が済んでいる現場ならまだしも、DXブーム以降の第三次ブームで導入しようとしている現場は文字通りゼロからのスタートになるはずで、その大変さたるや想像を絶するものがあると思われます。結構な熟練の手練れのデータサイエンティストでも手を焼いたという話を伝聞ながらちらほら聞きますので、そういった現場にいきなり投入される<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C2%A5%C0%AE%BA%CF%C7%DD">促成栽培</a>のデータサイエンティスト(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EF%A5%CA%A5%D3%A1%BC">ワナビー</a>)たちにとっては地獄の悪夢になるのではないでしょうか。</p><br /> <p>ということで、個人的には「情報や教育コンテンツや資格認定を売りさばく人々」が喧伝するような「バラ色のデータサイエンティスト人生」にありつけなかった、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C2%A5%C0%AE%BA%CF%C7%DD">促成栽培</a>のデータサイエンティスト(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EF%A5%CA%A5%D3%A1%BC">ワナビー</a>)たちが沢山出てくるようになった日には、一気にこの第三次ブームも幻滅期を迎えて萎んでいくのではないかと予想しています。良いか悪いかという意味でいうと、確かにデータサイエンティスト業界に対して何であれネガティブなイメージが新たに付け加わるという意味ではあまり良くない話ではありますが、第一次ブームの時に「名乗るだけでも恥」とまで言われたことを考えれば大した話でもないのかな、と思う次第です。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fhbr.org%2F2022%2F07%2Fis-data-scientist-still-the-sexiest-job-of-the-21st-century" title="Is Data Scientist Still the Sexiest Job of the 21st Century?" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ところで、第一次ブームの火種となったHBR総説を著したDavenportは10年後の答え合わせとして新たなHBR総説を寄稿しています。その内容をごく簡単に要約すると、</p> <blockquote> <ul> <li>より制度化(職制としても教育としても)が進んだ</li> <li>様々な職種への分化が進んだ</li> <li>技術の進歩で仕事の進め方が変わった</li> <li>倫理(公平性など)面の課題が増えた</li> </ul> </blockquote> <p>というものです。その意味では、確かにこの10年でデータサイエンティスト業界は質的な側面においては非常に大きく変化したように個人的には感じています。他方で、量的な側面即ち「人材の需要」という点では依然としてそこまで増えていないという感触があります。勿論これは僕が見ている世界が狭いだけの可能性がありますが、少なくとも個人的な観測範囲では「優秀なデータサイエンティスト(及びデータ関連職)がごく少数いれば良い」とする現場・組織がまだまだ多い<a href="#f-9e3386be" name="fn-9e3386be" title="客先常駐メインのコンサルとかはまた別">*14</a>気がしています。</p><br /> <p>あえて言うなれば、10年経ったことで「社会からのデータサイエンティストの認知は年々広まりつつある」ということだけは間違いないでしょう。仕事でもプライベートでも、声をかけてきた人がどこそこのデータサイエンティストだった、というシチュエーションに出くわす頻度は年々増えていっています。流石に「どの企業のどの現場に行っても必ずデータサイエンティストがいる」とまでは言わないにせよ、主要な大企業に行けば多かれ少なかれ最低1人はデータサイエンティストがいる、という感じにはなりつつあるようです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2020%2F05%2F23%2F134437" title="新型コロナウイルス不況でデータサイエンティスト・機械学習エンジニアは失業するのか - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>後は、どれくらいデータサイエンティストたちがその価値を発揮できるかにかかっているのでしょう。これまた以前の記事でも書いたように、コロナ禍初期の不況に見舞われた<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%E1%A5%EA">アメリ</a>カのtech業界ではデータサイエンティスト・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニアの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EC%A5%A4%A5%AA%A5%D5">レイオフ</a>が相次いだわけですが、その理由がやはり「必ずしもビジネスに貢献していないから」だったというのは象徴的だと思っています。現在進行中の第三次ブームも、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A6%A5%AF%A5%E9%A5%A4%A5%CA">ウクライナ</a>危機とそれに伴うエネルギー危機そして極端なドル高に由来する世界経済の混乱の中で、どのように推移していくかは全く読めない状況です。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="個人的な見解本質的には強い課題意識を持って学び続けられる人に向いている仕事">個人的な見解:本質的には「強い課題意識を持って学び続けられる人に向いている仕事」</h3> <p><br /> ここまで「データサイエンティストという職業」の10年間の変遷を振り返ってみましたが、3回あった(過熱した)ブームのいずれにおいても必ず話題に上っていたのが「データサイエンティストになるための資質」でした。これはぶっちゃけ時代ごとに結構違いがあるんですが、ここでは僕自身の個人的な見解を開陳しておきます。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2019%2F11%2F17%2F223313" title="全くのゼロから「駆け出しデータサイエンティスト」を育てる方法論 - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>3年前に書いた記事では当時組織したばかりのサブチームで駆け出しデータサイエンティストたちをト<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EC%A1%BC%A5%CB%A5%F3">レーニン</a>グした経験を簡単にまとめましたが、その時にやはり再認識したのが「データサイエンティストとして活躍し続けられるための資質」でした。これは物凄く単純で、記事中でも書いたように「強い課題意識を持って学び続けられること」に尽きるんですよね。言い換えると「強い内発的動機を持っている」ということです。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2021%2F05%2F14%2F180344" title="何故データサイエンティストになりたかったら、きちんと体系立てて学ばなければならないのか - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>というのは、去年書いた記事でも指摘したようにデータサイエンティストの仕事というのは「学び続けなければ務まらない」代物だからです。確かに、決められた手順を踏んで分析したり予測モデルを構築したりするのは、手順さえ覚えれば出来ます。しかし、いざそれが上手くいかなかった時に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A5%E9%A5%D6%A5%EB%A5%B7%A5%E5%A1%BC%A5%C6%A5%A3%A5%F3%A5%B0">トラブルシューティング</a>を行うには、往々にしてそれらの分析や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>の根底にある理論や性質を理解している必要があります。理由としては、汎用的なソフトウェアの開発などの出力は程度問題ながら「確定的」に振る舞う一方で、統計分析や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>の出力は「確率的」に振る舞うからです。つまり、コーディングや実装だけではそれらの挙動をコン<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A5%ED%A1%BC%A5%EB">トロール</a>することが出来ないことがあり、それでもコン<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A5%ED%A1%BC%A5%EB">トロール</a>するためにはそれ以外の部分にアプローチする必要があるというわけです。</p><br /> <p>言い換えると、これは「上っ面のノウハウを覚えただけでは上手くいかないことが多い」という話でもあるんですね。だからこそいわゆるtech giantsと呼ばれる企業のデータサイエンティスト採用審査では単に過去実績を問うだけでなく、例えば教育歴(計算機科学系や応用<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>系の学位など)を求めたり実地課題(コーディング面接やケース面接など)を課したりするわけです。この辺の話は毎回ブームになる度に「そんなのどうでもいいから今流行りの人気職業にもっと人を呼び込もう」というムードに流されてしまっている気がしますが、同時にその度ごとに「雇ってみたけどやっぱりダメだった」みたいな失敗談がそこかしこに湧いてくるのを見かけるので、いい加減皆さん反省した方が良いのではないかと思うのです。面倒であっても、ある程度のクオリティコン<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A5%ED%A1%BC%A5%EB">トロール</a>はした方が良いと個人的には考えています。</p><br /> <p>同時にこれは新たにデータサイエンティスト業界に参入する人たちについても言えることで、その理由は「高給取りになれそうだから」「リモートワークだけで仕事できそうだから」「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EF%A1%BC%A5%AF%A5%E9%A5%A4%A5%D5%A5%D0%A5%E9%A5%F3%A5%B9">ワークライフバランス</a>が良さそうだから」「新しくて未来のありそうな職業だから」「単に格好良さそうだから」でも何でも良いと思います。が、ひとたびデータサイエンティストになろうと志す以上は、程度問題ながら「学び続ける習慣」を身につけ実践して欲しいと願う次第です。それは良い仕事をやり続けられるというだけに留まらず、時と場合によっては自分の身を守ることにも繋がります。面倒臭がらず、是非学び続けていってもらいたいと思います。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2022%2F02%2F25%2F170000" title="データサイエンティスト(及び他のデータ関連職)のスキル要件(2022年版) - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>二つ目の論点として職種の分化というのがあります。最近のスキル要件記事をお読みの方はご存知かと思いますが、現在僕が提唱しているのは「データサイエンティスト」「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア」「データアーキテクト」の3職種です。これらはそのまま「アナリストの延長」「ソフトウェアエンジニアの延長」「DBエンジニアの延長」を意識していて、棲み分けとしては完全に「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>(一部<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>)」「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>」「データ基盤」の3領域に分解する形になっています。平たく言えば、僕が長年に渡って主張している「チームで役割分担すればチーム全体としてスー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%DE%A5%F3">パーマン</a>になれる」というスタイルです。</p><br /> <p>ただ、世の中を見ていると割と今でも最初期の「三拍子揃ったスー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%DE%A5%F3">パーマン</a>的データサイエンティスト」を求める界隈も根強く残っているようで、実際に某協会辺りは今でもそれを標榜しているように見えます。それが良いか悪いかという議論は今となってみると結構難しい気がしていて、例えばちょっとした中小企業が「DXを推進するに当たって我が社で初めてのデータサイエンティストを採用したい」と考えた場合にわざわざ3人も新たに雇い入れるのはやはり大変なはずで、できれば最初は「3領域全てがそこそこ分かるオールラウンダーなデータサイエンティストがまず1人来て欲しい」と考える方が穏当だと思われるからです。なので、「3職種で役割分担」と「スー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%DE%A5%F3">パーマン</a>」のどちらが適切かはデータサイエンティストを採用する組織の規模やフェーズによる、とした方が良いのかなと考えています。</p><br /> <p>そして三つ目の論点として「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>に通じたデータサイエンティストが少ない」という問題があります。これは既に書いた通り、第一次ブームの頃は「統計分析したアウトプットをヒトに渡す」仕事が多かったのに対して、第二次ブーム以降は「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>システムを組む」仕事が増えると同時に「データサイエンティスト=<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>エンジニア」という先入観が社会に広く浸透したということが理由として挙げられます。</p><br /> <p>しかしこれが実は落とし穴で、これまた上述の通り<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>システムで直接事業を変革できるような企業や組織はDX道半ばということもあってまだまだ少数派のままで、多くの現場では今でも「手持ちのデータを統計分析してその知見をもとに人手で事業を改善する」というコンサル的なスタイルを保っているんですね。なので<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C0%F8%BA%DF%C5%AA">潜在的</a>には実は「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>でコンサルをやれるデータサイエンティスト」の方が需要は大きいと感じています。</p><br /> <p>にもかかわらず、近年のデータサイエンティスト育成スクールやオンライン講座の類はその大半が「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>とそのためのコーディング技術」を教えるものばかりで、まともに<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>を教えているものは殆どありません。中には「現役トップデータサイエンティストが教える<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>」と謳いながら完全にデタラメな内容を並べているものもあるほどで、呆れるばかりです。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B7%A5%B9%A5%C6%A5%E0%B3%AB%C8%AF">システム開発</a>であってもその効果検証には<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の知識が必要になることはままあるのですが、この調子では先が思いやられます。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.toukei-kentei.jp%2F" title="統計検定:Japan Statistical Society Certificate" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>幸いにして、日本には統計検定という<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の学識を適切に問う優れた検定試験制度があり<a href="#f-c254fce9" name="fn-c254fce9" title="他国ではあまり同様の仕組みを聞いたことがない">*15</a>、主に社会人向けの数学スクールなどを中心に各級ごと(特に1級・準1級・2級)に統計検定に向けた<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の学習コンテンツが提供されているのは希望の持てるところだと思っています。願わくば、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>の習得にも目を向けるデータサイエンティストがもっと増えて欲しいものです。</p><br /> <p>後は、蛇足ではありますが「成果を見えるところで見せる」ということですね。</p><p><iframe width="560" height="315" src="https://www.youtube.com/embed/jN_pRE0P1GU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="機械学習のその先に、初めの一歩を踏み出そう ~AB Road 編~"></iframe></p><p>使い古した動画で恐縮ですが、やはり「成果が見えにくい」と言われがちなデータサイエンティストという仕事だからこそ、成果を見せられるところでしっかり見せることが業界としてはそのレゾンデートルを訴求する上で大切なことだと思っています。</p><br /> <p>幸いにして、昨今のデータサイエンティスト業界では分かりやすい成果が挙がることが増えたようで、様々な成功事例がところどころでプレスリリースや<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%B9%A5%EA%A5%EA%A1%BC%A5%B9">ニュースリリース</a>やメディア記事などの形でアピールされるようになってきています。勿論個々のケースにおいては<a class="keyword" href="http://d.hatena.ne.jp/keyword/NDA">NDA</a>など秘密保持の観点から公開できないということも多々あるかと思いますが、これからも今まで以上にデータサイエンティストによる成果が目に見える形で社会に知らしめられるようになることを願っています。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="最後に">最後に</h3> <p><br /> 長々とデータサイエンティストの10年史と僕個人の見解を並べてきましたが、何度も書いているように「すぐ吹き飛んで消えそうだったデータサイエンティストという職業が意外にも社会に根付いた10年間」であったというのが率直な感想です。9年前に「データサイエンティストは10年以内に消える」というブログ記事<a href="#f-ab24ea7e" name="fn-ab24ea7e" title="[https://negative.hateblo.jp/entry/2013/05/10/174047:title]">*16</a>を引用したことがありますが、結局10年後も続いてそうだなという気がしています。</p><br /> <p>ところで、最後に余談ながら。「データサイエンティストはどの業界にいるのか」という疑問は定期的に話題に挙がる気がしていて、例えば前掲の2014年のスライドでは以下の業界を挙げています。</p> <blockquote> <ul> <li>アドテク(広告)</li> <li>eコマース</li> <li>ソシャゲ</li> <li>コンサル</li> <li>製薬</li> <li>流通</li> <li>メディア</li> <li>tech系スタートアップ</li> </ul> </blockquote> <p>しかし、現在ではこの10年間で「データサイエンティストがいる業界」は飛躍的に増えたのではないでしょうか。例えばスポーツアナリティクスは10年前だとまだそれほど広まっていなかった印象がありましたが、今や多くの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B9%A5%DD%A1%BC%A5%C4">プロスポーツ</a>チームがデータサイエンティストを抱えてチーム戦略を立てるようになりました。<a class="keyword" href="http://d.hatena.ne.jp/keyword/MLB">MLB</a>における<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D5%A5%E9%A5%A4%A5%DC%A1%BC%A5%EB%B3%D7%CC%BF">フライボール革命</a><a href="#f-80586780" name="fn-80586780" title="[https://business.nikkei.com/atcl/opinion/16/102400053/120600009/:title]">*17</a>は、<a class="keyword" href="http://d.hatena.ne.jp/keyword/MLB">MLB</a>における<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D3%A5%C3%A5%B0%A5%C7%A1%BC%A5%BF">ビッグデータ</a>分析がもたらした「副作用」だとまで言われるそうで、良くも悪くもデータ分析が選手たちのプレー内容をも左右するようになってきていることが分かります。</p><br /> <p>そして今後も、「データサイエンティストがいる業界」はさらに増えていくのでしょう。それはもしかしたら相変わらず「データサイエンティスト(※ただし優秀な実力者に限る)求む」みたいな雰囲気のままなのかもしれませんが、それでも旺盛な需要がある限りは新規の参入者も現れ続けるでしょうし、必然的に彼らを効率良く着実に育成する方法論もいずれは確立されていくのでしょう。それは案外、今現在日本各地の大学に乱立しつつある「データサイエンス学部」によって成し遂げられることなのかもしれません。また、第一次ブームの最初期にある程度見かけたものの、第二・三次ブームではあまり見かけなくなっていた「大学の研究者(しかも<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B7%D7%B3%D8">統計学</a>や<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%B3%A3%B3%D8%BD%AC">機械学習</a>分野の)からデータサイエンティストに転じる」ケースがここ最近増えてきており、そういう人たちの専門性によって業界全体の底上げがなされるのではないかという期待もあります。</p><br /> <p>……ということで、今回の記事では過去10年のデータサイエンティスト業界の変遷を振り返ってみました。この記事で僕が開陳した業界展望が正しかったかどうかは、また10年後の記事で検証するということにでもして、お開きにしたいと思います。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-028c8c54" name="f-028c8c54" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">ただしTransformerとかdiffusion modelとかは当然ありませんでしたが</span></p> <p class="footnote"><a href="#fn-f2391cac" name="f-f2391cac" class="footnote-number">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">Halには2017年にMountain Viewまで直接会いに行ってきました</span></p> <p class="footnote"><a href="#fn-a1b07663" name="f-a1b07663" class="footnote-number">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text">例えばScikit-Learnも当時は今ほど機能が充実していなかった記憶があります</span></p> <p class="footnote"><a href="#fn-cbabf6ae" name="f-cbabf6ae" class="footnote-number">*4</a><span class="footnote-delimiter">:</span><span class="footnote-text">僕も創設時の発起人名簿に名前を連ねています</span></p> <p class="footnote"><a href="#fn-7e5bccb6" name="f-7e5bccb6" class="footnote-number">*5</a><span class="footnote-delimiter">:</span><span class="footnote-text">特に分散処理周り</span></p> <p class="footnote"><a href="#fn-a2b79183" name="f-a2b79183" class="footnote-number">*6</a><span class="footnote-delimiter">:</span><span class="footnote-text">僕自身の低レベルな情報発信もその風潮を助長した可能性は否定できませんがorz</span></p> <p class="footnote"><a href="#fn-be56b8b7" name="f-be56b8b7" class="footnote-number">*7</a><span class="footnote-delimiter">:</span><span class="footnote-text">当時はこんな感じのブログ記事もありました→<a href="https://negative.hateblo.jp/entry/2013/11/15/213045">&#x30C7;&#x30FC;&#x30BF;&#x5206;&#x6790;&#x3059;&#x308B;&#x4EBA;&#x304C;&#x3001;&#x306A;&#x305C;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x3068;&#x547C;&#x3070;&#x308C;&#x305F;&#x304F;&#x306A;&#x3044;&#x306E;&#x304B; - &#x30CD;&#x30AC;&#x30C6;&#x30A3;&#x30D6;&#x306B;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x3067;&#x3082;&#x306A;&#x3044;&#x30D6;&#x30ED;&#x30B0;</a></span></p> <p class="footnote"><a href="#fn-3afe2b1d" name="f-3afe2b1d" class="footnote-number">*8</a><span class="footnote-delimiter">:</span><span class="footnote-text">もっとも当時はデータサイエンス学部というものは主流ではなかったので主に工学部・理学部などが多かった</span></p> <p class="footnote"><a href="#fn-9c663bfa" name="f-9c663bfa" class="footnote-number">*9</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://kabumatome.doorblog.jp/archives/65857192.html">&#x6700;&#x5148;&#x7AEF;&#x306B;&#x4E57;&#x308A;&#x9045;&#x308C;&#x308B;&#x306A;&#x3001;&#x30B5;&#x30E9;&#x30EA;&#x30FC;&#x30DE;&#x30F3;&#x306E;&#x30D0;&#x30A4;&#x30D6;&#x30EB;&#x300C;&#x5CF6;&#x8015;&#x4F5C;&#x300D; : &#x5E02;&#x6CC1;&#x304B;&#x3076;&#x5168;&#x529B;&#xFF12;&#x968E;&#x5EFA;</a></span></p> <p class="footnote"><a href="#fn-df061e98" name="f-df061e98" class="footnote-number">*10</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://todes-mentor.hatenablog.com/entry/help_todesko">&#x300C;&#x672A;&#x7D4C;&#x9A13;&#x6587;&#x7CFB;&#x304B;&#x3089;3&#x30F6;&#x6708;&#x3067;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x306B;&#x306A;&#x3063;&#x3066;&#x4E00;&#x767A;&#x9006;&#x8EE2;&#x300D;&#x306F;&#x3053;&#x3053;&#x3067;&#x7D42;&#x308F;&#x308A; (2020/7/31 &#x66F4;&#x65B0;) - todo-mentor&rsquo;s diary</a></span></p> <p class="footnote"><a href="#fn-d40e2c0e" name="f-d40e2c0e" class="footnote-number">*11</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://zenn.dev/wawoon/articles/891663eda370bc">&#x672A;&#x7D4C;&#x9A13;&#x304B;&#x3089;Web&#x30A8;&#x30F3;&#x30B8;&#x30CB;&#x30A2;&#x3092;&#x76EE;&#x6307;&#x3059;&#x4EBA;&#x306B;&#x4F1D;&#x3048;&#x305F;&#x3044;&#x3053;&#x3068;</a></span></p> <p class="footnote"><a href="#fn-149ca75d" name="f-149ca75d" class="footnote-number">*12</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://www.sankei.com/article/20200110-AJVI427SIBLMPHA6ZOZXDQRZ4Y/">&#x3010;&#x7D4C;&#x6E08;&#x30A4;&#x30F3;&#x30B5;&#x30A4;&#x30C9;&#x3011;&#x30D3;&#x30C3;&#x30B0;&#x30C7;&#x30FC;&#x30BF;&#x5206;&#x6790;&#x3001;&#x65B0;&#x5352;&#x5E74;&#x53CE;&#x306F;&#xFF11;&#xFF10;&#xFF10;&#xFF10;&#x4E07;&#x5186;&#x4EE5;&#x4E0A; &#x6771;&#x5927;&#x751F;&#x306E;&#x4EBA;&#x6C17;&#x8077;&#x7A2E;&#x306B;&#xFF08;1/2&#x30DA;&#x30FC;&#x30B8;&#xFF09; - &#x7523;&#x7D4C;&#x30CB;&#x30E5;&#x30FC;&#x30B9;</a></span></p> <p class="footnote"><a href="#fn-32dfb247" name="f-32dfb247" class="footnote-number">*13</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://note.com/shinu/n/nd6ec9af9ca04">&#x7B2C;&#xFF13;&#x6B21;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x30D6;&#x30FC;&#x30E0;&#x3068;&#x3001;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x306E;&#x7D42;&#x308F;&#x308A;&#x306E;&#x59CB;&#x307E;&#x308A;&#x3001;&#x304B;&#xFF1F;&#xFF5C;&#x30C7;&#x30FC;&#x30BF;&#x5206;&#x6790;&#x3068;&#x30A4;&#x30F3;&#x30C6;&#x30EA;&#x30B8;&#x30A7;&#x30F3;&#x30B9;&#xFF5C;note</a></span></p> <p class="footnote"><a href="#fn-9e3386be" name="f-9e3386be" class="footnote-number">*14</a><span class="footnote-delimiter">:</span><span class="footnote-text">客先常駐メインのコンサルとかはまた別</span></p> <p class="footnote"><a href="#fn-c254fce9" name="f-c254fce9" class="footnote-number">*15</a><span class="footnote-delimiter">:</span><span class="footnote-text">他国ではあまり同様の仕組みを聞いたことがない</span></p> <p class="footnote"><a href="#fn-ab24ea7e" name="f-ab24ea7e" class="footnote-number">*16</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://negative.hateblo.jp/entry/2013/05/10/174047">&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x304C;&#x3053;&#x308C;&#x304B;&#x3089;10&#x5E74;&#x4EE5;&#x5185;&#x306B;&#x6D88;&#x3048;&#x308B;&#x7406;&#x7531;3&#x3064; - &#x30CD;&#x30AC;&#x30C6;&#x30A3;&#x30D6;&#x306B;&#x30C7;&#x30FC;&#x30BF;&#x30B5;&#x30A4;&#x30A8;&#x30F3;&#x30C6;&#x30A3;&#x30B9;&#x30C8;&#x3067;&#x3082;&#x306A;&#x3044;&#x30D6;&#x30ED;&#x30B0;</a></span></p> <p class="footnote"><a href="#fn-80586780" name="f-80586780" class="footnote-number">*17</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a href="https://business.nikkei.com/atcl/opinion/16/102400053/120600009/">&#x30D3;&#x30C3;&#x30B0;&#x30C7;&#x30FC;&#x30BF;&#x6D3B;&#x7528;&#x3067;MLB&#x306E;&#x30DB;&#x30FC;&#x30E0;&#x30E9;&#x30F3;&#x304C;&#x5897;&#x3048;&#x305F;&#xFF1F;&#xFF1A;&#x65E5;&#x7D4C;&#x30D3;&#x30B8;&#x30CD;&#x30B9;&#x96FB;&#x5B50;&#x7248;</a></span></p> </div> TJO Lightweight MMM:NumPyroで実装されたベイジアンMMMフレームワーク hatenablog://entry/4207112889917653670 2022-09-15T23:03:10+09:00 2022-09-21T16:17:29+09:00 以前「Ads carryover & shape effects付きのMedia Mix Modeling」という記事で取り上げたベイジアンMMMのtechnical report (Jin et al., 2017)ですが、当時RStanで実装されていたものが4年の時を経て時代の趨勢に沿う形でPythonベースのOSSとしてリリースされています。 それがLightweight MMM (LMMM)です。ベイジアンモデリング部分はNumPyroによるMCMCサンプラーで実装されており、さらにはモダンなMMMフレームワークにおいて標準的とされる予算配分の最適化ルーチンも実装されています。全体的な… <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fresearch.google%2Fpubs%2Fpub46001%2F" title="Bayesian Methods for Media Mix Modeling with Carryover and Shape Effects – Google Research" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2018%2F09%2F01%2F170340" title="Ads carryover &amp; shape effects付きのMedia Mix Modeling - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>以前「Ads carryover & shape effects付きのMedia Mix Modeling」という記事で取り上げた<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>MMMのtechnical report (Jin et al., 2017)ですが、当時RStanで実装されていたものが4年の時を経て時代の趨勢に沿う形で<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>ベースの<a class="keyword" href="http://d.hatena.ne.jp/keyword/OSS">OSS</a>としてリリースされています。</p><br /> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fgoogle%2Flightweight_mmm" title="GitHub - google/lightweight_mmm: LightweightMMM 🦇 is a lightweight Bayesian Marketing Mix Modeling (MMM) library that allows users to easily train MMMs and obtain channel attribution information." class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>それがLightweight MMM (LMMM)です。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>部分はNumPyroによる<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%D7%A5%E9%A1%BC">サンプラー</a>で実装されており、さらにはモダンなMMM<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF">フレームワーク</a>において標準的とされる予算配分の最適化ルーチンも実装されています。全体的な使い勝手としては、まだ開発途上の部分もあるので時々痒いところに手が届かない感があるものの、概ねRStanで実装したものと似たような感じに仕上がっているという印象です。</p><br /> <p>ということで、LMMMがどんな感じで動くかを簡単に紹介してみようと思います。基本的には<a class="keyword" href="http://d.hatena.ne.jp/keyword/GitHub">GitHub</a>上のdemoに沿った話題に留まりますが、復習も兼ねて<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>MMMの仕組みについても簡単に触れていくつもりです。</p> <blockquote> <p><span style="color: #ff0000"><strong>Disclosure of conflicts of interest</strong></span></p><p>LMMMの開発チームと<a href="http://blog.hatena.ne.jp/TJO/">id:TJO</a>は<a href="https://about.google/">&#x540C;&#x3058;&#x4F01;&#x696D;</a>に所属しています。また、Colaboratory (Colab)はその所属企業のプロダクトです。</p> </blockquote> <ul class="table-of-contents"> <li><a href="#ベイジアンMMMの主要なポイント">ベイジアンMMMの主要なポイント</a><ul> <li><a href="#Adstock広告効果の時間遅れ">Adstock(広告効果の時間遅れ)</a></li> <li><a href="#Response-curve広告効果の飽和">Response curve(広告効果の飽和)</a></li> <li><a href="#最終的なモデル">最終的なモデル</a></li> </ul> </li> <li><a href="#MMMをベイジアンモデリングで推定する利点">MMMをベイジアンモデリングで推定する利点</a></li> <li><a href="#LMMMの実践例">LMMMの実践例</a><ul> <li><a href="#インストール">インストール</a></li> <li><a href="#パッケージモジュールのインポート">パッケージ・モジュールのインポート</a></li> <li><a href="#データセットの読み込みダミーデータ生成">データセットの読み込み(ダミーデータ生成)</a></li> <li><a href="#モデル推定MCMCサンプリング">モデル推定(MCMCサンプリング)</a></li> <li><a href="#モデルのチェック">モデルのチェック</a></li> <li><a href="#モデル評価">モデル評価</a></li> <li><a href="#モデル解釈メディア変数に関する知見">モデル解釈(メディア変数に関する知見)</a></li> <li><a href="#メディア予算の最適配分">メディア予算の最適配分</a></li> <li><a href="#モデルの保存読み込み">モデルの保存・読み込み</a></li> </ul> </li> <li><a href="#コメントなど">コメントなど</a></li> </ul> <div class="section"> <h3 id="ベイジアンMMMの主要なポイント"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>MMMの主要なポイント</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fgoogle%2Flightweight_mmm%2Ftree%2Fmain%2Flightweight_mmm" title="lightweight_mmm/lightweight_mmm at main · google/lightweight_mmm" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>ぶっちゃけ主な仕様は<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9">ソースコード</a>を見れば大体分かるかと思いますし、NumPyroの方がStanでコードを読むより分かりやすいという印象があります。とは言え、初めての人もいるかと思いますので簡単におさらいとして<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>MMMの特徴をまとめておきます。<br /> <br /> </p> <div class="section"> <h4 id="Adstock広告効果の時間遅れ">Adstock(広告効果の時間遅れ)</h4> <p><br /> 単純に言えば読んで字の如く「人々の目に広告が触れた後でタイムラグが生じたり減衰しながら持続する広告効果」を<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>するものです。Jin et al. (2017)では以下のように定義しています。</p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%20adstock%28%20x_%7Bt%20-%20L%20%2B%201%2C%20m%7D%2C%20%5Ccdots%2C%20x_%7Bt%2C%20m%7D%3B%20w_m%2C%20L%29%20%3D%20%5Cfrac%7B%5Csum%5E%7BL%20-%201%7D_%7Bl%20%3D%200%7D%20w_m%28l%29%20x_%7Bt-l%2C%20m%7D%7D%7B%5Csum%5E%7BL%20-%201%7D_%7Bl%20%3D%200%7D%20w_m%28l%29%7D%20" alt=" adstock( x_{t - L + 1, m}, \cdots, x_{t, m}; w_m, L) = \frac{\sum^{L - 1}_{l = 0} w_m(l) x_{t-l, m}}{\sum^{L - 1}_{l = 0} w_m(l)} "/></p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%20w%5Ed_m%20%28l%3B%20%5Calpha_m%2C%20%5Ctheta_m%29%20%3D%20%5Calpha_m%5E%7B%28l%20-%20%5Ctheta_m%29%5E2%7D%2C%20~%20l%20%3D%200%2C%20%5Ccdots%2C%20L-1%2C%20~%200%20%3C%20%5Calpha_m%20%3C%201%2C%20~%200%20%5Cleq%20%5Ctheta_m%20%5Cleq%20L-1%20" alt=" w^d_m (l; \alpha_m, \theta_m) = \alpha_m^{(l - \theta_m)^2}, ~ l = 0, \cdots, L-1, ~ 0 &lt; \alpha_m &lt; 1, ~ 0 \leq \theta_m \leq L-1 "/></p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20180901/20180901160928.png" width="1024" height="473" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>当然ですが、ハイパーパラメータを変えることで<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%ED%A5%F3%A5%B0%A5%C6%A1%BC%A5%EB">ロングテール</a>にしたりピークまでのタイムラグを変えることが可能ですし、さらにそのハイパーパラメータの事前分布を適切に定めることである程度データに合わせて自動的にadstockの形状を決めることもできます。<br /> <br /> </p> </div> <div class="section"> <h4 id="Response-curve広告効果の飽和">Response curve(広告効果の飽和)</h4> <p><br /> これは「広告<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C0%DC%BF%A8">接触</a>が過剰になると効果が飽和する」という話で、Jin et al. (2017)では薬理学における薬品の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%EC%C3%E6%C7%BB%C5%D9">血中濃度</a>モデルを援用して広告効果が飽和する様子を以下のように<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>しています。</p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%20Hill%28x_%7Bt%2C%20m%7D%3B%20%5Ccal%7BK%7D_m%2C%20%5Ccal%7BS%7D_m%29%20%3D%20%5Cfrac%7B1%7D%7B1%20%2B%20%28x_%7Bt%2C%20m%7D%20%2F%20%5Ccal%7BK%7D_m%29%5E%7B-%20%5Ccal%7BS%7D_m%7D%7D%2C%20~%20x_%7Bt%2C%20m%7D%20%5Cgeq%200%20" alt=" Hill(x_{t, m}; \cal{K}_m, \cal{S}_m) = \frac{1}{1 + (x_{t, m} / \cal{K}_m)^{- \cal{S}_m}}, ~ x_{t, m} \geq 0 "/></p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%20%5Cbeta_m%20Hill_m%28x_%7Bt%2C%20m%7D%29%20%3D%20%5Cbeta_m%20-%20%5Cfrac%7B%20%5Ccal%7BK%7D_m%5E%7B%5Ccal%7BS%7D_m%7D%20%5Cbeta_m%20%7D%7Bx_%7Bt%2C%20m%7D%5E%7B%5Ccal%7BS%7D_m%7D%20%2B%20%5Ccal%7BK%7D_m%5E%7B%5Ccal%7BS%7D_m%7D%20%7D" alt=" \beta_m Hill_m(x_{t, m}) = \beta_m - \frac{ \cal{K}_m^{\cal{S}_m} \beta_m }{x_{t, m}^{\cal{S}_m} + \cal{K}_m^{\cal{S}_m} }"/></p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20180901/20180901161428.png" width="1024" height="548" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>図を見ての通りで、「徐々に傾きが0に近づいていく」S字カーブを描くことになります。これはタイムポイントごとの広告出稿額(例えば日次のTVCM出稿額)に対してプロットできるので、例えばその変曲点より手前に日次出稿額の点が集中するようなら「まだ飽和していないのでもっと日次の出稿額を上げるべき」というような判断ができることになります。これもハイパーパラメータで形状が変えられますし、事前分布を使って自動的に決定することもできます。<br /> <br /> </p> </div> <div class="section"> <h4 id="最終的なモデル">最終的なモデル</h4> <p><br /> <img src="https://chart.apis.google.com/chart?cht=tx&chl=%20y_t%20%3D%20%5Ctau%20%2B%20%5Cdisplaystyle%20%5Csum%5EM_%7Bm%20%3D%201%7D%20%5Cbeta_m%20Hill_m%28x_%7Bt%2C%20m%7D%5E%7B%5Cast%7D%3B%20%5Ccal%7BK%7D_m%2C%20%5Ccal%7BS%7D_m%29%20%2B%20%5Cdisplaystyle%20%5Csum%5EC_%7Bc%20%3D%201%7D%20%5Cgamma_c%20z_%7Bt%2C%20c%7D%20%2B%20seasonality%20%2B%20trend%20%2B%20%5Cepsilon_t%20" alt=" y_t = \tau + \displaystyle \sum^M_{m = 1} \beta_m Hill_m(x_{t, m}^{\ast}; \cal{K}_m, \cal{S}_m) + \displaystyle \sum^C_{c = 1} \gamma_c z_{t, c} + seasonality + trend + \epsilon_t "/></p><p>目的変数に対して、上記のadstockとresponse curveを加味したメディア変数<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20x_%7Bt%2C%20m%7D%5E%7B%5Cast%7D" alt=" x_{t, m}^{\ast}"/>とそのパラメータ<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20%5Cbeta_m" alt=" \beta_m"/>による回帰モデルと、非メディア変数<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20z_%7Bt%2C%20c%7D" alt=" z_{t, c}"/>とそのパラメータ<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20%5Cgamma_c" alt=" \gamma_c"/>による回帰モデルと、切片と季節調整とトレンドと誤差項を足し合わせたJin et al. (2017)の式(7)が最終的なモデル表現となります。これに事前分布を含めたハイパーパラメータを与えてやり、各パラメータを<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>サンプリングで<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%BA">ベイズ</a>推定するというのが<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>MMMの流れです。モデル(パラメータ)が求まれば、そこから逆算して個々のメディア変数(広告)がどれくらい目的変数(売上高など)に貢献しているかも算出できますし、勿論その値を投下総額で割り戻せばROI (ROAS)も求まります。</p><br /> <p>そして、得られた<img src="https://chart.apis.google.com/chart?cht=tx&chl=%20%5Cbeta_m" alt=" \beta_m"/>を初めとするパラメータに基づいて、適切に最適化計画を解けば最適な予算配分を求めることも可能です。特にJin et al. (2017)ではadstockとresponse curveも掛け合わせることでよりメディアごとの特性に即した最適化を行っています。<br /> <br /> <br /> </p> </div> </div> <div class="section"> <h3 id="MMMをベイジアンモデリングで推定する利点">MMMを<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>で推定する利点</h3> <p><br /> 最大のメリットは「全てのパラメータ推定を<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>による<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>を通じて『互いに同時にバランスを取って』行うことができる」点と言って良いかと思います。というのは、過去現在の様々なMMMの手法では例えばadstockなど各種の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C8%F3%C0%FE%B7%C1">非線形</a>成分を「事前に決め打ちで推定」しておいて「後から数値解析的に最適解を探索する」ものがあったりするんですが、このやり方だとメモリを食い過ぎる上にパラメータ探索のやり方次第では本来の最適なパラメータの組み合わせを見逃す可能性があります。</p><br /> <p>これに対して、<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>による<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>で一括して全パラメータを同時に推定する(事後分布をサンプリングする)と、最初からいきなり本来の最適なパラメータの組み合わせを探索しに行ける(しかも互いに同時にバランスが取られている)というメリットが得られます。勿論<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>サンプリングの収束が悪ければ別の問題が色々発生し得るわけですが、そのデメリットを上回る利便性があると言って良いでしょう。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="LMMMの実践例">LMMMの実践例</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fcolab.sandbox.google.com%2Fdrive%2F1S6BRndbI45vwGFtEejMOegTv8adW_SPE%3Fusp%3Dsharing" title="Google Colaboratory" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>それでは、実際にLMMMはどのように動くかを見てみましょう。一応、dependenciesのversion conflictとかが面倒だったのもあってpublic Colabで全部書いてみました。基本的にはexamplesに置かれている<a href="https://github.com/google/lightweight_mmm/blob/main/examples/simple_end_to_end_demo.ipynb">simple end-to-end demo</a>をほぼそのまま実行した結果をただ並べただけですので、難しいことは何もありません。とは言え、初めて<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>MMMに触れる人には見慣れない箇所も多いかもしれませんので、順を追って説明していきます。<br /> <br /> </p> <div class="section"> <h4 id="インストール">インストール</h4> <pre class="code shell" data-lang="shell" data-unlink>pip install --upgrade pip pip install lightweight_mmm</pre><p>LMMM自体はpipで入ります。ただし、環境によってdependenciesごとにversion conflictを起こすことがあるので要注意です。Colabでやった時は何とmatplotlibがconflictを起こしたので、改めて最新版をインストールしています。<br /> <br /> </p> </div> <div class="section"> <h4 id="パッケージモジュールのインポート">パッケージ・モジュールのインポート</h4> <p><br /> ここからはColab (notebook)と対応させながら説明していきます。まず、必要なパッケージ・モジュールをインポートします。先にjax.numpyとnumpyroを読み込みます。</p> <pre class="code lang-python" data-lang="python" data-unlink><span class="synPreProc">import</span> jax.numpy <span class="synStatement">as</span> jnp <span class="synPreProc">import</span> numpyro </pre><p>それからLMMMの各モジュールをインポートします。</p> <pre class="code lang-python" data-lang="python" data-unlink><span class="synPreProc">from</span> lightweight_mmm <span class="synPreProc">import</span> lightweight_mmm <span class="synPreProc">from</span> lightweight_mmm <span class="synPreProc">import</span> optimize_media <span class="synPreProc">from</span> lightweight_mmm <span class="synPreProc">import</span> plot <span class="synPreProc">from</span> lightweight_mmm <span class="synPreProc">import</span> preprocessing <span class="synPreProc">from</span> lightweight_mmm <span class="synPreProc">import</span> utils </pre><p>これで準備完了です。<br /> <br /> </p> </div> <div class="section"> <h4 id="データセットの読み込みダミーデータ生成">デー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>の読み込み(ダミーデータ生成)</h4> <p><br /> 公式のdemoに沿って、ここではダミーデータを生成します。最初にシード値を決めておきます。71なのは幾星霜も前からの習わしです(笑)。</p> <pre class="code lang-python" data-lang="python" data-unlink>SEED = <span class="synConstant">71</span> </pre><p>LMMMはデフォルトではweekly(52週の季節調整を伴う)で動くようになっていて、ダミーデータを生成するutilsの関数もweeklyでしか動かないので、ここではweeklyデータとします。サンプルサイズは学習データを2年(104週)+交差検証データ(OOS)を1四半期(13週)とし、メディア変数は5個、非メディア変数(例えば競合のキャンペーンなど)は1個とします。</p> <pre class="code lang-python" data-lang="python" data-unlink>data_size = <span class="synConstant">104</span> + <span class="synConstant">13</span> n_media_channels = <span class="synConstant">5</span> n_extra_features = <span class="synConstant">1</span> </pre><p>後はutils.simulate_dummy_dataにこれらの値を与えればおしまいです。</p> <pre class="code lang-python" data-lang="python" data-unlink>media_data, extra_features, target, costs = utils.simulate_dummy_data( data_size=data_size, n_media_channels=n_media_channels, n_extra_features=n_extra_features) </pre><p>得られるのはmedia_data, extra_features, target, costsの4種類の変数で、実データを与える場合もこれを踏襲する必要があります。</p> <blockquote> <ul> <li>Media data: Containing the metric per channel and time span (eg. impressions per time period). Media values must not contain negative values.</li> <li>Extra features: Any other features that one might want to add to the analysis. These features need to be known ahead of time for optimization or you would need another model to estimate them.</li> <li>Target: Target KPI for the model to predict. For example, revenue amount, number of app installs. This will also be the metric optimized during the optimization phase.</li> <li>Costs: The total cost per media unit per channel.</li> </ul> </blockquote> <p>もう少し具体的に書いておくと、基本的にどの変数もjax.numpyのDeviceArray。media_dataはメディア広告の出稿に関する指標(<a class="keyword" href="http://d.hatena.ne.jp/keyword/GRP">GRP</a>などのボリューム指標でも出稿金額でも基本的には大丈夫)から成るメディア変数、extra_featuresは気温<a href="#f-d39e6436" name="fn-d39e6436" title="間隔尺度なので正確には差分値でなければならない">*1</a>やキャンペーンの有無といった広告以外の指標から成る非メディア変数、targetは売上高や契約件数といったKPIつまり目的変数で、costsは個々のメディア広告の分析期間内の総額です。</p><br /> <p>ちなみにメディア変数の個数をmm, 非メディア変数の個数をme, サンプルサイズをNとすると、それぞれの変数の次元はmedia_data: N x mm, extra_features: N x me, target: N x 1, costs: 1 x mm, となります。</p><br /> <p>次にデー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を学習データ(Train)と交差検証データ(OOS)とに分けていきます。この作業は3つのデータ変数それぞれに対して行う必要があります。</p> <pre class="code lang-python" data-lang="python" data-unlink><span class="synComment"># Split and scale data.</span> split_point = data_size - <span class="synConstant">13</span> <span class="synComment"># Media data</span> media_data_train = media_data[:split_point, ...] media_data_test = media_data[split_point:, ...] <span class="synComment"># Extra features</span> extra_features_train = extra_features[:split_point, ...] extra_features_test = extra_features[split_point:, ...] <span class="synComment"># Target</span> target_train = target[:split_point] </pre><p>さらに前処理としてスケーリングを行います。</p> <pre class="code lang-python" data-lang="python" data-unlink>media_scaler = preprocessing.CustomScaler(divide_operation=jnp.mean) extra_features_scaler = preprocessing.CustomScaler(divide_operation=jnp.mean) target_scaler = preprocessing.CustomScaler(divide_operation=jnp.mean) cost_scaler = preprocessing.CustomScaler(divide_operation=jnp.mean, multiply_by=<span class="synConstant">0.15</span>) media_data_train = media_scaler.fit_transform(media_data_train) extra_features_train = extra_features_scaler.fit_transform(extra_features_train) target_train = target_scaler.fit_transform(target_train) costs = cost_scaler.fit_transform(costs) </pre><p>これでデー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>も揃いました。<br /> <br /> </p> </div> <div class="section"> <h4 id="モデル推定MCMCサンプリング">モデル推定(<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>サンプリング)</h4> <p><br /> ここからはいよいよ<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>サンプリングによるモデル推定です。まず、LightweightMMMクラスオブジェクトを用意します。</p> <pre class="code lang-python" data-lang="python" data-unlink>mmm = lightweight_mmm.LightweightMMM(model_name=<span class="synConstant">&quot;carryover&quot;</span>) </pre><p>次に、<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>サンプリングのサイズを決めます。元のdemoではwarmupもsamplesも1000に設定されています。</p> <pre class="code lang-python" data-lang="python" data-unlink>number_warmup=<span class="synConstant">1000</span> number_samples=<span class="synConstant">1000</span> </pre><p>後は、fitメソッドで<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>サンプリングするだけです。ちなみにfitの引数にweekday_seasonality (Boolean)とseasonality_frequencyとがあってdailyとweeklyとを切り替えることができます。</p> <pre class="code lang-python" data-lang="python" data-unlink>mmm.fit( media=media_data_train, media_prior=costs, target=target_train, extra_features=extra_features_train, number_warmup=number_warmup, number_samples=number_samples, seed=SEED) </pre><pre class="code shell" data-lang="shell" data-unlink>/usr/local/lib/python3.7/dist-packages/lightweight_mmm/lightweight_mmm.py:256: UserWarning: There are not enough devices to run parallel chains: expected 2 but got 1. Chains will be drawn sequentially. If you are running MCMC in CPU, consider using `numpyro.set_host_device_count(2)` at the beginning of your program. You can double-check how many devices are available in your system using `jax.local_device_count()`. num_chains=number_chains) sample: 100%|██████████| 2000/2000 [04:24&lt;00:00, 7.55it/s, 1023 steps of size 1.37e-03. acc. prob=0.92] sample: 100%|██████████| 2000/2000 [04:13&lt;00:00, 7.90it/s, 507 steps of size 1.46e-03. acc. prob=0.91]</pre> </div> <div class="section"> <h4 id="モデルのチェック">モデルのチェック</h4> <p><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>モデルなので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/MCMC">MCMC</a>サンプリングが適切に収束したかどうかをチェックする必要があります。</p> <pre class="code lang-python" data-lang="python" data-unlink>mmm.print_summary() </pre><pre class="code shell" data-lang="shell" data-unlink> mean std median 5.0% 95.0% n_eff r_hat ad_effect_retention_rate[0] 0.44 0.28 0.42 0.00 0.87 287.02 1.01 ad_effect_retention_rate[1] 0.28 0.15 0.27 0.02 0.52 298.63 1.00 ad_effect_retention_rate[2] 0.47 0.29 0.46 0.00 0.87 302.86 1.01 ad_effect_retention_rate[3] 0.43 0.28 0.41 0.00 0.83 452.40 1.00 ad_effect_retention_rate[4] 0.34 0.24 0.30 0.00 0.69 197.75 1.01 coef_extra_features[0] 0.01 0.01 0.01 -0.00 0.02 364.91 1.02 coef_media[0] 0.02 0.02 0.01 0.00 0.04 280.71 1.00 coef_media[1] 0.15 0.03 0.15 0.10 0.20 282.27 1.01 coef_media[2] 0.01 0.01 0.01 0.00 0.03 304.08 1.00 coef_media[3] 0.01 0.01 0.01 0.00 0.03 283.34 1.01 coef_media[4] 0.05 0.03 0.04 0.00 0.09 276.95 1.01 coef_trend[0] -0.00 0.00 -0.00 -0.00 0.00 405.10 1.01 expo_trend 0.68 0.18 0.62 0.50 0.94 269.67 1.01 exponent[0] 0.89 0.09 0.92 0.77 1.00 372.92 1.00 exponent[1] 0.92 0.07 0.94 0.82 1.00 327.43 1.01 exponent[2] 0.89 0.10 0.92 0.75 1.00 549.61 1.00 exponent[3] 0.89 0.10 0.91 0.75 1.00 433.51 1.00 exponent[4] 0.91 0.08 0.93 0.80 1.00 520.83 1.00 gamma_seasonality[0,0] -0.07 1.00 -0.08 -1.71 1.54 223.15 1.01 gamma_seasonality[0,1] -0.21 0.61 -0.15 -1.19 0.73 111.39 1.02 gamma_seasonality[1,0] -0.01 0.00 -0.01 -0.02 -0.01 652.54 1.00 gamma_seasonality[1,1] -0.00 0.00 -0.00 -0.00 0.00 1034.95 1.00 intercept[0] 0.97 0.60 0.90 0.00 1.86 112.29 1.03 peak_effect_delay[0] 0.92 0.96 0.59 0.00 2.23 346.35 1.00 peak_effect_delay[1] 0.23 0.14 0.22 0.00 0.43 278.50 1.00 peak_effect_delay[2] 1.08 1.07 0.70 0.00 2.57 345.97 1.00 peak_effect_delay[3] 1.07 1.09 0.70 0.00 2.53 318.55 1.01 peak_effect_delay[4] 0.49 0.59 0.31 0.00 1.07 176.97 1.02 sigma[0] 0.02 0.00 0.02 0.01 0.02 308.08 1.00 Number of divergences: 42</pre><p>差し当たり重要なのはr_hatで、これがいずれも1.00付近であれば収束していると判断して差し支えないです。一方で、どれかのパラメータで1.1以上になる場合は、収束していない可能性があるためモデルを再考する必要があるかもしれません。パラメータの事後分布をプロットして確かめることもできます。</p> <pre class="code lang-python" data-lang="python" data-unlink>plot.plot_media_channel_posteriors(media_mix_model=mmm) </pre><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220915/20220915220805.png" width="365" height="1072" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>一般にMMMはメディアパラメータを非負、つまり切断(半)<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C0%B5%B5%AC%CA%AC%C9%DB">正規分布</a>とみなすことが多いので、得られた事後分布もそれっぽくなっています。このため平均や中央値などで代表値を得る際には注意が必要です。<br /> <br /> </p> </div> <div class="section"> <h4 id="モデル評価">モデル評価</h4> <p><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>MMMは統計モデルであり、そうである以上モデル性能の評価が必ず求められます。特に理由がない限りは、学習データへの当てはまりと、交差検証データ(OOS)への当てはまり即ち汎化性能の2点を原則としてチェックすることになります。まず、前者をプロットしてみます。</p> <pre class="code lang-python" data-lang="python" data-unlink>plot.plot_model_fit(mmm, target_scaler=target_scaler) </pre><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220915/20220915221035.png" width="375" height="264" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>多少外れている部分もあるようですが、MAPE(平均絶対パーセンテージ誤差)を見る限りでは悪くなさそうです。OOSへの当てはまりもプロットしてみましょう。</p> <pre class="code lang-python" data-lang="python" data-unlink>new_predictions = mmm.predict(media=media_scaler.transform(media_data_test), extra_features=extra_features_scaler.transform(extra_features_test), seed=SEED) new_predictions.shape </pre><pre class="code shell" data-lang="shell" data-unlink>(2000, 13)</pre><pre class="code lang-python" data-lang="python" data-unlink>plot.plot_out_of_sample_model_fit(out_of_sample_predictions=new_predictions, out_of_sample_target=target_scaler.transform(target[split_point:])) </pre><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220915/20220915221300.png" width="378" height="264" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>これもMAPEを見る限りでは悪くないように思われます。ただ、汎化性能の評価は「複数モデル間で比較して初めて意味がある」ものなので、原則として2つ以上のモデルを常に用意して、互いに比べる必要があります。もっともMMMを実施する場合はあまりモデルの選択肢がないことも多いので、事前に許容可能なMAPEの最大値を決めておく(例えば「20%」など)という実務的なやり方もあり得ます。<br /> <br /> </p> </div> <div class="section"> <h4 id="モデル解釈メディア変数に関する知見">モデル解釈(メディア変数に関する知見)</h4> <p><br /> ここからが<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%A4%A5%B8%A5%A2%A5%F3">ベイジアン</a>MMM最大の目的である、モデル解釈のパートです。まず、メディア変数ごとの期間全体に占める「貢献度」(目的変数に対する)の時系列をプロットしてみます。</p> <pre class="code lang-python" data-lang="python" data-unlink>plot.plot_media_baseline_contribution_area_plot(media_mix_model=mmm, target_scaler=target_scaler, fig_size=(<span class="synConstant">30</span>,<span class="synConstant">10</span>)) </pre><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220915/20220915222122.png" width="1200" height="425" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>次に、期間全体をまたいだメディア変数ごとの「貢献度」と、ROI (ROAS)を算出します。</p> <pre class="code lang-python" data-lang="python" data-unlink>media_contribution, roi_hat = mmm.get_posterior_metrics(target_scaler=target_scaler, cost_scaler=cost_scaler) </pre><p>「貢献度」を棒プロットにしてみます。</p> <pre class="code lang-python" data-lang="python" data-unlink>plot.plot_bars_media_metrics(metric=media_contribution, metric_name=<span class="synConstant">&quot;Media Contribution Percentage&quot;</span>) </pre><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220915/20220915222339.png" width="387" height="279" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ROI (ROAS)も棒プロットにしてみます。</p> <pre class="code lang-python" data-lang="python" data-unlink>plot.plot_bars_media_metrics(metric=roi_hat, metric_name=<span class="synConstant">&quot;ROI hat&quot;</span>) </pre><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220915/20220915222434.png" width="378" height="279" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>Response curveもプロットできます。本来ならS字カーブを描くはずなんですが……。</p> <pre class="code lang-python" data-lang="python" data-unlink>plot.plot_response_curves( media_mix_model=mmm, target_scaler=target_scaler, seed=SEED) </pre><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220915/20220915222533.png" width="712" height="991" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p></p> </div> <div class="section"> <h4 id="メディア予算の最適配分">メディア予算の最適配分</h4> <p><br /> 最後に、メディア予算の最適配分を求めます。ちなみに<a href="https://github.com/google/lightweight_mmm/blob/main/lightweight_mmm/optimize_media.py">optimize_media.py</a>を見ると、scipy.optimizeのminimize(method=’SLSQP’)を用いて逐次<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C6%F3%BC%A1%B7%D7%B2%E8%CB%A1">二次計画法</a>による最適化が行われていることが分かります。まず、最適化計画のためのデー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>を作ります。</p> <pre class="code lang-python" data-lang="python" data-unlink>prices = jnp.ones(mmm.n_media_channels) n_time_periods = <span class="synConstant">10</span> budget = jnp.sum(jnp.dot(prices, media_data.mean(axis=<span class="synConstant">0</span>)))* n_time_periods </pre><p>そして、最適化計画をソルバを用いて解きます。</p> <pre class="code lang-python" data-lang="python" data-unlink><span class="synComment"># Run optimization with the parameters of choice.</span> solution, kpi_without_optim, previous_budget_allocation = optimize_media.find_optimal_budgets( n_time_periods=n_time_periods, media_mix_model=mmm, extra_features=extra_features_scaler.transform(extra_features_test)[:n_time_periods], budget=budget, prices=prices, media_scaler=media_scaler, target_scaler=target_scaler, seed=SEED) </pre><pre class="code shell" data-lang="shell" data-unlink>Optimization terminated successfully (Exit mode 0) Current function value: -1938.3914450904967 Iterations: 19 Function evaluations: 114 Gradient evaluations: 19</pre><p>得られた解に基づいて、最適予算配分を得ます。</p> <pre class="code lang-python" data-lang="python" data-unlink><span class="synComment"># Obtain the optimal weekly allocation.</span> optimal_buget_allocation = prices * solution.x optimal_buget_allocation </pre><pre class="code shell" data-lang="shell" data-unlink>DeviceArray([174.72852, 285.152 , 132.38376, 128.85907, 276.38788], dtype=float32)</pre><p>チェックとして、元の予算総額と最適化後の予算総額が等しくなるかどうかを見ます。</p> <pre class="code lang-python" data-lang="python" data-unlink><span class="synComment"># Both values should be very close in order to compare KPI</span> budget, optimal_buget_allocation.sum() </pre><pre class="code shell" data-lang="shell" data-unlink>(DeviceArray(997.5112, dtype=float32), DeviceArray(997.5112, dtype=float32))</pre><pre class="code lang-python" data-lang="python" data-unlink><span class="synComment"># Both numbers should be almost equal</span> budget, jnp.sum(solution.x * prices) </pre><pre class="code shell" data-lang="shell" data-unlink>(DeviceArray(997.5112, dtype=float32), DeviceArray(997.5112, dtype=float32))</pre><p>元の予算配分と、最適化後の予算配分とを、並べてプロットすることもできます。</p> <pre class="code lang-python" data-lang="python" data-unlink><span class="synComment"># Plot out pre post optimization budget allocation and predicted target variable comparison.</span> plot.plot_pre_post_budget_allocation_comparison(media_mix_model=mmm, kpi_with_optim=solution[<span class="synConstant">'fun'</span>], kpi_without_optim=kpi_without_optim, optimal_buget_allocation=optimal_buget_allocation, previous_budget_allocation=previous_budget_allocation, figure_size=(<span class="synConstant">10</span>,<span class="synConstant">10</span>)) </pre><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220915/20220915225132.png" width="712" height="712" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p></p> </div> <div class="section"> <h4 id="モデルの保存読み込み">モデルの保存・読み込み</h4> <p><br /> 一応、推定したモデルの保存と読み込みもできるようになっています。Colabだと少しだけテクニックが必要です。</p> <pre class="code lang-python" data-lang="python" data-unlink><span class="synComment"># We can use the utilities for saving models to disk.</span> file_path = <span class="synConstant">&quot;media_mix_model.pkl&quot;</span> utils.save_model(media_mix_model=mmm, file_path=file_path) </pre><pre class="code lang-python" data-lang="python" data-unlink><span class="synComment"># Once saved one can load the models.</span> loaded_mmm = utils.load_model(file_path=<span class="synConstant">&quot;media_mix_model.pkl&quot;</span>) loaded_mmm.trace[<span class="synConstant">&quot;coef_media&quot;</span>].shape <span class="synComment"># Example of accessing any of the model values.</span> </pre> </div> </div> <div class="section"> <h3 id="コメントなど">コメントなど</h3> <p><br /> 個人的な感想を書いてしまうと、オリジナルとなったRStan実装よりもLMMMのNumPyro(だけでなくその他のパートも含めて)実装の方が<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9">ソースコード</a>が読みやすくて、「裏で何をしているか」「何をやろうとしてどういう実装がされているか」が非常に理解しやすいなと思ったのでした。それだけNumPyroが確率的<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%C0%B8%EC">プログラミング言語</a>(PPL)として優れているということなのでしょう。僕もRStanにいつまでも<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B8%C7%BC%B9">固執</a>していないで、NumPyroを本格的にやった方がいいのかなぁ、と……。</p><br /> <p>という脱線はさておき、実データでやる場合はこれよりもっと動作が重くなる可能性があるので、出来れば<a class="keyword" href="http://d.hatena.ne.jp/keyword/GPU">GPU</a>環境で回すことをお薦めします(NumPyro自体が<a class="keyword" href="http://d.hatena.ne.jp/keyword/GPU">GPU</a>モードを持っている)。RStanの時代からMMMというと計算が重たい統計<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0">モデリング</a>の代表例だったわけですが、そこにも<a class="keyword" href="http://d.hatena.ne.jp/keyword/GPU">GPU</a>による高速化の恩恵がもたされることで、温故知新的な感じで改めてMMMが普及していくのかもしれない、という気がしています。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-d39e6436" name="f-d39e6436" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">間隔尺度なので正確には差分値でなければならない</span></p> </div> TJO VARモデル補遺(備忘録) hatenablog://entry/4207112889913329667 2022-08-30T17:00:00+09:00 2022-08-30T17:00:03+09:00 もう9年も前のことですが、沖本本をベースとした計量時系列分析のシリーズ記事を書いていたことがあります。その中で、密かに今でも自分が読み返すことがあるのがVAR(ベクトル自己回帰)モデル関連の記事です。 なのですが、仕事なり趣味なりでVARモデルを触っていると「あれ、これってどうなってたんだっけ」という事項が幾つか出てきて、しかも上記の自分のブログの過去記事を当たっても出てこないケースがちらほらあるんですね。 ということで、今回の記事ではネタ切れで新しく書くことが思い付かないのでVARモデル周りで「最近になって調べて行き当たったこと」を備忘録的に補遺として書き留めておくことにします。とはいえ微妙… <p>もう9年も前のことですが、沖本本をベースとした計量時系列分析のシリーズ記事を書いていたことがあります。その中で、密かに今でも自分が読み返すことがあるのがVAR(ベクトル自己回帰)モデル関連の記事です。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2013%2F07%2F25%2F194546" title="Rで計量時系列分析:VARモデルの基礎(多変量時系列モデル) - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftjo.hatenablog.com%2Fentry%2F2013%2F07%2F30%2F191853" title="Rで計量時系列分析:VARモデルから個々の時系列データ間の因果関係を推定する - 渋谷駅前で働くデータサイエンティストのブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>なのですが、仕事なり趣味なりでVARモデルを触っていると「あれ、これってどうなってたんだっけ」という事項が幾つか出てきて、しかも上記の自分のブログの過去記事を当たっても出てこないケースがちらほらあるんですね。</p><br /> <p>ということで、今回の記事では<s>ネタ切れで新しく書くことが思い付かないので</s>VARモデル周りで「最近になって調べて行き当たったこと」を備忘録的に補遺として書き留めておくことにします。とはいえ微妙に技術的な話題を含むので、いつもながらですが誤りなどありましたらコメントなどでご指摘くださると助かります。<br /> <br /> <br /> </p> <div class="section"> <h3 id="CanadaデータセットでVARモデルを推定しておく">Canadaデー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>でVARモデルを推定しておく</h3> <p><br /> 面倒なので、{vars}パッケージに同梱されているCanadaデー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>でVARモデルを推定しておきます。これはカナダの1980-2000年の各四半期における生産性(prod)・雇用(e)・失業率(U)・実質賃金(rw)の4経済指標を時系列データとしてまとめたものです。</p> <pre class="code lang-r" data-lang="r" data-unlink><span class="synPreProc">library</span><span class="synSpecial">(</span>vars<span class="synSpecial">)</span> <span class="synIdentifier">data</span><span class="synSpecial">(</span>Canada<span class="synSpecial">)</span> VAR.select <span class="synStatement">&lt;-</span> <span class="synIdentifier">VARselect</span><span class="synSpecial">(</span>Canada<span class="synSpecial">,</span> lag.max <span class="synStatement">=</span> <span class="synConstant">10</span><span class="synSpecial">,</span> type <span class="synStatement">=</span> <span class="synConstant">'both'</span><span class="synSpecial">,</span> season <span class="synStatement">=</span> <span class="synConstant">4</span><span class="synSpecial">)</span> Canada.var <span class="synStatement">&lt;-</span> <span class="synIdentifier">VAR</span><span class="synSpecial">(</span>Canada<span class="synSpecial">,</span> p <span class="synStatement">=</span> VAR.select<span class="synSpecial">$</span>selection<span class="synSpecial">[</span><span class="synConstant">1</span><span class="synSpecial">],</span> lag.max <span class="synStatement">=</span> <span class="synConstant">10</span><span class="synSpecial">,</span> type <span class="synStatement">=</span> <span class="synConstant">'both'</span><span class="synSpecial">,</span> season <span class="synStatement">=</span> <span class="synConstant">4</span><span class="synSpecial">)</span> Canada.pred <span class="synStatement">&lt;-</span> <span class="synIdentifier">predict</span><span class="synSpecial">(</span>Canada.var<span class="synSpecial">,</span> n.ahead <span class="synStatement">=</span> <span class="synConstant">8</span><span class="synSpecial">)</span> Canada.irf <span class="synStatement">&lt;-</span> <span class="synIdentifier">irf</span><span class="synSpecial">(</span>Canada.var<span class="synSpecial">,</span> impulse <span class="synStatement">=</span> <span class="synConstant">'U'</span><span class="synSpecial">,</span> n.ahead <span class="synStatement">=</span> <span class="synConstant">8</span><span class="synSpecial">,</span> ci <span class="synStatement">=</span> <span class="synConstant">0.95</span><span class="synSpecial">,</span> ortho <span class="synStatement">=</span> <span class="synConstant">T</span><span class="synSpecial">)</span> </pre><p>特に理由はないですが、ついでに8期先予測と直交化インパルス応答関数(一旦インパルスはU即ち失業率とした)も推定しておきました。それぞれプロットすると以下のようになります。</p> <pre class="code lang-r" data-lang="r" data-unlink><span class="synIdentifier">plot</span><span class="synSpecial">(</span>Canada.pred<span class="synSpecial">)</span> <span class="synIdentifier">plot</span><span class="synSpecial">(</span>Canada.irf<span class="synSpecial">)</span> </pre><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220830/20220830150809.png" width="1200" height="1001" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220830/20220830151029.png" width="1200" height="1066" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>この辺のプロットは以前の記事をお読みになったことのある方には馴染み深いかと思います。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="インパルス応答関数推定における撹乱項の1標準偏差の求め方">インパルス応答関数推定における「撹乱項の1<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a>」の求め方</h3> <p><br /> ところで、上記の過去記事ではインパルス応答関数推定について以下のように書きました。</p> <blockquote> <p>Rで主に用いることになる直交化インパルス応答関数を求める際に重要になるのは、撹乱項<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7B%5Cepsilon%7D_t" alt="\mathbf{\epsilon}_t"/>の分散共分散行列<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7B%5CSigma%7D" alt="\mathbf{\Sigma}"/>です。この<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7B%5CSigma%7D" alt="\mathbf{\Sigma}"/>は、</p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7B%5CSigma%7D%20%3D%20%5Cmathbf%7BADA%27%7D" alt="\mathbf{\Sigma} = \mathbf{ADA&#39;}"/><br /> (ただし<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7BA%7D" alt="\mathbf{A}"/>は対角成分が1に等しい下三角行列、<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7BD%7D" alt="\mathbf{D}"/>は対角行列)</p><p>と三角分解することができ、このとき直交化撹乱項<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7Bu%7D_t" alt="\mathbf{u}_t"/>を</p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7Bu%7D_t%20%3D%20%5Cmathbf%7BA%7D%5E%7B-1%7D%20%5Cepsilon_t" alt="\mathbf{u}_t = \mathbf{A}^{-1} \epsilon_t"/></p><p>と定義し、各変数固有の変動を表すとみなすことができます。なお、<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7Bu%7D_t" alt="\mathbf{u}_t"/>は互いに無相関です(ただし<img src="https://chart.apis.google.com/chart?cht=tx&chl=Var%28%5Cmathbf%7Bu%7D_t%29%3D%5Cmathbf%7BD%7D" alt="Var(\mathbf{u}_t)=\mathbf{D}"/>:証明は沖本本を参照のこと)。</p><br /> <p><img src="https://chart.apis.google.com/chart?cht=tx&chl=y_j" alt="y_j"/>のショックに対する<img src="https://chart.apis.google.com/chart?cht=tx&chl=y_i" alt="y_i"/>のインパルス応答関数は、<img src="https://chart.apis.google.com/chart?cht=tx&chl=u_%7Bjt%7D" alt="u_{jt}"/>に1単位のショックを与えたときの<img src="https://chart.apis.google.com/chart?cht=tx&chl=y_i" alt="y_i"/>の反応を時間の関数として見たものであり、</p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=IRF_%7Bij%7D%28k%29%20%3D%20%5Cfrac%7B%5Cpartial%20y_%7Bi%2Ct%2Bk%7D%7D%7B%5Cpartial%20u_%7Bjt%7D%7D" alt="IRF_{ij}(k) = \frac{\partial y_{i,t+k}}{\partial u_{jt}}"/><br /> <img src="https://chart.apis.google.com/chart?cht=tx&chl=k%20%3D%200%2C1%2C2%2C%5Ccdots" alt="k = 0,1,2,\cdots"/></p><p>と表されます。1単位ではなく1<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a>のショックを与えたいときは、上の式にそのまま<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Csqrt%7BVar%28u_%7Bjt%7D%29%7D" alt="\sqrt{Var(u_{jt})}"/>を乗じれば良いだけです。</p><br /> <p>なのですが、Rでは三角分解の代わりに<a href="http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%AC%E3%82%B9%E3%82%AD%E3%83%BC%E5%88%86%E8%A7%A3">&#x30B3;&#x30EC;&#x30B9;&#x30AD;&#x30FC;&#x5206;&#x89E3;</a>を用いて撹乱項を分解し、その分解した撹乱項に1単位のショックを与えてインパルス応答関数を計算するという方法を用いています。これについてちょっと書いておきましょう。<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7BD%7D%5E%7B1%2F2%7D" alt="\mathbf{D}^{1/2}"/>を(j,j)成分が<img src="https://chart.apis.google.com/chart?cht=tx&chl=u_%7Bjt%7D" alt="u_{jt}"/>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a>に等しい対角行列であるとすると、</p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7B%5CSigma%7D%20%3D%20%5Cmathbf%7BADA%27%7D" alt="\mathbf{\Sigma} = \mathbf{ADA&#39;}"/></p><p>は、<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7BP%7D%20%5Cequiv%20%5Cmathbf%7BAD%7D%5E%7B1%2F2%7D" alt="\mathbf{P} \equiv \mathbf{AD}^{1/2}"/>として</p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7B%5CSigma%7D%20%3D%20%5Cmathbf%7BAD%7D%5E%7B1%2F2%7D%20%5Cmathbf%7BD%7D%5E%7B1%2F2%7D%20%5Cmathbf%7BA%27%7D%20%3D%20%5Cmathbf%7BPP%27%7D" alt="\mathbf{\Sigma} = \mathbf{AD}^{1/2} \mathbf{D}^{1/2} \mathbf{A&#39;} = \mathbf{PP&#39;}"/></p><p>と書けます。この式は正定値行列<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7B%5CSigma%7D" alt="\mathbf{\Sigma}"/>のコレスキー分解になっていて、<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7BP%7D" alt="\mathbf{P}"/>はコレスキー因子と呼ばれます。この<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7BP%7D" alt="\mathbf{P}"/>を用いれば、撹乱項を</p><p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7Bv%7D_t%20%3D%20%5Cmathbf%7BP%7D%5E%7B-1%7D%5Cmathbf%7B%5Cepsilon%7D_t%20%3D%20%5Cmathbf%7BD%7D%5E%7B-1%2F2%7D%5Cmathbf%7BA%7D%5E%7B-1%7D%5Cmathbf%7B%5Cepsilon%7D_t%20%3D%20%5Cmathbf%7BD%7D%5E%7B-1%2F2%7D%5Cmathbf%7Bu%7D_t" alt="\mathbf{v}_t = \mathbf{P}^{-1}\mathbf{\epsilon}_t = \mathbf{D}^{-1/2}\mathbf{A}^{-1}\mathbf{\epsilon}_t = \mathbf{D}^{-1/2}\mathbf{u}_t"/></p><p>と分解することもできます。なお<img src="https://chart.apis.google.com/chart?cht=tx&chl=Var%28%5Cmathbf%7Bu%7D_t%29%3D%5Cmathbf%7BD%7D" alt="Var(\mathbf{u}_t)=\mathbf{D}"/>であることから、<img src="https://chart.apis.google.com/chart?cht=tx&chl=v_%7Bjt%7D" alt="v_{jt}"/>は<img src="https://chart.apis.google.com/chart?cht=tx&chl=u_%7Bjt%7D" alt="u_{jt}"/>をその<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a><img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Csqrt%7BVar%28u_%7Bjt%7D%29%7D" alt="\sqrt{Var(u_{jt})}"/>で割ったものになっています。これは言い換えると<img src="https://chart.apis.google.com/chart?cht=tx&chl=v_%7Bjt%7D" alt="v_{jt}"/>における1単位の増加が<img src="https://chart.apis.google.com/chart?cht=tx&chl=u_%7Bjt%7D" alt="u_{jt}"/>における1<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a>の増加に等しいということであり、同じ要領で言えば<img src="https://chart.apis.google.com/chart?cht=tx&chl=v_%7Bjt%7D" alt="v_{jt}"/>に1単位のショックを与えて計算したインパルス応答関数は、<img src="https://chart.apis.google.com/chart?cht=tx&chl=u_%7Bjt%7D" alt="u_{jt}"/>に1<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a>のショックを与えて計算したインパルス応答関数に等しくなるということです。</p><br /> <p>一般には1<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a>あたりのショックを用いることが多いことから、Rはじめ多くの統計分析ツールではコレスキー分解が使われているのだろう、とは沖本先生のコメントです。</p> </blockquote> <p>ということで、vars::varを使って得られたVARモデルに対してvars::irfを用いると基本的には直交化インパルス応答関数の推定結果が得られます。ところが、往々にして実務データ分析ではその「撹乱項の1<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a>」が一体どれくらいの大きさ(magnitude)なのか?という情報が必要になることがあります。これが意外と分からないんですよね。困ったなぁと思って色々ググっていたら、{vars}パッケージの作者に問い合わせた上で一通り試された方のブログ記事が見つかりました。</p><p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fblog.statsbeginner.net%2Fentry%2F2018%2F05%2F04%2F223605" title="RでVARモデル&インパルス応答関数を求めるとき、「ショックの値」をどうやって出すのか? - StatsBeginner: 初学者の統計学習ノート" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>結論から言えば、今回のCanadaデー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BF%A5%BB%A5%C3%A5%C8">タセット</a>に対するVARモデルで失業率Uにショックを与えると仮定した場合の「撹乱項の1<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a>」は、以下のようにして得られます。</p> <pre class="code lang-r" data-lang="r" data-unlink>shock_U <span class="synStatement">&lt;-</span> <span class="synIdentifier">summary</span><span class="synSpecial">(</span>Canada.var<span class="synSpecial">)$</span>varresult<span class="synSpecial">$</span>U<span class="synSpecial">$</span>sigma </pre><p>9年前は全然気付いてなかったんですが、varestオブジェクトのvarresult以下には結構リッチな情報が詰まっているんですね。このことに気付いたことで、僕はもう一つ調べたいことが出てきたのでした。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="VARモデルにおいて特定の変数に対する他変数からの寄与分を求める方法">VARモデルにおいて特定の変数に対する「他変数からの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%F3%CD%BF%CA%AC">寄与分</a>」を求める方法</h3> <p><br /> きっかけは<a href="https://www.ieice.org/publications/conference-FIT-DVDs/FIT2019/data/pdf/O-020.pdf">3&#x5E74;&#x524D;&#x306B;&#x3042;&#x308B;&#x5B66;&#x8853;&#x96C6;&#x4F1A;&#x3067;&#x306A;&#x3055;&#x308C;&#x305F;&#x7814;&#x7A76;&#x5831;&#x544A;</a>で、要は「VARモデルでもMMM (Media Mix Model)同様に各変数からの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%F3%CD%BF%CA%AC">寄与分</a>を積み上げプロットとして可視化することができるはず」という話です。</p> <blockquote> <p><img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7By_t%7D%3D%5Cmathbf%7Bc%7D%2B%5Cmathbf%7B%5CPhi_1%7D%5Cmathbf%7By_%7Bt-1%7D%7D%2B%5Ccdots%2B%5Cmathbf%7B%5CPhi_p%7D%5Cmathbf%7By_%7Bt-p%7D%7D%2B%5Cmathbf%7B%5Cepsilon_t%7D%2C%20%5Cmathbf%7B%5Cepsilon_t%7D%20%5Csim%20W.N.%28%5Cmathbf%7B%5CSigma%7D%29" alt="\mathbf{y_t}=\mathbf{c}+\mathbf{\Phi_1}\mathbf{y_{t-1}}+\cdots+\mathbf{\Phi_p}\mathbf{y_{t-p}}+\mathbf{\epsilon_t}, \mathbf{\epsilon_t} \sim W.N.(\mathbf{\Sigma})"/><br /> (ただし<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7Bc%7D" alt="\mathbf{c}"/>は<img src="https://chart.apis.google.com/chart?cht=tx&chl=n%20%5Ctimes%201" alt="n \times 1"/>定数ベクトル、<img src="https://chart.apis.google.com/chart?cht=tx&chl=%5Cmathbf%7B%5CPhi_i%7D" alt="\mathbf{\Phi_i}"/>は<img src="https://chart.apis.google.com/chart?cht=tx&chl=n%20%5Ctimes%20n" alt="n \times n"/>係数行列)</p> </blockquote> <p>というVARモデルの定義式を考えれば、それを計算するのは本来ならば容易なはずです。ところが、それを計算するためのデータやformulaってどこに格納されているんだっけ?とずっと思っていたのでした。</p><br /> <p>ここまで書けばもうお分かりの方も多いかと思いますが、それこそがvarestオブジェクトのvarresult以下なんですね。varest$varresultにはdatamatというデータ行列などが含まれているんですが、一旦summaryをかけてからvarresult$Uを見ると以下のようになっています。</p> <pre class="code lang-r" data-lang="r" data-unlink><span class="synIdentifier">summary</span><span class="synSpecial">(</span>Canada.var<span class="synSpecial">)$</span>varresult<span class="synSpecial">$</span>U <span class="synComment">#R&gt; </span> <span class="synComment">#R&gt; Call:</span> <span class="synComment">#R&gt; lm(formula = y ~ -1 + ., data = datamat)</span> <span class="synComment">#R&gt; </span> <span class="synComment">#R&gt; Residuals:</span> <span class="synComment">#R&gt; Min 1Q Median 3Q Max </span> <span class="synComment">#R&gt; -0.57469 -0.18600 0.01721 0.15493 0.67160 </span> <span class="synComment">#R&gt; </span> <span class="synComment">#R&gt; Coefficients:</span> <span class="synComment">#R&gt; Estimate Std. Error t value Pr(&gt;|t|) </span> <span class="synComment">#R&gt; e.l1 -0.638553 0.127210 -5.020 4.39e-06 ***</span> <span class="synComment">#R&gt; prod.l1 -0.110992 0.054195 -2.048 0.044665 * </span> <span class="synComment">#R&gt; rw.l1 0.008921 0.050866 0.175 0.861332 </span> <span class="synComment">#R&gt; U.l1 0.623402 0.168646 3.697 0.000455 ***</span> <span class="synComment">#R&gt; e.l2 0.539000 0.198172 2.720 0.008399 ** </span> <span class="synComment">#R&gt; prod.l2 0.081791 0.080207 1.020 0.311687 </span> <span class="synComment">#R&gt; rw.l2 0.047954 0.066321 0.723 0.472280 </span> <span class="synComment">#R&gt; U.l2 -0.076632 0.210502 -0.364 0.717025 </span> <span class="synComment">#R&gt; e.l3 -0.068917 0.139933 -0.492 0.624052 </span> <span class="synComment">#R&gt; prod.l3 -0.023500 0.055155 -0.426 0.671491 </span> <span class="synComment">#R&gt; rw.l3 -0.015255 0.050986 -0.299 0.765762 </span> <span class="synComment">#R&gt; U.l3 0.026064 0.175914 0.148 0.882678 </span> <span class="synComment">#R&gt; const 165.486347 61.326740 2.698 0.008898 ** </span> <span class="synComment">#R&gt; trend 0.020595 0.013843 1.488 0.141729 </span> <span class="synComment">#R&gt; sd1 -0.041149 0.100849 -0.408 0.684616 </span> <span class="synComment">#R&gt; sd2 0.025118 0.102875 0.244 0.807889 </span> <span class="synComment">#R&gt; sd3 0.030293 0.094624 0.320 0.749907 </span> <span class="synComment">#R&gt; ---</span> <span class="synComment">#R&gt; Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1</span> <span class="synComment">#R&gt; </span> <span class="synComment">#R&gt; Residual standard error: 0.2845 on 64 degrees of freedom</span> <span class="synComment">#R&gt; Multiple R-squared: 0.9747, Adjusted R-squared: 0.9684 </span> <span class="synComment">#R&gt; F-statistic: 154.1 on 16 and 64 DF, p-value: &lt; 2.2e-16</span> </pre><p>そこでまずUを目的変数とするOLS線形モデルを推定します。これは以下のようにすれば得られます。</p> <pre class="code lang-r" data-lang="r" data-unlink><span class="synComment"># Fit an individual model for U</span> datamat <span class="synStatement">&lt;-</span> Canada.var<span class="synSpecial">$</span>datamat<span class="synSpecial">[,</span> <span class="synStatement">-</span><span class="synIdentifier">c</span><span class="synSpecial">(</span><span class="synConstant">1</span><span class="synSpecial">:</span><span class="synConstant">3</span><span class="synSpecial">)]</span> <span class="synIdentifier">names</span><span class="synSpecial">(</span>datamat<span class="synSpecial">)[</span><span class="synConstant">1</span><span class="synSpecial">]</span> <span class="synStatement">&lt;-</span> <span class="synConstant">'y'</span> fit <span class="synStatement">&lt;-</span> <span class="synIdentifier">lm</span><span class="synSpecial">(</span>y <span class="synStatement">~</span> <span class="synStatement">-</span><span class="synConstant">1</span> <span class="synStatement">+</span> .<span class="synSpecial">,</span> data <span class="synStatement">=</span> datamat<span class="synSpecial">)</span> </pre><p>あとは、ちまちまと他変数それぞれの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%F3%CD%BF%CA%AC">寄与分</a>をpredictで算出するだけです。これが随分と面倒で、多分間違いなくずっともっと簡単にやれる方法があるはずなんですが、僕のRコーディング力がショボいだけなのでご容赦くださいorz</p> <pre class="code lang-r" data-lang="r" data-unlink><span class="synComment"># Extract contribution from other variables</span> datamat_e <span class="synStatement">&lt;-</span> datamat datamat_e<span class="synSpecial">[,</span> <span class="synIdentifier">c</span><span class="synSpecial">(</span><span class="synConstant">1</span><span class="synSpecial">,</span> <span class="synConstant">3</span><span class="synSpecial">:</span><span class="synConstant">5</span><span class="synSpecial">,</span> <span class="synConstant">7</span><span class="synSpecial">:</span><span class="synConstant">9</span><span class="synSpecial">,</span> <span class="synConstant">11</span><span class="synSpecial">:</span><span class="synConstant">18</span><span class="synSpecial">)]</span> <span class="synStatement">&lt;-</span> <span class="synConstant">0</span> ctrb_e <span class="synStatement">&lt;-</span> <span class="synIdentifier">predict</span><span class="synSpecial">(</span>fit<span class="synSpecial">,</span> newdata <span class="synStatement">=</span> datamat_e<span class="synSpecial">)</span> datamat_prod <span class="synStatement">&lt;-</span> datamat datamat_prod<span class="synSpecial">[,</span> <span class="synIdentifier">c</span><span class="synSpecial">(</span><span class="synConstant">1</span><span class="synSpecial">:</span><span class="synConstant">2</span><span class="synSpecial">,</span> <span class="synConstant">4</span><span class="synSpecial">:</span><span class="synConstant">6</span><span class="synSpecial">,</span> <span class="synConstant">8</span><span class="synSpecial">:</span><span class="synConstant">10</span><span class="synSpecial">,</span> <span class="synConstant">12</span><span class="synSpecial">:</span><span class="synConstant">18</span><span class="synSpecial">)]</span> <span class="synStatement">&lt;-</span> <span class="synConstant">0</span> ctrb_prod <span class="synStatement">&lt;-</span> <span class="synIdentifier">predict</span><span class="synSpecial">(</span>fit<span class="synSpecial">,</span> newdata <span class="synStatement">=</span> datamat_prod<span class="synSpecial">)</span> datamat_rw <span class="synStatement">&lt;-</span> datamat datamat_rw<span class="synSpecial">[,</span> <span class="synIdentifier">c</span><span class="synSpecial">(</span><span class="synConstant">1</span><span class="synSpecial">:</span><span class="synConstant">3</span><span class="synSpecial">,</span> <span class="synConstant">5</span><span class="synSpecial">:</span><span class="synConstant">7</span><span class="synSpecial">,</span> <span class="synConstant">9</span><span class="synSpecial">:</span><span class="synConstant">11</span><span class="synSpecial">,</span> <span class="synConstant">13</span><span class="synSpecial">:</span><span class="synConstant">18</span><span class="synSpecial">)]</span> <span class="synStatement">&lt;-</span> <span class="synConstant">0</span> ctrb_rw <span class="synStatement">&lt;-</span> <span class="synIdentifier">predict</span><span class="synSpecial">(</span>fit<span class="synSpecial">,</span> newdata <span class="synStatement">=</span> datamat_rw<span class="synSpecial">)</span> datamat_U <span class="synStatement">&lt;-</span> datamat datamat_U<span class="synSpecial">[,</span> <span class="synIdentifier">c</span><span class="synSpecial">(</span><span class="synConstant">1</span><span class="synSpecial">:</span><span class="synConstant">4</span><span class="synSpecial">,</span> <span class="synConstant">6</span><span class="synSpecial">:</span><span class="synConstant">8</span><span class="synSpecial">,</span> <span class="synConstant">10</span><span class="synSpecial">:</span><span class="synConstant">12</span><span class="synSpecial">,</span> <span class="synConstant">14</span><span class="synSpecial">:</span><span class="synConstant">18</span><span class="synSpecial">)]</span> <span class="synStatement">&lt;-</span> <span class="synConstant">0</span> ctrb_U <span class="synStatement">&lt;-</span> <span class="synIdentifier">predict</span><span class="synSpecial">(</span>fit<span class="synSpecial">,</span> newdata <span class="synStatement">=</span> datamat_U<span class="synSpecial">)</span> datamat_others <span class="synStatement">&lt;-</span> datamat datamat_others<span class="synSpecial">[,</span> <span class="synConstant">1</span><span class="synSpecial">:</span><span class="synConstant">13</span><span class="synSpecial">]</span> <span class="synStatement">&lt;-</span> <span class="synConstant">0</span> ctrb_others <span class="synStatement">&lt;-</span> <span class="synIdentifier">predict</span><span class="synSpecial">(</span>fit<span class="synSpecial">,</span> newdata <span class="synStatement">=</span> datamat_others<span class="synSpecial">)</span> <span class="synComment"># Stacked plot: is this right?</span> <span class="synIdentifier">matplot</span><span class="synSpecial">(</span><span class="synIdentifier">cbind</span><span class="synSpecial">(</span>ctrb_e <span class="synStatement">+</span> ctrb_others<span class="synSpecial">,</span> ctrb_e <span class="synStatement">+</span> ctrb_prod <span class="synStatement">+</span> ctrb_others<span class="synSpecial">,</span> ctrb_e <span class="synStatement">+</span> ctrb_prod <span class="synStatement">+</span> ctrb_rw <span class="synStatement">+</span> ctrb_others<span class="synSpecial">,</span> ctrb_e <span class="synStatement">+</span> ctrb_prod <span class="synStatement">+</span> ctrb_rw <span class="synStatement">+</span> ctrb_U <span class="synStatement">+</span> ctrb_others<span class="synSpecial">,</span> datamat<span class="synSpecial">$</span>y<span class="synSpecial">),</span> type <span class="synStatement">=</span> <span class="synConstant">'l'</span><span class="synSpecial">,</span> lty <span class="synStatement">=</span> <span class="synConstant">1</span><span class="synSpecial">,</span> ylab <span class="synStatement">=</span> <span class="synConstant">''</span><span class="synSpecial">)</span> </pre><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220830/20220830155023.png" width="800" height="600" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>切片項(定数項+トレンド項+<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C9%B8%BD%E0%CA%D0%BA%B9">標準偏差</a>)の扱いをどうするか迷ったんですが、一旦「先に足しておく」ようにしてあります(足さない方が正しい気もしますが)。ということで、面倒ですがこんな感じで実務データ分析でリク<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%B9">エス</a>トされがちなVARモデルの各種指標が求まりますよ、というお話でした。</p> </div> TJO 新型コロナウイルス感染症の「真の」感染拡大状況を検索トレンドから何となく推測してみた hatenablog://entry/4207112889904498188 2022-08-09T18:06:32+09:00 2022-08-09T18:06:32+09:00 新型コロナウイルス感染症(COVID-19)のパンデミックに収まる気配が全く見られず、この記事を書いている2022年8月9日時点でも日本はオミクロン系統BA.5変異株を主体とする第七波に見舞われている有様です。東京でも毎日のように2万〜3万人という新規陽性者数が報告され続けていて、各種報道でも「検査体制の飽和(破綻)」が叫ばれるような事態となっています。 で、検査体制が飽和していて「真の陽性者数」が分からないとなると、実際にはどれくらいコロナの感染拡大が深刻化を正確に見積もるのも難しいということになります。そこでオープンデータからある程度真の陽性者数を見積もることが出来ないかなと考えていたら、… <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%B7%B7%BF%A5%B3%A5%ED%A5%CA%A5%A6%A5%A4%A5%EB%A5%B9">新型コロナウイルス</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B4%B6%C0%F7%BE%C9">感染症</a>(COVID-19)の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A5%F3%A5%C7%A5%DF%A5%C3%A5%AF">パンデミック</a>に収まる気配が全く見られず、この記事を書いている2022年8月9日時点でも日本はオミクロン系統BA.5変異株を主体とする第七波に見舞われている有様です。東京でも毎日のように2万〜3万人という新規陽性者数が報告され続けていて、各種報道でも「検査体制の飽和(破綻)」が叫ばれるような事態となっています。</p><br /> <p>で、検査体制が飽和していて「真の陽性者数」が分からないとなると、実際にはどれくらいコロナの感染拡大が深刻化を正確に見積もるのも難しいということになります。そこでオープンデータからある程度真の陽性者数を見積もることが出来ないかなと考えていたら、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%F4%C2%E6">灯台</a>下暗しということで身近にありました。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Google">Google</a>トレンドの検索トレンドデータです。これである程度特徴的な検索ワードのトレンドを見ることで、実際の感染拡大状況がどれほどのものか見積もれるのではないかと思ったのでした。</p><br /> <p>ということで、このブログでは珍しいことですが検索トレンドデータに対して簡単な「定性的な分析」を行うことで、コロナの感染拡大状況の推定をしてみようと思います。いつもながらですが、分析に関しておかしな点・不備な点などありましたら何なりとご指摘くださると幸いです。<br /> <br /> <br /> </p> <div class="section"> <h3 id="Googleトレンドで見てみる"><a class="keyword" href="http://d.hatena.ne.jp/keyword/Google">Google</a>トレンドで見てみる</h3> <p><br /> 重要なのは検索ワードの選択です。これは特に根拠があるわけではないのですが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A5%F3%A5%C7%A5%DF%A5%C3%A5%AF">パンデミック</a>以降「実際に感染した人が検索しそうなキーワード」ということで、「<a class="keyword" href="http://d.hatena.ne.jp/keyword/PCR">PCR</a>検査」「抗原検査」「発熱外来」「コロナ 症状」の4点を選びました。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220809/20220809155920.png" width="1200" height="567" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>そして、実際に<a href="https://trends.google.co.jp/trends/explore?date=2020-01-19%202022-08-06&geo=JP&q=PCR%E6%A4%9C%E6%9F%BB,%E6%8A%97%E5%8E%9F%E6%A4%9C%E6%9F%BB,%E7%99%BA%E7%86%B1%E5%A4%96%E6%9D%A5,%E3%82%B3%E3%83%AD%E3%83%8A%20%E7%97%87%E7%8A%B6">Google&#x30C8;&#x30EC;&#x30F3;&#x30C9;&#x3067;&#x300C;PCR&#x691C;&#x67FB;&#x300D;&#x300C;&#x6297;&#x539F;&#x691C;&#x67FB;&#x300D;&#x300C;&#x767A;&#x71B1;&#x5916;&#x6765;&#x300D;&#x300C;&#x30B3;&#x30ED;&#x30CA; &#x75C7;&#x72B6;&#x300D;&#x306E;&#x691C;&#x7D22;&#x30C8;&#x30EC;&#x30F3;&#x30C9;</a>を調べてみた結果が上図です。週次データで、期間は2020年1月19日から2022年8月6日(7月31日週)としています。</p><br /> <p>これを見ると、「コロナ 症状」のみ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A5%F3%A5%C7%A5%DF%A5%C3%A5%AF">パンデミック</a>最初期に社会全体の人々(つまり感染者に限らない)の関心を惹いたことで非常に高いピークを示していますが、第三波以降辺りから4つのキーワードとも概ね各「波」の上下動に沿ったトレンドを示していることが分かります。実際には「抗原検査」が本格的に市中に普及したのが第六波からだったということもあり、第七波で最大のピークを示しています。</p><br /> <p>難しいのが「発熱外来」で、割と<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A5%F3%A5%C7%A5%DF%A5%C3%A5%AF">パンデミック</a>最初期の頃から設置されていたはずにもかかわらず、思ったほど検索されていないんですね。これもまた第六波から増え始め、第七波で一番高いピークを示しています。その意味で言うと「<a class="keyword" href="http://d.hatena.ne.jp/keyword/PCR">PCR</a>検査」がある意味実際の感染拡大規模にそれなりに沿った上下動を示しているようにも見えます。<br /> <br /> <br /> </p> </div> <div class="section"> <h3 id="公式発表の陽性者数と比較してみる">公式発表の陽性者数と比較してみる</h3> <p><br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.mhlw.go.jp%2Fstf%2Fcovid-19%2Fopen-data.html" title="オープンデータ" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p><p>では、これらの指標を公式発表されている日本全体の陽性者数と比較してみましょう。データは<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B8%FC%CF%AB%BE%CA">厚労省</a>のオープンデータページから入手できます。元データが日次なので日付を揃えた上で週次に直し、適当にプロットしてみたものが下図です。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220809/20220809174702.png" width="1200" height="674" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>これを見る限りでは、第六波以降で公式発表値に一番近い動き方をしているのは「抗原検査」に見えます(他の指標は第六波と第七波が同じくらいになっている)。ということで、公式発表値を真とするならば「抗原検査」をtrackするのが最も良いということになりそうです。</p><br /> <p>しかし、既に過去に何度か議論が喚起されているように「公式発表値は真の感染者数を網羅できていない」(検査体制の飽和などのため)という疑いがあり、この記事で試みている定性的分析もそれを検索トレンドのデータで何とか補完できないかという動機によるものです。そこで、「抗原検査」「発熱外来」と公式発表値の3指標に絞り込んで改めて比べてみました。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/T/TJO/20220809/20220809180041.png" width="1200" height="678" loading="lazy" title="" class="hatena-fotolife" itemprop="image"></span></p><p>ある意味想像通りですが、「抗原検査」はむしろ第七波で低めに出ているように見えていて、こうなると「発熱外来」の方が正しそうです。けれどもこれも第六・第七波での公式発表値を正確にtrackしているだけのようにも見えます。勿論<a class="keyword" href="http://d.hatena.ne.jp/keyword/Google">Google</a>トレンドの値は0-100でしか出せないので単に上下動さえ合っていれば良い&実際の規模は分からないので仕方ない<a href="#f-c85ca375" name="fn-c85ca375" title="中の人なら実測値は分かるのでは、というツッコミはお控えください">*1</a>という考え方もありますが、今回の定性分析ではこれが限界という感じですね。お粗末様でした……。</p> </div><div class="footnote"> <p class="footnote"><a href="#fn-c85ca375" name="f-c85ca375" class="footnote-number">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">中の人なら実測値は分かるのでは、というツッコミはお控えください</span></p> </div> TJO