(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023091669
(43)【公開日】2023-06-30
(54)【発明の名称】販売数量予測システム、販売数量予測方法
(51)【国際特許分類】
G06Q 30/0202 20230101AFI20230623BHJP
【FI】
G06Q30/02 310
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021206537
(22)【出願日】2021-12-20
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】松本 高斉
(72)【発明者】
【氏名】鯨井 俊宏
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049BB01
(57)【要約】
【課題】
複数店舗のデータ間の関係性を俯瞰的に捉え、より適切な販売数量の予測を行うことができる販売数量予測システム、および、販売数量予測方法を提供する。
【解決手段】
販売数量予測システムは、プロセッサを備えている。前記のプロセッサは、店舗間で扱う商品が部分的に異なり得る各店舗の商品の売り上げ数量に関するデータに基づいて生成される商品の売り上げ数量を予測する学習済みモデルを用いて、対象となる店舗の商品の売り上げ数量を予測する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサを備え、
前記プロセッサは、
店舗間で扱う商品が部分的に異なり得る各店舗の商品の売り上げ数量に関するデータに基づいて生成される商品の売り上げ数量を予測する学習済みモデルを用いて、対象となる店舗の商品の売り上げ数量を予測する、
ことを特徴とする販売数量予測システム。
【請求項2】
請求項1に記載の販売数量予測システムであって、
前記学習済みモデルは、
店舗間で扱う商品が部分的に異なる場合、各店舗で共通する商品のデータに基づいて、生成される、
ことを特徴とする販売数量予測システム。
【請求項3】
請求項1に記載の販売数量予測システムであって、
前記学習済みモデルは、
店舗間で扱う商品が部分的に異なる場合、店舗間で共通しない商品の売り上げ数量に関するデータが他の店舗間で共通する同じ商品の売り上げ数量に関するデータを用いて補間されたデータを用いて生成される、
ことを特徴とする販売数量予測システム。
【請求項4】
請求項2に記載の販売数量予測システムであって、
前記学習済みモデルは、
店舗間における同一の商品の売り上げ数量に関する相関行列、および、店舗の前記商品の売り上げ数量に関する統計量を求め、前記相関行列における店舗をノードとして前記相関行列の相関係数をエッジに関連させたグラフを生成し、前記店舗に関する前記統計量を前記ノードに属性データとして割り当て、前記統計量を割り当てた前記グラフを畳み込むことにより抽出される特徴量に基づいて、生成される、
ことを特徴とする販売数量予測システム。
【請求項5】
請求項3に記載の販売数量予測システムであって、
前記学習済みモデルは、
店舗間における同一の商品の売り上げ数量に関する相関行列、および、店舗の前記商品の売り上げ数量に関する統計量を求め、前記相関行列における店舗をノードとして前記相関行列の相関係数をエッジに関連させたグラフを生成し、前記店舗に関する前記統計量を前記ノードに属性データとして割り当て、前記統計量を割り当てた前記グラフを畳み込むことにより抽出される特徴量に基づいて、生成される、
ことを特徴とする販売数量予測システム。
【請求項6】
請求項4に記載の販売数量予測システムであって、
前記学習済みモデルは、
前記相関行列をランダムに選択し、選択した前記相関行列から相関係数をランダムに選択し、選択した前記相関係数が閾値以上であった場合に0とする処理を実行しながら学習をすることにより、生成される、
ことを特徴とする販売数量予測システム。
【請求項7】
請求項5に記載の販売数量予測システムであって、
前記学習済みモデルは、
前記相関行列をランダムに選択し、選択した前記相関行列から相関係数をランダムに選択し、選択した前記相関係数が閾値以上であった場合に0とする処理を実行しながら学習をすることにより、生成される、
ことを特徴とする販売数量予測システム。
【請求項8】
請求項2に記載の販売数量予測システムであって、
前記学習済みモデルは、
出店地域が共通する店舗の商品の売り上げ数量に関するデータ、および/または、購買層が共通する商品の売り上げ数量に関するデータに基づいて、生成される、
ことを特徴とする販売数量予測システム。
【請求項9】
請求項3に記載の販売数量予測システムであって、
前記学習済みモデルは、
出店地域が共通する店舗の商品の売り上げ数量に関するデータ、および/または、購買層が共通する商品の売り上げ数量に関するデータに基づいて、生成される、
ことを特徴とする販売数量予測システム。
【請求項10】
請求項3に記載の販売数量予測システムであって、
前記の店舗間で共通しない商品の売り上げ数量に関するデータは、
店舗間の距離、店舗の出店地域、および、購買層のうちの少なくとも一つの観点で共通するデータに基づいて補間される、
ことを特徴とする販売数量予測システム。
【請求項11】
請求項3に記載の販売数量予測システムであって、
前記の店舗間で共通しない商品の売り上げ数量に関するデータは、
商品構成が類似する店舗を探索し、探索したそれぞれの店舗の商品の売り上げ数量に関するデータに基づいて、商品の売り上げ数量の平均値を算出し、探索したそれぞれの店舗の商品の売り上げ数量に関するデータのノイズを求め、算出した前記平均値に前記ノイズを加えることにより、補間される、
ことを特徴とする販売数量予測システム。
【請求項12】
請求項11に記載の販売数量予測システムであって、
前記ノイズは、
探索したそれぞれの店舗の商品の販売数量に関するデータから求められる統計量に関する、
ことを特徴とする販売数量予測システム。
【請求項13】
請求項1に記載の販売数量予測システムであって、
前記プロセッサは、
予測した結果に関する情報を表示部に表示させる、
ことを特徴とする販売数量予測システム。
【請求項14】
プロセッサを用いて行う販売数量予測方法であって、
(1)店舗間で扱う商品が部分的に異なり得る各店舗の商品の売り上げ数量に関するデータに基づいて、商品の売り上げ数量を予測する学習済みモデルを生成し、
(2)前記学習済みモデルを用いて、対象となる店舗の商品の売り上げ数量を予測する、
ことを特徴とする販売数量予測方法。
【請求項15】
請求項14に記載の販売数量予測方法を前記プロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、販売数量予測システム、および、販売数量予測方法に関する。
【背景技術】
【0002】
従来より、適宜のモデルを用いて商品の販売数量等を予測する技術について知られている。特許文献1は、対象の店舗の売り上げ等を予測する際に、他の店舗のデータも含めた複数の店舗のデータを用いて予測を行う技術を開示している。
【0003】
すなわち、特許文献1は、複数の過去の来店客数データを教師データ(訓練データ)として、重回帰分析することにより、対象となった店舗の来店客数予測値を計算するための来店客数予測の計算式(yを目的変数として、xを説明変数とする計算式)の回帰定数a、回帰係数b1、b2を計算し、この計算式により予測された来店客数予測値に客単価を乗じて売上予測値を計算する技術を開示する。また、特許文献1は、予測計算は重回帰分析以外にも、ランダムフォレスト、ニューラルネットワーク、一般化線形モデル、一般化加法モデル、アンサンブル学習モデル、SVCなどの手法を単独で、もしくは組み合わせて適用することも本発明に含まれると開示する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、チェーンストアなど複数の店舗のデータがある場合には、経営者などは、各店舗で扱われている商品と売れ行きの相違等を加味して(すなわち、俯瞰的に捉えた複数店舗のデータ間の関係性を踏まえて)、販売数量の予測を行うと考えられる。しかしながら、既存の予測システムでは、複数店舗のデータの関係性が予測にあまり活用されていないことが考えられる。
【0006】
そこで、本発明は、複数店舗のデータ間の関係性を俯瞰的に捉え、より適切な商品の販売数量の予測を行うことができる販売数量予測システム、および、販売数量予測方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様によれば、下記の販売数量予測システムが提供される。すなわち、販売数量予測システムは、プロセッサを備える。プロセッサは、店舗間で扱う商品が部分的に異なり得る各店舗の商品の売り上げ数量に関するデータに基づいて生成される商品の売り上げ数量を予測する学習済みモデルを用いて、対象となる店舗の商品の売り上げ数量を予測する。
【0008】
本発明の第2の態様によれば、下記の販売数量予測方法が提供される。すなわち、販売数量予測方法は、プロセッサを用いて行う販売数量予測方法である。そして、この販売数量予測方法は、(1)店舗間で扱う商品が部分的に異なり得る各店舗の商品の売り上げ数量に関するデータに基づいて、商品の売り上げ数量を予測する学習済みモデルを生成し、(2)前記学習済みモデルを用いて、対象となる店舗の商品の売り上げ数量を予測する。
【発明の効果】
【0009】
本発明によれば、複数店舗のデータ間の関係性を俯瞰的に捉え、より適切な商品の販売数量の予測を行うことができる販売数量予測システム、および、販売数量予測方法が提供される。なお、前述した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】販売数量予測システムの構成の一例を示す図。
【
図2】販売数量予測システムのハードウェア構成の一例を示す図。
【
図3】コントローラ部における学習フェーズの処理の流れの一例を示すフローチャート。
【
図5】時系列データの補間処理の一例を示すフローチャート。
【
図6】相関係数の修正処理の一例を示すフローチャート。
【
図7】ある商品に着目したときの店舗間の関係を表すグラフの一例。
【
図8】ニューラルネットワークのモデルの構成の一例を示す図。
【発明を実施するための形態】
【0011】
図を参照しながら、販売数量予測システムについて説明する。販売数量予測システムは、商品の販売数量を予測するための学習済みモデルを用いて、対象となる店舗の商品の販売数量(すなわち、商品の売り上げ数量)を予測することができる。
【0012】
本実施形態では、チェーンストアをなす複数の店舗で扱われる商品に部分的な差異がある状況において、各店舗の各商品の販売数量などを計測し、計測を行った日までのデータをもとにした翌日の販売数量を予測することをタスクとして、このタスクを実行する販売数量予測システムの構成と処理について述べる。しかしながら、この例に限定されるものではなく、販売数量予測システムは、例えば、複数の店舗で扱われる商品に部分的な差異がない状況において販売数量などを計測したデータをもとに販売数量を予測してもよい。また、販売数量予測システムは、所定の期間において取得したデータをもとにして、販売数量の予測を行ってもよい。また、販売数量予測システムは、翌日の販売数量を予測する使用に限定されず、例えば、ある時間帯の販売数量の予測に用いられてもよい。
【0013】
図1に示すように、販売数量予測システム1は、販売数量計測部101と、コントローラ部102と、を備える。また、コントローラ部102は、計測データ収集部103と、計測データ補間部104と、統計量算出部105と、相関行列算出部106と、相関係数修正部107と、グラフ生成部108と、属性データ付加部109と、時間的特徴量処理部110と、グラフ特徴量処理部111と、特徴量統合処理部112と、予測結果出力部113と、を備える。ここで、上記した各種の構成(103~113)は、プログラムであり、適宜の記憶装置に記憶される。また、コントローラ部102において、プログラム(110、111、112)により、学習フェーズにおいて深層学習の実行に関する機能を表現する深層学習部114が構成されている。
【0014】
販売数量計測部101は、各店舗に設置されたPOS(Point оf Sale)システムなどとの連携により、販売された商品について、洗剤や菓子といった商品分類と個々の商品固有の型番(商品名も固有であれば型番とみなすものとする)、販売数量、販売された日時の各データを計測する処理を担う。そして、販売数量計測部101により計測されたデータは、コントローラ部102に送信される。
【0015】
コントローラ部102は、一例として、チェーンストアの本部(すなわち、複数ある店舗全体を管理するセンタ)に配置される。コントローラ部102は、販売数量計測部101で計測されたデータを各店舗から収集し、これに基づく販売数量の予測についての学習、ならびに学習結果に基づいた販売数量の予測を行う処理を担う。
【0016】
各プログラム(103~113)について説明する。ここで、各プログラム(103~113)の処理の主体は、コントローラ部102のプロセッサである。計測データ収集部103は、販売数量計測部101で計測されたデータを、インターネットなどを介して収集する処理を担う。計測データ補間部104は、複数の店舗で共通に扱われていない商品の販売数量の時系列データについて補間する処理を担う。統計量算出部105は、各店舗の各商品の販売数量の時系列データ毎に、平均値、標準偏差、尖度、歪度などの統計量を算出する処理を担う。相関行列算出部106は、各店舗の各商品の販売数量の時系列データを用いて、店舗間における販売数量の相関を算出する処理を担う。相関行列修正部107は、時系列に沿って複数ある相関行列の中から、相関行列を選択し、また、選択した相関行列の中から、行列要素である相関係数を選択し、相関係数の値を修正する処理を担う。グラフ生成部108は、店舗をノードとして表現し、店舗間の関係をエッジで表現するグラフを生成する処理を担う。属性データ付加部109は、生成されているグラフのノードに、前述の統計量を属性データとして割り当てる処理を担う。時間的特徴量処理部110は、各店舗の各商品の販売数量の時系列データについての特徴量の処理に用いられ、深層学習の枠組みでは、時系列データの特徴量を学習し、抽出できるようにする処理を担う。グラフ特徴量処理部111は、生成したグラフについての特徴量の処理に用いられ、深層学習の枠組みでは、グラフの特徴量を学習し、抽出できるようにする処理を担う。特徴量統合処理部112は、グラフ特徴量と時系列データの時間的特徴量の両方を用いて、深層学習の枠組みでは、商品の販売数量の予測に関する学習を行う処理、および、学習結果に基づいて商品の販売数量を予測する処理を担う。予測結果出力部113は、深層学習部114で予測された結果を画面への表示など、出力する処理を担う。
【0017】
次に、
図2を参照しながら、販売数量予測システムのハードウェア構成の一例について説明する。
【0018】
先ず、販売数量計測部101について説明する。販売数量計測部101は、一例として、各店舗に配置されるコンピュータにより構成することができる。販売数量計測部101において、各ハードウェア構成はバスを介して接続されており、販売数量計測部101は、制御部201と、記憶装置202と、通信部203と、を備える。制御部201は、一例として、CPU(Central Processing Unit)とすることができ、販売数量計測部101を動作させるプログラムを実行することにより、所定の処理を実現する主体である。ここで、販売数量計測部101の制御部201により実行されるプログラム等のデータは、記憶装置202に記憶され、記憶装置202は、HDD(Hard Disk Drive)やROM(Read Only Memory)等を用いて適宜に構成することができる。また、販売数量計測部101は、RAM(Random Access Memory)204を備えてもよく、制御部201は、RAM204にデータを読み込んで処理を行ってもよい。通信部203は、コントローラ部102との通信に用いるインタフェースであり、通信部203を介してコントローラ部102との通信が行われる。
【0019】
次に、コントローラ部102について説明する。コントローラ部102において、各ハードウェア構成はバスを介して接続されており、コントローラ部102は、プロセッサ251と、記憶装置252と、通信部253と、を備える。プロセッサ251は、記憶装置252に記憶されるプログラムを実行して、所定の処理を実現する主体である。記憶装置252は、ROMやHDD等を用いて適宜に構成することができ、プログラム等の処理に用いるデータを適宜に記憶する。また、コントローラ部102は、RAM254を備えてもよく、プロセッサ251は、RAM254にデータを読み込んで処理を行ってもよい。
【0020】
また、本実施形態では、コントローラ部102は、表示部255を備える。表示部255は、適宜の表示装置として構成され、予測結果などの表示を行うことができる。また、コントローラ部102は、ユーザが所定の操作を行う際(例えば、ユーザが、学習処理を開始させる際や予測結果を出力させる際)に用いられる入力装置として構成される入力部256を備えてもよい。ただし、入力部256が省略され、販売数量予測システム1は、コントローラ部102におけるユーザの操作を介さずに、所定のタスクを自動で実行する構成であってもよい。また、表示部255や入力部256は、コントローラ部102に接続される外部の構成であってもよい。
【0021】
次に、
図3を参照しながら、コントローラ部102における処理の流れについて述べる。コントローラ部102での処理は学習フェーズの処理と予測フェーズの処理とに分けられるが、ここではまず学習フェーズでの処理について述べる。
図3は、コントローラ部における学習フェーズの処理の流れの一例(グラフ畳み込みによる特徴抽出処理と行動価値の学習処理の一例)を示すフローチャートである。
【0022】
コントローラ部102が処理を開始すると、まず、初期化処理によって、学習用のパラメータなどが初期値に設定される(S301)。
【0023】
次に、プロセッサが計測データ収集部103を実行して実現される計測データ収集処理にて、販売数量計測部101からインターネットなどを介してコントローラ部102に送られてくる計測データのログの収集が行われる(S302)。
【0024】
この計測データのログには、販売された商品の商品分類と個々の商品固有の型番、販売数量、販売された日時のそれぞれについて、指定した期間の履歴が記録されている。ここで、得られた時系列データの一例を、
図4に示す。
図4において、横軸は日時に、また、縦軸は販売数量に対応しており、この例では、ある商品分類におけるある商品に着目した場合に、店舗毎に得られた販売数量のデータの例が示されている。なお、同図では、簡単のため、5つの店舗に対応する販売数量のデータをそれぞれ401~405で表現しているが(すなわち、5つの店舗で共通するある商品の売り上げ数量に関するデータをそれぞれ401~405で表現しているが)、実際はより多くの店舗があり、また、店舗で扱われる商品毎に、同様の時系列データが得られているものとする。
【0025】
次に、プロセッサ251が計測データ補間部104を実行して実現される計測データ補間処理にて、販売数量の予測を行う対象となっている商品が、店舗間で共通に扱われていない場合に、販売数量の時系列データを補間する処理が行われる(S303)。この処理の流れを
図5に示す。
図5は、時系列データの補間処理の一例を示すフローチャートである。
【0026】
ここで、この例では、ある1つの店舗のみが販売数量の予測対象の商品を扱っておらず、他の店舗は扱っているものとする。この状況で、まず、計測データに含まれる商品分類のデータをもとに、扱っている商品の構成が近い店舗群を求める処理が実行される(S501)。この店舗群は、商品分類の項目の一致数が閾値以上となる店舗を探索することで求められる。
【0027】
次に、扱っている商品の構成が近い店舗群の中で、販売数量の予測を行いたい商品の販売数量の時系列データについての平均値を求める処理が行われる(S502)。次に、時系列データと同数のノイズを求める処理が行われる(S503)。なお、ここでのノイズは、一例として、上記したS501において求められた店舗群についての商品の販売数量の時系列データに関する統計量とすることができ、それぞれの店舗分の商品の時系列データの統計量が、ノイズとして求められる。なお、ここでのノイズは、例えば時系列データの標準偏差を求め、これをもとにした正規分布の範囲で確率的に得られる値とする。
【0028】
次に、求めたそれぞれのノイズを、既に求めている時系列データの各値(すなわち、S502で求められた時系列データについての平均値)に加算して、新規の時系列データを生成する処理が行われる。このようにして、生成した時系列データを、予測対象の商品を扱っていない店舗の時系列データとして割り当てることで、補間が行われる(S504)。
【0029】
プロセッサ251が統計量算出部105を実行して実現される統計量算出処理にて、各店舗の各商品の販売数量の時系列データ毎に、平均値、標準偏差、尖度、歪度などの統計量を算出する処理が行われる(S304)。
【0030】
次に、プロセッサ251が相関行列算出部106を実行して実現される相関行列算出処理にて、各店舗の各商品の販売数量の時系列データを用いて、店舗間における販売数量の相関を算出する処理が行われる(S305)。この処理は、商品毎(固有の型番の商品毎)に、その販売数量について、すべての店舗間の組合せでの相関係数を求めて相関行列を生成する処理となる。相関行列を生成する処理を、販売数量の時系列データの一定期間毎に行うことで、一定期間毎の、また、商品毎の複数の相関行列が得られる。
【0031】
次に、プロセッサ251が相関行列修正部107を実行して実現される相関係数修正処理が行われる(S306)。この処理の流れを
図6に示す。
図6は、相関係数の修正処理の一例(エッジカットによる過学習低減処理の一例)を示すフローチャートである。
【0032】
ここでは、まず、相関行列算出処理にて得られた、一定時間毎の、また、商品毎の複数の相関行列が入力され、相関行列の選択処理に渡される。ここで、複数ある相関行列から、相関行列の全体の数に対して指定した割合となるように、複数の相関行列がランダムに選択される(S601)。
【0033】
次に、相関係数の選択処理として、選択済みの複数の相関行列のそれぞれにおいて、相関係数の全体の数に対して指定した割合となるように、複数の相関係数がランダムに選択される(S602)。
【0034】
次に、選択済みの複数の相関行列における選択済みの複数の相関係数のそれぞれについて、相関係数の大きさの判定処理が行われ(S603)、その絶対値が閾値以上の場合は相関係数を0とするような相関係数の変更処理が行われる(S604)。次のグラフ生成処理では(すなわち、S307では)、相関係数の大きさによってエッジを張る処理が行われることから、この相関係数を0とする操作はエッジを削除する操作に相当するが、これは特定の店舗間の関係性を後で詳しく説明する学習で重視し過ぎないようにすることを意図している。
【0035】
プロセッサ251がグラフ生成部108を実行して実現されるグラフ生成処理にて、店舗をノードとして、また、店舗間の関係をエッジで表現するグラフを生成する処理が行われる(S307)。既に算出されている相関行列に含まれる相関係数が、店舗間の販売数量の相関を表すことを踏まえ、相関係数の絶対値が閾値以上の場合、店舗と店舗の間に関係があるものとみなし、該当する店舗のノードとノードの間にエッジを張る操作(処理)を行うことで、プロセッサ251はグラフを生成する。ここで、ある商品に着目したときの店舗間の関係を表すグラフの例を、
図7に示す。ここでは、店舗を表すノードが符号701で、また、店舗と店舗の間に関係があることを示すエッジが符号702で表現されている。また、グラフにおいて、エッジの長さは、相関係数の大きさに関係している。
【0036】
次に、プロセッサ251が属性データ付加部109を実行して実現される属性データ付加処理にて、生成済みのグラフのノードに、前述の統計量(S304で求めた統計量)を属性データとして割り当てる処理が行われる(S308)。すなわち、この処理は、商品毎の販売数量の時系列データの統計量のデータとして、既に算出されている平均値、標準偏差、尖度、歪度の各データを、その時系列データが得られた店舗に該当するノードに紐づけることで行われる。
【0037】
次に、プロセッサ251が深層学習部114に係るプログラムを実行することにより実現される時系列データとグラフの学習処理が行われる(S309)。ここで、この学習に関するニューラルネットワークのモデルの構成の一例を
図8に示す。このモデルは、大きくは時間的特徴量処理層801、グラフ特徴量処理層802、特徴量統合処理層803から構成される。また、特徴量統合処理層803は、特徴量結合層804、バッチノーマライゼーション層805、ドロップアウト層806、全結合層807から構成される。
【0038】
ここで、モデルに入力されるデータのうち、時系列データは、時間的特徴量処理層801に入力される。時間的特徴量処理層801としては、ここではLSTM(Long Short Term Memory)を想定し、これを用いることで販売数量の時系列変化の特徴量が学習されるとする。なお、時系列データの特徴量の学習および抽出に関する処理は、プロセッサ251が時間的特徴量処理部110を実行することで実現される。
【0039】
また、モデルに入力されるデータのうち、グラフは、グラフ特徴量処理層802に入力される。グラフ特徴量処理層802としては、ここではGCN(Graph Convolutional Network)を想定し、グラフの特徴量が学習されるとする。なお、グラフの特徴量の学習および抽出に関する処理は、プロセッサ251がグラフ特徴量処理部802を実行することで実現される。
【0040】
この処理は、GCNの枠組みに従い、グラフをなす各ノードについて、各ノードに接続されているノードの属性データに重みを掛けて加算する畳み込み演算によって行われる。例えば、
図7のグラフにおいて、ノード703に着目すると、これに接続されているノード(範囲704の内側のノード)の属性データがノード703の属性データに畳み込まれる。これによって、ノード703に接続されているノード(範囲704の内側で符号703以外のノード)の属性データ(
図7において、ノード属性705)がノード703の属性データに反映され、ノード703周辺の特徴量が得られる。このような畳み込み処理を1回行うと、着目しているノードに直接接続されているノードの属性データが畳み込まれるが、グラフ特徴量処理層802を複数接続して畳み込み処理を複数回行うことで、着目しているノードに直接接続されていない、離れたノードの属性データも畳み込まれ、着目しているノードを中心により広い範囲の特徴量が得られる。
【0041】
時間的特徴量処理層801とグラフ特徴量処理層802によって得られた特徴は、特徴量統合処理層803に入力され、まず、特徴量結合層804にて結合される。結合された特徴量は、バッチノーマライゼーション層805、ドロップアウト層806、全結合層807を通して、販売数量の予測値を出力する。学習フェーズにおいては、この販売数量の予測値と計測データより得られる販売数量の実績値との差(誤差)が求められ、これが小さくなるようにモデルに含まれるニューラルネットワークの重みのパラメータが更新される。なお、学習処理では、一例として、共通する時間の時系列データおよびグラフが学習に用いられる。また、学習および予測に関する処理は、プロセッサ251が特徴量統合処理部112を実行することで実現される。
【0042】
以上の処理を通して学習は進められ、プロセッサが適宜のプログラムを実行して実現される学習完了判定処理にて、誤差の変化率が閾値より小さくなった場合は学習完了、そうでない場合は学習未完了との判定が行われる(S310)。
【0043】
学習が完了の場合は、予測フェーズとなる。この場合、
図3の学習フェーズの処理の流れとほぼ同様の処理となるが、販売数量を予測したい日より前の日までの計測データを得て、学習済みのモデルを用いて販売数量を予測することとなる。
図3での処理の流れとのより詳細な違いは、計測データ収集の処理(つまり、S302の処理)では予測する日より前の日のデータを受信する点となる。また、時系列データとグラフの学習処理では学習を行わずにモデルに時系列データとグラフを入力することで販売数量の予測値を出力する点(すなわち、S309~S310に関する処理の代わりに学習済みモデルを用いて予測値を出力する点)となる。なお、販売数量の予測値の出力に関する処理は、プロセッサ251が予測結果出力部113を実行することにより実現される。
【0044】
以上により、時系列データとグラフの特徴量を学習し、販売数量の予測が可能となる。従って、販売数量予測システム1によれば、複数店舗のデータ間の関係性を俯瞰的に捉え、より適切な商品の販売数量の予測を行うことができる。そして、ユーザは、データ間の関係性を俯瞰的に捉えた商品の販売数量の予測に基づいて、適切な事業計画を行うことができるので、販売数量予測システム1は、省資源化(例えば、商品ロスの低減)などに寄与することもできる。
【0045】
ここで、プロセッサ251は、適宜のプログラム(例えば、予測結果出力部113)を実行することで、商品の販売数量の予測値に関するデータなどを表示部255に表示させることができる。表示態様は特に限定されず、例えば、グラフ形式やテーブル形式などにより、時間の推移による販売数量の変化が分かるような表示が行われてもよい。また、所定の販売数量を見込める時間帯を強調した表示などが行われてもよい。また、プロセッサ251は、システム外部に接続される表示装置などに、出力または表示を実行してもよい。
【0046】
本実施形態の販売数量予測システム1について詳しく説明したが、本発明は実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、実施形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【0047】
例えば、以上の説明においては、販売数量計測部101は各店舗に設置されており、コントローラ部102は複数ある店舗全体を管理するセンタに設置されている状況を想定した上で説明しているが、コントローラ部102はいずれかの店舗にあってもよい。また、コントローラ部102が各店舗に設置されていて、各店舗で他店舗のデータを収集して販売数量について学習や予測するような構成としてもよい。
【0048】
例えば、販売数量計測部101は、商品の販売数量等のデータを計測し、計測したデータをコントローラ部102に送信するコンピュータであればよく、一例として、店内においてデータを蓄積または収集するサーバ機能を有するコンピュータとされてもよい。
【0049】
また、販売数量計測部101は、一例として、閉店後などにおいて店員などにより直接的に入力されるその日のデータを用いて、商品の販売数量等のデータを計測し、計測したデータをコントローラ部102に送信するコンピュータ(例えば、業務用のパーソナルコンピュータ)であってもよい。
【0050】
販売数量計測部101がデータを送信するタイミングやコントローラ部102がデータを収集するタイミングは、適宜に設定されてもよい。例えば、所定時間ごとに、あるいは、1日又は複数日ごとに、データの送受信が行われてもよい。
【0051】
販売数量計測部101が商品の販売数量等のデータを計測し、その結果をコントローラ部102に送信する例について説明されたが、販売数量計測部101から送信されるデータを利用して、コントローラ部102において、商品の販売数量等の計測が実行されてもよい。この場合、販売数量計測部101およびコントローラ部102の構成やプログラム等を、適宜に変更してもよい。
【0052】
実施形態において、ノードとエッジのうち、ノードのみに属性データが付加されているグラフについて畳み込みによって処理する例が示されたが、この限りでない。販売数量予測システム1は、属性データ付加部109による処理において、エッジにも属性データが付加され、グラフ特徴量処理部111による処理において、エッジにも属性データが付加されているグラフについて、畳み込みによって処理するようにしてもよい。
【0053】
実施形態において、特徴抽出についてGCNによる畳み込み処理を用いる例が示されたが、この限りでない。GCN以外の畳み込み処理が用いられてもよい。
【0054】
また、プーリングやドロップアウト層を、時間的特徴量処理層801やグラフ特徴量処理層802に組み合わせてもよい。
【0055】
コントローラ部102は、PC(パーソナルコンピュータ)と同様の機能を有している構成とすることができる。コントローラ部102は、例えば、CPUやメモリ、通信用デバイス、基本的な操作と処理結果の表示などに対応するためのユーザインターフェイス、電源や配線等の基本的なハードウェア、また、それらを制御するためのOSや各種ファームウェア、ドライバ等の基本的なソフトウェアなど、各部を動作させるために必要なものは備わっているものとすることができる。
【0056】
制御部201やプロセッサ251は、CPUとすることができるが、所定の処理を実行する主体であればよく、その他の半導体デバイス(例えば、GPU:Graphics Processing Unit)であってもよい。
【0057】
また、コントローラ102の各部(103~113)については、ソフトウェアとしての実装をここでは想定しているが、それらのすべてまたは一部をハードウェアとして実装してもよい。また、各部(103~113)については、通信が可能ならば、例えば遠隔地にあっても良い。また、以上の各部(103~113)をなすハードウェアやソフトウェアは、実施形態に応じて取捨選択を行なっても良い。
【0058】
学習済みモデルは、通信可能な遠隔地などにおいて生成されてもよく、コントローラ部102は、通信可能な遠隔地などにおいて生成された学習済みモデルを用いて商品の販売数量の予測を行ってもよい。また、コントローラ部102は、一例として、本明細書で説明された同様の方法により生成された学習済みモデルを、適宜の手法でダウンロードして用いてもよい。
【0059】
また、実施形態においては、一例として、チェーンストアをなす各店舗における商品の販売数量を予測するシステムについて述べたが、複数の拠点で得られる時系列データをもとに時系列データの予測を行うものであれば、他のアプリケーションを扱うシステムであってもよい。
【0060】
適宜の関係性がある時系列データを用いて学習済みモデルが生成されてもよい。例えば、店舗側の観点から、出店地域が共通する時系列データを用いて、学習済みモデルが生成されてもよい。これにより、店舗側の観点に基づいて、所定の出店地域における商品の販売数量について、より俯瞰的に予測することができる。
【0061】
例えば、出店地域が関東地区で共通する店舗の時系列データに限ることで、関東地区における商品の販売数量を、より俯瞰的に予測することができるようになる。なお、ここで出店地域として地方区分の単位で共通する例について説明したが、共通する出店地域の範囲は、この例に限定されない。例えば、出店地域が、地域(Region)、地区(Divisiоn)、州(State)などの単位で共通するデータが用いられてもよいし、自治体、都道府県、市区町村などの単位で共通するデータが用いられてもよい。
【0062】
また、この条件に代えて若しくは加えて、購買層(例えば、性別や年齢、職業など)の観点から、購買層が共通する時系列データを用いて、学習済みモデルが生成されてもよい。これにより、購買層の観点に基づいて、より俯瞰的な予測を行うことができる。
【0063】
S303で実行される共通に扱われていない商品のデータの補間処理において、同じ尺度を有するデータに基づいて補間が実行されてもよい。このようなデータを用いて補間することで、より適切な補間を行うことができる。ここで、S303では、例えば、距離が近い店舗のデータ、店舗の出店地域が同じ店舗のデータ、購買層が近い店舗のデータ(一例として、年齢や性別の分布が近い店舗のデータ等)に基づいて、補間が行われるという条件が設定されてもよい。すなわち、S303では、店舗間の距離、店舗の出店地域、および、購買層のうちの少なくとも一つの観点で共通するデータに基づいて、補完処理が行われてもよい。
【0064】
販売数量予測システム1は、一例として、例えば、コンビニエンスストア、ドラッグストア、自動車等のディーラー、衣料品店などに関するチェーンストアを対象に用いることができるが、これらに限定されるものではない。
【符号の説明】
【0065】
1 販売数量予測システム
101 販売数量計測部
102 コントローラ部
103 計測データ収集部
104 計測データ補間部
105 統計量算出部
106 相関行列算出部
107 相関係数修正部
108 グラフ生成部
109 属性データ付加部
110 時間的特徴量処理部
111 グラフ特徴量処理部
112 特徴量統合処理部
113 予測結果出力部