【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度 国立研究開発法人情報通信研究機構「高度通信・放送研究開発委託研究 /データ連携・利活用による地域課題解決のための実証型研究開発」、産業技術力強化法第17条の適用を受ける特許出願
【課題】過去に発生した特定事象の履歴データに基づいて特定事象の将来の発生確率を予測する事象発生予測装置において、予測精度を維持しつつ、計算時間とメモリ消費を低減する。
【解決手段】離散化された複数の領域における特定事象の特定期間の発生件数を被説明変数として複数の説明変数を用いて予測する事象発生予測装置において、全ての領域に対するモラン基底の線形和でそれぞれの領域での被説明変数に対する効果を表現する予測モデルを構築する予測モデル構築部10と、予測モデルを用いて特定事象の将来の発生件数を求める予測部30と、を有する。
前記第2行列および前記第2ベクトルから前記特定事象の前記特定期間の発生件数の要因を計算する要因分析部を有することを特徴とする請求項3に記載の事象発生予測装置。
【発明の概要】
【発明が解決しようとする課題】
【0006】
犯罪予測のカーネル密度推定法は、犯罪件数を地理空間上で平滑化することで、局所的な空間パターンをモデル化する。しかし、環境要因の効果である帯域変動やノイズを無視することとなるため、過度に平滑化する傾向がある。
【0007】
負の二項回帰法は、犯罪件数のようなカウントデータに適した回帰手法である。大域変動やノイズは考慮できるものの、局所空間パターンを無視するため、精度が低下する。
【0008】
そこで、大域変動、局所変動およびノイズを捉えた犯罪予測モデルが求められている。幅広い効果を捉えるため、時間効果、空間効果、共起効果、および、環境変数の効果を考慮する必要がある。時間効果とは、同じ場所で犯罪が繰り返し発生(近接反復被害)する効果である。空間効果とは、近隣の犯罪リスクが高いと自地域も危険(空間相関)となる効果である。共起効果とは、他罪種との共起が生じる効果である。環境変数とは、人口や天気によって犯罪リスクが変化する等の環境・状況の効果を示す変数である。
【0009】
過去の発生事象である犯罪発生地点・時点との距離差Δxおよび時間差Δtの関数g(Δt,Δx)で犯罪予測モデルを表現した場合、予測精度が上がらない場合がある。また、距離差Δxを考慮する標準的な予測手法を用いた場合、その推定に要する計算量はデータ量Nの3乗のオーダー(O(N
3))で増大する。したがって、高い精度を求める場合ためにデータ数を多くすると、計算時間が増大し、実用が困難あるいは不可能となる可能性がある。
【0010】
また、たとえば過去12カ月分の犯罪データなど、大量のデータからモデルを推定することで、精度を高めることができる。しかし、各種要因の効果の識別や、空間効果のモデリングに要する計算負荷(計算時間とメモリ消費)は大きく、空間効果を捉えるための標準的な予測手法の適用は困難である。したがって、計算効率の大幅な改善が必須である。
【0011】
そこで、本発明は、過去に発生した特定事象の履歴データに基づいて特定事象の将来の発生確率を予測する事象発生予測装置において、予測精度を維持しつつ、計算時間とメモリ消費を低減することを目的とする。
【課題を解決するための手段】
【0012】
上述の目的を達成するため、本発明は、離散化された複数の領域における特定事象の特定期間の発生件数を被説明変数として複数の説明変数を用いて予測する事象発生予測装置において、全ての前記領域に対するモラン基底の線形和でそれぞれの前記領域での前記被説明変数に対する効果を表現する予測モデルを構築する予測モデル構築部と、前記予測モデルを用いて前記特定事象の将来の発生件数を求める予測部と、を有する。
【0013】
また、本発明は、離散化された複数の領域における特定事象の特定期間の発生件数を被説明変数として複数の説明変数を用いて予測する事象発生予測方法において、全ての前記領域に対するモラン基底の線形和でそれぞれの前記領域での前記被説明変数に対する効果を表現する予測モデルを構築する予測モデル構築ステップと、前記予測モデルを用いて前記特定事象の将来の発生件数を求める予測ステップと、を有する。
【発明の効果】
【0014】
本発明によれば、過去に発生した特定事象の履歴データに基づいて特定事象の将来の発生確率を予測する事象発生予測装置において、予測精度を維持しつつ、計算時間とメモリ消費を低減することができる。
【図面の簡単な説明】
【0015】
【
図1】本発明に係る事象発生予測装置の一実施の形態におけるブロック図である。
【
図2】本発明に係る事象発生予測装置の一実施の形態を用いた事象発生予測方法のフローチャートの一部である。
【
図3】本発明に係る事象発生予測装置の一実施の形態を用いた事象発生予測方法のフローチャートの一部である。
【
図4】本発明に係る事象発生予測装置の一実施の形態を用いた事象発生予測方法のフローチャートの一部である。
【
図5】本発明に係る事象発生予測装置の一実施の形態を用いた事象発生予測方法のフローチャートの一部である。
【
図7】本発明に係る事象発生予測装置の一実施の形態を用いた犯罪件数予測結果のROC曲線をカーネル密度推定法による結果とともに示すグラフである。
【
図8】本発明に係る事象発生予測装置の一実施の形態を用いた犯罪件数予測結果のROC曲線をカーネル密度推定法による結果とともに示す表であるである。
【
図9】本発明に係る事象発生予測装置の一実施の形態における犯罪予測モデルの効果の識別結果を示す表である。
【
図10】本発明に係る事象発生予測装置の一実施の形態における予測モデルの場所ごとの効果の例を示す図である。
【
図11】本発明に係る事象発生予測装置の一実施の形態における予測モデルの他罪種間の共起の強さの例を示す表である。
【発明を実施するための形態】
【0016】
本発明に係る事象発生予測装置の一実施の形態を、図面を参照して説明する。なお、この実施の形態は単なる例示であり、本発明はこれに限定されない。同一または類似の構成には同一の符号を付し、重複する説明は省略する。
【0017】
図1は、本発明に係る事象発生予測装置の一実施の形態におけるブロック図である。
【0018】
本実施の形態では、特定の時刻tおよび領域sにおける暴行などの犯罪(特定事象)の発生確率を予測する。ここで、領域sとは、犯罪が発生する地図上の位置を示すものである。時刻tおよび領域sは、いずれも離散化されており、ある広がりを持った期間および地域を示す。
【0019】
事象発生予測装置は、予測モデル構築部10と予測部30と表示部40とを有している。予測モデル構築部10は、モラン基底生成部12と距離行列記憶部14と演算部16と変数記憶部18と予犯罪件数記憶部20と内積記憶部22と分散パラメータ記憶部24と要因分析部26とを有している。
【0020】
予測モデル構築部10は、予測モデルを構築し、記憶する。予測モデルは時刻t、領域sにおける罪種cの面積あたり犯罪件数y
c(s,t)を以下の式で表す。
【0022】
上式の右辺第1項は同罪種の犯罪の繰り返されやすさ、右辺第2項は別罪種との共起であり、いずれも1期前の犯罪件数の効果、すなわち時間効果を捉える。右辺第3項は環境変数の効果を表す。e(s,t)は平均が0で分散がσ
2の正規分布に従うノイズをあらわす。
【0023】
b
c(s)とb
c’(s)は領域sごとの時間効果(近接反復傾向)を示す関数である。b
k(s)は、領域sごとの環境変数の効果を示す関数である。各関数は以下の式で表されるものとする。
【0025】
ここで、e
l(s)はモランI統計量(空間パターンの記述統計量)で記述される空間パターンをできる限り説明するように抽出された空間近接行列の固有ベクトルであり、モラン基底と呼ばれる。γ
l,kは、その影響の強さを表す係数であり、e
l(s)に対応する固有値λ
kとパラメータ集合θに依存して決まるとする。
【0026】
予測モデル構築部10は、時刻1〜tの全時点の町丁目データから、時刻t+Δtの犯罪件数(罪種c;町丁目別)を高速推計する予測モデルを構築する。つまり、領域sとして町丁目レベルに分割している。入力は、罪種cの犯罪件数(時点t)、罪種cの過去の犯罪件数(時刻t−Δt)、罪種c以外の過去の犯罪件数(時刻t−Δt)、環境変数(人口、天気等何でもよい)、1〜tまでの過去時点で計算済みの内積、ならびに、各町丁目の重心点緯度経度である。
【0027】
予測部30は、予測モデル構築部で構築した予測モデルを用いて、領域sごとに、すなわち町丁目ごとに、罪種cの犯罪件数(時刻t+Δt)と犯罪の発生要因に関するパラメータ(時刻t+Δt)を出力する。
【0028】
図2から
図5は、本実施の形態における事象発生予測方法のフローチャートである。
【0029】
本実施の形態における事象発生予測方法では、まず、モラン基底生成部12がモラン基底行列を生成する。まず、N個の領域の重心点の座標を用いてi番目の領域s
iとj番目の領域s
jとの重心点間の距離d
ijを求める。これらの距離行列dを距離行列記憶部14に記憶する(ステップ1)。たとえば、距離行列そのものを外部から入力してもよいし、領域のそれぞれの重心を外部から入力し距離行列を生成してもよい。
【0030】
次に、距離行列からモラン基底行列Eを生成する(ステップS2)。具体的には、以下のようにしてモラン基底行列を生成する。
【0031】
近接行列C求める。近接行列Cの要素c
ijは、c
ij=exp(−d
ij/r)とする。ここで、rは、重心点間の最小決定木上の全てのリンク(edge)の中の最長距離である。近接行列Cの対角要素は0である。
【0032】
次にCをdouble−centeringして行列MCMを求める。ここで、M=I−1 1
T/N、Iは単位行列、1は1を並べた縦ベクトル、上付のTは転置を表す。
【0033】
MCMを固有値分解し、固有ベクトルと固有値を抽出する。Lを正の固有値の数とすると、モラン基底e
l(l=1,,,,L)は正の固有値に対応するL個の固有ベクトルである。
【0034】
このようにして得られたl番目のモラン基底(固有ベクトル)は、l番目に大きな空間相関の強さを表す空間基底となる。具体的には、l番目のモラン基底(固有ベクトル)は、モランI統計量と呼ばれる空間相関の強さを表す指数がi番目に大きくなる空間基底となる。たとえばe
10は空間相関を説明する10番目に大きな成分である。
【0035】
また、演算部16が行列Pにモラン基底行列Eを代入する(ステップS3)。
【0036】
犯罪件数を説明するための変数である罪種cの過去の犯罪件数、罪種c以外の過去の犯罪件数、環境変数をまとめて説明変数と呼称すると、演算部16は、説明変数の数K回ループを回し、Pを計算する(ステップS5〜ステップS11)。まず、変数kに1を代入する(ステップS4)。
【0037】
次に、第k番目の説明変数x
k,tを説明変数記憶部18に入力する。なお、環境変数(内の環境変数)は、人口、天気など、犯罪件数を直接的、間接的に影響する可能性があれば何でもよい。説明変数として犯罪件数に影響を与えないものが含まれていても、計算時間は若干増加するものの、評価精度を悪化させることはない。
【0038】
次に、第k番目の説明変数x
k、tが場所ごとに異なるか否かを判定する(ステップS6)。第k番目の説明変数x
k、tが場所ごとに異なる場合には、ベクトルpを、p=x
k,t°Eで求める(ステップS7)。ここで、°はx
k,tをEの各列に要素ごとに積を取る演算子である。第k番目の説明変数x
k、tが場所ごとに異ならない場合、すなわち第k番目の説明変数x
k、tの効果が全域で一様と判定された場合には、p=x
k,tとする(ステップS8)。
【0039】
演算部16は、このようにして得られたベクトルpを行列Pの右側に結合する(ステップS9)。その後、kにk+1を代入する(ステップS10)。kがK以下か否かを判定し(ステップS11)、kがK以下であるときにはステップS12に進み、kがKを超えたらループを抜けてステップS12に進む。
【0040】
次に、時刻tにおける場所ごとの犯罪件数y
tを入力し、犯罪件数記憶部20に記憶する(ステップS12)。演算部16は、内積P
TPを計算して変数行列M
tに入力し、また、P
Ty
tを計算して変数行列m
tに入力する(ステップS13)。
【0041】
次に、時刻tより前に評価済みの内積Mおよびmが入力される(ステップS14)。評価済みの内積Mおよびmは、内積記憶部22から読み込まれてもよい。Mおよびmの初期値(時刻t=0)は、すべての要素が0の行列である。
【0042】
演算部16が時刻tよりも前の評価時刻t−Δtにおいて計算したMおよびmに、ステップS13で計算したM
tおよびm
tを加えて時刻tにおけるMおよびmが得られる(ステップS15)。
【0043】
また、ベクトル{Θ
1,…,Θ
K}を設定する(ステップS16)。ここで、ベクトル{Θ
1,…,Θ
K}は、x
kの効果を決める分散パラメータΘ
kの初期値である。ベクトル{Θ
1,…,Θ
K}は、分散パラメータ記憶部24に記憶される。
【0044】
次に、演算部16は、尤度l
i=l
i(Θ
1,…,Θ
K|M,m)を評価する(ステップS17)。
【0045】
次に、説明変数の個数K回のループを回す。まず、kに1を代入する(ステップS18)。
【0046】
ループの中では、Θ
kに、
【数3】
を代入する(ステップS19)。次に、kにk+1を代入する(ステップS20)。kがK以下か否かを判定し(ステップS21)、kがK以下であるときにはステップS19に戻り、kがKを超えたらループを抜けてステップS22に進む。
【0047】
説明変数の個数について、Θ
kを求めたら、そのΘ
kを用いて、尤度l
i+1を求める(ステップS22)。尤度l
i+1が収束したら、ステップS25に進む。すなわち、l
i+1とl
iを比較し(ステップS23)、l
i+1>l
i+δであれば、l
iにl
i+1を代入し(ステップS24)、ステップS18に戻る。このようにして、予測モデルが構築される。
【0048】
最後に、予測モデル構築部10が構築した予測モデルを用いて予測部30が時刻t+Δtにおける犯罪件数の予測値を計算する(ステップS25)。時刻t+Δtにおける犯罪件数は、次式で求める。
y
t+Δt=E[y
t+Δt|{Θ
1,…,Θ
K},M,m]
この際、要因分析部26は、犯罪発生要因に関する係数β
k,tも次式により併せて求める。
β
k,t=E[β
k,t|{Θ
1,…,Θ
K},M,m]
【0049】
予測部30が予測した時刻t+Δtにおける犯罪件数は、表示部40に表示される。また、表示部に予測モデル構築部10が構築した予測モデルのそれぞれの説明変数の効果の大きさを表示してもよい。
【0050】
本実施の形態により、犯罪件数を予測し、カーネル密度推定法による犯罪件数予測と比較した。具体的には、大東京防犯ネットワークが公開している町丁目別、罪種別、月別の犯罪件数データを用いた。同データには、非侵入窃盗の細目11罪種が含まれており、2017年5月から2019年4月までの24ヶ月のデータを用いた。過去12ヶ月のデータを用いた3ヶ月後の犯罪件数を予測した。ROC曲線とHit Rate(HR)を用いて,罪種ごとに予測精度を検証した。ここで、Hit Rateとは、犯罪が多いと予測された上位z%の町丁目内における実際の犯罪件数が全体の何%かを示す値であり、最大が1(高精度)で、ランダムがz(低精度)となる。ROC曲線とは、Hit Rateを全てのzについて並べた曲線である。
【0051】
図6は、ROC曲線の例を示すグラフである。
【0052】
図6は、Hit Rateを全てのzについて並べた曲線(ROC曲線)の例を3種類について示したものである。横軸はパーセンタイルzであり、縦軸はzに対するHit Rateである。予測精度が低い場合にはランダムになり、45度の直線となる。精度が高まるにつれて、45度の直線から上側に離れる。
【0053】
図7は、本実施の形態を用いた犯罪件数予測結果のROC曲線をカーネル密度推定法による結果とともに示すグラフである。
図7において、横軸はパーセンタイル、縦軸はHit Rateを示す。
図7には、犯罪の罪種ごとに11のROC曲線を示した。
【0054】
図8は、本実施の形態を用いた犯罪件数予測結果のROC曲線をカーネル密度推定法による結果とともに示す表であるである。この表は、各月の上位20%のHit Rateの平均値を示す。
【0055】
図7および
図8から、本実施の形態によれば、オートバイ盗、車上狙い、自販機ねらいなどで予測精度が大幅に改善していることがわかる。
【0056】
図9は、本実施の形態における犯罪予測モデルの効果の識別結果を示す表である。
【0057】
図9に示すように、直感と整合するように推定・識別していることがわかる。特に、ノイズとその他の識別は、安定的な予測を行う上で必須であることがわかる。
【0058】
図10は、本実施の形態における予測モデルの場所ごとの効果の例を示す図である。
【0059】
図10において黒色が濃いほど影響が大きいことを示している。
図10からわかるように、車上狙いは時間的に見ると郊外の似た場所で繰り返されていることがわかる。また、車上狙いは、人口密度の効果を見ると郊外の人口密集地で特に多いことがわかる。
【0060】
また、すりや万引きは都心で繰り返されていることがわかる。すりと万引きは、都心では人がいない場所で多いことがわかる。また、万引きにおいては、人口密度が万引きの起こりやすさに対する影響は地区ごとに大きく異なっていることがわかる。
【0061】
図11は、本実施の形態における予測モデルの他罪種間の共起の強さの例を示す表である。
【0062】
図11に示すように、他罪種間の共起の強さを分析することができる。
【0063】
このように本実施の形態によれば、他の手法と比べて十分な精度を維持していることわかる。罪種によってはより高い精度を得ることができる。
【0064】
また、本実施の形態では、領域の数がNであるとすると、N行N列の距離行列からL個のモラン基底を抽出する。犯罪予測のためには、犯罪件数および説明変数との内積計算が必要となるが、時刻tより前の時刻についての内積計算は過去の犯罪予測の際に計算済みであるから再計算不要である。よって、予測の際の計算量およびメモリ量は、過去データの時刻点数によらず一定である。つまり、過去データを蓄積しても高速で犯罪予測することができる。
【0065】
また、被説明変数に対する各説明変数の効果の大きさを分析することができる。たとえば、すりに対して、人口密度がどのような影響があるのかを分析できる。たとえば都心では人が少ない場所でスリが起きやすいが、郊外では人口密度の高い場所で起きやすいなどの要因を分析することができる。