(57)【要約】時間軸を微小な一定の時間幅で離散化してイベントによる刺激と顧客の反応をモデル化すると計算量が著しく大きくなる問題が生じた。また、生存時間解析等の連続時間を直接扱うモデルは、共変量が一定であることが前提であり、動的なイベントを考慮することができなかった。インパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、置換により生成されたイベント系列を複数の矩形パルスの少なくとも１つの変化点の時刻で分割する分割部と、分割された複数の期間のそれぞれに対応して、複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、複数の期間に対応する複数の状態ベクトルを用いてポアソン回帰分析を行う分析部と、を備える分析装置を提供する。
2014103560.tif 000002
【特許請求の範囲】
【請求項１】
インパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、
前記イベント系列を前記複数の矩形パルスの少なくとも１つの変化点の時刻で分割する分割部と、
分割された複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、
前記複数の期間に対応する複数の前記状態ベクトルを用いてポアソン回帰分析を行う分析部と、
を備える分析装置。
【請求項２】
前記置換部は、複数の前記イベント系列におけるそれぞれのイベントを前記複数の矩形パルスに置換し、
前記分割部は、前記複数のイベント系列の少なくとも１つにおける前記複数の矩形パルスの少なくとも１つの変換点の時刻で分割し、
前記状態ベクトル生成部は、分割された複数の期間のそれぞれに対応して、前記複数のイベント系列のそれぞれについての前記複数の矩形パルスの状態に応じた前記状態ベクトルを生成する
請求項１に記載の分析装置。
【請求項３】
前記複数の期間のそれぞれに対応して、前記イベント系列を受けて当該期間中に発生した反応の回数である反応回数を算出する反応回数算出部を更に備え、
前記分析部は、前記複数の状態ベクトル、および、前記複数の期間に対応する複数の前記反応回数を用いてポアソン回帰分析を行う
請求項２に記載の分析装置。
【請求項４】
前記分析部は、
前記複数の状態ベクトルを複数の特徴ベクトルに変換する変換部と、
前記複数の期間において、前記特徴ベクトルと重みベクトルとの内積により得られるスカラースコアに基づくポアソン分布から前記反応回数が得られる確率を最大化するように重みベクトルを最適化する最適化部と、
を有する請求項３に記載の分析装置。
【請求項５】
前記最適化部は、前記スカラースコアに基づいて前記反応回数の発生確率を算出する確率関数の、前記複数の期間における合計が最大化するように前記重みベクトルを最適化する請求項４に記載の分析装置。
【請求項６】
前記最適化部は、前記確率関数として、単位時間あたりのイベント発生回数の平均が前記スカラースコアの指数関数となるポアソン過程において、対象の期間の間に前記反応回数のイベントが発生する確率を算出するための対数確率質量関数から前記反応回数に対する正規化項を除去した関数を用いる請求項５に記載の分析装置。
【請求項７】
前記最適化部は、前記確率関数ｌとして、以下の式に示す関数を用いる請求項５又は６に記載の分析装置。
【数１】
2014103560.tif 000006
ただし、ｙは反応回数、ｚはスカラースコア、τは対象の期間の長さを示す。
【請求項８】
前記分析部は、前記複数のイベント系列の入力対象となる複数の個体のそれぞれについて前記ポアソン回帰分析を行う請求項１から７のいずれか一項に記載の分析装置。
【請求項９】
前記分析部は、前記複数の期間のうち一部を間引く請求項１から８のいずれか一項に記載の分析装置。
【請求項１０】
前記分析部は、前記複数の期間のうち基準未満の長さの期間を間引く請求項９に記載の分析装置。
【請求項１１】
請求項１から１０のいずれか一項に記載の分析装置による分析結果に基づいてイベント系列に対する反応を推定する推定装置であって、
入力された前記イベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、
複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、
前記分析装置による分析結果を用いて、前記複数の期間のそれぞれに対応する複数の前記状態ベクトルから、前記複数の期間のそれぞれに対応する反応の回数を示す反応回数を推定する推定部と、
を備える推定装置。
【請求項１２】
コンピュータを、インパルス状のイベント系列に対するポアソン回帰分析を行う分析装置として機能させる分析プログラムであって、
前記コンピュータを、
入力された前記イベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、
前記イベント系列を前記複数の矩形パルスの少なくとも１つの変化点の時刻で分割する分割部と、
分割された複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、
前記複数の期間に対応する複数の前記状態ベクトルを用いてポアソン回帰分析を行う分析部と、
して機能させる分析プログラム。
【請求項１３】
コンピュータを、請求項１２に記載の分析プログラムによる分析結果に基づいてイベント系列に対する反応を推定する推定装置として機能させる推定プログラムであって、
前記コンピュータを、
入力された前記イベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、
複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、
前記分析装置による分析結果を用いて、前記複数の期間のそれぞれに対応する複数の前記状態ベクトルから、前記複数の期間のそれぞれに対応する反応の回数を示す反応回数を推定する推定部と、
して機能させる推定プログラム。
【請求項１４】
コンピュータが、インパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する段階と、
前記コンピュータが、前記イベント系列を前記複数の矩形パルスの少なくとも１つの変化点の時刻で分割する段階と、
前記コンピュータが、分割された複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成する段階と、
前記コンピュータが、前記複数の期間に対応する複数の前記状態ベクトルを用いてポアソン回帰分析を行う段階とを備える、
分析方法。
【請求項１５】
前記置換する段階において、複数の前記イベント系列におけるそれぞれのイベントを前記複数の矩形パルスに置換し、
前記分割する段階において、前記複数のイベント系列の少なくとも１つにおける前記複数の矩形パルスの少なくとも１つの変換点の時刻で分割し、
前記生成する段階において、分割された複数の期間のそれぞれに対応して、前記複数のイベント系列のそれぞれについての前記複数の矩形パルスの状態に応じた前記状態ベクトルを生成する、
請求項１４に記載の分析方法。
【請求項１６】
前記複数の期間のそれぞれに対応して、前記イベント系列を受けて当該期間中に発生した反応の回数である反応回数を算出する反応回数算出段階を更に備え、
前記ポアソン回帰分析を行う段階において、前記複数の状態ベクトル、および、前記複数の期間に対応する複数の前記反応回数を用いてポアソン回帰分析を行う、
請求項１５に記載の分析方法。
【請求項１７】
前記ポアソン回帰分析を行う段階は、
前記複数の状態ベクトルを複数の特徴ベクトルに変換する変換段階と、
前記複数の期間において、前記特徴ベクトルと重みベクトルとの内積により得られるスカラースコアに基づくポアソン分布から前記反応回数が得られる確率を最大化するように重みベクトルを最適化する最適化段階とを含む、
請求項１６に記載の分析方法。
【請求項１８】
前記ポアソン回帰分析を行う段階において、複数の前記イベント系列の入力対象となる複数の個体のそれぞれについて前記ポアソン回帰分析を行う、
請求項１４から１７のいずれか一項に記載の分析方法。
【請求項１９】
前記ポアソン回帰分析を行う段階において、前記複数の期間のうち一部を間引く請求項１４から１８のいずれか一項に記載の分析方法。
【請求項２０】
請求項１４に記載の分析方法による分析結果に基づいてイベント系列に対する反応を推定する推定方法であって、
コンピュータが、入力された前記イベント系列におけるそれぞれのイベントを複数の矩形パルスに置換し、
前記コンピュータが、複数の期間のそれぞれに対応して、前記複数の矩形パルスの状態に応じた状態ベクトルを生成し、
前記コンピュータが、前記分析方法による分析結果を用いて、前記複数の期間のそれぞれに対応する複数の前記状態ベクトルから、前記複数の期間のそれぞれに対応する反応の回数を示す反応回数を推定する
推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析装置、分析プログラム、分析方法、推定装置、推定プログラム、及び、推定方法に関する。
【背景技術】
【０００２】
イベントによる個体（例えば、顧客）への刺激とイベントに対する個体の反応との間の関係を統計的手法によりモデル化し、イベントに対する反応をシミュレーションすることが知られている（例えば、特許文献１参照）。
【特許文献１】特表２００３−５２４２２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、時間軸を微小な一定の時間幅で離散化してイベントと個体の反応をモデル化すると計算量が著しく大きくなる問題が生じる。また、連続時間を直接扱う生存時間解析等の方法によると、共変量が定常であることが前提であり、動的なイベントを考慮したモデルを構築することができなかった。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、インパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、置換により生成されたイベント系列を複数の矩形パルスの少なくとも１つの変化点の時刻で分割する分割部と、分割された複数の期間のそれぞれに対応して、複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、複数の期間に対応する複数の状態ベクトルを用いてポアソン回帰分析を行う分析部と、を備える分析装置、当該分析装置を用いる分析方法、及び、コンピュータを当該分析装置として機能させる分析プログラムを提供する。【０００５】
本発明の第２の態様においては、当該分析装置による分析結果に基づいてイベント系列に対する反応を推定する推定装置であって、入力されたイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する置換部と、置換により生成されたイベント系列を複数の矩形パルスの少なくとも１つの変化点の時刻で分割する分割部と、分割された複数の期間のそれぞれに対応して、複数の矩形パルスの状態に応じた状態ベクトルを生成する状態ベクトル生成部と、分析装置による分析結果を用いて、複数の期間のそれぞれに対応する複数の状態ベクトルから、複数の期間のそれぞれに対応する反応の回数を示す反応回数を推定する推定部と、を備える推定装置、当該推定装置を用いる推定方法、及び、コンピュータを当該推定装置として機能させる推定プログラムを提供する。【０００６】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態の分析装置１０及び推定装置２０の構成を示す。
【図２】本実施形態の分析装置１０の分析処理のフローを示す。
【図３】置換部１０２が入力するイベントの履歴の一例を示す。
【図４】複数の矩形パルスにより近似される個体の反応を示す。
【図５】置換部１０２が生成する複数の矩形パルスの一例を示す。
【図６】分割部１０４が分割するイベント系列に含まれる期間の一例を示す。
【図７】状態ベクトル生成部１０６が生成する状態ベクトルの一例を示す。
【図８】状態ベクトル生成部１０６が、生成する状態ベクトルの具体例を示す。
【図９】記憶部１１６に記憶される重みベクトルｗ１〜ｍの一例を示す。
【図１０】本実施形態の推定装置２０の推定処理のフローを示す。
【図１１】コンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、本実施形態の分析装置１０及び推定装置２０の構成を示す。分析装置１０は、個体に対するインパルス状のイベント、及び、イベントに対する個体の反応を記録したイベントの履歴を分析する。例えば、分析装置１０は、数十万〜数千万人の顧客に対する商品キャンペーン情報の広告（個体に対するインパルス状のイベント）、及び、顧客の商品の購入（個体の反応）の顧客ごとの記録を含むイベントの履歴を分析する。分析装置１０は、置換部１０２、分割部１０４、状態ベクトル生成部１０６、反応回数算出部１０８、分析部１１０、及び、記憶部１１６を備える。
【００１０】
置換部１０２は、インパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する。これにより、置換部１０２は、インパルス状の各イベントに対するイベント及び個体に応じた応答関数を複数の矩形パルスで近似できる。
【００１１】
具体的には、置換部１０２は、外部のデータベース等に格納されたイベントの履歴から、イベントの時刻を含むイベント系列、及び、個体の反応時刻を抽出する。置換部１０２は、抽出したイベント系列から、当該イベントがあった時点を始点とする予め定められた時間幅の矩形パルスを生成する。ここで、置換部１０２は、複数の異なる予め定められた時間幅を有する複数の矩形パルスを生成する。
【００１２】
置換部１０２は、複数のチャネルの種類に応じたイベントが時系列に並んだ、複数のイベント系列（例えば、広告が記載されたダイレクトメール送信のイベントの系列、及び、ウェブ広告閲覧のイベントの系列）におけるそれぞれのイベント（例えば、ダイレクトメールの送信、又は、ウェブ広告の閲覧）を複数の矩形パルスに置換してもよい。置換部１０２は、個体の反応時刻、及び、複数の矩形パルスの情報を分割部１０４に供給する。
【００１３】
分割部１０４は、複数のイベント系列の少なくとも１つにおける複数の矩形パルスの少なくとも１つの変化点の時刻で、複数のイベント系列に含まれる期間を分割する。例えば、分割部１０４は、置換部１０２が複数のイベント系列から置換した複数の矩形パルスの少なくとも１つにおける立上がり、及び、立下りの時刻でイベント系列に含まれる期間を複数の期間に分割する。分割部１０４は、複数の矩形パルス及び分割された複数の期間の情報を、状態ベクトル生成部１０６に供給する。また、分割部１０４は、個体の反応時刻と分割された複数の期間の情報を、反応回数算出部１０８に供給する。
【００１４】
状態ベクトル生成部１０６は、分割された複数の期間のそれぞれに対応して、複数のイベント系列のそれぞれについての複数の矩形パルスの状態に応じた状態ベクトルを生成する。例えば、状態ベクトル生成部１０６は、分割された複数の期間ごとに、それぞれの矩形パルスの状態に対応した複数の要素を有する状態ベクトルを生成する。
【００１５】
一例として、状態ベクトル生成部１０６は、矩形パルスが１の値を有するハイレベル状態であれば、状態ベクトルの対応する要素の値を１とし、矩形パルスが０の値を有するローレベル状態であれば、状態ベクトルの対応する要素の値を０としてよい。状態ベクトル生成部１０６は、生成した状態ベクトルを分析部１１０に供給する。
【００１６】
反応回数算出部１０８は、複数の期間のそれぞれに対応して、イベント系列を受けて当該期間中に発生した反応の回数である反応回数を算出する。例えば、反応回数算出部１０８は、個体の反応時刻が分割された複数の期間のそれぞれに含まれるかに基づいて、当該期間中の反応回数をカウントする。反応回数算出部１０８は、算出された複数の期間ごとの反応回数を分析部１１０に供給する。
【００１７】
分析部１１０は、複数の期間に対応する複数の状態ベクトル、および、複数の期間に対応する複数の反応回数を用いてポアソン回帰分析を行う。分析部１１０は、変換部１１２及び最適化部１１４を有する。
【００１８】
変換部１１２は、写像関数により、複数の期間に対応する複数の状態ベクトルを、複数の特徴ベクトルに変換する。変換部１１２は、特徴ベクトルを最適化部１１４に供給する。
【００１９】
最適化部１１４は、複数の期間において、特徴ベクトルと重みベクトルとの内積により得られるスカラースコアに基づくポアソン分布から反応回数が得られる確率を最大化するように重みベクトルを最適化する。スカラースコアは、複数のチャネルからのイベント系列からの刺激を、ある時点において単一のインパルス状の刺激に置き換えた場合の刺激の大きさを表す。重みベクトルは、イベントによる刺激に対する個体の反応の特徴を表すベクトル量であり、個体ごとに異なってよい。
【００２０】
例えば、最適化部１１４は、特徴ベクトルと重みベクトルとの内積をスカラースコアとし、単位時間当たりの平均反応回数がスカラースコアの指数関数であるポアソン過程から履歴に記録された反応イベントの発生回数が生成される確率の対数について、その複数の期間における和が最大化されるように、重みベクトルを最適化する。最適化部１１４は、最適化された重みベクトルを記憶部１１６に記憶させる。
【００２１】
記憶部１１６は、最適化部１１４により得られた重みベクトルを、個体ごとに記憶する。記憶部１１６は、要求に応じて重みベクトルを推定装置２０に供給してよい。
【００２２】
このように分析装置１０は、イベント系列を複数の期間に分割して各期間の状態ベクトルを生成し、各期間における状態ベクトル及び重みベクトルに基づきポアソン過程により期待される反応回数が、履歴の反応回数と一致する確率を最大化するように重みベクトルを最適化する。このため、分析装置１０によれば、動的なイベントを考慮したポアソン過程モデルを構築することができる。
【００２３】
また、分析装置１０は、イベント系列をイベントに基づく矩形パルスの変化点の時刻で複数の期間に分割することにより、イベント系列を一定の長さの期間に離散化する方法よりも計算量を低減することができる。
【００２４】
推定装置２０は、分析装置１０による分析結果に基づいて得られた個体の重みベクトルにより、イベント系列に対する個体の反応を推定する。推定装置２０は、置換部２０２、状態ベクトル生成部２０６、記憶部２０８、及び、推定部２１０を備える。
【００２５】
置換部２０２は、入力されたイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する。例えば、置換部２０２は、シミュレーションにおいて想定されるイベント系列を入力する。置換部２０２は、置換部１０２と同様に、入力されたイベント系列に含まれるイベントの時点を始点とする予め定められた時間幅の矩形パルスを生成する。置換部２０２は、複数のイベント系列についての複数の矩形パルスの情報を状態ベクトル生成部２０６に供給する。
【００２６】
状態ベクトル生成部２０６は、複数の期間のそれぞれに対応して、複数のイベント系列のそれぞれについての複数の矩形パルスの状態に応じた状態ベクトルを生成する。例えば、状態ベクトル生成部２０６は、複数のイベント系列に含まれる期間を予め定められた時間間隔で分割する。
【００２７】
状態ベクトル生成部２０６は、分割された期間ごとに、それぞれの矩形パルスの状態に応じた複数の要素を有する状態ベクトルを、状態ベクトル生成部１０６と同様に生成する。状態ベクトル生成部２０６は、生成した複数の期間ごとの状態ベクトルを推定部２１０に供給する。
【００２８】
記憶部２０８は、分析装置１０の記憶部１１６から重みベクトルの情報を受け取り、記憶する。記憶部２０８は、重みベクトルを推定部２１０に供給する。
【００２９】
推定部２１０は、分析装置１０による分析結果を用いて、複数の期間のそれぞれに対応する複数の状態ベクトルから、複数の期間のそれぞれに対応する反応の回数を示す反応回数を推定する。例えば、まず、推定部２１０は、変換部１１２と同様に、写像関数により複数の状態ベクトルを複数の特徴ベクトルに変換する。
【００３０】
次に、推定部２１０は、複数の期間のそれぞれについて、特徴ベクトルと重みベクトルとの内積により得られるスカラースコアを算出する。推定部２１０は、複数期間のそれぞれについて、スカラースコアの指数関数と該当期間の長さとの積を期待値とするポアソン分布からモンテカルロ法により反応回数をシミュレートする。そして推定部２１０は、シミュレートされた複数の反応回数の合計を算出することで、シミュレーション期間全体での合計反応イベント回数ｙｉを計算する。さらに推定部２１０は、乱数のシードを変えてシミュレーションを繰り返すことで合計反応イベント回数の関する分布をも算出できる。  
【００３１】
このように、本実施形態の推定装置２０は、分析装置１０により得られた重みベクトルを用いて個体ごとにイベントに対する反応を推定することができる。さらに、推定装置２０は、複数の個体に対してシミュレーションを実行することで、将来のイベントに対する多数の個体の反応の大きさを定量的に予想することができる。
【００３２】
図２は、本実施形態の分析装置１０の分析処理のフローを示す。本実施形態において、分析装置１０は、Ｓ１０２からＳ１１４までの処理を実行することにより、履歴中のイベント系列に対する個体の反応を分析する。
【００３３】
まず、Ｓ１０２において、置換部１０２が、特定の個体についてのインパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する。例えば、まず、置換部１０２は、データベース等に格納されたイベントの履歴を入力する。
【００３４】
図３は、置換部１０２が入力するイベントの履歴の一例を示す。図３の履歴には、個体の番号（ＩＤ（ｉ））が含まれ、個体として複数の顧客の名前（Ｎａｍｅ）が含まれる。また、履歴には、第１〜第ｏまでのｏ個（ｏは自然数）のイベント系列が含まれ、個体の反応時刻が含まれている。
【００３５】
図３に示すように、履歴には、第１のイベント系列（チャネル１）として顧客にダイレクトメールを送信した時刻が含まれ、第２のイベント系列（チャネル２）として顧客がＷｅｂ広告を閲覧した時刻が含まれる。また、履歴は、複数のチャネルからのイベントの刺激に対する個体の反応として、顧客が商品を購買した時刻を含んでよい。
【００３６】
例えば、ＩＤ（ｉ）番号１の履歴には、「山田太郎」に対し、第１のイベント系列として２０１２／１／２４及び２０１２／３／２０にダイレクトメールで商品の広告を送信し、第２のイベント系列として２０１２／２／４及び２０１２／３／４にＷｅＢ広告を閲覧させたことと、及び、反応として「山田太郎」が２０１２／２／１０に広告に係る商品を購買したことが示される。
【００３７】
置換部１０２は、例えば、図３に示される履歴から、「山田太郎」に係る、第１のイベントの時刻及び第２のイベントの時刻を抽出する。置換部１０２は、抽出したイベントの時刻を始点とする予め定められた時間幅の矩形パルスを生成する。一例として、置換部１０２は、イベントの時刻を始点とする１日、１週間、２週間、及び、４週間の時間幅の矩形パルスを生成する。
【００３８】
図４は、複数の矩形パルスにより近似される個体の反応の関係を示す。図４において、点線で表される曲線は、個体の刺激への理想的な反応を表す。図示されるように、理想的な反応において、個体は、イベントによる刺激の直後にもっとも高い反応を示し、時間の経過とともに徐々に刺激への反応が低下する。
【００３９】
これは、一例として、時間の経過とともに個体がイベントを忘却することに起因する。例えば、顧客にダイレクトメール（ＤＭ）を送信する場合、ＤＭの受信直後は顧客がＤＭに関連する商品を購入する可能性が高いが、顧客はＤＭのことを次第に忘れるので時間の経過とともに商品の購入可能性は漸減する。
【００４０】
また、同じイベントによる刺激に対する反応の絶対的な強さ、及び、反応の減衰の態様は、個体により異なる。図４（ａ）の点線曲線は刺激に対して敏感な個体の理想的な反応を示し、図４（ｂ）の点線曲線は刺激に対して鈍感な個体の理想的な反応を示す。
【００４１】
図４（ａ）に示すように、例えば、刺激に対して敏感な個体はイベントによる刺激直後の反応は高いが刺激の後は急激に反応が低下する場合がある。一方で、図４（ｂ）に示すように、例えば、刺激に対して鈍感な個体は、イベントによる刺激直後の反応はそれほど高くないが刺激の後は比較的長い間反応が持続する場合がある。
【００４２】
図４の実線は、複数の矩形パルスにより近似される個体の反応を示す。図示するように、理想的な反応曲線は、異なる時間幅の複数の矩形パルスを重ねた階段関数で近似することができる。例えば、図４（ａ）及び（ｂ）に示すように、階段関数を構成する各矩形パルスの時間幅（１日、１週間、２週間、及び、４週間）は全ての個体で同一であるが、各矩形パルスの高さｈ１〜ｈ４は個体ごとに異なる。このように、個体の理想的な反応曲線は、複数の予め定められた時間幅の矩形パルスの高さの組み合わせにより近似することができる。
【００４３】
ここで、各個体が有する複数の矩形パルスの高さの組み合わせは、後述する各個体ごとの重みベクトルｗｉと対応する。例えば、ｉ＝１の個体（山田太郎）の重みベクトルｗ１の１〜４番目の要素Ｗ１＿１〜Ｗ１＿４は、当該個体の刺激に対する理想的な反応を近似する時間幅１日、１週間、２週間、及び４週間の矩形パルスのそれぞれの高さｈ１〜ｈ４と対応する。
【００４４】
図５に、図３の履歴のうち「山田太郎（ＩＤ（ｉ）＝１）」の履歴に基づいて、置換部１０２が生成する複数の矩形パルスの一例を示す。「チャネル１刺激」及び「チャネル２刺激」には、２つのイベント系列に含まれるイベントをインパルス状に表す。「チャネル１ウインドウ１〜４」及び「チャネル２ウインドウ１〜４」は、それぞれのチャネルのイベント系列のイベントから置換された複数の矩形パルスを示す。
【００４５】
例えば、「チャネル１ウインドウ１」に示される矩形パルスは、「山田太郎（ｉ＝１）」のチャネル１のイベント系列のイベントの時点（２０１２／１／２４及び２０１２／３／２０）を始点として、１日の時間幅を有するようにそれぞれ生成された２つの矩形パルスを示す。また、例えば、「チャネル２ウインドウ４」に示される矩形パルスは、チャネル２のイベント系列のイベントの時点（２０１２／２／４及び２０１２／３／４）を始点として、４週間の時間幅を有するようにそれぞれ生成された２つの矩形パルスを示す。
【００４６】
置換部１０２は、矩形パルスの開始時においてパルスを立ち上げて１の値を有するハイレベル状態とし、予め定められた時間幅の経過後のパルスの終了時にパルスを立ち下げて０の値を有するローレベル状態としてよい。これに代えて、置換部１０２は、矩形パルスのハイレベル状態及びローレベル状態の値に、他の整数または実数を割り当ててよい。さらに、同一チャネル同一ウインドウ内で複数の矩形パルスが時間的に一部重なった場合は、該当期間の各矩形パルス値を何らかの基準で統合して一つの値を計算し、これを状態値とする。この基準としては通常は合計値を用いるが、ビット表現によるＯＲ演算等でもよい。置換部１０２は、特定の個体（例えば、図３の履歴における「山田太郎」）についての、反応時刻、及び、複数の矩形パルスの開始時及び終了時の時刻及び値の情報を、分割部１０４に供給する。
【００４７】
次に、Ｓ１０４において、分割部１０４は、複数のイベント系列の少なくとも１つにおける複数の矩形パルスの少なくとも１つの変化点の時刻で、複数のイベント系列に含まれる期間を分割する。
【００４８】
図６には、分割部１０４が分割するイベント系列に含まれる期間の一例を示す。図示するように、分割部１０４は、複数のイベント系列から生成された複数の矩形パルスの立ち上がり及び立下り等の全ての変化点の時刻ｔ１、ｔ２、ｔ３…に基づいて、イベント系列に含まれる全体の期間を、隣り合う時刻間から構成される複数の期間（例えば、時刻ｔ１からｔ２直前までの期間Ｔ１、時刻ｔ２からｔ３直前までの期間Ｔ２、時刻ｔ３〜ｔ４直前までの期間Ｔ３…）に分割する。
【００４９】
分割部１０４は、複数の矩形パルス及び分割された複数の期間の情報を、状態ベクトル生成部１０６に供給する。また、分割部１０４は、反応時刻と分割された複数の期間の情報を、反応回数算出部１０８に供給する。
【００５０】
次に、Ｓ１０６において、状態ベクトル生成部１０６は、分割された複数の期間のそれぞれに対応して、複数のイベント系列のそれぞれについての複数の矩形パルスの状態に応じた状態ベクトルを生成する。例えば、状態ベクトル生成部１０６は、個体ｉについて、時刻ｔｊから時刻ｔ（ｊ＋１）直前までの期間Ｔｊ（ｊは整数）に対応する矩形パルスの状態に応じた複数の要素を有する状態ベクトルＸｉｊを生成する。
【００５１】
図７は、状態ベクトル生成部１０６が生成する状態ベクトルの一例を示す。図示するように、状態ベクトル生成部１０６は、期間ＴｊにおけるＩＤ（ｉ）＝１の個体の状態ベクトルＸ１ｊとして、期間Ｔｊにおける、チャネル１ウインドウ１の矩形パルスの値、チャネル１ウインドウ２の矩形パルスの値、チャネル１ウインドウ３の矩形パルスの値、チャネル１ウインドウ４の矩形パルスの値、チャネル２ウインドウ１の矩形パルスの値、チャネル２ウインドウ２の矩形パルスの値、チャネル２ウインドウ３の矩形パルスの値、及び、チャネル２ウインドウ４の矩形パルスの値を各要素として有するベクトルを生成する。  
【００５２】
図８に、状態ベクトル生成部１０６が、生成する状態ベクトルの具体例を示す。図８（ａ）に、図６に示すイベント系列を示し、図８（ｂ）に図８（ａ）のイベント系列の期間ｔ７において、状態ベクトル生成部１０６が生成する状態ベクトルを示す。
【００５３】
図示されるように、状態ベクトル生成部１０６は、時刻ｔ７から時刻ｔ８直前までの期間Ｔ７におけるＩＤ（ｉ）＝１の個体の状態ベクトルＸ１_７として、期間Ｔ７における、チャネル１ウインドウ１の矩形パルスの値（０）、チャネル１ウインドウ２の矩形パルスの値（０）、チャネル１ウインドウ３の矩形パルスの値（０）、チャネル１ウインドウ４の矩形パルスの値（１）、チャネル２ウインドウ１の矩形パルスの値（０）、チャネル２ウインドウ２の矩形パルスの値（０）、チャネル２ウインドウ３の矩形パルスの値（１）、及び、チャネル２ウインドウ４の矩形パルスの値（１）を各要素として有するベクトルを生成する。状態ベクトル生成部１０６は、生成した状態ベクトルＸｉｊを分析部１１０に供給する。
【００５４】
次に、Ｓ１０８において、反応回数算出部１０８は、複数の期間のそれぞれに対応して、イベント系列を受けて当該期間Ｔｊ中に発生した反応の回数である反応回数ｙｉｊを算出する。例えば、反応回数算出部１０８は、図６に示す分割された複数の期間Ｔｊの各々において、個体ｉの反応の時刻が含まれる個数を数える。
【００５５】
図３に示す履歴の例において、イベントに対するＩＤ（ｉ）＝１の個体の反応時刻は２０１２／２／１０であるので、時刻ｔ６（２０１２／２／７）から時刻ｔ７（２０１２／２／１１）の直前（２０１２／２／１０）までの期間Ｔ６（２０１２／２／７〜２０１２／２／１０）に含まれる。従って、反応回数算出部１０８は、期間Ｔ１〜Ｔ５及び期間Ｔ７以降に対応する反応回数ｙ１_１、ｙ１_２…ｙ１_５、及び、ｙ１_７…を０と算出し、期間Ｔ６に対応する反応回数ｙ１_６を１と算出する。
【００５６】
また、反応回数算出部１０８は、複数の期間の長さΔｔｉｊを算出する。例えば、反応回数算出部１０８は、ＩＤ（ｉ）＝１の個体の期間Ｔ６（２０１２／２／７〜２０１２／２／１０）の長さΔｔ１_６を４日と算出する。反応回数算出部１０８は、複数の期間の長さΔｔｉｊ及び、算出された複数の期間ごとの反応回数ｙｉｊを分析部１１０に供給する。
【００５７】
次に、Ｓ１１０において、変換部１１２は、複数の状態ベクトルＸｉｊを複数の特徴ベクトルに変換する。例えば、変換部１１２は、予め設計された任意の写像関数Φ：Ｒｄ１→Ｒｄ２により、状態ベクトルＸｉｊを対応する特徴ベクトルΦ（Ｘｉｊ）に変換する。なお、ｄ１は状態ベクトルの次元、ｄ２は特徴ベクトルの次元である。ｄ１及びｄ２は、同一であってよい。
【００５８】
一例として、変換部１１２は、状態ベクトルＸｉｊに２次の相関項を加えることにより、状態ベクトルＸｉｊを特徴ベクトルΦ（Ｘｉｊ）に変換してもよい。一例として、変換部１１２は、状態ベクトルＸｉｊの各要素に逓減的な関数（例えば、ｆ（ｘ）＝ｘ／（ｘ＋ａ）。ａは定数）を適用することにより、状態ベクトルＸｉｊを特徴ベクトルΦ（Ｘｉｊ）に変換してもよい。これらに代えて、変換部１１２は、状態ベクトルＸｉｊを変換せずにそのまま特徴ベクトルΦ（Ｘｉｊ）としてもよい。
【００５９】
次に、Ｓ１１２において、最適化部１１４は、確率関数が最大となるように重みベクトルを最適化する。具体的には、まず、最適化部１１４は、個体ｉの各期間ｊに対して特徴ベクトルＸｉｊと重みベクトルｗｉとの内積によるスカラースコアを計算する。次に、最適化部１１４は、計算されたスカラースコアの指数関数と期間ｊの長さとの積が期待値となるポアソン分布から反応回数ｙｉｊが生成される確率の対数を算出する。最後に、最適化部１１４は、全ての期間における対数確率の合計が最大化されるように重みベクトルｗｉを最適化する。
【００６０】
一例として、最適化部１１４は、数式１の最適化問題を解くことによって、ｉ＝１〜ｍとなるｍ個の個体の重みベクトルｗ１〜ｍを最適化する。すなわち、分析部１１０は、最適化部１１４により複数のイベント系列の入力対象となる複数の個体のそれぞれについてポアソン回帰分析を行う。最適化部１１４は、数式１を最適化する手法として、最尤推定、ＭＡＰ推定、及び、ヘイズ推定等を使用してよい。
【数１】
2014103560.tif 000003
【００６１】
最適化部１１４は、数式１の確率関数ｌとして、単位時間あたりのイベント発生回数の期待値がスカラースコアの指数関数となるポアソン過程において、対象の期間の間に反応回数のイベントが発生する確率にもとづく対数確率質量関数から、反応回数に対する正規化項を除去した関数を用いる。最適化部１１４は、正規化項を除去することにより、時間の不可逆性を考慮した最適化を実行することができる。
【００６２】
一例として、最適化部１１４は、確率関数ｌとして、以下の式に示す関数を用いる。
【数２】
2014103560.tif 000004
ただし、ｙは実際の反応回数、ｚはスカラースコアであり反応回数の期待値に関する対数となる値、τは対象の期間の長さを示す。
【００６３】
また、数式１のベクトルｗ０は、個体に依存しない応答パラメータであり、
ｐｅｎ（ｗ０，ｗ１，ｗ２，…ｗｍ）は、正規化項であって通常は凸な関数を用いるが非凸な関数を用いてもよい。最適化部１１４は、正規化項を用いることにより、重みベクトルｗ１〜ｍが入力された履歴に過剰適合し、履歴と異なるイベント系列に対して適合度が低下することを防止する。
【００６４】
また、凸な正則化項を用いた場合、最適化部１１４は、数式１を凸最適化問題に帰結できるので、勾配法により大域最適解を計算することができる。これにより、最適化部１１４は、数式１を安定的に最適化することができる。
【００６５】
例えば、最適化部１１４は、過剰適合防止用の正規化項としてＬ２正規化項を用いることができる。一例として、最適化部１１４は、Ｌ２正規化項として、
【数３】
2014103560.tif 000005
を用いることができる。なお、ｃ０及びｃは、交叉検定等によって定めるハイパーパラメータである。最適化部１１４は、Ｌ２正規化項に代えて、Ｌ１正規化項を用いてもよい。また、最適化部１１４は、過剰適合防止用の正規化項を含まない数式を用いてもよい。  
【００６６】
分析部１１０の最適化部１１４は、数式１において、ｊ＝１〜ｎ［ｉ］の複数の期間Ｔｊのうち一部を間引いて確率関数ｌを計算してよい。例えば、最適化部１１４は、複数の期間Ｔｊと予め定められた基準とを比較し、複数の期間Ｔｊのうち基準未満の長さの期間を間引いてよい。
【００６７】
例えば、最適化部１１４は、２つの期間Ｔｘ＋期間Ｔ（ｘ＋１）に対して期間Ｔｘの状態ベクトルＸｉｘを割り当ててよい。また、最適化部１１４は、期間Ｔｘ＋期間Ｔ（ｘ＋１）に対して、期間Ｔｘの状態ベクトルＸｉｘと、期間Ｔｘに隣接する期間Ｔ（ｘ＋１）の状態ベクトルＸｉ（ｘ＋１）との平均から得られる状態ベクトルを割り当ててよい。  
【００６８】
次に、Ｓ１１４において、最適化部１１４は、最適化されたｍ個の個体の重みベクトルｗ１〜ｍを記憶部１１６に記憶する。
【００６９】
図９は、記憶部１１６に記憶される重みベクトルｗ１〜ｍの一例を示す。例えば、記憶部１１６は、個体のＩＤ（ｉ）ごとに重みベクトルｗ１〜ｍを構成する各要素Ｗｉｅの値を記憶する。図示の例では、記憶部１１６は、ＩＤ（ｉ）＝１の山田太郎の重みベクトルの各要素として、Ｗ１＿１、Ｗ１＿２、Ｗ１＿３、及び、Ｗ１＿４の４個の要素を記憶する。重みベクトルを構成する要素の個数は、Ｓ１０２において置換部１０２が１つのイベントから生成する矩形パルスの数と同じであってよい。
【００７０】
このように、本実施形態の分析装置１０において、Ｓ１０２からＳ１１４までの処理により、置換部１０２が履歴のイベント系列におけるイベントを矩形パルスに置換することで、状態ベクトル生成部１０６が状態ベクトルを生成する。各期間において状態ベクトルは定常であるので、分析装置１０は、分析部１１０により、ｍ個の個体に対応する重みベクトルｗ１〜ｍをポアソン回帰分析し、イベントに対する個体ごとの反応をモデル化することができる。
【００７１】
これにより、分析装置１０は、ｍ個の個体の刺激に対する反応の傾向を、複数の矩形パルスで構成される階段関数で近似できる。例えば、分析装置１０は、ある個体ｉがどのようなイベントの種類に反応しやすいか、及び、イベントに対する反応のタイムラグ等の傾向を、重みベクトルｗｉを算出することにより推定することができる。
【００７２】
図１０は、本実施形態の推定装置２０の推定処理のフローを示す。本実施形態において、推定装置２０は、Ｓ２０２からＳ２１０までの処理を実行することにより、予め定められたイベント系列に対する複数の個体の反応を推定する。
【００７３】
まず、Ｓ２０２において、置換部２０２が、特定の個体についてのインパルス状のイベント系列におけるそれぞれのイベントを複数の矩形パルスに置換する。例えば、まず、置換部１０２は、シミュレーションにおいて想定されるイベント系列を入力する。一例として置換部１０２は、予め作成された商品の広告キャンペーン計画から、個体ｉについてのイベント系列を所定のアルゴリズムで作成し、これを入力してよい。
【００７４】
次に、置換部２０２は、個体ｉのイベント系列に含まれるイベントの時点を始点とする予め定められた時間幅の矩形パルスを生成する。置換部２０２は、複数のイベント系列、及び、複数の矩形パルスの始点及び時間幅の情報を状態ベクトル生成部２０６に供給する。
【００７５】
次に、Ｓ２０６において、状態ベクトル生成部２０６は、複数の期間のそれぞれに対応して、複数のイベント系列のそれぞれについての複数の矩形パルスの状態に応じた状態ベクトルを生成する。例えば、まず、状態ベクトル生成部２０６は、複数のイベント系列に含まれる期間を一定の時間間隔Δｔで分割し、分割された複数の期間Ｔ１〜Ｔｎを生成する。
【００７６】
状態ベクトル生成部２０６は、分割された期間Ｔｊごとに個体ｉの状態ベクトルＸｉｊを生成する。一例として、状態ベクトル生成部２０６は、期間Ｔｊの期間の始点又は終点における複数の矩形パルスの状態に応じた複数の要素から、状態ベクトルＸｉｊを生成する。これに代えて、状態ベクトル生成部２０６は、期間Ｔｊの期間の始点及び終点における矩形パルスの状態の平均の値から状態ベクトルＸｉｊを生成してもよい。状態ベクトル生成部２０６は、生成した状態ベクトルＸｉｊを推定部２１０に供給する。
【００７７】
次に、Ｓ２０８において、記憶部２０８は、分析装置１０の記憶部１１６から個体ｉの重みベクトルｗｉを読み出して記憶する。記憶部２０８は、重みベクトルｗｉを推定部２１０に供給する。
【００７８】
次に、Ｓ２１０において、推定部２１０は、複数の期間Ｔ１〜Ｔｎのそれぞれに対応する複数の状態ベクトルＸｉ１〜Ｘｉｎから、複数の期間Ｔ１〜Ｔｎのそれぞれに対応する個体ｉの反応の回数を示す反応回数ｙｉｊを推定する。例えば、まず、推定部２１０は、変換部１１２と同様の方法で、複数の状態ベクトルＸｉｊを複数の特徴ベクトルΦ（Ｘｉｊ）に変換する。
【００７９】
推定部２１０は、複数の期間Ｔ１〜Ｔｎのそれぞれについて、個体ｉの特徴ベクトルΦ（Ｘｉｊ）と重みベクトルｗｉとの内積により得られるスカラースコアを算出する。推定部２１０は、スカラースコアの指数関数と時間間隔Δｔとの積を期間Ｔｊにおける平均反応回数とするポアソン分布から、モンテカルロ法によって期間Ｔｊにおける反応回数のサンプルｙｉｊを算出する。Δｔが十分に小さいと、推定部２１０は、期間ｔｊの反応回数として０又は１を生成する。
【００８０】
推定部２１０は、複数の期間Ｔ１〜Ｔｎの反応回数ｙｉｊの合計を算出することにより、イベント系列の全体の期間における個体ｉの反応回数Ｙｉを推定する。推定装置２０は、全ての個体について反応回数Ｙｉを推定するまでＳ２０２からＳ２１０の処理を繰り返す。
【００８１】
このように、本実施形態の推定装置２０は、想定されるイベント系列から状態ベクトルを生成し、これと個体ｉごと刺激に対する反応の傾向を表す重みベクトルｗｉとの内積を用いることで、個体ｉごとにイベントに対する反応をシミュレーションすることができる。これにより、推定装置２０は、複数の個体に対してシミュレーションを実行することで、将来のイベントに対する多数の個体の反応の大きさを定量的に予想することができる。  
【００８２】
なお、本実施形態の変形例において、推定装置２０の推定部２１０は、個体のイベントに対する反応回数を推定する代わりに、個体のイベントに対する反応の確率、又は、反応までの所要時間を求めてもよい。
【００８３】
また、本実施形態によれば、分析装置１０は、重みベクトルｗｉにより個体ｉの応答特性を決定する。このため、推定装置２０は、重みベクトルｗｉの値を利用することで強化学習技術及び／又はマルコフ決定過程技術を用いて、マーケティング施策を最適化することができる。
【００８４】
また、推定装置２０において、状態ベクトル生成部２０６がイベント系列を一定の時間間隔で分割する。このため、推定装置２０によると、イベント系列を状態ベクトルの変化点で分割する場合と比べて、反応回数を算出する際の計算量を低減することができる。
【００８５】
本実施形態の分析装置１０及び推定装置２０は、ＤＭ及びウェブ閲覧による商品の広告キャンペーンをイベント系列とし、顧客の購買をイベントに対する反応としたが、分析装置１０及び推定装置２０のイベント系列及び反応は他のものであってもよい。例えば、分析装置１０及び推定装置２０は、テレビ、Ｅメール、及び、電話等による個体への刺激をイベントとしてよい。また、例えば、分析装置１０及び推定装置２０は、顧客の商品のウェブページに対するアクセスを反応としてもよい。
【００８６】
また、分析装置１０及び推定装置２０は、イベントに対する反応自体をイベント系列に含めてよい。例えば、分析装置１０及び推定装置２０は、顧客（個体）があるＤＭ広告（イベント）に応じてある商品を購入（反応）した場合、当該購入自体を次の購入に対するイベントとして扱う。これにより、分析装置１０及び推定装置２０は、購入の習慣化等など、個体による反応自体が次回の反応の原因となる場合をモデル化することができる。
【００８７】
本実施形態の変形例として、分析装置１０及び推定装置２０は、ソーシャルネットワークにおける情報の伝播を分析及び予測してもよい。例えば、分析装置１０及び推定装置２０は、短文投稿ウェブサイトに投稿されるテキストを予め定められたトピックの分類に分け、異なる分類のトピックの投稿を異なるチャネルによるイベントとしてよい。
【００８８】
また、分析装置１０及び推定装置２０は、投稿に続く別の投稿を、イベントに対する反応としてよい。これにより、分析装置１０及び推定装置２０は、ソーシャルネットワークにおける情報の伝播の様子を分析及び予想することができる。
【００８９】
図１１は、分析装置１０及び推定装置２０等として機能するコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００９０】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００９１】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信インターフェイスは、通信を行うハードウェアとして機能する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００９２】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００９３】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００９４】
コンピュータ１９００にインストールされ、コンピュータ１９００を分析装置１０として機能させるプログラムは、置換モジュールと、分割モジュールと、状態ベクトル生成モジュールと、反応回数算出モジュールと、分析モジュールと、変換モジュールと、最適化モジュールと、記憶モジュールとを備え、コンピュータ１９００を推定装置２０として機能させるプログラムは、置換モジュールと、状態ベクトル生成モジュールと、記憶モジュールと、推定モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、置換部１０２、分割部１０４、状態ベクトル生成部１０６、反応回数算出部１０８、分析部１１０、変換部１１２、最適化部１１４、記憶部１１６、置換部２０２、状態ベクトル生成部２０６、記憶部２０８、及び、推定部２１０としてそれぞれ機能させてよい。
【００９５】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である置換部１０２、分割部１０４、状態ベクトル生成部１０６、反応回数算出部１０８、分析部１１０、変換部１１２、最適化部１１４、記憶部１１６、置換部２０２、状態ベクトル生成部２０６、記憶部２０８、及び、推定部２１０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の分析装置１０及び推定装置２０が構築される。
【００９６】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００９７】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称し、これらは本実施形態の記憶部１１６及び記憶部２０８と対応してよい。
【００９８】
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００９９】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【０１００】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【０１０１】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【０１０２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１０３】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１０４】
１０  分析装置、２０  推定装置、１０２  置換部、１０４  分割部、１０６  状態ベクトル生成部、１０８  反応回数算出部、１１０  分析部、１１２  変換部、１１４  最適化部、１１６  記憶部、２０２  置換部、２０６  状態ベクトル生成部、２０８  記憶部、２１０  推定部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＣＤ−ＲＯＭドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＣＤ−ＲＯＭ
【図１】
2014103560.tif 000007
【図２】
2014103560.tif 000008
【図３】
2014103560.tif 000009
【図４】
2014103560.tif 000010
【図５】
2014103560.tif 000011
【図６】
2014103560.tif 000012
【図７】
2014103560.tif 000013
【図８】
2014103560.tif 000014
【図９】
2014103560.tif 000015
【図１０】
2014103560.tif 000016
【図１１】
2014103560.tif 000017
【国際調査報告】
2014103560.tif 000018
2014103560.tif 000019