ドラッグストアの開店候補地を予測するニューラルネットワークモデルが出した答えは果たして使い物になるのか、いろいろと考えてみましょう。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
前回は開店予測でどんなことをしていたのか、コードを書くときに筆者が個人的に重要だと感じたことを紹介しました。今回はニューラルネットワークモデルが推測した結果について考えて、気になった部分を見ていくことにしましょう。
AI様が出した推測結果に人間ごときがチャチャをいれるなんて恐れ多いのですが(かわさき)。
ニューラルネットワークは基本的に中がブラックボックスですからね。その結果の理由を説明するのはなかなか難しいのかなと思います。とはいえ、今回はかわさきさんなりの考察をしてみようというわけですね(一色)。
今回、ドラッグストアチェーンの開店場所の推測を行うコードを書く前には漠然と次のようなことを考えていました。
これは素人考えではありますが、チェーン店がどこにお店を出すかというときの一般的なイメージはこんなものではないでしょうか。要するに人がたくさんいそうなところが重要だろうという考えです。横浜市は都市部と郊外がよい具合に存在しているのではと思い、筆者の漠然とした予想があっているのであれば、地図上で上記の条件に合うポイントに候補地がプロットされるのではないかということで、推測の対象地域をここにしました(学習では、3つのチェーンが日本各地に出店しているお店の周辺店舗情報を使っています)。
では、学習後のニューラルネットワークモデルが推測した候補地がどんな感じかといえば、下のような感じです(右上が横浜駅と関内駅の周辺で、左下は湘南台駅の周辺)。
こう見ると、駅近辺と幹線道路沿いという上で述べた条件に合致した箇所にピンが立っているようにも見えます(繰り返しますが、この条件は筆者の仮説であって、実際の出店箇所とは異なります)。
なお、第1回の公開後にもコードはあれこれと手直しをした結果、チェーンR、G、Bのそれぞれで開店場所の推測件数は次のように変化しています。何やらずいぶんと増えてしまいました。
さらに横浜駅周辺と関内駅周辺にズームインしたものを以下に示します。画像上部でピンが集中しているのが横浜駅周辺で、画像下部でピンが集中しているのが関内駅の周辺です(左端でピンの数が少し多めなのは天王町駅)。
赤色のピン(チェーンRの候補地)と緑色のピン(チェーンGの候補地)がヤバいくらいに立っています(実は緑色のピンはあまりあてにはならないかもしれません。後述)。本企画では横浜市近辺を推測対象地域としていて、この地域には川崎駅や蒲田駅、武蔵小杉駅なども含まれていますが、駅(比較的規模の大きな駅)の周辺に多くの候補地が集まる傾向はだいたい当てはまっています。例えば蒲田駅の周辺には(横浜駅周辺ほどではないにせよ)かなりの候補地が集まっています。
街道沿いについてもう少しズームインしてみたものの例が以下です。ららぽーと横浜近辺なので鴨居駅もありますが、まあ、車でのアクセスが可能で多くのテナントが含まれているららぽーとにはやはり候補地のピンが立つ傾向が見られるようです(他のショッピングモールやスーパーなどでも同じ傾向が見られます)。
というわけで、素人考えの候補地とニューラルネットワークモデルが推測した候補地にはある程度の一致が見られるようですが、チェーンRを例に実際にはどうかを少し考えてみます。
上で見たように、大規模な駅周辺にはチェーンRの開店候補地がたくさんありました。しかし、実際の出店傾向をロケスマWebで確認してみると、意外な事実が浮かび上がってきました。チェーンRは、大規模な駅周辺にはそれほど出店していなかったのです。
例えば、山手線の沿線をざっくりと見回してみたところでは、新宿駅や渋谷駅の駅チカには出店していないか、そこから少し外れた位置に出店している傾向があります。中央線沿線や私鉄沿線に目を向けると、もちろん駅の近辺に店を構えていることもありますが、上で見た横浜駅や関内駅のすぐそばにはお店がありません。そして、住宅街や街道沿いにもちゅうちょなく店舗を展開しているようです。
実際、横浜駅周辺を見てみると、チェーンRの既存店がほとんどないことが分かります。
これらのことを考えると、チェーンRは人流の激しい場所でお客さんを待ち構える出店形態というよりは、地域に密着した地元の薬屋さんという立ち位置で店舗展開をするのが特色なのかもしれません。この前提の上で、どこに出店するかを決めているのだとすると、大規模な駅の周辺にある赤いピンにはあまり意味がないかもしれません。
では、なぜこうなってしまったのでしょうか。筆者は「チェーンRにも出店のパターンはある。けれど、それ駅周辺にも強く見られるから」なのではと考えています。
非常に単純化したものですが、以下に示す3つのパターン(中央の赤丸が開店する店舗で、その周辺にある矩形とグレーの丸が周辺店舗情報)がチェーンRの出店に強く影響するものだとします(実際には赤丸との距離だけを、ここでは重要視しています)。水色/緑/オレンジ/紫の菱形で表されたチェーンが強く影響していて、グレーの丸はあまり影響力を持たないチェーン群だとしましょう。
そして、こうした状況を学習したニューラルネットワークモデルに緯度経度をずらしながら取得した店舗情報を入力したとしましょう。以下では縦横のけい線が交差した箇所にある白丸と赤丸が開店予測を行うポイントを表しています(白は候補地とは推測されなかった場所で、赤は候補地として推測された箇所)。
駅の近くに店舗が密集することで(場合によっては反対側の出口の両方に同じチェーンが出店することもあるでしょう。上の水色と緑色の矩形はそうした場合を表します)、上に示したようなパターンにマッチする(ニューラルネットワークモデルの計算で1に近い値を出力する)ポイントが多数現れてしまう可能性があるということです。
しかし、チェーンRではこうした場所(駅に近い密集地)をあえて避けているのだとしたら、元のデータに最寄り駅から距離とか、周辺500メートルに存在する駅の数とか、何らかの形で駅に関する情報を含めた上で学習をしないと、こうした状況をニューラルネットワークモデルが覚えてくれないのではないか、というのが筆者の想像です。
もう1つ考慮点があるとすると、後出しにはなりますが、学習に使用したデータではある店舗の開店/閉店時の周辺店舗情報を収集したものですが、このときに近隣500メートルの範囲に同じチェーンの店舗が複数あった場合には、直近の店舗との距離だけを記録するようになっていました。駅の近辺で同じチェーンが複数の店舗を展開しているのだとしたら、対象の店舗とそれらの店舗との「1/距離の二乗」を合計するといった形で特徴量を設計する方法もあったかもしれません。こうすれば、駅の近くで同じチェーンが複数出店しているような場所では、ニューラルネットワークモデルの学習や推測にある程度の影響があるでしょう。
とはいえ、駅に関連する情報を元データに何らかの形で含めることが、このニューラルネットワークモデルの性能を上げるには一番よさそうな気はします。が、それをやるには膨大な数の駅のデータを何かしら処理する必要があるでしょう(機械的な手段が必要になるはずです)。
何やら偉そうにモノを語っていますが、実際のところがどうかは分かりません。筆者にとって納得のいく説明を考えたらそうなるというだけで、この仮説が合っているかどうかを知るは駅に関連する情報を含んだデータを構築して学習を行うしかないでしょう。あるいは説明可能なAIとしてモデルを実装していれば、どんなチェーンが影響を及ぼしているかを調べることも可能でしょうが、今回はあくまでも「やってみた」ことを重要視したので、これ以上の話はできそうもありません。
というか、データ分析の時点で気がついているべき要素ですね(汗)。
私自身はそこまで突き詰めて考えたわけではないので浅はかなコメントになってしまうかもしれませんが、駅周辺や幹線道路沿いは純粋にお店が多いからピンが立ちやすく、住宅地は基本的にお店がないからピンが立たないという単純な仕組みだったりするのではないの?! と思いました。チェーンRは純粋に店舗数が多いからより周辺店舗との関係をより多く学習しているという理由で、周辺にお店がたくさんある場所に他のチェーンよりもピンが立ちやすいのかなと、個人的には思いました。これは「考察」と言えるものではなく、あくまで理由も根拠もない「個人の感想」でしかないですが。
今回の記事の絵だけだと、チェーンR/G/Bの特徴やパターンの違いもあまりよく分かりませんでした。「どういう種類の店が集まるところには、チェーンR(/G/B)が候補になりやすい」などの傾向が明確に見て取れたり説明できたりすれば、もっと「おお」と納得できたのかなと思います。正直な感想は「それっぽいピンが立っているように見えるけど、何が何だかよく分からない」というものでした。まあ、最近はやりのStable Diffusionによるテキストからの絵の生成ほどの分かりやすさはないですよね。
いずれにしても仮説があってそれを証明するなら、それを検証する追試実験が必要になると思います。ちなみに私の大学の専攻は認知心理学/認知科学で、そういう仮説検証をして「有意確率(P値)が5%未満だから証明できた」とかを論文で書いていましたが、どうでもいいですね。そういうのはデータサイエンスや統計学の領分で、「とにかくソフトウェアとしてAIを使って予測できればいい。予測結果の理由は基本的に説明しない」というのが人工知能の領分なのかな、と私個人は認識しています。今回はAIなのだからそこまで追及しなくてよくて、「AIだから理由不明です」で済ませてOKではないかなと思いました。結果の理由を明確にすることを絶対条件にすると、とたんにAIは作りづらくなると思うので。
Copyright© Digital Advantage Corp. All Rights Reserved.