(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024029705
(43)【公開日】2024-03-06
(54)【発明の名称】人口動態予測プログラム、人口動態予測方法および情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20240228BHJP
【FI】
G06N20/00 160
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022132118
(22)【出願日】2022-08-22
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】大石 裕介
(72)【発明者】
【氏名】山根 昇平
(72)【発明者】
【氏名】新出 孝政
(57)【要約】
【課題】人口動態の予測を高精度に行う。
【解決手段】実施形態の人口動態予測プログラムは、抽出する処理と、生成する処理と、実行する処理とをコンピュータに実行させる。抽出する処理は、特定の領域における時刻ごとの人の分布と、人の目的地とを含む観測データに基づいて特定の領域における人の動態の特徴量を抽出する。生成する処理は、抽出した特徴量に基づくエージェントシミュレーションを第1の時刻の人の分布に対して行い、第1の時刻より後の第2の時刻における人の分布を生成する。実行する処理は、第1の時刻の人の分布に対して生成した第2の時刻における人の分布を正解として含む訓練データに基づいて機械学習モデルの機械学習を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
特定の領域における時刻ごとの人の分布と、前記人の目的地とを含む観測データに基づいて前記特定の領域における人の動態の特徴量を抽出し、
抽出した前記特徴量に基づくエージェントシミュレーションを第1の時刻の人の分布に対して行い、前記第1の時刻より後の第2の時刻における人の分布を生成し、
前記第1の時刻の人の分布に対して生成した前記第2の時刻における人の分布を正解として含む訓練データに基づいて機械学習モデルの機械学習を実行する、
処理をコンピュータに実行させることを特徴とする人口動態予測プログラム。
【請求項2】
前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の目的地の統計量を前記特徴量として抽出する、
ことを特徴とする請求項1に記載の人口動態予測プログラム。
【請求項3】
前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の移動履歴を前記特徴量として抽出する、
ことを特徴とする請求項1に記載の人口動態予測プログラム。
【請求項4】
前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の移動履歴と、当該区分領域の周辺領域における人の分布とを前記特徴量として抽出する、
ことを特徴とする請求項1に記載の人口動態予測プログラム。
【請求項5】
前記機械学習モデルに基づいて人の分布を予測する処理をさらに前記コンピュータが実行する、
ことを特徴とする請求項1に記載の人口動態予測プログラム。
【請求項6】
特定の領域における時刻ごとの人の分布を含む観測データに基づいて前記特定の領域における人の動態の特徴量を抽出し、
抽出した前記特徴量に基づくエージェントシミュレーションを第1の時刻の人の分布に対して行い、前記第1の時刻より後の第2の時刻における人の分布を生成し、
前記第1の時刻の人の分布に対して生成した前記第2の時刻における人の分布を正解として含む訓練データに基づいて機械学習モデルの機械学習を実行する、
処理をコンピュータが実行することを特徴とする人口動態予測方法。
【請求項7】
特定の領域における時刻ごとの人の分布を含む観測データに基づいて前記特定の領域における人の動態の特徴量を抽出し、
抽出した前記特徴量に基づくエージェントシミュレーションを第1の時刻の人の分布に対して行い、前記第1の時刻より後の第2の時刻における人の分布を生成し、
前記第1の時刻の人の分布に対して生成した前記第2の時刻における人の分布を正解として含む訓練データに基づいて機械学習モデルの機械学習を実行する、
処理を実行する制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、人口動態予測プログラム、人口動態予測方法および情報処理装置に関する。
【背景技術】
【0002】
混雑回避、安全対策のための施策、タクシー等の交通手段の需要予測では、人口動態に関する過去の観測データに基づいて将来の人口動態を予測することが重要になる。
【0003】
人口動態を予測する従来技術としては、過去の観測データを用いた機械学習による人流予測がある。この機械学習による人流予測では、過去の観測データをもとに、ある過去の時刻における観測値(例えば18:00における人口分布)に対して単位時間後の観測値(例えば18:15における人口分布)を正解ラベルとして付与した訓練データを生成する。ついで、生成した訓練データをもとに過去の観測と状況を入力、将来の人口動態にかかる予測値を出力とする機械学習モデル(以下、単に「モデル」とも呼ぶ)を機械学習により生成する。機械学習による人流予測では、このように生成したモデルに現在の状況(例えば人口分布)を入力することで、将来の人口動態(例えば所定時間後の人口分布)を得ることができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術では、ある状況について十分な観測データが得られていない場合にはモデルの機械学習が十分に行われず、高精度な予測が困難であるという問題がある。例えば、災害やコロナ禍などの稀な事例については、機械学習によるモデルを用いた高精度な予測が困難なものとなる。
【0006】
1つの側面では、人口動態の予測を高精度に行うことができる人口動態予測プログラム、人口動態予測方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、人口動態予測プログラムは、抽出する処理と、生成する処理と、実行する処理とをコンピュータに実行させる。抽出する処理は、特定の領域における時刻ごとの人の分布と、人の目的地とを含む観測データに基づいて特定の領域における人の動態の特徴量を抽出する。生成する処理は、抽出した特徴量に基づくエージェントシミュレーションを第1の時刻の人の分布に対して行い、第1の時刻より後の第2の時刻における人の分布を生成する。実行する処理は、第1の時刻の人の分布に対して生成した第2の時刻における人の分布を正解として含む訓練データに基づいて機械学習モデルの機械学習を実行する。
【発明の効果】
【0008】
人口動態の予測を高精度に行うことができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態における人口動態予測の概要を説明する説明図である。
【
図2】
図2は、機械学習にかかる訓練データのデータ拡張を説明する説明図である。
【
図3】
図3は、実施形態にかかる情報処理装置の機能構成例を示すブロック図である。
【
図4A】
図4Aは、動態データのデータフォーマットの一例を示す説明図である。
【
図4B】
図4Bは、動態データのデータフォーマットの一例を示す説明図である。
【
図4C】
図4Cは、動態データのデータフォーマットの一例を示す説明図である。
【
図5A】
図5Aは、実施形態にかかる情報処理装置の動作例を示すフローチャートである。
【
図5B】
図5Bは、実施形態にかかる情報処理装置の動作例を示すフローチャートである。
【
図5C】
図5Cは、実施形態にかかる情報処理装置の動作例を示すフローチャートである。
【
図6A】
図6Aは、実施形態にかかる情報処理装置の動作例を示すフローチャートである。
【
図6B】
図6Bは、実施形態にかかる情報処理装置の動作例を示すフローチャートである。
【
図7】
図7は、実施形態にかかる情報処理装置の動作例を示すフローチャートである。
【
図8】
図8は、実施形態にかかる情報処理装置の動作例を示すフローチャートである。
【
図9】
図9は、コンピュータ構成の一例を説明する説明図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、実施形態にかかる人口動態予測プログラム、人口動態予測方法および情報処理装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する人口動態予測プログラム、人口動態予測方法および情報処理装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【0011】
実施形態にかかる情報処理装置は、過去の観測データを用いて機械学習を実行した機械学習モデルに対し、現在の状況(現時点の人口分布)を入力することで将来の状況(現時点から所定時間後の人口分布)を予測する。すなわち、実施形態にかかる情報処理装置は、人口動態予測装置の一例であり、例えばPC(Personal Computer)などを適用できる。
【0012】
図1は、実施形態における人口動態予測の概要を説明する説明図である。より具体的には、
図1は、実施形態にかかる情報処理装置が過去の観測データを用いて機械学習を実行するまでの処理の概要を例示している。
【0013】
図1に示すように、実施形態にかかる情報処理装置は、予測対象とする特定の地域(例えば首都圏など)について過去に観測した時刻ごとの観測データの入力を受け付ける(S1)。図示例では、18時から18時15分までの間で観測した観測データの入力を受け付けている。
【0014】
この観測データは、特定の地域内における人の移動を示すデータであり、時刻ごとの人の分布と、各人の目的地とを含む。例えば、観測データは、Origin(出発地)とDestination(目的地)の調査により得られたODデータ、または、各店舗等より集計したPOS(Point Of Sale)データなどが相当する。
【0015】
ついで、実施形態にかかる情報処理装置は、受け付けた観測データからのシミュレーションにより、特定の領域における人の動態の特徴量を抽出する(S2)。
【0016】
この観測データからのシミュレーション(S2)では、まず、観測データにおける時刻ごとの人の分布をもとに、特定の領域をメッシュで区分した区分領域のそれぞれに人を配置する。ついで、シミュレーション(S2)では、各人の目的地をもとに区分領域内に配置した人を移動させるエージェントベースのシミュレーションを行い、移動後の区分領域に再配置する。なお、区分領域内における人の配置位置などは乱数で決めるものとする。
【0017】
実施形態にかかる情報処理装置は、上記のシミュレーション(S2)により人の移動を再現したうえで各人の軌跡をトレースすることで、人の動態の特徴量を抽出する。
【0018】
第1の手法として、実施形態にかかる情報処理装置は、単位時間(例えば1分)ごとに各区分領域内にいる人の目的地を集計することで、区分領域ごとの人の目的地の統計量を特徴量として抽出する。この統計量については、例えば、総数に対する割合などであり、ある区分領域(A11とする)にいる人の目的地(A12、A13…)を、目的地の総数に対する割合としてA12:56%、A13:24%…などのように集計する。
【0019】
また、第2の手法として、実施形態にかかる情報処理装置は、各区分領域内にいる人の移動履歴を特徴量として抽出する。具体的は、実施形態にかかる情報処理装置は、シミュレーション(S2)により各人の移動について1分前、2分前、3分前にどの区分領域にいたかをトレースすることで、単位時間(例えば1分)ごとに区分領域内にいる人の移動履歴を得る。この移動履歴については、例えば、直近の1分前に区分領域A46、2分前に区分領域A34、3分前に区分領域A23にいた人については(23、34、46…)などのように移動順の区分領域を示す情報などとなる。
【0020】
また、第3の手法として、実施形態にかかる情報処理装置は、各区分領域内にいる人の移動履歴とともに、対象の区分領域の周辺にある区分領域(周辺領域)の人の分布状況を特徴量として抽出する。具体的には、実施形態にかかる情報処理装置は、上述した人の移動履歴とともに、その人がいる区分領域の周辺領域の人数をカウントし、人の動態の特徴量とする。
【0021】
例えば、ある人が直近の1分前に区分領域A46、2分前に区分領域A34、3分前に区分領域A23におり、現在は区分領域A56にいるものとする。また、区分領域A56の周辺には区分領域A47、A57、A67、A66、A65、A55、A45、A46があり、それぞれの区分領域の人数はA47:12人、A57:13人、A67:9人、A66:2人、A65:2人、A55:5人、A45:8人、A46:10人とする。この場合、区分領域A56に関する人の動態の特徴量は、移動履歴が(23、34、46…)となり、周辺にある区分領域の人の分布状況が(A47:12、A57:13、A67:9、A66:2、A65:2、A55:5、A45:8、A46:10)となる。
【0022】
実施形態にかかる情報処理装置は、これらの手法により得られた単位時間ごとの、各区分領域における人の動態の特徴量を、動態データ101として出力する。
【0023】
ついで、実施形態にかかる情報処理装置は、特定の時刻(図示例では18:00)におけるランダムな人の分布に対して動態データ101に基づくエージェントシミュレーションを行い(S3)、その後の時刻(図示例では18:15)における人の分布を予測する。
【0024】
エージェントとは独立に意思決定を行う主体(人)を表し、それらエージェントの行動単位で行われるシミュレーションがエージェントシミュレーションである。このエージェントシミュレーションについては、ランダムウォークやニューラルネットワーク(NN)などを用いた公知の手法を適用できる。
【0025】
例えば、実施形態にかかる情報処理装置は、特定の時刻における人の分布を初期条件として各エージェントを配置し、そのエージェントを確率的に移動させる際のパラメータとして動態データ101を用いることで、以後の人の分布を予測する。
【0026】
また、実施形態にかかる情報処理装置は、NNを用いてエージェントシミュレーションを行う場合、動態データ101をNNへ入力し、エージェントの行動(例えば目的地)に関する出力を得る。ついで、実施形態にかかる情報処理装置は、このNNからの出力に基づいて各エージェントを移動させることで、特定の時刻後の人の分布を予測する。
【0027】
ついで、実施形態にかかる情報処理装置は、訓練データ102をもとに、現在の人口分布を入力することで、将来の人口分布を出力するモデルの機械学習を行う(S4)。訓練データ102は、特定の時刻(図示例では18:00)における人の分布と、正解とするその後の人の分布(図示例では18:15)とを組み合わせたものである。モデルの機械学習では、特定の時刻における人の分布を入力した場合に正解とするその後の人の分布を出力するように、誤差逆伝播法等の公知の技術を用いてモデルのパラメータを最適化する。
【0028】
ここで、訓練データ102は、過去の観測データ(実データ)に基づく上記データの組み合わせに、S3のエージェントシミュレーションによって予測したデータを加えてデータ拡張したものである。
【0029】
図2は、機械学習にかかる訓練データ102のデータ拡張を説明する説明図である。
図2に示すように、訓練データ102は、特定の時刻における人の分布と、正解とするその後の人の分布の実データ102aにS3のエージェントシミュレーターによって得られた拡張学習データ102bを加えたものである。この拡張学習データ102bは、特定の時刻(例えば18:00)におけるランダムな人の分布に、S3のエージェントシミュレーションによって予測したその後(例えば18:15)の人の分布を正解として組み合わせたものである。
【0030】
このように、実施形態にかかる情報処理装置では、実データ102aに拡張学習データ102bを加えて訓練データ102を拡張した上でモデルの機械学習を行うことで、観測事例が少ないケースであってもモデルによる予測精度を高めることができる。
【0031】
図3は、実施形態にかかる情報処理装置の機能構成例を示すブロック図である。
図3に示すように、情報処理装置1は、通信部10と、入力部20と、表示部30と、記憶部40と、制御部50とを有する。
【0032】
通信部10は、有線又は無線で外部装置等に接続され、外部装置等との間で情報の送受信を行う。たとえば、通信部10は、NIC(Network Interface Card)等によって実現される。通信部10は、図示しないネットワークに接続されていてもよい。通信部10は、ネットワークを介して、外部装置から、観測データ100等を受信してもよい。
【0033】
入力部20は、各種の情報を、観測データ100に入力する入力装置である。入力部20は、キーボードやマウス、タッチパネル等に対応する。
【0034】
表示部30は、制御部50から出力される情報を表示する表示装置である。表示部30は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、タッチパネル等に対応する。
【0035】
記憶部40は、たとえば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部40は、観測データ100と、動態データ101と、訓練データ102と、モデルデータ103とを記憶する。
【0036】
観測データ100は、ODデータ、または、POSデータなどの過去に観測した特定の地域内における人の移動を示すデータである。この観測データ100には、時刻ごとの人の分布と、各人の目的地とが含まれている。
【0037】
動態データ101は、動態データ生成部51が観測データ100をもとにしたシミュレーション(S2)で生成した特定の領域における人の動態の特徴量を示すデータである。
【0038】
図4A~
図4Cは、動態データのデータフォーマットの一例を示す説明図である。具体的には、
図4Aは、上述した第1の手法により区分領域ごとの人の目的地の統計量を特徴量として抽出した場合の動態データ101aの一例を示している。また、
図4Bは、上述した第2の手法により各区分領域内にいる人の移動履歴を特徴量として抽出した場合の動態データ101bの一例を示している。また、
図4Cは、上述した第3の手法により各区分領域内にいる人の移動履歴とともに、対象の区分領域の周辺にある区分領域(周辺領域)の人の分布状況を特徴量として抽出した場合の動態データ101cの一例を示している。
【0039】
図4Aに示すように、第1の手法により抽出された動態データ101aは、i=1~8、j=1~8の区分領域ごとの人の目的地の統計量を行列(D)で示したものである。例えば、i=1、j=2の区分領域については、その区分領域にいる人の目的地(i=1~8、j=1~8の各区分領域)の割合が行列D_12の要素として格納されている。
【0040】
図4Bに示すように、第2の手法により抽出された動態データ101bは、i=1~8、j=1~8の区分領域ごとの人の移動履歴を配列(E)で示したものである。例えば、現在i=5、j=6の区分領域にいるn=1の人(エージェント)が、1つ前にi=4、j=6、2つ前にi=3、j=4、3つ前にi=2、j=3にいたものとする。この場合、この人(n=1)の移動履歴E(1)は、E1(1)=46、E2(1)=34、E3(1)=23となる。
【0041】
図4Cに示すように、第3の手法により抽出された動態データ101cは、移動履歴を配列(E)とともに、対象の区分領域の周辺にある区分領域(周辺領域)の人の分布状況を行列(F)で示したものである。例えば、行列Fには、i=1~8、j=1~8の区分領域ごとの人の人数が要素として格納されている。
【0042】
モデルデータ103は、機械学習部53による機械学習後のモデルに関するデータである。例えば、モデルデータ103は、モデルに対応するニューラルネットワークの各パラメータなどである。
【0043】
制御部50は、動態データ生成部51と、シミュレーション部52と、機械学習部53と、予測部54とを有する。制御部50は、たとえば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)により実現される。また、制御部50は、例えばASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実行されてもよい。
【0044】
動態データ生成部51は、観測データ100からのシミュレーションにより、特定の領域における人の動態の特徴量を生成(抽出)する処理部である。具体的には、動態データ生成部51は、上述したシミュレーション(S2)を実行して人の移動を再現したうえで、第1~3の手法のいずれかによって人の動態の特徴量を示す動態データ101を生成する。動態データ生成部51は、生成した動態データ101を記憶部40に格納する。
【0045】
シミュレーション部52は、特定の時刻におけるランダムな人の分布に対して動態データ101に基づくエージェントシミュレーションを行い、その後の時刻における人の分布を予測する処理部である。シミュレーション部52は、観測データ100に含まれる過去の事例より、特定の時刻における人の分布と、正解とするその後の人の分布とを組み合わせた実データ102aに、エージェントシミュレーションによって予測した拡張学習データ102bを加えることで、訓練データ102のデータ拡張を行う。
【0046】
機械学習部53は、訓練データ102をもとに、現在の人口分布を入力することで、将来の人口分布を出力するニューラルネットワーク等のモデルの機械学習を行う処理部である。具体的には、機械学習部53は、訓練データ102に含まれる特定の時刻における人の分布を入力した場合に、正解とするその後の人の分布を出力するように、誤差逆伝播法等の公知の技術を用いてモデルの各パラメータを求める。ついで、機械学習部53は、機械学習により得られたモデルの各パラメータをモデルデータ103として記憶部40に格納する。
【0047】
予測部54は、モデルデータ103をもとに構築したモデルに基づいて人の分布を予測する処理部である。具体的には、予測部54は、モデルデータ103に含まれる各パラメータをもとにモデルを構築する。ついで、予測部54は、予測対象とする時刻における人の分布(例えば現在の人の分布)を構築したモデルに入力し、このモデルからその後の時刻における人の分布の出力を得る。予測部54は、このように得られた予測結果(人の分布)を、表示部30に表示するなどして外部に出力する。
【0048】
【0049】
具体的には、
図5A~
図5Cは、第1の手法により動態データ101aを生成してデータ拡張した訓練データ102を用いてモデルの機械学習を行い、学習後のモデルにより予測する処理の一例を示している。また、
図6A、
図6Bは、第2の手法により動態データ101bを生成してデータ拡張した訓練データ102を用いてモデルの機械学習を行い、学習後のモデルにより予測する処理の一例を示している。また、
図7、第3の手法により動態データ101cを生成してデータ拡張した訓練データ102を用いてモデルの機械学習を行い、学習後のモデルにより予測する処理の一例を示している。また、
図8は、第4の手法として、観測データ100(ODデータ)から機械学習したメッシュごとに目的地を決める学習モデル(AI_0)を予測に用いる場合の処理の一例を示している。
【0050】
まず、第1の手法を用いる場合の情報処理装置1の動作例を説明する。
図5Aに示すように、処理が開始されると、制御部50は、入力部20よりN人分の観測データ100(ODデータ)の入力を受け付け、入力された観測データ100を記憶部40に格納する(S10)。
【0051】
ついで、動態データ生成部51は、記憶部40に格納した観測データ100のODデータから起点と終点を読み込んでN人分のエージェントベースのシミュレーションを実行する(S11)。
【0052】
ついで、動態データ生成部51は、一定の時間刻み(例えば5分間隔)で、特定の地域に対応する空間を格子に区切った格子ごとに、その格子の中にいるエージェントの目的地の分布を記録する(S12)。具体的には、動態データ生成部51は、格子の中にいるエージェントの目的地の分布(各目的地の割合)を行列(D_ij)として記録する。なお、格子の間隔については、例えば1kmなど、ユーザが任意に設定したものでよい。
【0053】
ついで、動態データ生成部51は、一定のシミュレーション時間分(例えば15分)のシミュレーションを実施し、各メッシュの人の目的地分布を示す行列(D_ij)を平均化する(S13)。このように、動態データ生成部51は、第1の手法により動態データ101aを得る。
【0054】
図5Bに示すように、処理が開始されると、シミュレーション部52は、データ拡張用の事例を得るためのシミュレーション回数(n)の初期値をn=1として設定する(S20)。
【0055】
ついで、シミュレーション部52は、シミュレーション範囲(予測対象となる特定の地域)にランダムにM人の人(エージェント)を配置する(S21)。
【0056】
ついで、シミュレーション部52は、動態データ101aにおける行列D_ijに基づき、M人の各エージェントの目的地を決定する(S22)。ついで、シミュレーション部52は、決定した目的地に従って各エージェントを移動させるようにシミュレーションを実施する(S23)。
【0057】
ついで、シミュレーション部52は、シミュレーション結果により得られた15分後の人の分布を出力する(S24)。これにより、制御部50は、ランダムな人の分布(Sa_n)と、その分布を初期条件とするエージェントシミュレーションにより得られた所定時間(例えば15分)後の人の分布(Sb_n)とのデータの組み合わせを得る。なお、本実施形態ではシミュレーションにより15分後の予測を行っているが、この時間はユーザが任意に設定してよいものとする。
【0058】
ついで、シミュレーション部52は、必要なデータ数Pとnを比較し、n<Pであるか否かを判定する(S25)。nが必要なデータ数Pに達していない場合(S25:No)、シミュレーション部52は、nをインクリメントし(S26)、S21へ処理を戻す。
【0059】
nが必要なデータ数Pに達している場合(S25:Yes)、訓練データ102についてデータ拡張を行うために必要なデータ数P分のデータの組み合わせが得られたこととなる。したがって、機械学習部53は、データ拡張した訓練データ102による機械学習を実行する(S27)。具体的には、機械学習部53は、データ拡張分については、所定時刻の人の分布(Sa_1…Sa_P)を入力、その後の人の分布(Sb_1…Sb_P)を出力としてSaからSbを予測するモデルの機械学習を実行する。
【0060】
予測については、
図5Cに示すように、処理が開始されると、予測部54は、入力部20を介して現在の実際の人の分布情報(Sa_real)の入力を受け付ける(S30)。
【0061】
ついで、予測部54は、モデルデータ103をもとに構築した学習モデルにSa_realを入力してその出力を得ることで、学習モデルによる推論を行う(S31)。
【0062】
ついで、予測部54は、学習モデルの出力として得られた未来の人の分布情報(Sb_prediction)を表示部30での表示等によりユーザに出力する(S32)。
【0063】
つぎに、第2の手法を用いる場合の情報処理装置1の動作例を説明する。
図6Aに示すように、処理が開始されると、動態データ生成部51は、第1の手法と同様のエージェントベースシミュレーションを実行する(S10、S11)。
【0064】
ついで、動態データ生成部51は、一定の時間刻み(例えば5分間隔)で、特定の地域に対応する空間を格子に区切った格子ごとに、その中にいるエージェントについて、目的地(行列(D_ij))と、1分前、2分前、3分前にどのメッシュにいたかの分布(移動履歴を配列(E))を記録する(S12a)。
【0065】
ついで、動態データ生成部51は、一定のシミュレーション時間分(例えば15分)のシミュレーションを実施し、メッシュごとの目的地分布(D_ij)と、1分前、2分前、3分前にどのメッシュにいたかの移動履歴(E1(n)、E2(n)、E3(n))を出力する(S13a)。
【0066】
ついで、動態データ生成部51は、E1(n)、E2(n)、E3(n)を入力、D_ijを出力として、メッシュごとに目的地を決める学習モデル(AI_0)を機械学習する(S14)。
【0067】
つぎに、シミュレーション部52における処理について説明する。
図6Bに示すように、処理が開始されると、前述した
図5Bの処理と同様、シミュレーション部52は、各エージェントを移動させるようにシミュレーションを実施する(S20~S23)。
【0068】
ついで、シミュレーション部52は、S14で機械学習した学習モデル(AI_0)に基づき、M人のエージェントの目的地を更新する(S23a)。具体的には、シミュレーション部52は、S20~S23により移動させたエージェントの移動履歴を学習モデル(AI_0)に入力し、その学習モデルからの出力(目的地)を得る。シミュレーション部52は、この学習モデル(AI_0)の出力として得られた目的地にエージェントの目的地を更新する。
【0069】
ついで、シミュレーション部52は、更新後の目的地に従って各エージェントを移動させるようにシミュレーションを実施し(S23b)、シミュレーション結果により得られた15分後の人の分布を出力する(S24)。以後、シミュレーション部52、機械学習部53は、述した
図5Bと同様に処理(S25~S27)を行い、モデルの機械学習を実行する。
【0070】
次に、第3の手法を用いる場合の情報処理装置1の動作例を説明する。
図7に示すように、処理が開始されると、動態データ生成部51は、第1の手法と同様のエージェントベースシミュレーションを実行する(S10、S11)。
【0071】
ついで、動態データ生成部51は、一定の時間刻み(例えば5分間隔)で、特定の地域に対応する空間を格子に区切った格子ごとに、その中にいるエージェントについて、目的地(行列(D_ij))と、1分前、2分前、3分前にどのメッシュにいたかの分布(移動履歴を配列(E))と、周辺人口の分布(行列F)とを記録する(S12b)。
【0072】
ついで、動態データ生成部51は、一定のシミュレーション時間分(例えば15分)のシミュレーションを実施し、メッシュごとの目的地分布(D_ij)と、1分前、2分前、3分前にどのメッシュにいたかの移動履歴(E1(n)、E2(n)、E3(n))と、周辺人口(行列F)を出力する(S13b)。
【0073】
ついで、動態データ生成部51は、E1(n)、E2(n)、E3(n)、Fを入力、D_ijを出力として、メッシュごとに目的地を決める学習モデル(AI_0)を機械学習する(S14a)。
【0074】
なお、シミュレーション部52における処理については、S23aにおいて、学習モデル(AI_0)に対し、エージェントの移動履歴の他に周辺人口を入力すること以外、
図6Bと同様である。
【0075】
次に、第4の手法を用いて予測を行う場合の情報処理装置1の動作例を説明する。この第4の手法において、情報処理装置1の予測部54は、S14、S14aにおいて観測データ100(ODデータ)から機械学習したメッシュごとに目的地を決める学習モデル(AI_0)を予測に用いる。
【0076】
具体的には、
図8に示すように、処理が開始されると、予測部54は、、入力部20を介して現在の実際の人の分布情報(Sa_real)の入力を受け付ける(S30)。
【0077】
ついで、予測部54は、行列D_ijに基づき、M人のエージェントの目的地を決定し(S31a)、決定した目的地に従って各エージェントを移動させるようにシミュレーションを実施する(S31b)。
【0078】
ついで、予測部54は、S14、S14aで機械学習した学習モデル(AI_0)に基づき、M人のエージェントの目的地を更新する(S31c)。具体的には、予測部54は、S31bにより移動させたエージェントの移動履歴、分布などを学習モデル(AI_0)に入力し、その学習モデルからの出力(目的地)を得る。予測部54は、この学習モデル(AI_0)の出力として得られた目的地にエージェントの目的地を更新する。
【0079】
ついで、予測部54は、更新後の目的地に従って各エージェントを移動させるようにシミュレーションを実施する(S31d)。ついで、予測部54は、シミュレーション結果により得られた未来(例えば15分後)の人の分布情報(Sb_prediction)を表示部30での表示等によりユーザに出力する(S32)。
【0080】
以上のように、情報処理装置1は、特定の領域における時刻ごとの人の分布と、人の目的地とを含む観測データ100に基づいて特定の領域における人の動態の特徴量に関する動態データ101を抽出する。情報処理装置1は、動態データ101をもとに、抽出した特徴量に基づくエージェントシミュレーションを第1の時刻(例えば18:00)の人の分布に対して行い、第1の時刻より後の第2の時刻(例えば18:15)における人の分布を生成する。情報処理装置1は、第1の時刻の人の分布に対して生成した第2の時刻における人の分布を正解として含む訓練データ102に基づいて機械学習モデルの機械学習を実行する。情報処理装置1は、この機械学習モデルに基づいて人の分布を予測する。
【0081】
これにより、情報処理装置1では、観測データより抽出した人の動態の特徴量に基づくエージェントシミュレーションによって訓練データを拡張して機械学習モデルの機械学習を行うことができる。このため、情報処理装置1では、観測事例が少ないケースであっても機械学習モデルによる予測精度を高めることができる。
【0082】
また、情報処理装置1は、時刻ごとに、特定の領域を区分した区分領域ごとの区分領域に含まれる人の目的地の統計量を人の動態の特徴量として抽出する。これにより、情報処理装置1では、観測データ100より抽出した区分領域ごとの人の目的地の統計量に基づくエージェントシミュレーションを行い、観測データ100における人の動態に即した訓練データを生成できる。
【0083】
また、情報処理装置1は、時刻ごとに、特定の領域を区分した区分領域ごとの区分領域に含まれる人の移動履歴を人の動態の特徴量として抽出する。これにより、情報処理装置1では、観測データ100より抽出した区分領域ごとの人の移動履歴に基づくエージェントシミュレーションを行い、観測データ100における人の動態に即した訓練データを生成できる。
【0084】
また、情報処理装置1は、時刻ごとに、特定の領域を区分した区分領域ごとの区分領域に含まれる人の移動履歴と、この区分領域の周辺領域における人の分布とを人の動態の特徴量として抽出する。これにより、情報処理装置1では、観測データ100より抽出した区分領域ごとの人の移動履歴と、区分領域の周辺領域における人の分布とに基づくエージェントシミュレーションを行い、観測データ100における人の動態により即した訓練データを生成できる。例えば、周辺領域における人の分布を特徴量に含めることで、情報処理装置1では、天気状況(例えば雨)で特定の領域(例えばアーケードのある通り)に人が集中するケースや、周囲の混雑をさけるように人が分散するケースなど、周囲状況の違いを含めたエージェントシミュレーションを行うことができる。
【0085】
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0086】
また、情報処理装置1の制御部50に関する各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、情報処理装置1で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【0087】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ構成(ハードウエア)の一例を説明する。
図9は、コンピュータ構成の一例を説明する説明図である。
【0088】
図9に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置204と、インタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
【0089】
ハードディスク装置207は、動態データ生成プログラム207a、シミュレーションプログラム207b、機械学習プログラム207c、予測プログラム207dを有する。また、CPU201は、各プログラム207a~207dを読み出してRAM206に展開する。
【0090】
動態データ生成プログラム207aは、動態データ生成プロセス206aとして機能する。シミュレーションプログラム207bは、シミュレーションプロセス206bとして機能する。機械学習プログラム207cは、機械学習プロセス206cとして機能する。予測プログラム207dは、予測プロセス206dとして機能する。
【0091】
動態データ生成プロセス206aの処理は、動態データ生成部51の処理に対応する。シミュレーションプロセス206bの処理は、シミュレーション部52の処理に対応する。機械学習プロセス206cの処理は、機械学習部53の処理に対応する。予測プロセス206dの処理は、予測部54の処理に対応する。
【0092】
なお、各プログラム207a~207dについては、必ずしも最初からハードディスク装置207に記憶させておかなくてもよい。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207dを読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN等に接続された装置に各プログラム207a~207dを記憶させておき、コンピュータ200が通信装置204を介して各プログラム207a~207dを読み出して実行するようにしてもよい。
【0093】
以上の実施形態に関し、さらに以下の付記を開示する。
【0094】
(付記1)特定の領域における時刻ごとの人の分布と、前記人の目的地とを含む観測データに基づいて前記特定の領域における人の動態の特徴量を抽出し、
抽出した前記特徴量に基づくエージェントシミュレーションを第1の時刻の人の分布に対して行い、前記第1の時刻より後の第2の時刻における人の分布を生成し、
前記第1の時刻の人の分布に対して生成した前記第2の時刻における人の分布を正解として含む訓練データに基づいて機械学習モデルの機械学習を実行する、
処理をコンピュータに実行させることを特徴とする人口動態予測プログラム。
【0095】
(付記2)前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の目的地の統計量を前記特徴量として抽出する、
ことを特徴とする付記1に記載の人口動態予測プログラム。
【0096】
(付記3)前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の移動履歴を前記特徴量として抽出する、
ことを特徴とする付記1に記載の人口動態予測プログラム。
【0097】
(付記4)前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の移動履歴と、当該区分領域の周辺領域における人の分布とを前記特徴量として抽出する、
ことを特徴とする付記1に記載の人口動態予測プログラム。
【0098】
(付記5)前記機械学習モデルに基づいて人の分布を予測する処理をさらに前記コンピュータに実行させる、
ことを特徴とする付記1に記載の人口動態予測プログラム。
【0099】
(付記6)特定の領域における時刻ごとの人の分布を含む観測データに基づいて前記特定の領域における人の動態の特徴量を抽出し、
抽出した前記特徴量に基づくエージェントシミュレーションを第1の時刻の人の分布に対して行い、前記第1の時刻より後の第2の時刻における人の分布を生成し、
前記第1の時刻の人の分布に対して生成した前記第2の時刻における人の分布を正解として含む訓練データに基づいて機械学習モデルの機械学習を実行する、
処理をコンピュータが実行することを特徴とする人口動態予測方法。
【0100】
(付記7)前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の目的地の統計量を前記特徴量として抽出する、
ことを特徴とする付記6に記載の人口動態予測方法。
【0101】
(付記8)前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の移動履歴を前記特徴量として抽出する、
ことを特徴とする付記6に記載の人口動態予測方法。
【0102】
(付記9)前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の移動履歴と、当該区分領域の周辺領域における人の分布とを前記特徴量として抽出する、
ことを特徴とする付記6に記載の人口動態予測方法。
【0103】
(付記10)前記機械学習モデルに基づいて人の分布を予測する処理をさらに前記コンピュータが実行する、
ことを特徴とする付記6に記載の人口動態予測プログラム。
【0104】
(付記11)特定の領域における時刻ごとの人の分布を含む観測データに基づいて前記特定の領域における人の動態の特徴量を抽出し、
抽出した前記特徴量に基づくエージェントシミュレーションを第1の時刻の人の分布に対して行い、前記第1の時刻より後の第2の時刻における人の分布を生成し、
前記第1の時刻の人の分布に対して生成した前記第2の時刻における人の分布を正解として含む訓練データに基づいて機械学習モデルの機械学習を実行する、
処理を実行する制御部を有することを特徴とする情報処理装置。
【0105】
(付記12)前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の目的地の統計量を前記特徴量として抽出する、
ことを特徴とする付記11に記載の情報処理装置。
【0106】
(付記13)前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の移動履歴を前記特徴量として抽出する、
ことを特徴とする付記11に記載の情報処理装置。
【0107】
(付記14)前記抽出する処理は、時刻ごとに、前記特定の領域を区分した区分領域ごとの当該区分領域に含まれる人の移動履歴と、当該区分領域の周辺領域における人の分布とを前記特徴量として抽出する、
ことを特徴とする付記11に記載の情報処理装置。
【0108】
(付記15)前記機械学習モデルに基づいて人の分布を予測する処理をさらに前記制御部が実行する、
ことを特徴とする付記11に記載の情報処理装置。
【符号の説明】
【0109】
1…情報処理装置
10…通信部
20…入力部
30…表示部
40…記憶部
50…制御部
51…動態データ生成部
52…シミュレーション部
53…機械学習部
54…予測部
100…観測データ
101、101a、101b、101c…動態データ
102…訓練データ
102a…実データ
102b…拡張学習データ
103…モデルデータ
200…コンピュータ
201…CPU
202…入力装置
203…ディスプレイ
204…通信装置
205…インタフェース装置
206…RAM
206a…動態データ生成プロセス
206b…シミュレーションプロセス
206c…機械学習プロセス
206d…予測プロセス
207…ハードディスク装置
207a…動態データ生成プログラム
207b…シミュレーションプログラム
207c…機械学習プログラム
207d…予測プログラム
208…バス