(58)【調査した分野】(Int.Cl.,DB名)
前記第2統計量取得部は、前記過去期間と所定の時間差を有する期間についての統計量であって、前記関連エリアの滞在人口に関する情報を含む前記統計量を、前記第2統計量として取得する、
請求項1〜4のいずれか一項に記載の需要予測装置。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。なお、図面の説明において同一又は相当要素には同一符号を付し、重複する説明を省略する。
【0012】
図1は、一実施形態に係る需要予測装置を含むサーバ10の機能構成を示す図である。サーバ10は、所定のサービスの需要の予測対象として選択される予測対象エリアの需要を予測するコンピュータシステムである。本実施形態では、サーバ10は、予測対象エリアにおけるタクシー需要(タクシーの乗客数)を予測する。より具体的には、一例として、サーバ10は、現時点(需要予測の実行時点)から30分間に予測対象エリアで発生するタクシー需要の予測値を算出する。
【0013】
図1に示されるように、サーバ10は、記憶部11と、モデル生成部12と、第1統計量取得部13と、エリア抽出部14と、第2統計量取得部15と、需要予測部16と、を備える。
【0014】
記憶部11は、サーバ10の処理に必要となる各種情報を記憶する。例えば、記憶部11は、メッシュ毎の各種統計データを格納する統計データ管理テーブル(
図2参照)を記憶する。メッシュは、予め設定された地理的な区画であり、例えば500m四方の正方形状の領域である。記憶部11に記憶された各種情報は、モデル生成部12、第1統計量取得部13、エリア抽出部14、第2統計量取得部15、及び需要予測部16からアクセス可能となっている。
【0015】
モデル生成部12は、予測対象エリアのタクシー需要を予測するための予測モデルを生成する。モデル生成部12は、第1学習用統計量取得部121と、第2エリア抽出部122と、第2学習用統計量取得部123と、生成部124と、を有する。
【0016】
第1学習用統計量取得部121は、少なくとも1つの第1エリアについて、所定の対象期間に関連付けられる第1エリアの特徴を表す第1学習用統計量と、上記対象期間よりも後の期間に関連付けられる第1エリアの需要実績値とを取得する。第1学習用統計量は、予測モデルの説明変数に対応する。第1エリアの需要実績値は、予測モデルの目的変数に対応する。例えば、第1学習用統計量取得部121は、メッシュ毎の各種統計データを格納する統計データ管理テーブル(
図2)を参照することにより、第1学習用統計量及び需要実績値を取得する。第1エリアは、例えばメッシュ1つ分の領域である。
【0017】
図2は、あるメッシュについての各種統計データを格納する統計データ管理テーブルの一例を表す。この例では、統計データ管理テーブルに格納される統計データSTは、集計開始時刻が10分毎ずらされた単位期間(ここでは30分)毎の各種統計情報を含んでいる。本実施形態では、統計データSTは、人口データST1、天候データST2、及びタクシーデータST3を含んでいる。
【0018】
人口データST1は、メッシュ内の滞在人口(例えば単位期間内の平均人口)に関する統計情報である。人口データST1は、全体人口(「人口」列)及び季節性に起因する人口成分(「人口季節成分」列)等の情報を含んでいる。人口の変動要因は、例えば、傾向変動成分(Trend)、循環変動成分(Cycle)、季節変動成分(Seasonal)、及び不規則変動成分(Irregular,Noise)等に分解され得る。このような要因分解は、例えば公知のアルゴリズム等により実行され得る。傾向変動成分は、比較的長いサイクルで周期的に変動する数値である。循環変動成分は、比較的短いサイクルで周期的に変動する数値である。季節変動成分は、大型連休及び正月等のイベントによって変動する数値である。不規則変動成分は、傾向変動成分、循環変動成分、及び季節変動成分には含まれない成分であり、不定期に変動する数値である。人口データST1に含まれる人口季節成分は、上述した季節変動成分に相当する。ただし、人口データST1の内訳は上記例に限られない。例えば、人口データST1は、男女別人口、年代別人口、及び居住地別人口等の人口に関する様々な情報を含んでもよい。また、人口データST1は、上述した傾向変動成分、循環変動成分、及び不規則変動成分等を含んでもよい。
【0019】
天候データST2は、メッシュ内の天候に関する統計情報である。天候データST2は、雨量及び風量等の情報を含んでいる。ただし、天候データST2の内訳は上記例に限られない。例えば、天候データST2は、気温、湿度、風量、風向、及び気圧等の情報を含んでもよい。
【0020】
タクシーデータST3は、メッシュ内のタクシー利用に関する統計情報である。タクシーデータST3は、乗車数及び降車数等の情報を含んでいる。ただし、タクシーデータST3の内訳は上記例に限られない。例えば、タクシーデータST3は、タクシーの空車数等の情報を含んでもよい。空車数(空車量)は、単位期間においてメッシュ内を空車状態で通過したタクシーの台数である。
【0021】
まず、第1学習用統計量取得部121は、例えばオペレータによる入力を受け付けることにより、第1エリア及び対象期間を設定する。対象期間は、任意の期間(例えば2015年8月2日10時00分から同日16時00分までの6時間)であってよい。そして、第1学習用統計量取得部121は、第1エリアの統計データSTを参照することにより、対象期間の統計データSTを、第1学習用統計量として取得する。
【0022】
第1学習用統計量取得部121は、対象期間よりも後の期間(例えば対象期間の終了時点である2015年8月2日16時00分から同日16時30分までの30分間)の乗車数(
図2の例では「2」)を、第1エリアの需要実績値として取得する。
【0023】
なお、第1エリアは、必ずしも1つのメッシュからなる領域でなくてもよい。例えば、第1エリアは、円形領域(後述する
図4の(B)の第1エリアA1参照)等であってもよい。この場合、第1学習用統計量取得部121は、第1エリアに含まれるメッシュの統計データSTを第1学習用統計量として取得してもよい。第1エリアに複数のメッシュが含まれる場合、第1学習用統計量取得部121は、当該複数のメッシュの各々の統計データSTに対して同じ期間及び同じ種類に関連付けられる統計量同士に対して所定の演算(例えば和又は平均を求める演算)を行ってもよい。そして、第1学習用統計量取得部121は、当該演算により得られた統計量(例えば和及び平均値等)を、各期間及び各種類に対応する第1学習用統計量として取得してもよい。このとき、第1学習用統計量取得部121は、第1エリアに完全に含まれるメッシュのみを第1エリアに含まれるメッシュとして特定してもよい。或いは、第1学習用統計量取得部121は、第1エリアに完全に含まれないメッシュについては、例えばメッシュ全体の面積に対する第1エリアに含まれるメッシュ部分の割合(第1エリアに含まれるメッシュ部分の面積/メッシュ全体の面積)を当該メッシュに関する統計データSTの各値に乗じた値を用いて、上述の計算を行ってもよい。
【0024】
第2エリア抽出部122は、第1エリアとは大きさが異なり、第1エリアを包囲する、少なくとも1つの第2エリアを抽出する。以下、第1エリア及び第2エリアのいくつかの例について説明する。第1〜第3の抽出例は、第1エリアからの距離に基づいて第2エリアを抽出する例である。また、第4の抽出例は、第1エリアとの間の移動に要する移動時間に基づいて第2エリアを抽出する例である。
【0025】
(第1の抽出例)
第1エリアは、地理的な区画として予め設定されたメッシュ1つ分の領域であり、第2エリア抽出部122は、複数のメッシュからなる領域を第2エリアとして抽出してもよい。
図3の(A)は、複数のエリアA(メッシュ)のうちから選択された1つの第1エリアA1を表している。
図3の(B)は、第1エリアA1に対応する1つ目の第2エリアA21を表しており、
図3の(C)は、第1エリアA1に対応する2つ目の第2エリアA22を表している。
図3に示されるように、第2エリア抽出部122は、第1エリアA1からの距離が等しいメッシュ群をひとまとめにしたエリアを、第2エリアA2として抽出してもよい。ここでの「距離」は、第1エリアA1との間に存在するメッシュ数により表現され得る。第2エリアA21は、第1エリアA1に隣接する8個のメッシュからなる四角枠状のエリア(第1エリアA1との間に存在するメッシュ数が0であるメッシュをひとまとめにしたエリア)である。第2エリアA22は、第2エリアA21の外側を囲う四角枠状のエリア(第1エリアA1との間に存在するメッシュ数が1である16個のメッシュをひとまとめにしたエリア)である。抽出される第2エリアA2の個数は1つでもよいし、3つ以上であってもよい。例えば、第2エリア抽出部122は、第1エリアA1との間に存在するメッシュ数を1つずつ増やしていき、それぞれのメッシュ数に対応するエリア(例えば24個のメッシュからなるエリア、及び32個のメッシュからなるエリア等)を第2エリアA2として抽出してもよい。
【0026】
(第2の抽出例)
第2エリア抽出部122は、第1エリアA1からの距離(すなわち、第1エリアA1との間に存在するメッシュの数)が多くなる程、ひとまとめにするメッシュ数(ここでは、枠状に形成されるエリアの枠幅)が多くなるように、第2エリアA2を抽出してもよい。例えば、
図4の(A)に示されるように、第1エリアA1との間に存在するメッシュ数が1である第2エリアA22(A2)は、メッシュ2つ分の枠幅を有する四角枠状のエリアであってもよい。一般に、第1エリアA1から離れたエリアほど、第1エリアA1との相関が低くなる傾向がある。したがって、この例によれば、第1エリアA1との関係において重要度がそれほど高くない第2エリアA2に含まれるメッシュ数を増やすことにより、より多くのメッシュに関する統計データSTを考慮しつつ、第2エリアA2の個数を減らすことができる。その結果、需要予測のために必要となる説明変数の個数(具体的には後述する第2学習用統計量の次元数)を削減し得る。このように説明変数の個数を減らすことにより、計算量の削減及びメモリ使用量の低減等を図ることができる。すなわち、プロセッサ、メモリ等のハードウェア資源の処理負荷及び使用料を低減できる。
【0027】
(第3の抽出例)
第1エリアA1及び第2エリアA2は、メッシュ状でなくてもよい。例えば、
図4の(B)に示されるように、第1エリアA1は、円形領域として設定されてもよい。この場合、第2エリア抽出部122は、第1エリアA1の中心からの距離が所定範囲内に含まれるリング状の領域を、第2エリアA2として抽出してもよい。例えば、半径500mの円形領域が第1エリアA1として設定されている場合について考える。この場合、第2エリア抽出部122は、第1エリアA1の中心からの距離dが「500m≦d≦1000m」の範囲に収まるリング状のエリアを第2エリアA21として抽出してもよい。また、第2エリア抽出部122は、上記中心からの距離dが「1000m≦d≦1500m」の範囲に収まるリング状のエリアを第2エリアA22として抽出してもよい。
【0028】
(第4の抽出例)
第2エリア抽出部122は、第1エリアA1との間の移動に要する移動時間に基づいて、第2エリアを抽出してもよい。ここで、「第1エリアA1との間の移動に要する移動時間」とは、例えば、第1エリアA1の代表位置(例えば重心)を終点として、想定される移動手段(例えば、車、電車、徒歩等)を用いて上記代表位置に到達するために必要な時間である。或いは、「第1エリアA1との間の移動に要する移動時間」は、第1エリアA1の代表位置を起点として、上記想定される移動手段を用いて第1エリアA1の代表位置から到達するために必要な時間であってもよい。
【0029】
例えば、第1エリアA1及び第2エリアA2に設けられた道路、路線、及び駅等の情報は、記憶部11に予め記憶されている。第2エリア抽出部122は、これらの情報を参照し、公知の最短経路検索アルゴリズム等を実行することにより、第1エリアA1の代表位置と任意の位置との間の最短経路(移動手段を含む)、及び当該最短経路の移動にかかる時間を算出してもよい。このような処理によれば、例えば、第1エリアA1の代表位置に到達するまでに必要な時間tdが「10分≦td≦20分」の範囲に収まるエリアを第2エリアA21として抽出し、時間tdが「20分≦td≦30分」の範囲に収まるエリアを第2エリアA22として抽出すること等が可能となる。
【0030】
図5は、上述のように抽出された2つの第2エリアA21,A22の例を表す図である。
図5に示されるように、移動時間に基づいて抽出される第2エリアA2の形状は、第1エリアA1の周辺の設備の状況(設けられている道路の種別及び法定速度等、並びに駅からの距離及び路線の運行間隔等)に応じて異なり得る。
【0031】
第2学習用統計量取得部123は、第2エリアA2の特徴を表す第2学習用統計量を取得する。以下、第2学習用統計量のいくつかの取得例について説明する。第2学習用統計量は、上述した第1学習用統計量と同様に、予測モデルの説明変数に対応する。
【0032】
(第1の取得例)
第2学習用統計量取得部123は、第2エリアA2に含まれる複数のメッシュの各々に関連付けられる統計データSTのうち、第1学習用統計量の取得対象期間として設定された対象期間(本実施形態では、2015年8月2日10時00分から同日16時00分までの6時間)と同じ期間についての統計データSTを取得してもよい。
【0033】
そして、第2学習用統計量取得部123は、当該複数のメッシュの各々の統計データSTに対して同じ期間及び同じ種類に関連付けられる統計量同士に対して所定の演算を行うことで得られる一以上の統計量を、各期間についての第2学習用統計量として取得する。一以上の統計量は、例えば、平均値、最大値、最小値、中央値、及び分散等の所定の演算により得られる値である。なお、第2エリアA2に部分的に含まれるメッシュの統計データSTの取扱いは、上述した第1学習用統計量を取得する処理における、第1エリアA1に部分的に含まれるメッシュの統計データSTの取扱いと同様である。
【0034】
(第2の取得例)
第2学習用統計量取得部123は、第1学習用統計量の取得対象期間として設定された対象期間と所定の時間差を有する期間についての統計量を、第2学習用統計量として取得してもよい。具体的には、第2学習用統計量取得部123は、第1エリアA1と第2エリアA2との間の移動に要する移動時間(上記第4の抽出例において説明した移動時間と同様)に基づいて、所定の時間差を決定してもよい。ある時点に第2エリアA2に滞在する人が第1エリアA1でタクシーに乗る可能性があるのは(すなわち、ある時点の第2エリアA2の滞在人口が第1エリアA1のタクシー需要に影響を及ぼす可能性があるのは)、当該時点から少なくとも上記移動時間後であると考えられる。したがって、第2エリアA2についての統計データSTの取得対象期間を、対象期間(第1エリアA1の統計データSTの取得対象期間)よりも上記移動時間だけ前にずらすことにより、第1エリアA1のタクシー需要を予測する上で、より意味のある(有益な)データを説明変数とすることが可能となる。
【0035】
例えば、
図3の(B)に示される第2エリアA21から第1エリアA1の代表位置に到達するまでに必要な移動時間の平均値が30分である場合、第2学習用統計量取得部123は、第2エリアA21に関して、30分を所定の時間差として決定してもよい。この場合、第2学習用統計量取得部123は、第2エリアA21に含まれる複数のメッシュの各々に関連付けられる統計データSTのうち、上記対象期間よりも30分だけ前にずらした時間帯(本実施形態では、2015年8月2日09時30分から同日15時30分までの6時間)についての統計データSTを取得してもよい。第2エリアA21に含まれる複数のメッシュの各々に関連付けられる統計データSTを取得した後の処理は、上述した第1の取得例と同様である。第2エリアA2が複数存在する場合には、上述した第2の取得例の処理は、各第2エリアA2について個別に実行される。
【0036】
(第3の取得例)
第2学習用統計量取得部123は、第1エリアA1の需要実績値と第2エリアA2の滞在人口との関係に基づいて、所定の時間差を決定してもよい。ある時点の第2エリアA2の滞在人口が第1エリアA1のタクシー需要に影響を及ぼすのは、必ずしも当該時点から上記移動時間後とは限らない。そこで、第2学習用統計量取得部123は、過去の実績値(統計データST)に基づいて、第1エリアA1の需要実績値(乗車数)と第2エリアA2の滞在人口(本実施形態では、前時間帯からの人口差分)との相関が最大となるような時間差を求める。
【0037】
図6は、1時間毎に区切られた時間帯毎の、第1エリアA1の乗車数、第2エリアA2の滞在人口、及び第2エリアA2の前時間帯からの人口差分の例を表している。このようなデータは、第1エリアA1に含まれる各メッシュの統計データST及び第2エリアA2に含まれる各メッシュの統計データSTから得られる。第2学習用統計量取得部123は、下記式により表される相関φが最大となる時間差τを所定の時間差として決定する。
【数1】
【0038】
x[k]は時間帯k(例えば15時から16時までの時間帯についてはk=15)における第1エリアA1の乗車数である。y[k]は時間帯kにおける第2エリアA2の人口差分である。
図6の例では、「τ=−2(時間)」のときに相関φは最大となるため、第2学習用統計量取得部123は、2時間を所定の時間差として決定する。すなわち、第2学習用統計量取得部123は、第2エリアA2についての統計データSTの取得対象期間を、上記対象期間よりも2時間だけ前にずらす。第2エリアA21に含まれる複数のメッシュの各々に関連付けられる統計データSTを取得した後の処理は、上述した第1の取得例と同様である。第2エリアA2が複数存在する場合には、上述した第3の取得例の処理は、各第2エリアA2について個別に実行される。
【0039】
(第4の取得例)
例えば、各時間帯の人口差分(前時間帯からの人口差分)を説明変数として用いる場合であって、第2エリアA2で開催されるイベント(例えば、コンサート及びスポーツ観戦等)の開催期間(例えば開始時刻及び終了時刻)が予め把握されている場合について考える。ここでは特に、イベントの終了時刻から第2の取得例で説明した移動時間だけ経過した時刻が、第1学習用統計量取得部121が第1エリアA1の需要実績値の取得対象期間に含まれる場合について考える。この場合、第1エリアA1の需要実績値は、イベントによる集客数(すなわち、イベント開始時における第2エリアA2の人口増分)と相関があると考えられる。したがって、このような場合には、第2学習用統計量取得部123は、イベント開始からイベント終了までのイベント開催時間(例えば2時間)と上記移動時間との和による求まる時間差を、所定の時間差としてもよい。
【0040】
上述した第1学習用統計量取得部121、第2エリア抽出部122、及び第2学習用統計量取得部123の処理により、予測モデルを生成するために必要な学習データが生成される。1つの学習データは、第1学習用統計量及び第2学習用統計量を説明変数とし、第1エリアA1の需要実績値を目的変数とするデータである。第1学習用統計量取得部121、第2エリア抽出部122、及び第2学習用統計量取得部123は、複数のエリア及び複数の対象期間(第1学習用統計量の取得対象期間)の組み合わせについて、上述の処理を実行してもよい。これにより、様々なバリエーションの学習データが得られる。なお、1つの予測モデルを生成する際には、同一の基準によって取得された説明変数を含む複数の学習データが利用され得る。すなわち、1つの学習データを生成するために利用される複数の学習データは、第2エリアA2の抽出及び第2学習用統計量の取得の両方において共通の手法を用いることにより得られた学習データである。
【0041】
生成部124は、第1学習用統計量及び第2学習用統計量と第1エリアA1の需要実績値とを関連付けたデータを学習データとして用いた機械学習を実行することにより、予測モデルを生成する。生成部124は、上述のように生成された複数の学習データを用いることにより、予測モデルを生成する。予測モデルは、第1エリアに対応する予測対象エリアについての第1学習用統計量及び第2学習用統計量に対応する入力データを説明変数として受け付けた場合に、予測対象エリアの需要予測値を目的変数として出力するモデルである。生成部124により生成された予測モデルは、記憶部11に記憶される。
【0042】
予測モデルの生成に用いられる機械学習の具体的な手法は限定されないが、生成部124は、例えば、所謂ディープラーニングの手法を用いることにより、予測モデルを生成してもよい。このような予測モデルは、例えば予測処理を行う従来のニューラルネットワークに加えて、その前段の処理として特徴量(説明変数)の抽象化を実行する積層自己符号器(Stacked Auto-Encoder)等を含み得る。
【0043】
以上説明したモデル生成部12の処理により、予測対象エリアのタクシー需要(乗客数)を予測するための予測モデルが用意される。続いて、当該予測モデルを用いて実際に需要予測を行うための各機能要素について説明する。
【0044】
第1統計量取得部13は、所定のサービスの需要(本実施形態ではタクシー需要)の予測対象となる予測対象エリアについての過去期間に関連付けられる特徴を表す第1統計量を取得する。例えば、第1統計量取得部13は、オペレータからの入力を受け付けることにより、予測対象エリア(例えば1メッシュ)を把握する。そして、第1統計量取得部13は、当該予測対象エリアの現時点から30分間のタクシー需要を予測するために必要な第1統計量を取得する。
【0045】
ここで、予測対象エリア及び第1統計量は、モデル生成部12により扱われる第1エリア及び第1学習用統計量に対応する。したがって、第1統計量取得部13は、第1エリアに対する第1学習用統計量を取得する処理(第1学習用統計量取得部121の処理)と同様の処理により、予測対象エリアに対する第1統計量を取得できる。例えば本実施形態では、第1学習用統計量として、第1エリアの需要実績値に対応する期間の直前6時間分についての第1エリアに含まれるメッシュの統計データSTが取得される。この場合、第1統計量取得部13は、予測モデル生成時における処理と同様に、現時点の直前6時間分についての予測対象エリアに含まれるメッシュの統計データSTを、第1統計量として取得すればよい。
【0046】
エリア抽出部14は、予測対象エリアとは大きさが異なり、予測対象エリアを包囲する、少なくとも1つの関連エリアを抽出する。
【0047】
ここで、関連エリアは、モデル生成部12により扱われる第2エリアに対応する。したがって、エリア抽出部14は、第1エリアに対する第2エリアを抽出する処理(第2エリア抽出部122の処理)と同様の処理により、予測対象エリアに対する関連エリアを取得できる。例えば上述した第1の抽出例では、1メッシュにより構成される第1エリアA1に対して、当該第1エリアA1を包囲する8メッシュからなる第2エリアA21及び16メッシュからなるA22が抽出された。このような抽出手法により得られた学習データを用いて生成された予測モデルを用いる場合、エリア抽出部14は、予測モデル生成時における処理と同様に、1メッシュにより構成される予測対象エリアを包囲する8メッシュからなる関連エリア及び16メッシュからなる関連エリアを抽出すればよい。すなわち、予測モデルを生成する際の第2エリアA2の抽出手法として上述した第1〜第3の抽出例が採用されている場合、エリア抽出部14は、上述した第2エリア抽出部122による処理と同様に、予測対象エリアからの距離に基づいて関連エリアを抽出する。一方、予測モデルを生成する際の第2エリアA2の抽出手法として上述した第4の抽出例が採用されている場合、エリア抽出部14は、上述した第2エリア抽出部122による処理と同様に、予測対象エリアとの間の移動に要する移動時間に基づいて関連エリアを抽出する。
【0048】
第2統計量取得部15は、関連エリアの特徴を表す第2統計量を取得する。
【0049】
ここで、第2統計量は、モデル生成部12により扱われる第2学習用統計量に対応する。したがって、第2統計量取得部15は、第2エリアに対する第2学習用統計量を取得する処理(第2学習用統計量取得部123の処理)と同様の処理により、関連エリアに対する第2統計量を取得できる。
【0050】
予測モデルについて上述した第2の取得例が採用されている場合について考える。この場合、第2統計量取得部15は、過去期間(第1統計量の取得対象とされた期間)と所定の時間差を有する期間についての統計量であって、関連エリアの滞在人口に関する情報を含む統計量を、第2統計量として取得する。具体的には、第2統計量取得部15は、予測対象エリアとの間の移動に要する移動時間に基づいて、所定の時間差を決定する。この場合、第2統計量取得部15は、上述した第2の取得例において、第1学習用統計量、第2学習用統計量、第1エリア、及び第2エリアを、第1統計量、第2統計量、予測対象エリア、及び関連エリアと読み替えた場合の処理を実行すればよい。
【0051】
予測モデルについて上述した第3の取得例が採用されている場合について考える。この場合、第2統計量取得部15は、予測対象エリアの需要実績値と関連エリアの滞在人口との関係に基づいて、所定の時間差を決定する。この場合、第2統計量取得部15は、上述した第3の取得例において、第2学習用統計量、第1エリア、及び第2エリアを、第2統計量、予測対象エリア、及び関連エリアと読み替えた場合の処理を実行すればよい。
【0052】
予測モデルについて上述した第4の取得例が採用されている場合について考える。この場合、第2統計量取得部15は、上述した第4の取得例において、第2学習用統計量、第1エリア、及び第2エリアを、第2統計量、予測対象エリア、及び関連エリアと読み替えた場合の処理を実行すればよい。
【0053】
需要予測部16は、第1統計量と第2統計量とを予め用意された予測モデル(モデル生成部12により生成された予測モデル)に入力することにより、予測対象エリアの需要予測値(タクシー乗客数の予測値)を取得する。具体的には、需要予測部16は、予測モデルによる出力結果を、予測対象エリアの需要予測値として取得する。このようにして取得された需要予測値は様々な用途に用いられ得る。例えば、需要予測部16は、需要予測値をディスプレイ等に表示することで、オペレータに予測結果を提示してもよい。また、上述した第1統計量取得部13、エリア抽出部14、第2統計量取得部15、及び需要予測部16は、複数の異なる予測対象エリアについて処理を実行してもよい。この場合に得られる各エリアの需要予測値は、例えばタクシーの各エリアへの効率的な配車を実現するための配車制御等に利用されてもよい。
【0054】
図7に示されるフローチャートを参照して、モデル生成部12の処理手順について説明する。
【0055】
ステップS1において、第1学習用統計量取得部121は、例えばオペレータによる入力を受け付けることにより、第1エリア及び対象期間を設定する。例えば、メッシュ1つ分のエリアが第1エリアとして設定され得る。対象期間は、統計データSTが記憶されている期間のうちから任意に抽出された期間(例えば6時間)である。
【0056】
ステップS2において、第1学習用統計量取得部121は、第1エリアA1の対象期間における第1学習用統計量を取得する。また、第1学習用統計量取得部121は、対象期間よりも後の期間(例えば対象期間の終了時点から30分間)に関連付けられた第1エリアA1の需要実績値(乗車数)を取得する。
【0057】
ステップS3において、第2エリア抽出部122は、第1エリアA1とは大きさが異なり、第1エリアA1を包囲する、少なくとも1つの第2エリアA2を抽出する。第2エリア抽出部122は、例えば上述した第1〜第4の抽出例のいずれかの手法により、第2エリアA2を抽出する。
【0058】
ステップS4において、第2学習用統計量取得部123は、第2エリアA2の第2学習用統計量を取得する。第2学習用統計量取得部123は、例えば上述した第1〜第4の取得例のいずれかの手法により、第2学習用統計量の取得対象期間(第1学習用統計量の取得対象期間である対象期間と同一又は対象期間よりも前の期間)を決定する。
【0059】
ステップS5において、モデル生成部12は、第1学習統計量及び需要実績値と第2学習用統計量とに基づいて、一組の学習データ(説明変数としての第1学習用統計量及び第2学習用統計量と目的変数としての第1エリアA1の需要実績値とを含むデータ)を生成する。
【0060】
ステップS6において、モデル生成部12は、他の学習データを生成するか否かを判定する。例えば、モデル生成部12は、予測モデルを生成するために適切な数(例えば予めオペレータにより設定される数)の学習データが得られたと判定できるまで、学習データの生成処理(ステップS1〜S5)を繰り返し実行してもよい(ステップS6:NO)。一方、モデル生成部12は、適切な数の学習データが得られたと判定できた場合(ステップS6:YES)、ステップS7の処理に進む。
【0061】
ステップS7において、生成部124は、ステップS5において生成された学習データを用いた機械学習を実行することにより、予測モデルを生成する。生成された予測モデルは、例えば記憶部11に記憶される。
【0062】
図8に示されるフローチャートを参照して、予測対象エリアの需要予測値を実際に予測するための処理手順について説明する。
【0063】
ステップS11において、第1統計量取得部13は、例えばオペレータによる入力を受け付けることにより、需要予測の対象となる予測対象エリアを選択する。
【0064】
ステップS12において、第1統計量取得部13は、予測対象エリアについての過去期間(現時点の直前6時間)に関連付けられる特徴を表す第1統計量を取得する。より具体的には、第1統計量取得部13は、第1エリアA1に対する第1学習用統計量を取得する処理(第1学習用統計量取得部121の処理)と同様の処理により、予測対象エリアに対する第1統計量を取得する。
【0065】
ステップS13において、エリア抽出部14は、予測対象エリアとは大きさが異なり、予測対象エリアを包囲する、少なくとも1つの関連エリアを抽出する。より具体的には、エリア抽出部14は、第1エリアA1に対する第2エリアA2を抽出する処理(第2エリア抽出部122の処理)と同様の処理により、予測対象エリアに対する関連エリアを取得する。
【0066】
ステップS14において、第2統計量取得部15は、関連エリアの第2統計量を取得する。より具体的には、第2統計量取得部15は、第2エリアに対する第2学習用統計量を取得する処理(第2学習用統計量取得部123の処理)と同様の処理により、関連エリアに対する第2統計量を取得する。
【0067】
ステップS15において、需要予測部16は、第1統計量と第2統計量とを予め用意された予測モデル(モデル生成部12により生成された予測モデル)に入力することにより、予測対象エリアの需要予測値を取得する。
【0068】
以上述べたサーバ10は、予測対象エリアの統計量(第1統計量)と共に、予測対象エリアとは大きさが異なり、予測対象エリアを包囲する、関連エリアの統計量(第2統計量)に基づいて、当該予測対象エリアの需要予測値を算出する。このような関連エリアの第2統計量は、どのエリアを予測対象エリアとして選択するかによらず、予測対象エリアの需要予測の精度を高めるために有用なデータとなり得る。したがって、サーバ10によれば、複数のエリアに共通の予測モデルを用いた場合において、エリア毎の予測精度のバラツキを抑制できる。その結果、各予測対象エリアの需要予測の精度を向上させることができ、各予測対象エリアにおけるサービス提供(本実施形態では、タクシーの適切な配車)を円滑に行うことが可能となる。
【0069】
予測対象エリアは、地理的な区画として予め設定されたメッシュ1つ分の領域であり、関連エリアは、複数のメッシュからなる領域であってもよい。例えば、予測対象エリア及び関連エリアは、上述した第1又は第2の抽出例における第1エリアA1及び第2エリアA2と同様に設定されてもよい。このように予測対象エリアの周囲の複数のメッシュをひとまとめにした領域を関連エリアとして設定することにより、上述した効果を奏すると共に、各メッシュを個別に扱う場合と比較して説明変数(第2統計量)を削減することができる。
【0070】
エリア抽出部14は、予測対象エリアからの距離に基づいて、関連エリアを抽出してもよい。例えば、エリア抽出部14は、上述した第1〜第3の抽出例における処理と同様の処理により、関連エリアを抽出してもよい。この場合、予測対象エリアの将来需要に与える影響度(すなわち、距離が近い程影響度が大きい)に基づいて、関連エリアを設定できる。
【0071】
エリア抽出部14は、予測対象エリアとの間の移動に要する移動時間に基づいて、関連エリアを抽出してもよい。例えば、エリア抽出部14は、上述した第4の抽出例における処理と同様の処理により、関連エリアを抽出してもよい。この場合、予測対象エリアの将来需要に与える影響度(すなわち、移動時間が短い程影響度が大きい)に基づいて、関連エリアを設定できる。
【0072】
第2統計量取得部15は、過去期間と所定の時間差を有する期間についての統計量であって、関連エリアの滞在人口に関する情報を含む統計量を、第2統計量として取得してもよい。第2統計量取得部15は、予測対象エリアと関連エリアとの間の移動に要する移動時間に基づいて、所定の時間差を決定してもよい。例えば、所定の時間差は、上述した第2の取得例における処理と同様の処理により決定されてもよい。このように、関連エリアの滞在人口が予測対象エリアにおけるタクシー需要に影響を与えるまでの時間差を考慮して、第2統計量の取得対象期間を第1統計量の取得対象期間より過去にずらすことにより、より意味のある(有益な)データを説明変数とすることが可能となる。
【0073】
第2統計量取得部15は、予測対象エリアの需要実績値と関連エリアの滞在人口との関係に基づいて、所定の時間差を決定してもよい。例えば、所定の時間差は、上述した第3の取得例における処理と同様の処理により決定されてもよい。このように、予測対象エリアの需要実績値と関連エリアの滞在人口との関係(本実施形態では、需要実績値と人口差分との相関)に基づいて時間差を決定することにより、より一層意味のある(有益な)データを説明変数とすることが可能となる。
【0074】
サーバ10は、モデル生成部12を備える。モデル生成部12は、少なくとも1つの第1エリアA1について、所定の対象期間に関連付けられる第1エリアA1の特徴を表す第1学習用統計量と、対象期間よりも後の期間に関連付けられる第1エリアA1の需要実績値とを取得する第1学習用統計量取得部121と、第1エリアA1とは大きさが異なり、第1エリアA1を包囲する、少なくとも1つの第2エリアA2を抽出する第2エリア抽出部122と、第2エリアA2の特徴を表す第2学習用統計量を取得する第2学習用統計量取得部123と、第1学習用統計量及び第2学習用統計量と第1エリアA1の需要実績値とを関連付けたデータを学習データとして用いた機械学習を実行することにより、予測モデルを生成する生成部124と、を有する。このようなモデル生成部12により、エリア毎の予測精度のバラツキを抑制できる予測モデルを生成できる。
【0075】
なお、本発明は上記実施形態に限定されない。例えば、予測モデルの説明変数には、上記例示した統計量以外の特徴量が含まれてもよい。例えば、エリア内に含まれる施設(例えば駅等)の個数等の、期間に依存しない特徴量が、説明変数に加えられてもよい。また、同一曜日かつ同一時間帯の平均需要(タクシー乗車数の平均)等の、周期的に繰り返される時期的な関連性に基づく特徴量が、説明変数に加えられてもよい。また、上記実施形態では、タクシーの乗客数を予測対象としたが、予測対象となる需要はこれに限定されず、本発明は様々なサービスの需要の予測に適用可能である。例えば、本発明は商品の売上の予測(目的変数は売上の個数又は金額)等にも適用可能である。
【0076】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線で)接続し、これら複数の装置により実現されてもよい。
【0077】
例えば、上記実施形態におけるサーバ10は、上記実施形態のサーバ10の処理を行うコンピュータとして機能してもよい。
図9は、本実施形態に係るサーバ10のハードウェア構成の一例を示す図である。上述のサーバ10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、及びバス1007等を含むコンピュータ装置として構成されてもよい。
【0078】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニット等に読み替えてもよい。サーバ10のハードウェア構成は、
図9に示された各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【0079】
サーバ10における各機能は、プロセッサ1001、メモリ1002等のハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
【0080】
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタ等を含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。
【0081】
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、及び/又はデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、サーバ10の需要予測部16は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、
図1に示した他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
【0082】
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)等の少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)等と呼ばれてもよい。メモリ1002は、上記実施形態に係る情報処理方法(
図7又は
図8のフローチャートに示される手順等)を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュール等を保存できる。
【0083】
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)等の光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップ等の少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバ、その他の適切な媒体であってもよい。
【0084】
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等ともいう。
【0085】
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサ等)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプ等)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
【0086】
また、プロセッサ1001及びメモリ1002等の各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【0087】
また、サーバ10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
【0088】
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更された態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
【0089】
本明細書で説明した各態様/実施形態の処理手順、フローチャート等は、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0090】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0091】
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0092】
本明細書で説明した各態様/実施形態は単独で用いられてもよいし、組み合わせて用いられてもよいし、実行に伴って切り替えて用いられてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)によって行われてもよい。
【0093】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能等を意味するよう広く解釈されるべきである。
【0094】
また、ソフトウェア、命令等は、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)等の有線技術及び/又は赤外線、無線及びマイクロ波等の無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
【0095】
本明細書で説明した情報及び信号等は、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップ等は、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【0096】
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【0097】
本明細書で使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
【0098】
また、本明細書で説明した情報、パラメータ等は、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
【0099】
上述したパラメータに使用される名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。
【0100】
本明細書で使用する「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「決定」は、例えば、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「決定」したとみなす事などを含み得る。また、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「決定」したとみなす事などを含み得る。また、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「決定」したとみなす事を含み得る。つまり、「決定」は、何らかの動作を「決定」したとみなす事を含み得る。
【0101】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」との両方を意味する。
【0102】
本明細書で使用する「第1の」、「第2の」等の呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみがそこで採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0103】
「含む(including)」、「含んでいる(including)」、及びそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0104】
本明細書において、文脈又は技術的に明らかに1つのみしか存在しない装置であることが示されていなければ、複数の装置をも含むものとする。
【0105】
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。