(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022189079
(43)【公開日】2022-12-22
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06Q 10/04 20120101AFI20221215BHJP
G08G 1/00 20060101ALI20221215BHJP
【FI】
G06Q10/04
G08G1/00 C
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2021097440
(22)【出願日】2021-06-10
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】喜 楽楽
(72)【発明者】
【氏名】福島 亜梨花
(72)【発明者】
【氏名】山田 尚史
【テーマコード(参考)】
5H181
5L049
【Fターム(参考)】
5H181AA21
5H181EE02
5H181EE03
5H181EE12
5L049AA04
(57)【要約】
【課題】モデルを用いたデータの予測をより高精度に実行する情報処理装置、情報処理方法およびプログラムを提供する。
【解決手段】情報処理装置は、モデル構築部と、予測部と、を備える。モデル構築部は、複数の領域に含まれる1以上の第1領域に対して取得された取得データから、複数の領域に含まれる第2領域に対する予測データを予測するための予測モデルを構築する。予測部は、予測モデルを用いて、取得データから予測データを予測する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の領域に含まれる1以上の第1領域に対して取得された取得データから、複数の前記領域に含まれる第2領域に対する予測データを予測するための予測モデルを構築するモデル構築部と、
前記予測モデルを用いて、前記取得データから前記予測データを予測する予測部と、
を備える情報処理装置。
【請求項2】
前記取得データから前記予測データを予測するための複数のモデルの候補を構築する候補構築部をさらに備え、
前記モデル構築部は、複数の前記候補のうちいずれかを、前記予測モデルとして構築する、
請求項1に記載の情報処理装置。
【請求項3】
前記モデル構築部は、複数の前記候補のうち、予測値と真値との誤差が他の前記候補より小さい前記候補を、前記予測モデルとして構築する、
請求項2に記載の情報処理装置。
【請求項4】
前記モデル構築部は、複数の前記候補のうち、特定時点までに最も多く選択された前記候補を、前記予測モデルとして構築する、
請求項2に記載の情報処理装置。
【請求項5】
前記取得データから前記予測データを予測するための複数のモデルの候補を構築する候補構築部をさらに備え、
前記モデル構築部は、複数の前記候補を統合することにより前記予測モデルを構築する、
請求項1に記載の情報処理装置。
【請求項6】
前記予測モデルは、前記第2領域の属性情報に応じて異なる前記予測データを出力する、
請求項1から請求項5のいずれか1項に記載の情報処理装置。
【請求項7】
前記属性情報は、前記第2領域から前記第1領域までの距離、前記第2領域内の交通に関する情報、前記第2領域の用途を示す情報、および、前記第2領域の気象情報、のうち少なくとも1つである、
請求項6に記載の情報処理装置。
【請求項8】
前記属性情報は、前記第2領域内の交通に関する情報であり、
前記交通に関する情報は、電車線路数、バス停の数、および、前記交通の利用人数のうち少なくとも1つである、
請求項6に記載の情報処理装置。
【請求項9】
前記属性情報は、前記第2領域の用途を示す情報であり、
前記用途は、住宅地、オフィス地、商業利用地、工業地、および、緑地のうち少なくとも1つを示す、
請求項6に記載の情報処理装置。
【請求項10】
前記予測モデルは、指数モデル、回帰モデル、および、ニューラルネットワークモデルのいずれかである、
請求項1から請求項9のいずれか1項に記載の情報処理装置。
【請求項11】
複数の前記第1領域を統合した領域を新たな第1領域に決定する決定部をさらに備える、
請求項1から請求項10のいずれか1項に記載の情報処理装置。
【請求項12】
複数の領域に含まれる1以上の第1領域に対して予測された取得データから、複数の前記領域に含まれる第2領域に対する予測データを予測するための予測モデルを構築するモデル構築ステップと、
前記予測モデルを用いて、前記取得データから前記予測データを予測する予測ステップと、
を含む情報処理方法。
【請求項13】
コンピュータに、
複数の領域に含まれる1以上の第1領域に対して予測された取得データから、複数の前記領域に含まれる第2領域に対する予測データを予測するための予測モデルを構築するモデル構築ステップと、
前記予測モデルを用いて、前記取得データから前記予測データを予測する予測ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
過去に得られたデータから推定したモデルを用いて、指定された時点のデータを予測する技術が提案されている。例えば、複数の地点間の人の流れ(人流)を表すデータを予測するためのモデルを用いて、ある時刻のある地点での人の数または密度などを予測する技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施形態は、モデルを用いたデータの予測をより高精度に実行可能な情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
実施形態の情報処理装置は、モデル構築部と、予測部と、を備える。モデル構築部は、複数の領域に含まれる1以上の第1領域に対して取得された取得データから、複数の領域に含まれる第2領域に対する予測データを予測するための予測モデルを構築する。予測部は、予測モデルを用いて、取得データから予測データを予測する。
【図面の簡単な説明】
【0006】
【
図1】第1の実施形態にかかる情報処理装置のブロック図。
【
図2】メッシュ定義テーブルのデータ構造の一例を示す図。
【
図4】学習設定ファイルのデータ構造の一例を示す図。
【
図5】基点予測値テーブルのデータ構造の一例を示す図。
【
図6】学習用入力要素テーブルのデータ構造の一例を示す図。
【
図8】選択用入力要素テーブルのデータ構造の一例を示す図。
【
図10】モデルテーブルのデータ構造の一例を示す図。
【
図11】予測値テーブルのデータ構造の一例を示す図。
【
図16】変形例の学習用入力要素テーブルのデータ構造の一例を示す図。
【
図17】変形例のモデルテーブルのデータ構造の一例を示す図。
【
図18】変形例の選択モデルテーブルのデータ構造の一例を示す図。
【
図21】第2の実施形態にかかる情報処理装置のブロック図。
【
図22】第2の実施形態のメッシュ定義テーブルのデータ構造の一例を示す図。
【
図23】第2の実施形態における定義生成処理のフローチャート。
【
図24】第2の実施形態における統合処理のフローチャート。
【
図28】第1または第2の実施形態にかかる情報処理装置のハードウェア構成図。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、この発明にかかる情報処理装置の好適な実施形態を詳細に説明する。
【0008】
モデルを用いてデータを予測する装置は、ある領域を分割した複数の区画(メッシュ)ごとにデータ(例えば人流を表すデータ)を予測するように構成される場合がある。個人ごとの移動軌跡データがあれば、区画ごとの人の流れを推定することは容易である。しかし、プライバシー保護のため、または、収集の難しさのため、個人ごとの移動軌跡データが入手できない場合がある。一方、人の密度のデータは、プライバシーが保護されており、個人ごとの追跡が不要なため収集も容易である。
【0009】
人流を推定する技術としては、例えば、ある地点から別の地点への移動確率を基に人流を推定する技術が提案されている。このような技術では、通常、対象地点それぞれについて移動人数(または密度)を表す入力データが必要となる。このため、仮にすべての地点についての入力データが得られない場合、高精度に人流を推定することができない。
【0010】
以下の各実施形態にかかる情報処理装置は、予測の対象となる複数の領域を、基点となる領域(第1領域)と、基点の周辺の領域(第2領域)とに分類する。そして、情報処理装置は、基点に対して取得された人流データ(予測データの一例)から周辺の人流データを予測するための予測モデルを構築し、この予測モデルを用いて周辺の人流データを予測する。以下では、周辺の人流データを予測するための予測モデルを周辺モデルという。
【0011】
このため、例えば周辺の領域について入力データが得られないような場合であっても、周辺モデルを用いたデータ(例えば人流)の予測の精度を向上させることができる。また、入力データは基点のみに対して取得できればよいため、入力データを取得するための構成を簡略化することができる。
【0012】
なお以下の各実施形態では、区画内の人口を表す人流データ(予測データの一例)を予測する場合を例に説明する。人流データは、例えば、人口(人数)または人口密度である。予測対象とするデータは人流データに限られず、例えば、電力消費量および気象情報などの、他のどのようなデータであってもよい。
【0013】
(第1の実施形態)
図1は、第1の実施形態にかかる情報処理装置100の構成の一例を示すブロック図である。
図1に示すように、情報処理装置100は、取得部101と、候補構築部102と、モデル構築部103と、予測部104と、出力制御部105と、記憶部120と、を備えている。
【0014】
記憶部120は、情報処理装置100による各種処理で用いられる各種データを記憶する。例えば記憶部120は、メッシュ定義テーブル121、人流テーブル122、学習設定ファイル123、基点予測値テーブル124、学習用入力要素テーブル125、候補テーブル126、選択用入力要素テーブル127、誤差テーブル128、モデルテーブル129、および、予測値テーブル130を記憶する。
【0015】
図2は、メッシュ定義テーブル121のデータ構造の一例を示す図である。メッシュ定義テーブル121は、メッシュID、メッシュ位置、および、メッシュ種別を含む。
【0016】
メッシュとは、地理空間を格子状に区切った区画を示す。メッシュは、予測の対象となる複数の領域の一例である。予測の対象となる複数の領域はメッシュに限られない。例えば、以下のような領域を用いることができる。
・緯度経度に基づきほぼ同じ大きさとなるように区切られた領域
・市町村および番地の境界線などで囲まれた地域
【0017】
メッシュIDは、メッシュを識別する識別情報である。メッシュ位置は、該当するメッシュの位置である。メッシュ位置は、例えばメッシュの中心の緯度および経度で表されるが、他のどのような方法で表されてもよい。
【0018】
メッシュ種別は、メッシュの種別を示す。本実施形態では、メッシュ種別は、基点または周辺が設定される。基点は、事前に人流データが取得されるメッシュを表す。周辺は、基点以外のメッシュであって、基点の周辺に相当するメッシュを表す。以下では、メッシュ種別が基点であるメッシュを基点メッシュといい、メッシュ種別が周辺であるメッシュを周辺メッシュという場合がある。
【0019】
本実施形態では、メッシュ種別が基点であるか周辺であるかは予め定められているものとする。なお第2の実施形態では、メッシュ種別を判定して分類する例を説明する。
【0020】
図3は、人流テーブル122のデータ構造の一例を示す図である。人流テーブル122は、メッシュID、時間、および、人流を含む。時間は、「YYYY/MM/DD_hh:mm:ss」の形式で記載される。時間は、人流が観測された期間の開始時刻を示す。期間の終了時刻は次の行の開始時間の直前までとする。人流は、該当するメッシュの該当する時間(期間)での人口(人数)または人口密度を表す。
【0021】
図4は、学習設定ファイル123のデータ構造の一例を示す図である。学習設定ファイル123は、周辺モデルの学習時に使うパラメータを設定する。例えば、学習設定ファイル123は、距離を含む。距離は、例えば基点メッシュの中心からのユークリッド距離を表す。ある基点メッシュの中心からのユークリッド距離が、学習設定ファイル123に記載された距離以下であるメッシュが、この基点メッシュに対する学習用の周辺メッシュとして用いられる。距離の起点は基点メッシュの中心に限られず、例えば、基点メッシュに含まれる各点のうち最も近い点であってもよい。
【0022】
図5は、基点予測値テーブル124のデータ構造の一例を示す図である。基点予測値テーブル124は、基点メッシュに対して事前に予測された人流の予測値を記憶するテーブルである。予測値は、基点メッシュ(第1領域の一例)に対して取得された取得データの一例である。基点メッシュの予測値は、基点メッシュ用のモデルなどを用いて予測された値である。基点メッシュの人流は、モデルなどにより予測される必要はなく、観測された値(観測値)であってもよい。基点メッシュの予測値の予測方法または観測値の観測方法はどのような方法であってもよい。
【0023】
基点予測値テーブル124は、基点メッシュID、時間、および、人流予測値を含む。基点メッシュIDは、基点メッシュのメッシュIDを表す。時間は、「YYYY/MM/DD_hh:mm:ss-YYYY/MM/DD_hh:mm:ss」の形式で記載される。時間は、人流予測値が予測された期間を表す。記号「-」の前の時刻が期間の開始時刻を表し、記号「-」の後の時刻が期間の終了時間を表す。人流予測値は、該当する基点メッシュの該当する時間での人流の予測値を表す。
【0024】
メッシュ定義テーブル121、人流テーブル122、および、学習設定ファイル123は、周辺モデルの構築(学習)処理の前までに事前に準備される。また、基点予測値テーブル124は、周辺モデルを用いた周辺メッシュの人流の予測処理の前までに準備される。他のテーブルは、構築処理または予測処理で出力されるデータを記憶するために用いられる。
【0025】
図6は、学習用入力要素テーブル125のデータ構造の一例を示す図である。学習用入力要素テーブル125は、基点メッシュごとの周辺モデルを構築するときに参照される周辺メッシュに関するデータを一時的に記憶するために用いられる。学習用入力要素テーブル125は、周辺メッシュID、および、入力要素E1を含む。
【0026】
周辺メッシュIDは、周辺モデルの構築に用いるために決定された周辺メッシュのメッシュIDが記載される。入力要素E1は、周辺モデルの入力値となる要素であり、この例では距離が記載される。距離は、例えば、周辺モデルの構築対象としている基点メッシュ(中心など)から周辺モデルまでのユークリッド距離を表す。入力要素は距離に限られず、距離以外の要素であってもよい。また、後述するように、複数の入力要素が用いられてもよい。
【0027】
なお、入力要素は、メッシュの属性を表す属性情報と解釈することができる。周辺モデルは、属性情報に応じて異なる予測値を出力するように構成することができる。
【0028】
図7は、候補テーブル126のデータ構造の一例を示す図である。候補テーブル126は、基点メッシュID、モデル構造、および、モデルパラメータを含む。モデル構造は、対応する基点メッシュIDで識別される基点メッシュに対して学習された周辺モデルの構造を特定する情報を示す。後述するように、1つの基点メッシュに対して、複数の異なる構造の周辺モデルが構築される。モデル構造は、それらの周辺モデルの構造(種類)を特定する情報である。例えば基点メッシュID=x0001の基点メッシュに対しては、G
An(t)(1≦n≦N、Nは構築される周辺モデルの個数)がモデル構造として設定される。
【0029】
モデルパラメータは、対応する周辺モデルに対して学習されたパラメータが設定される。例えばモデルパラメータには、モデル構造GAn(t)の周辺モデルについて学習されたパラメータαAn(t)=[αAnt1(t),αAnt2(t),・・・]が設定される。
【0030】
図8は、選択用入力要素テーブル127のデータ構造の一例を示す図である。選択用入力要素テーブル127は、構築された複数の周辺モデルから最適な周辺モデルを選択するときに参照される情報を記憶する。周辺モデルの選択方法の詳細は後述する。
【0031】
選択用入力要素テーブル127は、周辺メッシュID、および、入力要素E1を含む。入力要素E1は、学習用入力要素テーブル125と同様に基点メッシュからのユークリッド距離である。選択用入力要素テーブル127では、周辺メッシュが所属する基点メッシュからの距離が設定される。所属する基点メッシュの決定方法については後述する。
【0032】
図9は、誤差テーブル128のデータ構造の一例を示す図である。誤差テーブル128は、メッシュID、基点メッシュID、モデル構造、および、推定誤差を含む。基点メッシュIDは、該当する周辺メッシュが所属する基点メッシュのメッシュIDが設定される。モデル構造は、該当する周辺メッシュに対して構築された周辺モデルの構造G
An(t)が設定される。推定誤差は、対応する周辺モデルにより推定された人流の誤差が設定される。
【0033】
図10は、モデルテーブル129のデータ構造の一例を示す図である。モデルテーブル129は、誤差テーブル128などを参照して選択された周辺モデルに関するデータを記憶するテーブルである。
【0034】
モデルテーブル129は、周辺メッシュのメッシュID、周辺メッシュが所属する基点メッシュのメッシュID(基点メッシュID)、入力要素E1、モデル構造、および、モデルパラメータを含む。モデル構造は、該当する周辺メッシュに対して選択された周辺モデルの構造GAn(t)が設定される。モデルパラメータは、選択された周辺モデルのモデルパラメータが設定される。選択された周辺モデルは、該当する周辺メッシュと、この周辺メッシュが所属する基点メッシュとの関係を示したモデルと解釈することができる。
【0035】
図11は、予測値テーブル130のデータ構造の一例を示す図である。予測値テーブル130は、選択された周辺モデルを用いて予測された人流の予測値などを記憶するためのテーブルである。
【0036】
予測値テーブル130は、メッシュID、時間、および、人流予測値を含む。メッシュIDは、周辺メッシュおよび基点メッシュを含む、予測対象のメッシュのメッシュIDが設定される。時間は、基点予測値テーブル124と同様に、「YYYY/MM/DD_hh:mm:ss―YYYY/MM/DD_hh:mm:ss」の形式で記載される。人流予測値は、該当メッシュの該当する時間での人流予測値が設定される。
【0037】
記憶部120は、フラッシュメモリ、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【0038】
記憶部120は、物理的に異なる複数の記憶媒体により構成されてもよい。例えば各データ(メッシュ定義テーブル121、人流テーブル122、学習設定ファイル123、基点予測値テーブル124、学習用入力要素テーブル125、候補テーブル126、選択用入力要素テーブル127、誤差テーブル128、モデルテーブル129、および、予測値テーブル130)が、それぞれ異なる記憶媒体に記憶されてもよい。
【0039】
図1に戻り、取得部101は、情報処理装置100による各種処理で用いられる各種データを取得する。例えば取得部101は、周辺モデルの構築に用いられる各テーブル(メッシュ定義テーブル121、人流テーブル122、および、学習設定ファイル123)、および、人流の予測に用いられるテーブル(基点予測値テーブル124)などを取得する。取得部101による情報の取得方法はどのような方法であってもよいが、ネットワークなどで接続される外部装置から取得(受信)する方法、および、情報処理装置100に備えられる入力装置(キーボード、タッチパネルなど)により入力された情報を取得する方法などを適用できる。
【0040】
候補構築部102は、複数の周辺モデルの候補を構築する。上記のように、各周辺モデルは、基点メッシュに対して取得された人流の予測値(取得データ)から、周辺メッシュの人流データ(予測データ)を予測するためのモデルである。
【0041】
モデル構築部103は、候補構築部102により構築された複数の周辺モデルの候補を用いて、周辺メッシュごとに1つの周辺モデルを構築する。例えばモデル構築部103は、複数の周辺モデルの候補のうち、予測値と真値との誤差が他の候補より小さい候補を、当該周辺メッシュに対する周辺モデルとして構築する。モデル構築部103によるモデル構築処理の詳細は後述する。
【0042】
予測部104は、モデル構築部103により構築された周辺モデルを用いて、基点メッシュに対して取得された人流データ(取得データ)から、周辺メッシュの人流データを予測する予測処理を実行する。
【0043】
出力制御部105は、情報処理装置100による各種データの出力処理を制御する。例えば出力制御部105は、予測部104による予測結果を出力する。出力制御部105は、予測部104による予測結果である周辺メッシュの人流データとともに、基点に対して取得された人流データを出力してもよい。出力制御部105による情報の出力方法はどのような方法であってもよいが、表示装置に表示する方法、および、ネットワークなどで接続された外部装置に送信する方法などを適用することができる。
【0044】
上記各部(取得部101、候補構築部102、モデル構築部103、予測部104、および、出力制御部105)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
【0045】
なお
図1では、情報処理装置100が、周辺モデルを構築する機能(構築機能)および構築されたモデルを用いて予測を行う機能(予測機能)の両方を備える例が示されている。情報処理装置100は、これらの機能のうち一方のみを備えるように構成されてもよい。例えば情報処理装置100は、構築機能のみを備える場合は、予測部104を備えないように構成されてもよい。
【0046】
次に、第1の実施形態にかかる情報処理装置100によるモデル構築処理について説明する。
図12は、第1の実施形態におけるモデル構築処理の一例を示すフローチャートである。
【0047】
候補構築部102は、周辺モデルの候補の構築に用いる各種データを各テーブルから読み出す(ステップS101)。例えば候補構築部102は、メッシュ定義テーブル121、人流テーブル122、および、学習設定ファイル123のデータをそれぞれ読み出す。
【0048】
候補構築部102は、読み出したデータを用いて、各基点メッシュに対して、周辺モデルの候補を構築する候補構築処理を実行する(ステップS102)。候補構築処理の詳細は後述する。
【0049】
次にモデル構築部103は、構築された複数の周辺モデルの候補から周辺モデルを選択する選択処理を実行する(ステップS103)。選択処理は、例えば、複数の周辺モデルの候補から1つの周辺モデルを選択することにより、各周辺メッシュに対する周辺モデルを決定する処理である。選択処理の詳細は後述する。
【0050】
モデル構築部103は、選択された周辺モデルを示す情報をモデルテーブル129に書き込み(ステップS104)、モデル構築処理を終了する。
【0051】
次に、ステップS102の候補構築処理の詳細について説明する。
図13は、候補構築処理の一例を示すフローチャートである。
【0052】
候補構築部102は、メッシュ定義テーブル121に記憶された基点メッシュのうち未処理の基点メッシュを取得する(ステップS201)。基点メッシュか否かは、メッシュ定義テーブル121のメッシュ種別が「基点」であるかにより判定できる。
【0053】
候補構築部102は、学習用の周辺メッシュ、および、入力要素を決定する(ステップS202)。例えば候補構築部102は、取得した基点メッシュの中心から、学習設定ファイル123で設定された距離以内に存在する1以上の周辺メッシュを、学習用の周辺メッシュと決定する。また候補構築部102は、基点メッシュの中心から、学習用の周辺メッシュの中心までの距離を入力要素E1として決定する。
【0054】
候補構築部102は、学習用入力要素テーブル125を作成する(ステップS203)。例えば候補構築部102は、取得した基点メッシュの中心と、学習用の周辺メッシュの中心との間のユークリッド距離を算出し、算出した距離と周辺メッシュのメッシュID(周辺メッシュID)とを対応づけて学習用入力要素テーブル125に記憶する。
【0055】
候補構築部102は、周辺モデルの候補の構造G(t)を決定する(ステップS204)。例えば候補構築部102は、予め定められた複数の候補の構造のうち1つを順に決定する。複数の候補の構造は、例えば、指数モデル、回帰モデル、および、ニューラルネットワークモデルなどの、どのようなモデルであってもよい。
【0056】
候補構築部102は、決定した構造の周辺モデルの候補のパラメータを学習により求める(ステップS205)。例えば候補構築部102は、人流テーブル122から得られる人流を正解データとし、この正解データとの誤差が小さくなるように周辺モデルの候補のパラメータを学習する。
【0057】
学習方法は、モデルの構造に応じて適用できるどのような学習方法であってもよい。以下では、周辺モデルの候補の構造が指数モデルである場合の学習方法の例を説明する。
【0058】
学習に用いられる学習データセットは、y(t)、p(t)およびLを含む。y(t)は、人流テーブル122から得られるt番目の時間帯(t=1,...,T)における人流(正解データ)を表す。p(t)は、取得された基点メッシュの人流値を表し、例えば基点予測値テーブル124から得ることができる。Lは、学習用入力要素テーブル125から得られる距離を表す。
【0059】
基点メッシュとの間のユークリッド距離Lを入力要素とした指数モデルは、例えば以下の(1)式で表される。
【数1】
【0060】
候補構築部102は、例えば以下の(2)式で表される最小二乗法により周辺モデルの候補のパラメータα(t)を求めることができる。なお、パラメータの算出方法は最小二乗法に限られず、どのような方法であってもよい。例えば、最尤推定法、ベイズ推定法、および、準ニュートン法などの他の最適化手法が用いられてもよい。
【数2】
【0061】
候補構築部102は、求めたパラメータを候補テーブル126に記憶する。なお
図7のモデル構造に設定されたモデルG
A1(t)、モデルG
A2(t)は、基点メッシュID=x0001の基点メッシュに対して学習された2つの周辺モデルの候補をそれぞれ表す。例えばモデルG
A1(t)が指数モデルに相当し、モデルG
A2(t)が回帰モデルに相当する。
【0062】
候補構築部102は、予め定められた複数の候補の構造(例えば、指数モデル、回帰モデル、および、ニューラルネットワークモデル)のすべてを処理したか否かを判定する(ステップS206)。処理していない場合(ステップS206:No)、ステップS204に戻り、未処理の構造に対して処理が繰り返される。
【0063】
すべての構造を処理した場合(ステップS206:Yes)、候補構築部102は、すべての基点メッシュを処理したか否かを判定する(ステップS207)。処理していない場合(ステップS207:No)、ステップS201に戻り、未処理の基点メッシュに対して処理が繰り返される。すべての基点メッシュを処理した場合(ステップS207:Yes)、候補構築部102は、候補構築処理を終了する。
【0064】
次に、ステップS103の選択処理の詳細について説明する。
図14は、選択処理の一例を示すフローチャートである。
【0065】
モデル構築部103は、メッシュ定義テーブル121から各メッシュのメッシュ位置およびメッシュ種別を読み出し、各周辺メッシュが、いずれの基点メッシュに所属するかを決定する(ステップS301)。例えばモデル構築部103は、各周辺メッシュがユークリッド距離が最小となる基点メッシュに所属すると決定する。モデル構築部103は、各周辺メッシュの周辺メッシュIDと、所属する基点メッシュからの距離とを対応づけて選択用入力要素テーブル127に記憶する。
【0066】
各周辺メッシュに対して、以下のステップS302~ステップS307の処理により周辺モデルが決定される。まず、モデル構築部103は、未処理の周辺メッシュを取得する(ステップS302)。モデル構築部103は、未処理の周辺モデルの候補を取得する(ステップS303)。周辺モデルの候補は、所属する基点メッシュに対して構築された候補であり、候補テーブル126から取得することができる。
【0067】
モデル構築部103は、取得した周辺モデルの候補の構造GAn(t)、学習済みのパラメータαAnt、および、選択用入力要素テーブル127に記憶した入力要素である距離Lを用いて、取得した周辺メッシュの人流を推定する(ステップS304)。
【0068】
モデル構築部103は、推定した人流値と、人流テーブル122から得られる人流値の真値と、を比較し、推定誤差を算出する(ステップS305)。推定誤差は、平均絶対誤差(MAE)、平均二乗誤差(MSE)、および、平均平方二乗誤差(RMSE)などのどのような方法により算出されてもよい。モデル構築部103は、算出した推定誤差を誤差テーブル128に記憶する。
【0069】
モデル構築部103は、すべての候補を処理したか否かを判定する(ステップS306)。すべての候補を処理していない場合(ステップS306:No)、ステップS303に戻り、次の未処理の候補に対して処理が繰り返される。
【0070】
すべての候補を処理した場合(ステップS306:Yes)、モデル構築部103は、推定誤差が他の候補より小さい候補(例えば推定誤差が最小である候補)を、現在処理している周辺メッシュに対する周辺モデルとして選択し、モデルテーブル129に記憶する(ステップS307)。
【0071】
モデル構築部103は、すべての周辺メッシュを処理したか否かを判定する(ステップS308)。すべての周辺メッシュを処理していない場合(ステップS308:No)、ステップS302に戻り、次の未処理の周辺メッシュに対して処理が繰り返される。
【0072】
すべての周辺メッシュを処理した場合(ステップS308:Yes)、モデル構築部103は、選択処理を終了する。
【0073】
なお、ユークリッド距離が最小となる基点メッシュが複数存在する場合がありうる。このような場合、モデル構築部103は、複数の基点メッシュそれぞれについて各候補の推定誤差を算出し、推定誤差が最小となる候補に対応する基点メッシュを所属する基点メッシュとして決定し、その候補を周辺モデルとして選択してもよい。
【0074】
次に、予測部104による予測処理の詳細について説明する。
図15は、予測処理の一例を示すフローチャートである。なお
図15は、1つの周辺メッシュについて人流を予測する処理の例を示す。複数の周辺メッシュに対して人流を予測する場合は、複数の周辺メッシュそれぞれについて
図15のような予測処理を実行すればよい。
【0075】
予測部104は、モデルテーブル129から、周辺メッシュが所属する基点メッシュの基点メッシュID、入力要素E1(距離L)、周辺モデルのモデル構造G(t)、および、モデルパラメータα(t)を読み出す(ステップS401)。予測部104は、読み出した基点メッシュIDで識別される基点メッシュの人流の予測値p(t)を、基点予測値テーブル124から読み出す(ステップS402)。
【0076】
予測部104は、読み出した各情報を用いて、周辺メッシュの人流の予測値を算出する(ステップS403)。例えば予測部104は、モデル構造G(t)が指数モデルの場合、モデルパラメータα1(t)、α2(t)、距離L、および、基点メッシュの人流の予測値p(t)を(1)式に代入することにより、時刻tでの人流y(t)を算出することができる。
【0077】
予測部104は、算出した人流の予測値を予測値テーブル130に記憶し(ステップS404)、予測処理を終了する。この後、出力制御部105が、予測処理の結果を出力してもよい。また予測部104は、基点メッシュの人流の予測値p(t)とともに、周辺メッシュの人流の予測値を予測値テーブル130に記憶してもよい。これにより、例えば出力制御部105は、出力する予測値を1つのテーブル(予測値テーブル130)から読み出すことができる。
【0078】
(変形例1)
上記のように、入力要素は距離Lのみに限られず、複数であってもよい。本変形例では、距離L以外の入力要素をさらに用いる例を説明する。
【0079】
距離L以外の入力要素は、例えば、メッシュ内の交通に関する情報(交通情報)、メッシュの用途を示す情報(用途情報)、および、メッシュの気象情報のうち少なくとも1つを含む。交通情報は、さらにメッシュ内の電車線路数、当該メッシュの周辺に存在する電車線路数、バス停の数、および、交通の利用人数などに詳細化されてもよい。気象情報は、例えばメッシュ内の温度(気温)である。
【0080】
図16は、本変形例で用いられる学習用入力要素テーブル125および選択用入力要素テーブル127のデータ構造の一例を示す図である。
図16に示すように、本変形例では、以下の4つの入力要素が追加される。
・入力要素E2:メッシュ内の電車線路数(n
0)
・入力要素E3:メッシュ周囲1km以内の電車線路数(n
1)
・入力要素E4:用途情報(J:例えば、人の少ない緑地などの場合1、それ以外は0)
・入力要素E5:温度(k)
【0081】
用途情報(地域特性)は、例えば「住宅地」、「オフィス地」、「商業利用地」、「工業地」、および、「緑地」のように表されてもよい。なお、これらの用途情報は一例であり、例えば、都市計画法第8条で定められる「用途地域」に従い用途情報が定められてもよい。
【0082】
本変形例では、候補構築部102は、複数の入力要素を用いて周辺モデルの候補の構造G(t)を決定する。以下、周辺モデルの候補の構造が指数モデルの場合の例を説明する。
【0083】
学習に用いられる学習データセットは、y(t)、p(t)、および、Lに加えて、n0、n1、J、および、kを含む。n0、n1、J、および、kは、学習用入力要素テーブル125から得られる。
【0084】
新たな入力要素を用いた指数モデルは、例えば以下の(3)式で表される。k
0は、人流が多い時の快適な温度を表す。
【数3】
【0085】
候補構築部102は、例えば以下の(4)式で表される最小二乗法によりパラメータα(t)を求めることができる。
【数4】
【0086】
(変形例2)
変形例2では、過去の選択結果を用いて、周辺モデルのモデル構造を選択するように選択処理を切り替える例を説明する。本変形例では、ある時点(特定時点)までに、ある入力要素(属性情報)に対して最も多く選択されたモデル構造が、その時点以降の当該入力要素に対するモデル構造として選択される。以下では、入力要素として距離と、用途情報と、を用いる場合を例に説明する。例えば、ある時点までに用途情報ごとに最も多く選択されたモデル構造が決定され、その時点以降は、用途情報ごとに、当該用途情報に対して決定されたモデル構造が選択される。
【0087】
図17は、本変形例で用いられるモデルテーブル129のデータ構造の一例を示す図である。
図17に示すように、本変形例では、入力要素として、入力要素E2:用途情報が追加される。用途情報は、例えば「ビジネスエリア」および「緑地」などのように土地の用途を示す情報が設定される。用途情報は、変形例1の入力要素E4である用途情報Jと同様に、1または0のような数値で指定されてもよい。
【0088】
図18は、本変形例で用いられる選択モデルテーブルのデータ構造の一例を示す図である。選択モデルテーブルは、用途情報ごとに、最も多く選択されたモデル構造を記憶するために用いられる。
図18に示すように、選択モデルテーブルは、用途情報と、この用途情報に対して選択されたモデル構造と、を対応づけて記憶する。
図18では、例えばモデルG
1が指数モデルに相当し、モデルG
2が回帰モデルに相当する。
【0089】
なお
図18の選択モデルテーブルには、選択された1つのモデル構造のみが記憶されているが、例えば、複数のモデル構造ごとに、選択された割合を示す情報を記憶するように構成されてもよい。この場合、モデル構築部103は、割合が最も大きいモデル構造を選択して後述する学習処理を実行するように構成すればよい。
【0090】
図19は、本変形例の構造決定処理の一例を示すフローチャートである。モデル構築部103は、モデルテーブル129を読み出す(ステップS501)。モデル構築部103は、読み出したモデルテーブル129に含まれる用途情報のうち未処理の用途情報を決定する(ステップS502)。
【0091】
モデル構築部103は、決定した用途情報に対して選択されたモデル構造ごとに、そのモデル構造が選択された回数をカウントする(ステップS503)。モデル構築部103は、カウントされた回数を参照し、最も多く選択されたモデル構造を決定する(ステップS504)。モデル構築部103は、決定したモデル構造を、選択モデルテーブルに記憶する(ステップS505)。
【0092】
モデル構築部103は、すべての用途情報を処理したか否かを判定する(ステップS506)。処理していない場合(ステップS506:No)、ステップS502に戻り、次の未処理の用途情報に対して処理が繰り返される。すべての用途情報を処理した場合(ステップS506:Yes)、モデル構築部103は、最多モデル決定処理を終了する。
【0093】
用途情報ごとのモデル構造が決定された後のモデル構築処理では、複数の周辺モデルの候補を構築し、複数の候補から1つを選択するのではなく、決定されたモデル構造を用いて、各メッシュに対する周辺モデルが構築される。例えば、
図12のモデル構築処理のステップS102、ステップS103の代わりに、
図20に示すような学習処理が実行される。
図20は、決定されたモデル構造のパラメータを学習する学習処理の一例を示すフローチャートである。
【0094】
ステップS601は、
図13の候補構築処理のステップS201と同様である。
【0095】
モデル構築部103は、学習用の周辺メッシュ、および、入力要素を決定する(ステップS602)。例えばモデル構築部103は、取得した基点メッシュの中心から、学習設定ファイル123で設定された距離以内に存在する1以上の周辺メッシュを、学習用の周辺メッシュと決定する。またモデル構築部103は、基点メッシュの中心から、学習用の周辺メッシュの中心までの距離を入力要素E1として決定する。本変形例では、モデル構築部103は、さらに周辺メッシュの用途情報を入力要素E2として決定する。
【0096】
モデル構築部103は、学習用入力要素テーブル125を作成する(ステップS603)。本変形例では、学習用入力要素テーブル125は、入力要素E1(距離)に加え、入力要素E2(用途情報)を含む。
【0097】
モデル構築部103は、用途情報に対応するモデル構造を、選択モデルテーブルから読み出す(ステップS604)。モデル構築部103は、読み出したモデル構造の周辺モデルのパラメータを学習により求める(ステップS605)。学習の手法は、上記実施形態のステップS205と同様である。モデル構築部103は、学習した周辺モデルの情報をモデルテーブル129に記憶する(ステップS606)。
【0098】
モデル構築部103は、すべての基点メッシュを処理したか否かを判定する(ステップS607)。処理していない場合(ステップS607:No)、ステップS601に戻り、未処理の基点メッシュに対して処理が繰り返される。すべての基点メッシュを処理した場合(ステップS607:Yes)、モデル構築部103は、学習処理を終了する。
【0099】
このように、本変形例では、過去の学習結果(モデル選択結果)を用いて、特定の入力要素(属性情報)に対するモデル構造を選択するように構成することができる。例えば、ビジネスエリアに対してはモデル構造として指数モデルを選択し、緑地に対してはモデル構造として回帰モデルを選択する、というような構成が可能となる。
【0100】
(変形例3)
上記実施形態では、モデル構築部103は、複数の周辺モデルの候補から1つを選択することにより周辺モデルを構築した。モデル構築部103による周辺モデルの構築方法はこれに限られない。本変形例では、複数の周辺モデルの候補を統合することにより1つの周辺モデルを構築する例を説明する。
【0101】
モデル構築部103は、例えば以下の(5)式のようにアンサンブル学習を適用することにより、複数の候補を統合した周辺モデルを構築する。xは入力要素、m
sは各周辺モデルの候補(1≦s≦S、Sは候補の個数)、β
sは各周辺モデルの候補に対する重み係数、M(x)は構築される周辺モデルを表す。
【数5】
【0102】
アンサンブル学習の方法はどのような方法であってもよいが、例えば、AdaBoost、LPBoost、BrownBoost、および、LogitBoostなどを適用できる。
【0103】
このように、第1の実施形態では、基点に対して取得された人流データから周辺の人流データを予測するための予測モデルを構築し、この予測モデルを用いて周辺の人流データを予測することができる。このため、周辺モデルを用いた人流データの予測の精度を向上させることができる。
【0104】
(第2の実施形態)
第2の実施形態では、メッシュが基点であるか周辺であるかを判定する機能が追加される。また本実施形態では、複数の基点メッシュを統合した領域を基点として扱う機能が追加される。
【0105】
図21は、第2の実施形態にかかる情報処理装置100-2の構成の一例を示すブロック図である。
図21に示すように、情報処理装置100-2は、取得部101と、候補構築部102と、モデル構築部103と、予測部104と、出力制御部105と、決定部106-2と、記憶部120-2と、を備えている。
【0106】
第2の実施形態では、決定部106-2を追加したこと、および、記憶部120-2内のメッシュ定義テーブル121-2のデータ構造を変更したことが、第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかる情報処理装置100のブロック図である
図1と同様であるので、同一符号を付し、ここでの説明は省略する。
【0107】
決定部106-2は、メッシュが基点メッシュであるか、周辺メッシュであるかを決定する。また、決定部106-2は、複数の基点メッシュを統合した領域を新たな基点(基点メッシュ)として決定する。なお、決定部106-2は、メッシュ種別を決定する機能、および、基点メッシュを統合する機能のうち一方のみを備えるように構成されてもよい。
【0108】
メッシュ定義テーブル121-2は、メッシュID、メッシュ位置、および、メッシュ種別に加え、基点IDをさらに含む点が、第1の実施形態のメッシュ定義テーブル121と異なっている。
【0109】
図22は、メッシュ定義テーブル121-2のデータ構造の一例を示す図である。メッシュ定義テーブル121-2は、メッシュID、メッシュ位置、メッシュ種別、および、基点IDを含む。基点IDは、複数の基点メッシュを統合した場合に、統合したメッシュに対して割り当てられる識別情報である。基点IDは、統合された基点メッシュの基点メッシュIDの代わりに使用される。
【0110】
次に、第2の実施形態のメッシュ定義テーブル121-2を生成する定義生成処理について説明する。
図23は、第2の実施形態における定義生成処理の一例を示すフローチャートである。
【0111】
決定部106-2は、人流テーブル122と、メッシュ定義テーブル121-2と、を読み出す(ステップS701)。なおこの時点では、メッシュ定義テーブル121-2には、メッシュIDおよびメッシュ位置のみが設定されているものする。
【0112】
決定部106-2は、メッシュ定義テーブル121-2のメッシュIDに対応する人流値を人流テーブル122から特定する。例えば決定部106-2は、一定期間内の人流値の合計、または、一定期間内の人流値の最大値を、当該メッシュIDの人流値として特定する。決定部106-2は、特定した人流値と閾値とを比較し、人流値が閾値以上のメッシュを基点メッシュに分類し、人流値が閾値未満のメッシュを周辺メッシュに分類する(ステップS702)。
【0113】
決定部106-2は、分類の結果得られたメッシュ種別をメッシュ定義テーブル121-2に記憶し(ステップS703)、定義生成処理を終了する。
【0114】
なおメッシュの分類方法は人流値と閾値とを比較する方法に限られない。例えば決定部106-2は、メッシュの属性情報を用いてメッシュ種別を分類してもよい。例えば決定部106-2は、地域特性(属性情報の一例)が特定の特性(例えば鉄道の駅)を表すメッシュを基点に分類してもよい。
【0115】
次に、複数の基点メッシュを統合する統合処理について説明する。
図24は、第2の実施形態における統合処理の一例を示すフローチャートである。
【0116】
決定部106-2は、メッシュ定義テーブル121-2を読み出す(ステップS801)。なおこの時点では、メッシュ定義テーブル121-2に基点IDは設定されていない。
【0117】
決定部106-2は、メッシュの間のユークリッド距離の閾値を設定する(ステップS802)。決定部106-2は、予め定められた値を閾値として設定してもよいし、閾値の設定用ファイル等から読み出した値を閾値として設定してもよい。
【0118】
決定部106-2は、メッシュ定義テーブル121-2から読み出した基点メッシュのうち、未処理の基点メッシュを取得する(ステップS803)。決定部106-2は、取得した基点メッシュと、取得した基点メッシュに対するユークリッド距離が閾値以下である他の基点メッシュと、を1つの基点メッシュに統合する(ステップS804)。
【0119】
決定部106-2は、メッシュ定義テーブル121-2内のすべての基点メッシュを処理したか否かを判定する(ステップS805)。処理していない場合(ステップS805:No)、ステップS803に戻り、次の未処理の基点メッシュに対して処理が繰り返される。すべての基点メッシュを処理した場合(ステップS805:Yes)、決定部106-2は、統合した基点メッシュに基点IDを割り当て、割り当てた基点IDをメッシュ定義テーブル121-2に記憶する(ステップS806)。
【0120】
以降の処理では、基点IDが設定された場合は、同じ基点IDが設定されている複数の基点メッシュを統合したメッシュが、1つの基点メッシュとして扱われる。距離の起点としてメッシュの中心が用いられる場合は、統合した基点メッシュの中心は、統合元の複数の基点メッシュのメッシュ位置などから求めることができる。
【0121】
このように、第2の実施形態にかかる情報処理装置では、基点メッシュをより柔軟に設定可能となる。
【0122】
(画面例)
次に、第1および第2の実施形態に適用できる画面例について
図25~
図27を用いて説明する。
図25~
図27は、上記実施形態を用いた分析結果を示す画面の一例を示す図である。各画面は、例えば出力制御部105により表示される。
【0123】
図25は、基点メッシュの人流の時系列データと、基点メッシュの人流の時系列データに基づいて予測された周辺メッシュの時系列データと、を表示する画面の例である。このような画面がユーザに提示されることにより、ユーザは、周辺メッシュの人流と基点メッシュの人流との関係を安易に理解することが可能となる。
【0124】
図26は、周辺モデルのパラメータα(t)=[α
1(t),α
2(t),・・・]の時間的変化を表示する画面の例である。なお
図26では、パラメータα
1(t)を表示する画面例が示されているが、α
2(t)以降のパラメータが同じ画面または異なる画面で表示されてもよい。ユーザは、このような画面により、人流を構成する環境要因を安易に理解することが可能になる。
【0125】
図27は、周辺モデルがアンサンブル学習により構築された場合の重み係数β(t)=[β
1(t),β
2(t),・・・]の大きさを表示する画面の例である。ユーザは、このような画面により、例えば環境条件に応じたモデルの選択方針を容易に理解することが可能になる。
【0126】
以上説明したとおり、第1から第2の実施形態によれば、モデルを用いたデータの予測をより高精度に実行可能となる。
【0127】
次に、第1または第2の実施形態にかかる情報処理装置のハードウェア構成について
図28を用いて説明する。
図28は、第1または第2の実施形態にかかる情報処理装置のハードウェア構成例を示す説明図である。
【0128】
第1または第2の実施形態にかかる情報処理装置は、CPU51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
【0129】
第1または第2の実施形態にかかる情報処理装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
【0130】
第1または第2の実施形態にかかる情報処理装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【0131】
さらに、第1または第2の実施形態にかかる情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1または第2の実施形態にかかる情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0132】
第1または第2の実施形態にかかる情報処理装置で実行されるプログラムは、コンピュータを上述した情報処理装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【0133】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0134】
100、100-2 情報処理装置
101 取得部
102 候補構築部
103 モデル構築部
104 予測部
105 出力制御部
106-2 決定部
120、120-2 記憶部
121、121-2 メッシュ定義テーブル
122 人流テーブル
123 学習設定ファイル
124 基点予測値テーブル
125 学習用入力要素テーブル
126 候補テーブル
127 選択用入力要素テーブル
128 誤差テーブル
129 モデルテーブル
130 予測値テーブル