説明

情報処理装置、情報処理方法およびプログラム

【課題】イベントの発生状況を考慮した統計量を算出することが可能な、情報処理装置、情報処理方法およびプログラムを提供すること。
【解決手段】本発明に係る情報処理装置は、所定のイベントが発生した時刻に関するイベント発生時刻情報に基づいて所定の統計量を算出する際に利用されるパラメータを設定するパラメータ設定部と、前記パラメータ設定部により設定された基準単位時間に基づいて、前記所定の統計量を算出する対象とする算出期間を複数の単位期間に分割する期間分割部と、前記イベント発生時刻情報に基づいて、前記単位期間ごとに前記所定のイベントの発生回数をカウントするカウント部と、前記カウント部のカウント結果を利用して、前記所定のイベントの発生状況を表す統計量を算出する統計量算出部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
医学、薬学、理工学などの分野において、ある時点から、興味のある事象が発生するまでの時間を推定する解析がしばしば行われる(例えば、以下の非特許文献1を参照。)。この解析は、特に医学・薬学分野において、ある人口集団中の人が死亡する割合(死亡率)を推定するために用いられることが多く、生存時間解析と呼ばれる。すなわち、この例において、興味のある事象が「人の死亡」という事象であり、事象が発生するまでの時間が、その人の生存時間となる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】汪金芳、“生存時間解析入門”、[online]、平成17年5月13日、千葉大学、[平成21年12月10日検索]、インターネット<URL: http://www.math.s.chiba-u.ac.jp/~wang/suvival.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、この生存時間解析を、ある期間内に、事象が発生したか否かの判断に用いられるイベントが複数回発生しうるようなものに対して適用する場合も生じうる。他方、生存時間解析は、複数のデータの集団(例えば人の集団)に着目し、着目している集団を構成している要素に対してあるイベントが最後に発生した時期を利用して、所定の解析を行う方法である。そのため、従来の生存時間解析を、ある期間内にイベントが複数回発生しうるような事象に対して適用する場合には、期間内のイベントの発生状況が考慮されずに、生存時間等の各種統計量が算出されることとなる。その結果、イベントの発生状況が大きく異なる2種類の要素が存在したとしても、これらの要素に対して類似した統計量が算出されてしまうという問題があった。
【0005】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、イベントの発生状況を考慮した統計量を算出することが可能な、情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある観点によれば、所定のイベントが発生した時刻に関するイベント発生時刻情報に基づいて所定の統計量を算出する際に利用されるパラメータを設定するパラメータ設定部と、前記パラメータ設定部により設定された基準単位時間に基づいて、前記所定の統計量を算出する対象とする算出期間を複数の単位期間に分割する期間分割部と、前記イベント発生時刻情報に基づいて、前記単位期間ごとに前記所定のイベントの発生回数をカウントするカウント部と、前記カウント部のカウント結果を利用して、前記所定のイベントの発生状況を表す統計量を算出する統計量算出部と、を備える情報処理装置が提供される。
【0007】
前記カウント部は、前記算出期間の中から前記所定のイベントが発生した最も新しい前記単位期間を特定し、前記統計量算出部は、前記最も新しい単位期間までに前記所定のイベントが発生した回数を利用して、前記所定のイベントの発生密度を算出し、前記イベントの発生密度、および、前記最も新しい単位期間までに含まれる前記単位期間の個数を利用して、前記所定のイベントの前記算出期間内における平均発生回数を算出することが好ましい。
【0008】
前記情報処理装置は、複数の前記イベント発生時刻情報の中から、前記算出期間が同一となる前記イベント発生時刻情報を選択する選択部を更に備え、前記カウント部は、前記選択部により選択された前記イベント発生時刻情報について、前記所定のイベントの発生回数をカウントすることが好ましい。
【0009】
前記統計量算出部は、前記選択部により選択された前記イベント発生時刻情報の個数をNとし、前記イベントの発生密度をWとし、前記最も新しい単位期間までに含まれる単位期間の個数をtとしたときに、前記イベントの平均発生回数Aを、以下の式1に基づいて算出することが好ましい。
【0010】
【数1】

【0011】
前記カウント部は、前記単位期間内で前記所定のイベントが発生した場合、当該単位期間における前記イベントの発生回数を、当該発生回数に関わらず1回とカウントしてもよい。
【0012】
前記統計量算出部は、前記カウント部のカウント結果に基づいて、前記イベントが発生した割合を示す生存関数と、前記イベントのハザード関数と、前記イベントの発生回数が半分になるまでの期間を表すイベント発生半減期と、を更に算出してもよい。
【0013】
また、上記課題を解決するために、本発明の別の観点によれば、所定のイベントが発生した時刻に関するイベント発生時刻情報に基づいて所定の統計量を算出する際に利用されるパラメータを設定するステップと、パラメータの設定ステップにて設定された基準単位時間に基づいて、前記所定の統計量を算出する対象とする算出期間を複数の単位期間に分割するステップと、前記イベント発生時刻情報に基づいて、前記単位期間ごとに前記所定のイベントの発生回数をカウントするステップと、カウントステップでのカウント結果を利用して、前記所定のイベントの発生状況を表す統計量を算出するステップと、を含む情報処理方法が提供される。
【0014】
また、上記課題を解決するために、本発明の更に別の観点によれば、コンピュータに、所定のイベントが発生した時刻に関するイベント発生時刻情報に基づいて所定の統計量を算出する際に利用されるパラメータを設定するパラメータ設定機能と、前記パラメータ設定機能により設定された基準単位時間に基づいて、前記所定の統計量を算出する対象とする算出期間を複数の単位期間に分割する期間分割機能と、前記イベント発生時刻情報に基づいて、前記単位期間ごとに前記所定のイベントの発生回数をカウントするカウント機能と、前記カウント機能のカウント結果を利用して、前記所定のイベントの発生状況を表す統計量を算出する統計量算出機能と、を実現させるためのプログラムが提供される。
【発明の効果】
【0015】
以上説明したように本発明によれば、イベントの発生状況を考慮した統計量を算出することが可能となる。
【図面の簡単な説明】
【0016】
【図1】生存時間解析について説明するための説明図である。
【図2】生存時間解析について説明するための説明図である。
【図3】生存時間解析について説明するための説明図である。
【図4】生存関数の一例を説明するためのグラフ図である。
【図5】ハザード関数の一例を説明するためのグラフ図である。
【図6】生存時間解析について説明するための説明図である。
【図7】本発明の第1の実施形態に係る情報処理装置の構成を説明するためのブロック図である。
【図8】イベント発生情報の一例を説明するための説明図である。
【図9】同実施形態に係る情報処理方法を説明するための説明図である。
【図10】同実施形態に係る情報処理方法を説明するための説明図である。
【図11】同実施形態に係る情報処理方法を説明するための説明図である。
【図12A】同実施形態に係る情報処理方法を説明するための説明図である。
【図12B】同実施形態に係る情報処理方法を説明するための説明図である。
【図13】同実施形態に係る情報処理方法を説明するための説明図である。
【図14】同実施形態に係る情報処理方法を説明するための説明図である。
【図15】同実施形態に係る情報処理方法を説明するための流れ図である。
【図16】本発明の実施形態に係る情報処理装置のハードウェア構成を説明するためのブロック図である。
【発明を実施するための形態】
【0017】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0018】
なお、説明は、以下の順序で行うものとする。
(1)基盤技術について
(2)目的
(3)第1の実施形態
(3−1)情報処理装置の構成について
(3−2)情報処理方法について
(4)本発明の実施形態に係る情報処理装置のハードウェア構成について
(5)まとめ
【0019】
(基盤技術について)
まず、本発明の実施形態に係る情報処理装置および情報処理方法について説明するに先立ち、本発明の実施形態を実現する上で基盤を成す技術的事項について述べる。なお、本発明の実施形態は、以下に記載する基盤技術の上に改良を加えることにより、より顕著な効果を得ることができるように構成されたものである。従って、その改良に係る技術こそが本実施形態の特徴を成す部分である。つまり、本発明の実施形態は、ここで述べる技術的事項の基礎概念を踏襲するが、その本質はむしろ改良部分に集約されており、その構成が明確に相違すると共に、その効果において基盤技術とは一線を画するものであることに注意されたい。
【0020】
以下では、まず、図1〜図5を参照しながら、本発明の基盤となる技術である生存時間解析について、その流れを簡単に説明する。図1〜図3は、生存時間解析について説明するための説明図であり、図4は、生存関数の一例を説明するための説明図であり、図5は、ハザード関数の一例を説明するための説明図である。
【0021】
生存時間解析とは、ある時点から着目している事象が発生するまでの時間を推定する手法である。着目する事象の例としては、例えば、ある病気が発症するまでの時間、薬の副作用が出るまでの時間、人が亡くなるまでの時間、機械等が故障するまでの時間等、様々なものを挙げることができる。
【0022】
この生存時間解析では、生存関数(survival function)と呼ばれる関数に着目することが多い。生存関数は、時間を表す変数をtとした場合に、事象が発生するまでの時間(生存時間)Tがt超過となる確率として定義される。この生存関数を定式化すると、以下の式11のように表すことができる。
【0023】
ここで、下記式11において、S(t)が生存関数であり、f(t)は、生存時間Tの確率密度関数である。
【0024】
また、生存時間解析では、生存関数のほかに、ハザード関数(hazard function)と呼ばれる関数に着目することもある。ハザード関数は、着目している事象が発生するまでの時間T>tである場合に、時刻tでイベントが発生する確率として定義される。このハザード関数を定式化すると、以下の式12のように表すことができる。ここで、下記式12において、H(t)がハザード関数である。
【0025】
ここで、生存時間Tの累積分布関数(cumulative distribution function)をF(t)とすると、その定義は、下記式13で表される。式11および式13から明らかなように、Pr(T>t)=1−Pr(T≦t)であるから、生存時間Tの累積分布関数と生存関数とは、以下の式14の関係があることがわかる。
【0026】
ここで、式14の両辺を時間tで微分すると、以下の式15で表す関係が得られる。したがって、式12および式15から、以下の式16で表される確率微分方程式を得ることができる。また、t=0における生存確率は1であるから、S(0)=1という初期条件のもとで式16に示した微分方程式を解くと、以下の式17で表される関係式を得ることができる。式17の関係式は、生存関数S(t)とハザード関数H(t)との関係を示す式である。そのため、生存関数S(t)またはハザード関数H(t)の一方が既知であれば、式17の関係式を用いて他方の関数を算出することができる。
【0027】
【数2】

【0028】
しかしながら、実際の現象では、生存時間Tの確率密度関数は、指数分布、ワイブル分布、対数正規分布のように、整った式で表せない場合も多い。その場合には、以下のような、ノンパラメトリックな方法を用いて、生存関数S(t)を推定することができる。このようなノンパラメトリックな方法の一例として、カプラン−マイヤーの推定値(Kaplan−Meier estimate)を用いる方法がある。以下では、図1〜図5を参照しながら、カプラン−マイヤーの推定値を用いた生存関数S(t)の推定方法について、簡単に説明する。
【0029】
生存関数を推定する方法では、あるイベントが発生した時刻に関する情報(以下、イベント発生時刻情報と称する。)を準備する。以下の説明では、このイベント発生時刻情報として、あるユーザがあるサービスに対してログインした時刻を表す履歴情報を例にとり、「ユーザがサービスを離脱する」という事象が発生するまでの時間を、生存時間Tとする。
【0030】
次に、生存関数を推定する方法では、生存関数を算出する期間T(例えば、1年等)と、時間単位t(例えば、1ヶ月、1週間等)とが決定されるとともに、サービス開始の時間単位が同じユーザを選択することが行われる。
【0031】
図1は、このようにして選択されたユーザ毎に、イベント発生時刻情報を参照して、時間軸上にイベントの発生した時点を図示したものである。図1では、ユーザ1〜ユーザ5の5人のユーザ(ユーザ数N=5)に着目しており、斜線付きの矩形がイベントの発生時刻(すなわち、ユーザがログインした時刻)を表している。
【0032】
生存関数を算出する期間Tが5ヶ月、時間単位tが1ヶ月と決定されると、生存関数を推定する方法では、例えば図2に示したように、時間単位tごとの区間を基準として、「ユーザがサービスを離脱する」という事象が発生したか否かを判断する。「ユーザがサービスを離脱した」という事象は、「ユーザが最後にログインした」という観点から判断することが可能である。図2から明らかなように、ユーザ1が最後にアクセスした時刻は左から3番目の区間に属しており、ユーザ2およびユーザ3が最後にアクセスした時刻は左から4番目の区間に属しており、ユーザ4およびユーザ5が最後にアクセスした時刻は一番右の区間に属している。
【0033】
生存関数の推定では、基準となる時点と、着目している事象が発生した時点の2つの時点にのみ着目する。したがって、図1〜図2に示した例でも、生存関数を推定する際には、各ユーザのログインは、図3に示したように、ユーザのアクセスが「ユーザiが最後にアクセスした区間ti」となるまで継続していたものと考える。
【0034】
ここで、時刻tにおける生存関数S(t)(カプラン−マイヤー推定値)は、(ti≧tである人数/全人数)で表される値となる。したがって、図1〜図3に示した例では、S(1)=5/5=1、S(2)=5/5=1、S(3)=5/5=1、S(4)=4/5、S(5)=2/5となる。
【0035】
図4は、あるサービスにおいて、基準時間単位tを1ヶ月、着目する期間Tを26ヶ月とし、同じ月にサービスを開始したN人のユーザに対して上述の方法を用いて算出した生存関数S(t)を図示している。ここで、図4において、横軸が生存期間を表し、縦軸が生存率を表す。
【0036】
また、生存関数S(t)が推定できると、半減期および平均生存時間という統計量を算出することができる。半減期は、生存率が50%となる時刻として定義される。したがって、例えば図4に示したような生存関数において、生存率=0.5となるx座標を算出することで、半減期を得ることができる。例えば図4の場合、図から明らかなように、半減期は約19ヶ月である。
【0037】
また、平均生存時間は、着目期間中に、ユーザが平均的に生存している時間であり、例えば図4に示したような生存関数のグラフ図において、生存関数S(t)と、x=0と、x=Tとで囲まれる領域の面積として表される。平均生存時間をaと表すとすると、平均生存時間aは、以下の式18で表される。
【0038】
【数3】

【0039】
例えば、図1〜図3で示した例における平均生存時間aは、(3+4+4+5+5)/5=4.2となる。
【0040】
また、ハザード関数を算出することも可能である。この場合、ハザード関数H(t)は、(t<ti≦t+1であるユーザ数/ti≧tであるユーザ数)として表される。例えば、図1〜図3に示した例におけるハザード関数は、H(1)=0/5=0、H(2)=0/5=0、H(3)=1/5、H(4)=2/4=1/2、H(5)=2/2=1となる。
【0041】
また、図5は、あるサービスにおいて、基準時間単位tを1ヶ月、着目する期間Tを26ヶ月とし、同じ月にサービスを開始したN人のユーザに対して上述の方法を用いて算出したハザード関数H(t)を図示している。ここで、図5において、横軸が生存期間を表し、縦軸がハザードを表す。
【0042】
(目的)
以上説明したような生存時間解析により得られる統計量は、複数の要素からなる集合(例えば、人の集合)に対して算出されるものであり、定義式からも明らかなように、着目している事象が起こった時刻に重点をおいて算出される。これは、生存時間解析は、そもそも、医学・薬学といった分野で主に用いられたものであり、これらの分野では、着目している事象が発生するまでは、事象が発生していない状態が継続し続けていることが多いためである。
【0043】
他方、上述の説明で例にとった、「ユーザがサービスを離脱する」という事象に着目するにあたって、「ユーザのサービスへのログイン」という離散的に発生する状態(イベント)を利用して生存時間解析を行う場合を考える。離散的に発生する状態の発生状況を表すデータ(イベント発生時刻情報など)を利用して、ある事象の発生までの時間を解析する際に、図6に例示したように、事象の発生した時刻(生存時間)が同一となった2つのユーザが存在したとする。1≦t≦10の算出期間に着目した場合、ユーザAおよびユーザBは、それぞれ特定の処理(例えば、サービスへのログイン)を計100回行っている。しかしながら、ユーザAは、一番左の区間(tまでの区間)において特定の処理を98回行っているのに対し、ユーザBは、各区間において平均的に特定の処理を行っており、ユーザAおよびユーザBの挙動は、大きく異なっている。ここで、ユーザAおよびユーザBは、一番右の区間(10tまでの区間)において特定の処理を行っているため、ユーザの挙動には大きな違いがあるものの、算出されるユーザAおよびユーザBの生存時間は、同じ値となる。
【0044】
このように、従来の生存時間解析では、最終的な事象の発生に至るまでの挙動が異なる対象であっても、最終的な事象の発生時刻が同一である場合には、算出される生存時間等の統計量が同一になってしまうという問題があった。
【0045】
また、マーケティングの分野では、顧客の動向を分析する方法として、いわゆるRFM分析と呼ばれる手法が存在する。このRFM分析は、特定の個人の動向を、商品の直近の購入日(R)、累積購入回数(F)、合計購入金額(M)という観点から分析する方法である。しかしながら、このような分析法は、個人の動向に対する分析方法であり、生存時間解析が対象とする、複数の要素からなる集合の解析には適用できない。また、図6に例示したようなユーザAとユーザBの挙動をRFM分析(より詳細には、RF分析)により分析する場合、ユーザAおよびユーザBは、最後にログインした区間が同一(Rが同一)であり、累積のログイン回数も同一(Fが同一)である。したがって、RFM分析では、ユーザAおよびユーザBの評価は同一となってしまい、両者の挙動は異なるにも関わらず、両者を区別することができない。
【0046】
そこで、以下で説明する本発明の実施形態では、複数の要素からなる集合に対して、事象の発生を判断するために用いられるイベントの発生状況を考慮しながら、統計量を算出することが可能な情報処理装置および情報処理方法を提供することを目的とする。かかる目的を達成するために、本発明者が鋭意検討を行った結果、以下で説明するような情報処理装置および情報処理方法に想到した。以下では、この情報処理装置および情報処理方法について、詳細に説明する。
【0047】
(第1の実施形態)
<情報処理装置の構成について>
これまで説明したような基盤技術を踏まえながら、まず、図7を参照して、本発明の第1の実施形態に係る情報処理装置の構成について、詳細に説明する、図7は、本実施形態に係る情報処理装置の構成を説明するためのブロック図である。
【0048】
本実施形態に係る情報処理装置10は、例えば図7に示したように、データ取得部101と、演算処理部103と、表示制御部105と、記憶部107と、を主に備える。
【0049】
データ取得部101は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、通信装置等により実現される。このデータ取得部101は、統計量の算出に用いられるイベント発生時刻情報等の各種データを、各種の装置から取得する。
【0050】
イベント発生時刻情報は、複数の要素からなる集合(例えば、ユーザ群)における事象の発生を判断するために用いられるイベントについて、そのイベントが発生した時刻が記載されているものである。このイベント発生時刻情報には、イベントを発生させた集合の要素を特定するための情報(例えば、ユーザID等の識別情報)が関連付けられていても良い。このようなイベント発生時刻情報の例を、図8に示す。図8では、イベントとして、ユーザが行ったログイン処理に着目しており、ログイン処理を行ったユーザの識別情報(ユーザID)が、ログイン処理を行った時刻情報と関連付けられて記録されている。なお、図8に示した履歴情報に代表されるイベント発生時刻情報はあくまでも一例であって、イベントの発生時刻と、イベントを発生させた要素とを特定可能な情報とが関連付けられているものであれば、任意のデータを利用することが可能である。
【0051】
データ取得部101は、取得したイベント発生時刻情報を、後述する記憶部107等に格納する。また、データ取得部101は、取得したイベント発生時刻情報を、直接後述する演算処理部103に伝送してもよい。
【0052】
演算処理部103は、例えば、CPU、ROM、RAM等により実現される。演算処理部103は、データ取得部101が取得したイベント発生時刻情報に基づいて、複数の要素からなる集合における各種統計量を算出する演算を行う処理部である。この演算処理部103については、以下で改めて詳細に説明する。
【0053】
表示制御部105は、例えば、CPU、ROM、RAM等により実現される。表示制御部105は、演算処理部103によって算出された、複数の要素からなる集合における各種の統計量を、本実施形態に係る情報処理装置10が備える表示部(図示せず。)に表示する表示制御を行う。
【0054】
記憶部107は、本実施形態に係る情報処理装置10が備えるストレージ装置の一例である。この記憶部107には、例えば、データ取得部101が各種の装置から取得したイベント発生時刻情報等が格納される。また、この記憶部107には、情報処理装置10が何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が適宜格納される。この記憶部107は、本実施形態に係る情報処理装置10が備える各処理部が、自由に読み書きを行うことが可能である。
【0055】
[演算処理部の構成について]
続いて、本実施形態に係る情報処理装置10が備える演算処理部103の構成について、詳細に説明する。
【0056】
本実施形態に係る演算処理部103は、例えば図1に示したように、パラメータ設定部111と、データ選択部113と、期間分割部115と、カウント部117と、統計量算出部119と、を主に備える。
【0057】
パラメータ設定部111は、例えば、CPU、ROM、RAM等により実現される。パラメータ設定部111は、本実施形態に係る演算処理部103で実施される各種の統計量の算出に用いられるパラメータを設定する。このようなパラメータの例として、統計量を算出する際に着目する期間の開始点Sおよびこの期間の長さ(算出期間)T、ならびに、単位期間の長さ(基準単位時間)tを挙げることができる。また、パラメータ設定部111は、これらのパラメータ以外にも、統計量の算出において必要となる各種のパラメータを適宜設定することが可能である。
【0058】
なお、これらのパラメータは、パラメータ設定部111が自動的に設定した値であってもよく、ユーザが情報処理装置10に設けられたキーボードやタッチパネル等の入力部(図示せず。)を介して入力した値であってもよい。
【0059】
パラメータ設定部111は、パラメータの設定が終了すると、設定したパラメータを、後述するデータ選択部113および期間分割部115に出力する。また、パラメータ設定部111は、設定したパラメータを、記憶部107に記録してもよい。
【0060】
データ選択部113は、例えば、CPU、ROM、RAM等により実現される。データ選択部113は、パラメータ設定部111から通知されたパラメータに基づいて、記憶部107に格納されている複数のイベント発生時刻情報の中から、統計量算出の対象となるイベント発生時刻情報を選択する。より詳細には、データ選択部113は、パラメータ設定部111から通知された、着目する期間の開始点Sおよび基準単位時間tを利用して、算出期間Tのうち最初の単位期間S〜S+tにイベントが発生しているイベント発生時刻情報を選択する。続いて、データ選択部113は、単位期間S〜S+tにイベントが発生しているイベント発生時刻情報に対応する要素(例えば、ユーザ)を特定し、この要素に関連付けられたイベント発生時刻情報を、記憶部107に記録されているイベント発生時刻情報の中から選択する。これにより、データ選択部113は、S〜S+tにイベントが発生しているイベント発生時刻情報を、要素ごと(例えばユーザごと)に選択することができる。このようにして選択された要素ごとのイベント発生時刻情報の集合が、統計量を算出する際の母集団となる。また、データ選択部113は、選択した要素の数に着目することで、母集団に含まれる全要素数を特定することができる。
【0061】
データ選択部113は、選択したイベント発生時刻情報を記憶部107から取得して、後述するカウント部117に伝送する。
【0062】
期間分割部115は、例えば、CPU、ROM、RAM等により実現される。期間分割部115は、パラメータ設定部111から通知されたパラメータに基づいて、統計量を算出する算出期間Tを、基準単位時間tを用いて複数の単位期間に分割する。より詳細には、期間分割部115は、着目する期間の開始点を表すパラメータSに対して、基準単位時間tを足して、得られた(S+t)で表される時刻を第1の区切りとし、S〜S+tの期間を第1の単位期間とする。同様に、期間分割部115は、(S+t)に基準単位時間tを足して、得られた(S+2t)で表される時刻を第2の区切りとし、S+t〜S+2tの期間を第2の単位期間とする。このような処理を算出期間がTとなるまで繰り返す(T/t回繰り返す)ことで、期間分割部115は、算出期間Tを、基準単位時間tずつ分割することができる。後述するカウント部117および統計量算出部119は、これらの区切りの時刻を参照することで、あるイベントの発生時刻が、どの単位区間に含まれているかを把握することができる。
【0063】
期間分割部115は、算出した区切りの時刻を、後述するカウント部117に出力する。また、期間分割部115は、算出した区切りの時刻を、記憶部107等に格納してもよい。
【0064】
カウント部117は、例えば、CPU、ROM、RAM等により実現される。カウント部117は、データ選択部113から通知されたイベント発生時刻情報と、期間分割部115から通知された区切りの時刻に関する情報とに基づいて、単位期間ごとにイベントの発生した回数をカウントする。これにより、カウント部117は、各要素(例えば、各ユーザ)について、どの単位期間に何回イベントが発生したかを特定することができる。
【0065】
ここで、カウント部117は、各単位期間におけるイベントの発生回数を、5回、10回・・・のように具体的にカウントしてもよい。また、カウント部117は、具体的なイベントの発生回数に関わらず単位期間内にイベントが発生していれば1回とし、イベントが発生していなければ0回としてカウントしてもよい。換言すれば、カウント部117は、イベント発生の有無に応じてイベントの発生回数を2値化してもよい。
【0066】
かかる処理により、カウント部117は、図9の上側に示したようなデータを生成することが可能になる。なお、図9では、イベントの発生回数を2値化した場合について図示している。また、イベントの発生回数を2値化することで、イベント発生に関する時系列をいわばパターン化することが可能となる。その結果、図9の下側に示したように、どの要素がどの単位区間でイベントを発生させたかという対応関係を、いわばバイナリ画像のように扱うことも可能となる。なお、図9の下側において、斜線で示した単位区間が、イベントの発生した単位区間に対応している。
【0067】
カウント部117は、イベント発生時刻情報に基づくカウント結果を表す情報を、後述する統計量算出部119に通知する。また、カウント部117は、生成したカウント結果を表す情報を、記憶部107等に記録してもよい。
【0068】
統計量算出部119は、例えば、CPU、ROM、RAM等により実現される。統計量算出部119は、カウント部117から通知されたカウント結果を表す情報を利用して、所定のイベントの発生状況を表す統計量を算出する。より詳細には、統計量算出部119は、カウント部117から通知されたカウント結果を表す情報を利用して、イベントの発生状況(イベントの発生状況を表す時系列)を考慮した、以下で説明するような重み付き平均生存時間を統計量として算出する。
【0069】
以下、図10を参照しながら、統計量算出部119における重み付き平均生存時間の算出手順を説明する。
【0070】
まず、統計量算出部119は、カウント部117から通知されたカウント結果を表す情報を参照して、着目している事象が発生した単位期間(例えば、ユーザが算出期間T内で最後にアクセスを行った単位期間)を特定する。この着目している事象が発生した単位期間は、換言すれば、生存時間に対応している。図10に示した例では、ユーザiに関して着目している事象が発生した単位期間tiは、それぞれt1=3、t2=4、t3=4、t4=5、t5=5となる。
【0071】
次に、統計量算出部119は、各ユーザについて、着目している期間の開始点からtiまでに、イベントが発生した回数をカウントする。図10に示した例では、ユーザ1は2回、ユーザ2は3回、ユーザ3は2回、ユーザ4は3回、ユーザ5は4回となる。
【0072】
続いて、統計量算出部119は、開始点からtiまでのイベント発生回数と、着目している事象が発生した単位期間(すなわち生存時間)と、を利用して、イベントの発生密度を表す密度係数Wを算出する。具体的には、統計量算出部119は、密度係数Wを以下の式101により算出する。
【0073】
密度係数W=(生存時間内に発生したイベントの回数)/生存時間
・・・(式101)
【0074】
よって、図10に示した例では、ユーザ1の密度係数W=2/3、ユーザ2の密度係数W=3/4、ユーザ3の密度係数W=2/4、ユーザ4の密度係数W=3/5、ユーザ5の密度係数W=4/5となる。
【0075】
続いて、統計量算出部119は、算出した密度係数Wと、着目している事象が発生した単位期間(すなわち生存時間)tiとを利用して、重み付き平均生存時間Aを、以下の式102により算出する。ここで、以下の式102において、Nは、着目している母集団に含まれる全要素数である。
【0076】
【数4】

【0077】
重み付き平均生存時間の算出に用いられる密度係数Wは、式101に示した定義式からも明らかなように、イベントの発生状況(イベントの発生状況を表す時系列)を考慮した係数である。したがって、式102に基づいて算出される重み付き平均生存時間は、イベントの発生状況を表す時系列を考慮した統計量(具体的には、イベントの発生状況を考慮した、イベントの平均発生回数)となる。
【0078】
従来の生存時間解析により算出される平均生存時間は、図11(a)に示したように、着目している事象が発生した時刻に重点を置いて算出される統計量である。したがって、図11(a)において斜線で示した単位期間に着目した事象が発生した場合には、この単位期間の位置のみを考慮して、平均生存時間=5.1と算出される。
【0079】
他方、図11(b)に示したアクセス状況を表すカウント結果は、図11(a)に示したカウント結果と同一の事象発生時刻を有するものである。ここで、着目している事象が発生するまでのイベントの発生状況が、図11(b)に示したような時系列パターンで表される場合、式102に基づいて算出される重み付き平均生存時間=2.8となる。
【0080】
また、図12Aおよび図12Bは、図11(b)に示したアクセス状況を表すカウント結果と同一の生存時間を有するものであるが、イベントの発生状況が、図示したように、3者間で互いに異なっている。したがって、図12Aに示したイベント発生状況の場合に算出される重み付き平均生存時間は2.0となり、図12Bに示したイベント発生状況の場合に算出される重み付き平均生存時間は4.7となって、図11(b)とは異なる値となる。
【0081】
図11〜図12Bに示した例から明らかなように、本実施形態に係る統計量算出部119が算出する重み付き平均生存時間Aを利用することで、同一の生存時間を有する母集団を、より詳細に解析して区別することが可能となる。
【0082】
なお、式102と式18とを比べると明らかなように、従来の生存時間解析により算出される平均生存時間は、本実施形態に係る統計量算出部119にて算出される重み付き平均生存時間において、重み付け係数Wi=1とした場合に相当する。したがって、本実施形態に係る統計量算出部119は、式102において重み付け係数W=1とすることにより、従来の平均生存時間をも算出することが可能となる。
【0083】
なお、統計量算出部119は、重み付き平均生存時間を算出する過程で、各要素について生存時間tiを特定している。したがって、統計量算出部119は、この生存時間tiおよび全要素数Nを利用することで、生存関数S(t)(より詳細には、カプラン−マイヤーの推定値)を算出することができる。また、統計量算出部119は、算出した生存関数S(t)を利用して、半減期やハザード関数を算出することも可能である。
【0084】
統計量算出部119は、このようにして算出された重み付き平均生存時間を含む各種の統計量を表示制御部105に出力して、表示制御部105を介して算出した統計量を、情報処理装置10が備える表示部(図示せず。)等に表示する。統計量算出部119は、算出した各種の統計量を、図13に示したようなデータベースの形式にして出力することも可能である。
【0085】
図14は、統計量算出部119が算出した、1ヶ月を算出期間Tとした生存関数を複数図示したものである。情報処理装置10のユーザは、かかる生存関数およびハザード関数、ならびに、重み付き平均生存時間および半減期等を相互に見比べることで、複数の要素の集合における要素の挙動を、定量評価することが可能となる。
【0086】
ユーザの生存時間やこの生存時間に付随する統計量を評価することは、ユーザ(すなわち、顧客)価値の評価またはユーザ管理の上から重要である。特に、重み付き平均生存時間を含むこれらの統計量を、アクセス履歴情報に基づく顧客評価等に適用した場合には、顧客群を、定期的にアクセスを行う顧客群と、そうではない顧客群とに、客観的に区別を行うことが可能となる。これにより、情報処理装置10のユーザは、きめ細かな顧客の分類や、広告効果の評価など、様々な評価を客観的に行うことが可能となる。また、重み付き平均生存時間の算出に利用される密度係数を利用することで、累積のアクセス回数が少ない顧客であっても、密度係数が高い顧客については、潜在的な優良顧客であるとみなすことも可能となる。
【0087】
なお、統計量算出部119は、このようにして算出された各種の統計量を、データとして情報処理装置10の外部に設けられた各種の装置に出力することも可能である。また、統計量算出部119は、算出したこれらの統計量を、記憶部107に格納してもよい。
【0088】
以上、本実施形態に係る情報処理装置10の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【0089】
なお、上述のような本実施形態に係る情報処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【0090】
<情報処理方法について>
続いて、図15を参照しながら、本実施形態に係る情報処理装置10において実施される情報処理方法(より詳細には、統計量の算出方法)について、簡単に説明する。図15は、本実施形態に係る情報処理方法を説明するための流れ図である。
【0091】
なお、以下の説明に先立ち、情報処理装置10のデータ取得部101は、所定の装置または所定の箇所から、統計量の算出に用いられるイベント発生時刻情報を取得し、記憶部107に格納しているものとする。
【0092】
まず、演算処理部103のパラメータ設定部111は、演算量を算出する期間の開始点Sとその長さT、および、基準単位時間tの長さを、演算量を算出する際のパラメータとして設定する(ステップS101)。パラメータ設定部111は、設定したこれらのパラメータを、データ選択部113および期間分割部115に通知する。
【0093】
次に、データ選択部113は、パラメータ設定部111から通知されたパラメータに基づいて、期間S〜S+tの間に、所定のイベントが発生しているイベント発生時刻情報を選択する。続いて、データ選択部113は、選択したイベント発生時刻情報に関連付けられている要素を特定し、この要素に関連付けられたイベント発生時刻情報を、記憶部107に記録されているイベント発生時刻情報の中から選択する。このようにして選択されたイベント発生時刻情報が、統計量を算出する際の要素群となる(ステップS103)。データ選択部113は、選択したこれらのイベント発生時刻情報を、カウント部117に伝送する。
【0094】
また、期間分割部115は、パラメータ設定部111から通知されたパラメータに基づいて、基準単位時間tを用いて算出期間Tを複数の単位期間に分割する(ステップS105)。これにより、各単位期間の区切りとなる時刻が特定される。期間分割部115は、特定した区切りの時刻に関する情報を、カウント部117に通知する。
【0095】
続いて、カウント部117は、データ選択部113から伝送されたイベント発生時刻情報と、期間分割部115から通知された区切りの時刻に関する情報とに基づいて、各単位区間について、イベントの発生した回数をカウントする(ステップS107)。この際、カウント部117は、イベントが発生している区間のイベント発生回数を1回とし、イベントが発生していない区間のイベント発生回数を0回とした、イベント発生の時系列データを生成する(ステップS109)。カウント部117は、このようにして生成したイベント発生の時系列データを、統計量算出部119に通知する。
【0096】
統計量算出部119は、カウント部117から通知されたイベント発生の時系列データを利用して、まず、各要素について、上述の密度係数Wを算出する(ステップS111)。続いて、統計量算出部119は、各要素の密度係数Wと生存時間tiとを利用して、本実施形態に係る重み付き平均生存時間を算出する(ステップS113)。また、統計量算出部119は、この重み付き平均生存時間に加えて、生存関数、ハザード関数、半減期、平均生存時間といった更なる統計量を算出してもよい(ステップS113)。
【0097】
続いて、統計量算出部119は、算出したこれらの統計量を、表示制御部105、または、情報処理装置10が通信可能な各種の装置へと出力する(ステップS115)。
【0098】
このような処理を行うことで、本実施形態に係る情報処理方法では、イベントの発生状況を考慮した統計量を算出することが可能となる。
【0099】
(ハードウェア構成について)
次に、図16を参照しながら、本発明の実施形態に係る情報処理装置10のハードウェア構成について、詳細に説明する。図16は、本発明の実施形態に係る情報処理装置10のハードウェア構成を説明するためのブロック図である。
【0100】
情報処理装置10は、主に、CPU901と、ROM903と、RAM905と、を備える。また、情報処理装置10は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インターフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
【0101】
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置10内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。
【0102】
ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
【0103】
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置10の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置10のユーザは、この入力装置915を操作することにより、情報処理装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0104】
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置917は、例えば、情報処理装置10が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置10が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
【0105】
ストレージ装置919は、情報処理装置10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種データなどを格納する。
【0106】
ドライブ921は、記録媒体用リーダライタであり、情報処理装置10に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD−DVDメディア、Blu−rayメディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CompactFlash:CF)、フラッシュメモリ、または、SDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)または電子機器等であってもよい。
【0107】
接続ポート923は、機器を情報処理装置10に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS−232Cポート、光オーディオ端子、HDMI(High−Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、情報処理装置10は、外部接続機器929から直接各種データを取得したり、外部接続機器929に各種データを提供したりする。
【0108】
通信装置925は、例えば、通信網931に接続するための通信デバイス等で構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
【0109】
以上、本発明の実施形態に係る情報処理装置10の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【0110】
(まとめ)
以上説明したように、本発明の実施形態に係る情報処理装置および情報処理方法では、イベントの発生状況を考慮して、イベント発生に関する密度係数を算出し、この密度係数を利用して、イベントの発生状況が考慮された重み付き平均生存時間を算出する。この重み付き平均生存時間を用いることで、情報処理装置のユーザは、同一の生存時間を有する要素群が複数存在した場合であっても、きめ細かな要素の分類を行うことが可能となる。
【0111】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0112】
例えば、上記実施形態では、ユーザのログイン履歴情報を利用したユーザの分類を例に挙げて、本発明に係る統計量の算出方法を説明したが、本発明はかかる例に限定されない。本発明に係る統計量の算出方法は、あるイベントの発生とその発生時刻とが互いに関連付けられている情報であれば、任意の情報に対して適用することが可能である。
【符号の説明】
【0113】
10 情報処理装置
101 データ取得部
103 演算処理部
105 表示制御部
107 記憶部
111 パラメータ設定部
113 データ選択部
115 期間分割部
117 カウント部
119 統計量算出部



【特許請求の範囲】
【請求項1】
所定のイベントが発生した時刻に関するイベント発生時刻情報に基づいて所定の統計量を算出する際に利用されるパラメータを設定するパラメータ設定部と、
前記パラメータ設定部により設定された基準単位時間に基づいて、前記所定の統計量を算出する対象とする算出期間を複数の単位期間に分割する期間分割部と、
前記イベント発生時刻情報に基づいて、前記単位期間ごとに前記所定のイベントの発生回数をカウントするカウント部と、
前記カウント部のカウント結果を利用して、前記所定のイベントの発生状況を表す統計量を算出する統計量算出部と、
を備える、情報処理装置。
【請求項2】
前記カウント部は、前記算出期間の中から前記所定のイベントが発生した最も新しい前記単位期間を特定し、
前記統計量算出部は、
前記最も新しい単位期間までに前記所定のイベントが発生した回数を利用して、前記所定のイベントの発生密度を算出し、
前記イベントの発生密度、および、前記最も新しい単位期間までに含まれる前記単位期間の個数を利用して、前記所定のイベントの前記算出期間内における平均発生回数を算出する、請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置は、複数の前記イベント発生時刻情報の中から、前記算出期間が同一となる前記イベント発生時刻情報を選択する選択部を更に備え、
前記カウント部は、前記選択部により選択された前記イベント発生時刻情報について、前記所定のイベントの発生回数をカウントする、請求項2に記載の情報処理装置。
【請求項4】
前記統計量算出部は、前記選択部により選択された前記イベント発生時刻情報の個数をNとし、前記イベントの発生密度をWとし、前記最も新しい単位期間までに含まれる単位期間の個数をtとしたときに、前記イベントの平均発生回数Aを、以下の式1に基づいて算出する、請求項3に記載の情報処理装置。
【数1】

【請求項5】
前記カウント部は、前記単位期間内で前記所定のイベントが発生した場合、当該単位期間における前記イベントの発生回数を、当該発生回数に関わらず1回とカウントする、請求項1に記載の情報処理装置。
【請求項6】
前記統計量算出部は、前記カウント部のカウント結果に基づいて、前記イベントが発生した割合を示す生存関数と、前記イベントのハザード関数と、前記イベントの発生回数が半分になるまでの期間を表すイベント発生半減期と、を更に算出する、請求項1に記載の情報処理装置。
【請求項7】
所定のイベントが発生した時刻に関するイベント発生時刻情報に基づいて所定の統計量を算出する際に利用されるパラメータを設定するステップと、
パラメータの設定ステップにて設定された基準単位時間に基づいて、前記所定の統計量を算出する対象とする算出期間を複数の単位期間に分割するステップと、
前記イベント発生時刻情報に基づいて、前記単位期間ごとに前記所定のイベントの発生回数をカウントするステップと、
カウントステップでのカウント結果を利用して、前記所定のイベントの発生状況を表す統計量を算出するステップと、
を含む、情報処理方法。
【請求項8】
コンピュータに、
所定のイベントが発生した時刻に関するイベント発生時刻情報に基づいて所定の統計量を算出する際に利用されるパラメータを設定するパラメータ設定機能と、
前記パラメータ設定機能により設定された基準単位時間に基づいて、前記所定の統計量を算出する対象とする算出期間を複数の単位期間に分割する期間分割機能と、
前記イベント発生時刻情報に基づいて、前記単位期間ごとに前記所定のイベントの発生回数をカウントするカウント機能と、
前記カウント機能のカウント結果を利用して、前記所定のイベントの発生状況を表す統計量を算出する統計量算出機能と、
を実現させるためのプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12A】
image rotate

【図12B】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate