(57)【特許請求の範囲】
【請求項１】
学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、
演算手段と、
前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、
前記演算手段による予測結果を出力する出力手段と、を備え、
前記学習用サンプルデータを、時間または地域に応じて性質が変化する第１観測データと、前記第１観測データに関連して時間または地域に応じて性質が変化する第２観測データと、前記第１および第２観測データに対応する時間または地域の情報の離散値を示す指標情報と、の３つの要素を有するデータとし、
前記予測用サンプルデータを、前記学習用サンプルデータを構成する３つの要素のうち、前記第２観測データが未知であり前記第１観測データおよび前記指標情報が既知であるデータとしたとき、
前記演算手段は、
前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第１および第２観測データとを条件として、前記第１および第２観測データの前記指標情報に対する事後確率をそれぞれ推定する事後確率推定手段と、
前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定する混合比推定手段と、
前記決定された指標情報の重みを前記記憶手段に書き込む重み書込手段と、
前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第２観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築手段と、
前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第２観測データを予測する処理を行う予測処理手段とを備えることを特徴とする予測装置。
【請求項２】
学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、
演算手段と、
前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、
前記演算手段による予測結果を出力する出力手段と、を備え、
前記学習用サンプルデータを、時間または地域に応じて性質が変化する第１観測データと、前記第１観測データに関連して時間または地域に応じて性質が変化する第２観測データと、前記第１および第２観測データに対応する時間または地域の情報の離散値を示す指標情報と、の３つの要素を有するデータとし、
前記系列データを、第２観測データｙが与えられたときの第１観測データｘの分布が、異なる前記指標情報の離散値において類似している学習用サンプルデータの系列とし、
前記予測用サンプルデータを、前記学習用サンプルデータを構成する３つの要素のうち、前記第２観測データが未知であり前記第１観測データおよび前記指標情報が既知であるデータとしたとき、
前記演算手段は、
前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第２観測データを条件として、前記第２観測データの前記指標情報に対する事後確率をそれぞれ推定する事後確率推定手段と、
前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定する混合比推定手段と、
前記決定された指標情報の重みを前記記憶手段に書き込む重み書込手段と、
前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第２観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築手段と、
前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第２観測データを予測する処理を行う予測処理手段とを備えることを特徴とする予測装置。
【請求項３】
前記モデル構築手段は、
前記推定された指標情報の重みと、前記重みのハイパーパラメータと、前記近似された期待誤差における誤差関数とに基づく目的関数を最小化させるように、前記系列データおよび前記推定された重みに基づいてモデルを学習することで、前記予め定められた離散値におけるモデルを推定するモデルパラメータ推定手段と、
前記推定されたモデルに対して適用される前記誤差関数を最小化させるように、前記ハイパーパラメータを推定するハイパーパラメータ推定手段と、を備え、
前記モデルパラメータ推定手段は、
前記誤差関数が最小化されたときの前記ハイパーパラメータを用いて推定されたモデルを構築すべきモデルとして決定することを特徴とする請求項１または請求項２に記載の予測装置。
【請求項４】
学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、
演算手段と、
前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、
前記演算手段による予測結果を出力する出力手段と、を備える予測装置の予測方法であって、
前記学習用サンプルデータを、時間または地域に応じて性質が変化する第１観測データと、前記第１観測データに関連して時間または地域に応じて性質が変化する第２観測データと、前記第１および第２観測データに対応する時間または地域の情報の離散値を示す指標情報と、の３つの要素を有するデータとし、
前記予測用サンプルデータを、前記学習用サンプルデータを構成する３つの要素のうち、前記第２観測データが未知であり前記第１観測データおよび前記指標情報が既知であるデータとしたとき、
前記予測装置の演算手段は、
前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第１および第２観測データとを条件として、前記第１および第２観測データの前記指標情報に対する事後確率をそれぞれ推定するステップと、
前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定するステップと、
前記決定された指標情報の重みを前記記憶手段に書き込むステップと、
前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第２観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築ステップと、
前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第２観測データを予測する処理を行う予測処理ステップと、を含んで実行することを特徴とする予測方法。
【請求項５】
学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、
演算手段と、
前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、
前記演算手段による予測結果を出力する出力手段と、を備える予測装置の予測方法であって、
前記学習用サンプルデータを、時間または地域に応じて性質が変化する第１観測データと、前記第１観測データに関連して時間または地域に応じて性質が変化する第２観測データと、前記第１および第２観測データに対応する時間または地域の情報の離散値を示す指標情報と、の３つの要素を有するデータとし、
前記系列データを、第２観測データｙが与えられたときの第１観測データｘの分布が、異なる前記指標情報の離散値において類似している学習用サンプルデータの系列とし、
前記予測用サンプルデータを、前記学習用サンプルデータを構成する３つの要素のうち、前記第２観測データが未知であり前記第１観測データおよび前記指標情報が既知であるデータとしたとき、
前記予測装置の演算手段は、
前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第２観測データを条件として、前記第２観測データの前記指標情報に対する事後確率をそれぞれ推定するステップと、
前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定するステップと、
前記決定された指標情報の重みを前記記憶手段に書き込むステップと、
前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第２観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築ステップと、
前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第２観測データを予測する処理を行う予測処理ステップと、を含んで実行することを特徴とする予測方法。
【請求項６】
請求項４または５に記載の予測方法をコンピュータに実行させるための予測プログラム。
【請求項７】
請求項６に記載の予測プログラムが記録されたことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生起順序が予め与えられている事象を示す学習データを学習することで将来生じる事象を予測する予測装置、予測方法、予測プログラムおよびそのプログラムを格納した記録媒体に関する。
【背景技術】
【０００２】
従来、生起順序が予め与えられている事象を示す学習データを学習することで、将来生じる事象を予測する予測問題に関する技術が知られている。この予測問題では、例えば、式（１０１）で示す入力サンプル（入力データ）ｘと、式（１０２）で示す出力サンプル（出力データ）ｙとを想定している。ここで、Ｘは入力サンプル集合、Ｙは出力サンプル集合を示す。入力サンプルｘと出力サンプルｙとには必ずしも因果関係がある訳ではない。そして、式（１０３）で示す入出力サンプル（ｘ，ｙ）が生成したときの時刻ｔを式（１０４）で定義する。ここで、Ｔは例えば最新の時刻を示す。そして、予測装置は、学習段階において、例えば式（１０５）で示す学習データを学習する。ここで、ｎはインデックスを示し、Ｎは学習データ数を示す。そして、予測装置は、予測段階において、式（１０６）で示すように、出力ｙが未知のサンプル（ｘ，ｔ）についてその出力ｙを予測する。
【０００３】
【数１】
0005071851.tif 000002
【０００４】
この予測問題を、例えば、店舗側の購買予測に適用した場合には、出力サンプルｙは購買商品を示し、入力サンプルｘはそのときの購買履歴を示し、入出力サンプル（ｘ，ｙ）が生成したときの時刻ｔは購買時刻を示すこととなる。なお、インデックスｎは例えば購買番号や購買者（ユーザ）を示し、学習データ数Ｎは例えば購買数や購買者数（ユーザ数）を示すこととなる。購買予測の場合のデータ（購買データ）の具体例を表１に示す。ここで、購買履歴としては１つ前に購買した商品とした。購買履歴および購買商品（入出力サンプル）は時系列データである。なお、ｘ，ｙ，ｔはすべて離散的なものとする。
【０００５】
【表１】
0005071851.tif 000003
【０００６】
このような時系列データの多くは、時間とともにその性質が変化するものである。時間とともに性質が変化する時系列データとは、式（１０７）に示すように、時刻ｔにおける入出力の（確率）分布Ｐと、時刻ｔ′における入出力の（確率）分布Ｐと、が異なるような時系列データである。なお、時系列データの一例として購買データを挙げたが、時系列データには、例えば、ニュース記事データ、論文データ、Ｗｅｂサーフィンデータ等が含まれる。
【０００７】
【数２】
0005071851.tif 000004
【０００８】
時間とともにその性質が変化する時系列データの具体例を説明するために、ここでは、購買データを考える。例えば、商品販売の予測においては、現実にはメーカや店舗の経営戦略や都合に起因して、新商品の発表や発売中止等の突発的な事象が生じる。そのため、このような最新の情報を予測に反映させることにより、予測される商品候補（出力される商品候補）は日々変化することとなる。また、季節や流行、社会的、経済的環境等の大局的な事象の変化により、各商品の出力分布（予測される確率分布）も変化する。
【０００９】
この購買データから、次にユーザが購入すると思われる商品を高い精度で予測できれば、その商品をユーザにリコメンドすることができる。従来、例えば、オンラインショッピング等の商品について購買順序を考慮した予測精度の高いリコメンド技術が知られている（例えば、非特許文献１参照）。
【非特許文献１】岩田具治、山田武士、上田修功、“購買順序を考慮した協調フィルタリング”、人工知能と知識処理研究会、AI2007-3,13-18,2007
【発明の開示】
【発明が解決しようとする課題】
【００１０】
非特許文献１に開示された技術は、予測精度は高いものの、時間情報すなわち購買時間を考慮するものではなく、計算コストを低く抑えることを目的としており、最新データの予測精度を高めることを目的とするものでもない。しかしながら、時間とともに性質が変化する時系列データにおける予測問題では、全学習データに対する高い予測精度ではなく、最新の時刻におけるデータに対して高い予測精度が望まれることが多い。これは、例えば、性質変化が急激なデータの場合には、過去の時刻のデータに対する予測精度が高いモデルであっても、将来を予測するためには使えない場合があるからである。
【００１１】
そこで、本発明は、以上のような問題点に鑑みてなされたものであり、時間とともに性質が変化する時系列データにおいて最新の時刻におけるデータを高い精度で予測することができる予測装置、予測方法、予測プログラムおよびそのプログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、前記課題を解決するために創案されたものであり、本発明に係る予測装置は、学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、演算手段と、前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、前記演算手段による予測結果を出力する出力手段と、を備え、前記学習用サンプルデータを、時間または地域に応じて性質が変化する第１観測データと、前記第１観測データに関連して時間または地域に応じて性質が変化する第２観測データと、前記第１および第２観測データに対応する時間または地域の情報の離散値を示す指標情報と、の３つの要素を有するデータとし、前記予測用サンプルデータを、前記学習用サンプルデータを構成する３つの要素のうち、前記第２観測データが未知であり前記第１観測データおよび前記指標情報が既知であるデータとしたとき、前記演算手段は、前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第１および第２観測データとを条件として、前記第１および第２観測データの前記指標情報に対する事後確率をそれぞれ推定する事後確率推定手段と、前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定する混合比推定手段と、前記決定された指標情報の重みを前記記憶手段に書き込む重み書込手段と、前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第２観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築手段と、前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第２観測データを予測する処理を行う予測処理手段とを備えることを特徴とする。
【００１３】
かかる構成によれば、予測装置は、予測対象に関する系列データから得られる期待誤差を近似した期待誤差を最小化させるように、指標情報の予め定められた離散値におけるモデルを構築し、構築されたモデルと、予測用サンプルデータとに基づいて、指標情報の予め定められた離散値における未知の第２観測データを予測する処理を行う。ここで、所定の基準は、例えば、時間や地域等である。時間という基準に立脚した離散的な指標とは、過去から未来へ向かう一方向性の特徴を有した時間における特定の時刻を示し、系列データは時系列データとなる。このときの離散値は、年月日や時分秒等所定の単位を用いることができ、予め定められた離散値とは、例えば最新時刻等に設定できる。また、所定の基準が地域である場合には、その基準の種類として、例えば、地域環境やその場所に居住する人やくらし等を挙げることができ、このときの指標は、例えば、位置や距離、各種統計量等となる。このときの離散値は、位置座標や各種距離単位、各種の統計や動向調査に用いられる所定単位、「０，１」等のデジタル表記等を用いることができる。
【００１４】
例えば、時間を基準にして時系列データを用いて予め定められた離散値として最新時刻を設定したときには、予測装置は、指標情報の重みとして、時間情報の重みを推定する。この時間情報の重みによって、最新時刻のデータに適合するモデルを学習するために有益な情報を最新時刻のデータ以外の過去のデータから取り込むことができる。また、この時間情報の重みによって、最新時刻での経験誤差を最新時刻での期待誤差に対する精度のよい近似として用いることができる。したがって、予測装置は、このように推定された重みを用いて構築されたモデルと、出力（第２観測データ）が未知のサンプルから、そのサンプルの最新の時刻における未知データを高い精度で予測することが可能となる。
【００１６】
また、かかる構成によれば、予測装置は、事後確率推定手段と、混合比推定手段とを備えているので、事後確率推定手段が、ＥＭアルゴリズム（Expectation−Maximization algorithm）におけるＥステップ(Expectation step)を行い、かつ、混合比推定手段がＭステップ(Maximization step)を行うことで、混合比についての大域的最適解を求め、求めた混合比から重みを決定することができる。
【００１７】
また、前記課題を解決するために、本発明に係る予測装置は、学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、演算手段と、前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、前記演算手段による予測結果を出力する出力手段と、を備え、前記学習用サンプルデータを、時間または地域に応じて性質が変化する第１観測データと、前記第１観測データに関連して時間または地域に応じて性質が変化する第２観測データと、前記第１および第２観測データに対応する時間または地域の情報の離散値を示す指標情報と、の３つの要素を有するデータとし、前記系列データを、第２観測データｙが与えられたときの第１観測データｘの分布が、異なる前記指標情報の離散値において類似している学習用サンプルデータの系列とし、前記予測用サンプルデータを、前記学習用サンプルデータを構成する３つの要素のうち、前記第２観測データが未知であり前記第１観測データおよび前記指標情報が既知であるデータとしたとき、前記演算手段は、前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第２観測データを条件として、前記第２観測データの前記指標情報に対する事後確率をそれぞれ推定する事後確率推定手段と、前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定する混合比推定手段と、前記決定された指標情報の重みを前記記憶手段に書き込む重み書込手段と、前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第２観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築手段と、前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第２観測データを予測する処理を行う予測処理手段とを備えることを特徴とする。
【００１８】
かかる構成の予測装置によれば、予測装置は、重みを決定するためにＥＭアルゴリズムを用いて混合比を推定する際に、第１および第２観測データの条件付き分布の代わりに第２観測データの条件付き分布を用いればよいので、計算が比較的容易になり、処理負荷を低減できる。
【００１９】
また、本発明に係る予測装置は、前記モデル構築手段が、前記推定された指標情報の重みと、前記重みのハイパーパラメータと、前記近似された期待誤差における誤差関数とに基づく目的関数を最小化させるように、前記系列データおよび前記推定された重みに基づいてモデルを学習することで、前記予め定められた離散値におけるモデルを推定するモデルパラメータ推定手段と、前記推定されたモデルに対して適用される前記誤差関数を最小化させるように、前記ハイパーパラメータを推定するハイパーパラメータ推定手段と、を備え、前記モデルパラメータ推定手段が、前記誤差関数が最小化されたときの前記ハイパーパラメータを用いて推定されたモデルを構築すべきモデルとして決定することが好ましい。
【００２０】
かかる構成によれば、予測装置は、モデル構築手段が、モデルパラメータ推定手段と、ハイパーパラメータ推定手段とを備えているので、誤差関数を最小化させるハイパーパラメータによって、重み推定手段で推定された重みを安定化させた精度のよいモデルを構築することができる。
【００２１】
また、前記課題を解決するために、本発明に係る予測方法は、学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、演算手段と、前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、前記演算手段による予測結果を出力する出力手段と、を備える予測装置の予測方法であって、前記学習用サンプルデータを、時間または地域に応じて性質が変化する第１観測データと、前記第１観測データに関連して時間または地域に応じて性質が変化する第２観測データと、前記第１および第２観測データに対応する時間または地域の情報の離散値を示す指標情報と、の３つの要素を有するデータとし、前記予測用サンプルデータを、前記学習用サンプルデータを構成する３つの要素のうち、前記第２観測データが未知であり前記第１観測データおよび前記指標情報が既知であるデータとしたとき、前記予測装置の演算手段が、前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第１および第２観測データとを条件として、前記第１および第２観測データの前記指標情報に対する事後確率をそれぞれ推定するステップと、前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定するステップと、前記決定された指標情報の重みを前記記憶手段に書き込むステップと、前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第２観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築ステップと、前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第２観測データを予測する処理を行う予測処理ステップと、を含んで実行することを特徴とする。
また、前記課題を解決するために、本発明に係る予測方法は、学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、演算手段と、前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、前記演算手段による予測結果を出力する出力手段と、を備える予測装置の予測方法であって、前記学習用サンプルデータを、時間または地域に応じて性質が変化する第１観測データと、前記第１観測データに関連して時間または地域に応じて性質が変化する第２観測データと、前記第１および第２観測データに対応する時間または地域の情報の離散値を示す指標情報と、の３つの要素を有するデータとし、前記系列データを、第２観測データｙが与えられたときの第１観測データｘの分布が、異なる前記指標情報の離散値において類似している学習用サンプルデータの系列とし、前記予測用サンプルデータを、前記学習用サンプルデータを構成する３つの要素のうち、前記第２観測データが未知であり前記第１観測データおよび前記指標情報が既知であるデータとしたとき、前記予測装置の演算手段は、前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第２観測データを条件として、前記第２観測データの前記指標情報に対する事後確率をそれぞれ推定するステップと、前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定するステップと、前記決定された指標情報の重みを前記記憶手段に書き込むステップと、前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第２観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築ステップと、前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第２観測データを予測する処理を行う予測処理ステップと、を含んで実行することを特徴とする。
【００２２】
かかる手順の予測方法によれば、予測装置は、予測対象に関する系列データから得られる期待誤差を近似した期待誤差を最小化させるように、指標情報の予め定められた離散値におけるモデルを構築し、構築されたモデルと、予測用サンプルデータとに基づいて、指標情報の予め定められた離散値における未知の第２観測データを予測する処理を行う。例えば、時間を基準にして時系列データを用いて予め定められた離散値として最新時刻を設定したときには、予測装置は、指標情報の重みとして、時間情報の重みを推定する。この時間情報の重みによって、最新時刻のデータに適合するモデルを学習するために有益な情報を最新時刻のデータ以外の過去のデータから取り込むことができる。また、この時間情報の重みによって、最新時刻での経験誤差を最新時刻での期待誤差に対する精度のよい近似として用いることができる。したがって、予測装置は、このように推定された重みを用いて構築されたモデルと、出力（第２観測データ）が未知のサンプルから、そのサンプルの最新の時刻における未知データを高い精度で予測することが可能となる。
【００２３】
また、本発明に係る予測プログラムは、前記した予測方法をコンピュータに実行させることを特徴とする。このように構成されることにより、このプログラムをインストールされたコンピュータは、このプログラムに基づいた各機能を実現することができる。
【００２４】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、前記した予測プログラムが記録されたことを特徴とする。このように構成されることにより、この記録媒体を装着されたコンピュータは、この記録媒体に記録されたプログラムに基づいた各機能を実現することができる。
【発明の効果】
【００２５】
本発明によれば、時間情報等を示す指標情報の重みによって、指標情報の予め定められた離散値のデータに適合するモデルを学習するために有益な情報を、予め定められた離散値のデータ以外のデータから取り込むことで、予め定められた離散値での経験誤差を期待誤差に対する精度のよい近似として用いることができる。そのため、時間とともに性質が変化する時系列データにおいて、最新の時刻におけるデータを高い精度で予測することが可能となる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の予測装置および予測方法を実施するための最良の形態（以下「実施形態」という）について詳細に説明する。説明の都合上、本発明の概要を説明した上で、実施形態について図面を参照して説明する。
【００２７】
［本発明の概要］
本発明は、予測対象に関する入力サンプル（基準側の第１観測データ）と、出力サンプル（予測側の第２観測データ）と、出力サンプルが示す性質の変化を離散的に知覚するための所定の基準に立脚した離散的な指標を示す指標情報とを有する予測対象に関する入出力サンプル（学習用サンプルデータ）についての指標情報に関する系列を示す系列データを学習することで、入力サンプルおよび指標情報が既知で出力サンプルが未知であるサンプル（予測用サンプルデータ）から、未知の出力サンプルを予測する予測問題に関するものである。特に、本発明は、時間情報に応じて変化するデータ（時系列データ）を予測対象とすることが好ましい。その性質が時間的に変化するデータの種類としては、例えば、購買データ、ニュース記事データ、論文データ、Ｗｅｂサーフィンデータ等を挙げることができる。特に、予測対象とするデータが購買データである場合には、購買される対象物（商品）は、実体としてのモノに限らずデータ等のサービスであってもよい。このようなサービスデータは、例えば、画像データ、映像データ、音楽データ等である。
【００２８】
本実施形態では、本発明の説明を単純化させるために、時間情報に応じて変化する購買データを予測対象とすることを念頭に説明する。この場合に、本発明は、全学習データに対する予測精度が高いモデルを学習するのではなく、最新のデータに対する予測精度が高いモデルを学習する予測手法であると言える。このような学習を行うためには、最新時刻で最小にすべき期待誤差を精度よく推定する必要がある。そこで、本発明では、大要、サンプルが生成された時刻（時間情報）を重み付ける重みを推定する処理（重み推定処理）と、推定された重みを安定に取り込んだ予測モデルを構築する処理（モデル構築処理）とを行うこととした。以下、これらの重み推定処理およびモデル構築処理の原理について順次説明する。
【００２９】
＜重み推定処理の原理＞
最新時刻におけるデータ（サンプル）に対する期待誤差ＥTは、式（１）で示される。ここで、時間の単位は、任意であり、最新時刻とは、最新の時分秒を示すほか、最新日、最新月、最新年等を示すことができる。このような最新のデータに対する予測精度が高いモデルを学習するときには、式（１）に示す期待誤差ＥTが最小になるようなモデルが望ましい。式（１）において、Ｔは最新時刻を示し、Ｊ（ｘ，ｙ；Ｍ）は、サンプル（ｘ，ｙ）が与えられたときの予測モデル（以下、単にモデルという）Ｍの誤差関数を示す。また、Ｐ（ｘ，ｙ；Ｔ）は、最新時刻におけるサンプル（ｘ，ｙ）の確率分布（以下、単に分布という）を示す。なお、モデルＭとしては、例えば、１次マルコフモデル、２次マルコフモデル等、任意のモデルを用いることができる。ここで、入力サンプル（ｘ）は、第１観測データであり、単に入力ともいう。また、出力サンプル（ｙ）は、第２観測データであり、単に出力ともいう。
【００３０】
【数３】
0005071851.tif 000005
【００３１】
誤差関数Ｊ（ｘ，ｙ；Ｍ）は、例えば、式（２）に示す負の対数尤度や、式（３）に示す０−１損失関数等が考えられる。なお、以下では、対数は自然対数、すなわち、対数logの底は「ｅ」であるものとする。
【００３２】
【数４】
0005071851.tif 000006
【００３３】
最新時刻のサンプル数が無限大の極限である場合には、最新時刻での経験誤差は、最新時刻での期待誤差ＥTと一致する。しかし、最新時刻のデータのみを用いて学習した場合には、全データを用いて学習する場合と比べて、サンプル数が少なくなるため、適切なモデルが得られない可能性がある。そのため、最新時刻のデータのみを用いて学習することは好ましくはない。また、最新時刻のデータより前の過去のデータにも、最新時刻のデータに適合するモデルを学習するために有益な情報がある程度は含まれていると考えられる。そこで、重み推定処理においては、サンプル（ｘ，ｙ）が与えられたときのモデルＭの誤差関数Ｊ（ｘ，ｙ；Ｍ）を、サンプル（ｘ，ｙ）が生成された時刻における重みによって重み付けしたときの誤差Ｅ（Ｍ）を最小化させるようにモデルＭを学習することとした。このときの誤差Ｅ（Ｍ）は、式（４）で示される。式（４）において、ｗ（ｔn）は時刻ｔnにおける重みであり、最新時刻Ｔにおけるモデル（重みに基づいて後に構築するモデル）を学習するために時刻ｔnのデータがどのくらい参考になるかを表す。
【００３４】
【数５】
0005071851.tif 000007
【００３５】
前記した式（１）の代わりに式（４）を用いることの正当性を以下に説明する。
まず、時刻がｔであるサンプル数をＮ（ｔ）とする。また、時刻がｔ、入力がｘ、出力がｙのサンプル数をＮ（ｔ，ｘ，ｙ）とする。また、最新時刻Ｔにおけるサンプル（ｘ，ｙ）の分布（真の分布）Ｐ（ｘ，ｙ｜Ｔ）を、式（５）に示すように、各時刻における経験分布の混合で近似することとする。式（５）を満たす混合比を式（６）で示す。以下では、個々の混合比を混合分布Ｐ（ｔ）と呼ぶ。つまり、式（５）は、最新時刻Ｔにおける真の分布Ｐ（ｘ，ｙ｜Ｔ）が、各時刻における経験分布と混合分布Ｐ（ｔ）との積を時刻ｔについて加算した結果で近似することを示すことになる。また、各時刻における経験分布には、サンプル数Ｎ（ｔ），Ｎ（ｔ，ｘ，ｙ）との間で、式（７）の関係がある。なお、式（７）においてＰに付した記号「＾（ハット）」は、そのＰが経験分布であることを示すものである。
【００３６】
【数６】
0005071851.tif 000008
【００３７】
そして、式（８）に示すように、重みは、混合分布Ｐ（ｔ）を、時刻がｔであるサンプル数Ｎ（ｔ）で除した値として定義される。なお、式（８）に式（７）の関係を適用すると、重みは式（９）で示される。
【００３８】
【数７】
0005071851.tif 000009
【００３９】
そして、このとき、前記した式（４）に示す誤差Ｅ（Ｍ）は、式（１０）のように書き換えられる。式（１０）において、右辺の２行目は、サンプル数Ｎ（ｔ，ｘ，ｙ）の定義による変形結果を示し、右辺の３行目は、前記した式（９）よる変形結果を示す。また、右辺の４行目は、前記した式（５）の近似を用いた変形結果を示し、右辺の５行目は、前記した式（１）よる変形結果を示す。その結果、前記した式（４）に示す誤差Ｅ（Ｍ）は、最新時刻Ｔでの期待誤差ＥTの近似となることが理解される。
【００４０】
【数８】
0005071851.tif 000010
【００４１】
次に、時刻ｔにおける重みｗ（ｔ）を推定する。前記した式（８）の関係から、重みｗ（ｔ）を推定することは、混合分布Ｐ（ｔ）を推定することと同義である。つまり、重みｗ（ｔ）を推定するためには、混合比を決定すればよい。前記した式（６）に示す混合比は、式（１１）に示す最新時刻Ｔのサンプル集合に対する尤度Ｌ（Ｐ）を最大化することにより推定することができる。なお、過学習を回避するためleave-one-out法を用いる。式（１１）の右辺の２行目は、式（１２）に示す関係式を用いて書き換えたものを示す。式（１２）は、ｎ番目のサンプルを除いたときに前記した式（５）より推定される最新時刻Ｔにおける分布の推定値の定義式である。
【００４２】
【数９】
0005071851.tif 000011
【００４３】
式（１２）の右辺におけるｎ番目のサンプルを除いたときの時刻ｔでの経験分布は、式（１３）で示される。式（１３）において、αは、ゼロ確率問題を回避するため導入されたものであり、Dirichlet事前分布のパラメータを示す。また、δt,Tはクロネッカーのデルタを示す。
【００４４】
【数１０】
0005071851.tif 000012
【００４５】
ここで、対数関数は上に凸な関数であるため、前記した式（１１）に示すＬ（Ｐ）の関数形も上に凸であり、Ｌ（Ｐ）を最大化することにより、Ｐについての大域的最適解（Ｐ＊と表記する）を得ることができる。Ｌ（Ｐ）を最大化させるための最適化手法は、任意であり、例えば、ＥＭアルゴリズムを用いることができる。本実施形態では、ＥＭアルゴリズムを用いて説明する。個々の完全データの対数尤度を式（１４）で示す。ここで、式（１４）は前記した式（１１）に示すＬ（Ｐ）の右辺第２行に示したものである。また、最大化すべき対数尤度は、ｔn＝Ｔとなるｎの個数だけの完全データの対数尤度である。
【００４６】
【数１１】
0005071851.tif 000013
【００４７】
したがって、最大化すべき完全データの対数尤度の条件付き期待値は、式（１５）で示される。ここで、τは、Ｅステップ(Expectation step)とＭステップ(Maximization step)との２つの手順を繰り返した回数（τ＝０，１，２，…）を指す。なお、τ＝０のときには推定値の予め定められた初期値を示す。
【００４８】
【数１２】
0005071851.tif 000014
【００４９】
ＥＭアルゴリズムでは、まず、Ｅステップにおいて、式（１５）に示す条件付き期待値Ｑ（Ｐ｜Ｐ（τ））を計算する際に、式（１７）を用いて推定したＰ（τ）（ｔ）を用いて式（１６）の計算を行う。式（１６）の計算においては、全サンプル（ｘ，ｙ）の全時刻ｔに対する事後確率を推定する。次に、Ｍステップにおいて、式（１５）に示す条件付き期待値Ｑ（Ｐ｜Ｐ（τ））を最大化する際に、式（１６）を用いて求めた結果を用いて式（１７）の計算を行い、混合分布についての新しい推定値Ｐ（τ＋１）（ｔ）を求める。すなわち、混合比を推定する。
【００５０】
【数１３】
0005071851.tif 000015
【００５１】
そして、ＥステップとＭステップとの２つの手順を収束条件が満たされるまで繰り返すことにより、各混合分布Ｐ（ｔ）すなわち前記した式（６）に示す混合比が得られる。ここで、前記した式（１５）に示す条件付き期待値Ｑ（Ｐ｜Ｐ（τ））が最大化するときには、前記した式（１１）に示す尤度Ｌ（Ｐ）が最大化することになる。すなわち、前記した式（１１）に示す尤度Ｌ（Ｐ）が収束する。このときに収束条件が満たされる。したがって、本実施形態においては、Ｅステップで、式（１７）を用いて推定したＰ（τ）（ｔ）を利用して式（１６）の計算を行い、また、Ｍステップで、式（１６）を用いて求めた結果を利用して式（１７）の計算を行い、ＥステップとＭステップとの組み合わせが終了した時点で、前記した式（１１）に示す尤度Ｌ（Ｐ）が収束したか否かを判別する。判別の結果、収束していなければ収束するまでＥステップとＭステップとを交互に繰り返す。そして、収束条件が満たされたときの混合分布Ｐ（ｔ）を、前記した式（８）に示す重みの定義式に用いることで、サンプル（ｘ，ｙ）が生成された時刻ｔにおける重みｗ（ｔ）が推定されたこととなる。
【００５２】
＜モデル構築処理の原理＞
重み推定処理では、サンプル（ｘ，ｙ）が生成された時刻ｔにおける重みｗ（ｔ）を推定することで、前記した式（１）に示す最新時刻Ｔにおけるデータ（サンプル）に対する期待誤差ＥTを、前記した式（４）に示す誤差Ｅ（Ｍ）で近似することとした。この推定された重みｗ（ｔ）を安定化させるために、モデル構築処理では、ハイパーパラメータλを導入して、式（１８）に示す誤差Ｅ（Ｍ，λ）を、最小とすべき目的関数とすることとした。つまり、誤差Ｅ（Ｍ，λ）を最小化させるようにモデルＭを学習する
【００５３】
【数１４】
0005071851.tif 000016
【００５４】
モデルＭを学習したデータでハイパーパラメータλを学習すると過学習を起こす可能性がある。そこで、Ｋ重交差検定法（K-fold cross validation）を用いてハイパーパラメータλを学習する。なお、学習に用いなかったデータに対する汎化誤差が大きくなってしまう現象は過学習と呼ばれている。具体的には、Ｋ重交差検定法では、まず、式（１９）に示す全学習データＤを式（２０）に示すようにＫ個の部分集合Ｄkに分割する。式（２０）において、ｋは学習データＤ中の部分集合のインデックスを示す。そして、分割された部分集合のうち部分集合Ｄjを学習に用いる。ここで、部分集合Ｄjは、式（２１）に示すように、所定の部分集合を除く（Ｋ−１）個の部分集合を示す。式（２１）では、除かれる所定の部分集合のインデックスをｋとして、それ以外の部分集合のインデックスをｊとした。そして、部分集合Ｄjを学習に用いて、前記した式（１８）に示す目的関数（誤差Ｅ（Ｍ，λ））を最小化させるモデルを、最新時刻Ｔにおけるモデルとして構築する。構築すべきモデルとして、所定の部分集合ｋに依存したモデルを式（２２）に示す。Ｋ重交差検定法では、除かれる部分集合Ｄkとして分割したすべての種類（Ｋ種類）の集合を考慮するので、式（２２）に示すモデルを、除かれる所定の部分集合のインデックスｋ毎に学習し、Ｋ個のモデルを構築する。なお、式（２２）においてＭに付した記号「＾（ハット）」は、そのＭがargmin関数の引数を最小化させることを示すものである。
【００５５】
【数１５】
0005071851.tif 000017
【００５６】
ハイパーパラメータλについては、部分集合Ｄj以外、すなわち、学習に用いなかった部分集合Ｄk毎に、その部分集合Ｄkの最新時刻Ｔのデータに対する誤差関数Ｊが最小になるように学習し、さらに、除かれる部分集合Ｄkとしてすべての種類（Ｋ種類）を考慮する。具体的には、式（２３）に示す計算により、誤差関数Ｊを最小化させるハイパーパラメータλを求める。なお、式（２３）においてλに付した記号「＾（ハット）」は、そのλがargmin関数の引数を最小化させることを示すものである。
【００５７】
【数１６】
0005071851.tif 000018
【００５８】
ここで、前記した式（１８）に示す目的関数（誤差Ｅ（Ｍ，λ））が最小化するときには、目的関数（誤差Ｅ（Ｍ，λ））が収束する。このときに収束条件が満たされる。したがって、本実施形態においては、式（２３）を用いて推定したハイパーパラメータを利用して式（２２）の計算を行い、また、式（２２）を用いて求めたモデルを利用して式（２３）の計算を行い、モデルの推定とハイパーパラメータの推定との組み合わせが終了した時点で、前記した式（１８）に示す目的関数（誤差Ｅ（Ｍ，λ））が収束したか否かを判別する。判別の結果、収束していなければ収束するまでモデルの推定とハイパーパラメータの推定とを交互に繰り返す。そして、収束条件が満たされたときに、その時点のモデルが、最新時刻Ｔにおけるモデルとして推定されたこととなる。
【００５９】
［予測装置の全体構成］
次に、本発明の実施形態について図面を参照して説明する。図１は、本発明の実施形態に係る予測装置の構成を示すブロック図である。予測装置１は、予測対象に関する入出力サンプル（学習用サンプルデータ）についての系列を示す入力データ（系列データ）を学習することで、出力が未知であるサンプルから、未知の出力サンプルを予測するものである。図１に示すように、予測装置１は、演算手段２と、入力手段３と、記憶手段４と、出力手段５とを備えている。各手段２〜５はバスライン１１に接続されている。
【００６０】
演算手段２は、例えば、ＣＰＵ（Central Processing Unit）およびＲＡＭ（Random Access Memory）から構成される主制御装置である。この演算手段２は、図１に示すように、重み推定部（重み推定手段）２１と、モデル構築部（モデル構築手段）２２と、予測処理部（予測処理手段）２３と、メモリ２４とを含んで構成される。なお、各部２１〜２３の説明は後記する。
【００６１】
入力手段３は、例えば、キーボード、マウス、ディスクドライブ装置等から構成される。この入力手段３は、例えば、データとして入力データ（系列データ）およびサンプルを入力し、記憶手段４に格納する。本実施形態では、入力データ（系列データ）を前記した表１に示す購買予測の場合のデータ（購買データ）とする。
【００６２】
記憶手段４は、例えば、一般的なハードディスク装置等から構成され、演算手段２で用いられる各種プログラムや各種データ等を記憶する。この記憶手段４は、プログラムとして、重み推定プログラム４１と、モデル構築プログラム４２と、予測処理プログラム４３とをプログラム格納部４０ａに記憶する。そして、演算手段２は、これらのプログラム４１〜４３を記憶手段４から読み込んでメモリ２４に展開して実行することで、前記した重み推定部２１、モデル構築部２２、予測処理部２３の各機能を実現する。
【００６３】
また、記憶手段４は、入力データ（系列データ）４４と、重み４５と、モデルパラメータ４６と、サンプル４７とをデータ格納部４０ｂに記憶する。ここで、入力データ（系列データ）４４は、入力手段３から入力されるデータであり、例えば、前記した表１に示した購買データである。重み４５は、演算手段２の重み推定部２１の演算処理結果を示すデータである。モデルパラメータ４６は、演算手段２のモデル構築部２２の演算処理結果を示すデータである。サンプル４７は、例えば、前記した表１に示した購買データに対応したデータであり、入力ｘと時刻ｔとが既知であり、出力ｙが未知のデータである。
【００６４】
出力手段５は、例えば、グラフィックボード（出力インタフェース）およびそれに接続されたモニタである。モニタは、例えば、液晶ディスプレイ等から構成され、演算処理結果（例えば、予測を行った結果＜予測される購買商品の情報等＞）を表示する。
【００６５】
次に、演算手段２の各部の構成の詳細を説明する。
＜重み推定部＞
図２を参照しながら、重み推定部２１の構成について説明する。図２は、重み推定部の構成を示す機能ブロック図である。重み推定部（重み推定手段）２１は、入力データ（系列データ）４４から得られる、最新時刻（指標情報の予め定められた離散値）における入出力サンプル（学習用サンプルデータ）の入力サンプル（第１観測データ）および出力サンプル（第２観測データ）に対する期待誤差が、入出力サンプルが与えられたときのモデルの誤差関数と、それぞれの入出力サンプルの時間情報の重みと、を用いて近似された期待誤差を最小化させるように、時間情報の重みを推定するものである。図２に示すように、重み推定部２１は、入力データ読込部２１１と、事後確率推定部２１２と、混合比推定部２１３と、重み書込部２１４とを備えている。
【００６６】
入力データ読込部２１１は、入力データ４４を読み込み、事後確率推定部２１２に出力するものである。
事後確率推定部（事後確率推定手段）２１２は、最新時刻における入力データ４４の真の分布を近似するために、各時刻における経験分布に混合される予め定められた混合比と、入力データ４４における入出力サンプル（ｘ，ｙ）とを条件として、入出力サンプル（ｘ，ｙ）の時間情報ｔに対する事後確率をそれぞれ推定するものである。本実施形態では、事後確率推定部２１２は、前記した式（１３）で示される経験分布を予め計算しておく。また、事後確率推定部２１２は、前記した式（１６）により全サンプルの全時刻に対する事後確率を推定する。
【００６７】
混合比推定部（混合比推定手段）２１３は、事後確率推定部２１２で推定されたそれぞれの事後確率を利用して、最新時刻における入力データ４４に対する尤度を最大化するように、混合比を推定し、尤度が最大化されたときの混合比から重みを決定するものである。本実施形態では、混合比推定部２１３は、前記した式（１７）により混合比を推定する。また、混合比推定部２１３は、式（１１）に示す尤度が収束するか否かを判別し、収束していなときには、その時点の混合比を事後確率推定部２１２に出力し、一方、収束したときには、その時点の混合比から前記した式（８）に示す重みｗ（ｔ）を算出し、重み書込部２１４に出力する。
重み書込部２１４は、混合比推定部２１３で推定された重みｗ（ｔ）を、重み４５として、記憶手段４（図１参照）に書き込む。なお、書き込まれた重み４５は、モデル構築部２２で利用される。
【００６８】
＜モデル構築部＞
図３を参照しながら、モデル構築部２２の構成について説明する。図３は、モデル構築部の構成を示す機能ブロック図である。モデル構築部（モデル構築手段）２２は、重み推定部２１で推定された時間情報（指標情報）の重みを用いた期待誤差に基づく目的関数と入力データ（系列データ）４４とを用いて、サンプル（予測用サンプルデータ）４７から、最新時刻（指標情報の予め定められた離散値）における未知の出力サンプル（第２観測データ）を予測するモデルを構築するものである。図３に示すように、モデル構築部２２は、入力データ読込部２２１と、重み読込部２２２と、モデルパラメータ推定部２２３と、ハイパーパラメータ推定部２２４と、モデルパラメータ書込部２２５とを備えている。
【００６９】
入力データ読込部２２１は、入力データ４４を読み込み、モデルパラメータ推定部２２３に出力するものである。
重み読込部２２２は、重み４５を読み込み、モデルパラメータ推定部２２３に出力するものである。
モデルパラメータ推定部（モデルパラメータ推定手段）２２３は、重み読込部２２２で読み込んだ重み４５と、重み４５のハイパーパラメータと、近似された期待誤差における誤差関数とに基づく目的関数を最小化させるように、入力データ（系列データ）４４および重み４５に基づいてモデルを学習することで、最新時刻におけるモデルを推定するものである。このモデルパラメータ推定部２２３は、ハイパーパラメータ推定部２２４で推定されたハイパーパラメータをモデル推定に用いる。本実施形態では、モデルパラメータ推定部２２３は、前記した式（２２）によりモデルパラメータを推定する。
【００７０】
ハイパーパラメータ推定部（ハイパーパラメータ推定手段）２２４は、モデルパラメータ推定部２２３で推定されたモデルに対して適用される誤差関数を最小化させるように、ハイパーパラメータを推定するものである。本実施形態では、ハイパーパラメータ推定部２２４は、前記した式（２３）によりハイパーパラメータを推定する。また、ハイパーパラメータ推定部２２４は、式（１８）に示す誤差が収束するか否かを判別し、収束するまで、その時点のハイパーパラメータをモデルパラメータ推定部２２３に出力し続ける。これにより、モデルパラメータ推定部２２３では、誤差関数が最小化されたときのハイパーパラメータを用いて推定されたモデルを構築すべきモデルとして決定する。また、ハイパーパラメータ推定部２２４は、式（１８）に示す誤差が収束したと判別したときに、その時点で推定されているモデルをモデルパラメータ書込部２２５に出力する。
モデルパラメータ書込部２２５は、推定されたモデルパラメータを、モデルパラメータ４６として、記憶手段４（図１参照）に書き込む。なお、書き込まれたモデルパラメータ４６は、予測処理部２３で利用される。
【００７１】
＜予測処理部＞
図４を参照しながら、予測処理部２３の構成について説明する。図４は、予測処理部の構成を示す機能ブロック図である。予測処理部（予測処理手段）２３は、モデル構築部２２で構築されたモデル（モデルパラメータ４６）と、サンプル（予測用サンプルデータ）４７とに基づいて、最新時刻（指標情報の予め定められた離散値）におけるサンプル４７の未知の出力サンプル（第２観測データ）を予測する処理を行うものである。図４に示すように、予測処理部２３は、サンプル読込部２３１と、モデルパラメータ読込部２３２と、予測結果出力部２３３とを備えている。
【００７２】
サンプル読込部２３１は、出力が未知のサンプル４７を読み込み、予測結果出力部２３３に出力するものである。
モデルパラメータ読込部２３２は、モデルパラメータ４６を読み込み、予測結果出力部２３３に出力するものである。
予測結果出力部２３３は、サンプル４７とモデルパラメータ４６とを使って出力サンプル（ｙ）の予測結果を計算し、計算結果（予測結果）を出力手段５（図１参照）に出力するものである。
【００７３】
[予測装置の動作]
＜処理の流れ＞
図１に示した予測装置１の動作について図５を参照（適宜図１参照）して説明する。図５は、予測装置の処理の流れを示す説明図である。まず、予測装置１は、重み推定部２１によって、記憶手段４（図１参照）に予め格納された入力データ４４に基づいて重みを推定する（ステップＳ１：重み推定ステップ）。推定された重みは、重み４５として記憶手段４に格納される。次に、予測装置１は、モデル構築部２２によって、記憶手段４（図１参照）に予め格納された入力データ４４および重み４５に基づいてモデルを構築する（ステップＳ２：モデル構築推定ステップ）。構築されたモデルは、モデルパラメータ４６として記憶手段４に格納される。続いて、予測装置１は、予測処理部２３によって、記憶手段４（図１参照）に予め格納された出力が未知であるサンプル４７に対して、モデルパラメータ４６に基づいて、対応する出力を予測する予測処理を行う（ステップＳ３：予測処理ステップ）。
【００７４】
次に、前記したステップＳ１の重み推定ステップと、前記したステップＳ２のモデル構築推定ステップについて図６および図７をそれぞれ参照（適宜図１ないし図５参照）して説明する。図６は、重み推定処理を示すフローチャートであり、図７は、モデル構築処理を示すフローチャートである。
【００７５】
＜重み推定ステップ＞
前記したステップＳ１の重み推定ステップでは、図６に示すように、重み推定部２１は、入力データ読込部２１１によって、記憶手段４（図１参照）から、入力データ４４を読み込む（ステップＳ１１）。具体的には、入力データ読込部２１１は、前記した表１で示される構造をした入力データ（系列データ）を読み込む。そして、重み推定部２１は、事後確率推定部２１２によって、経験分布の計算を行う（ステップＳ１２）。具体的には、前記した式（１３）で示される経験分布を計算する。そして、重み推定部２１は、事後確率推定部２１２によって、初期化を行う（ステップＳ１３）。具体的には、事後確率推定部２１２は、ＥＭアルゴリズムのＥステップとＭステップとの２つの手順の繰り返し回数τを０に設定し（τ＝０）、例えば所定の乱数を発生させて前記した式（６）で示す混合比の混合分布Ｐ（ｔ）をランダムに設定する。
【００７６】
そして、初期化終了後に、重み推定部２１は、事後確率推定部２１２によって、ＥＭアルゴリズムのＥステップを実行する（ステップＳ１４）。具体的には、事後確率推定部２１２は、前記した式（１６）により、全サンプル（ｘ，ｙ）の全時刻ｔに対する事後確率を推定する。続いて、重み推定部２１は、混合比推定部２１３によって、ＥＭアルゴリズムのＭステップを実行する（ステップＳ１５）。具体的には、混合比推定部２１３は、前記した式（１７）により、第（τ＋１）ステップにおける混合分布Ｐ（τ＋１）（ｔ）すなわち混合比を推定する。次に、重み推定部２１は、混合比推定部２１３によって、収束条件が満たされたか否かを判別する（ステップＳ１６）。具体的には、混合比推定部２１３は、前記した式（１１）に示す尤度Ｌ（Ｐ）が収束したか否かを判別する。
【００７７】
収束条件が満たされた場合、すなわち前記した式（１１）に示す尤度Ｌ（Ｐ）が収束した場合（ステップＳ１６：Ｙｅｓ）、混合比推定部２１３は、重みｗ（ｔ）を計算する（ステップＳ１７）。具体的には、混合比推定部２１３は、収束した時点における混合分布Ｐ（ｔ）とサンプル数Ｎ（ｔ）とに基づいて前記した式（８）に示す重みｗ（ｔ）を全時刻ｔについて算出する。そして、重み推定部２１は、重み書込部２１４によって、前記した式（８）に示す重みｗ（ｔ）を、重み４５として、記憶手段４（図１参照）に書き込み（ステップＳ１８）、処理を終了する。この重み４５は、最新時刻Ｔにおけるモデルを構築するために時刻ｔに対して推定された重みを示す。
【００７８】
一方、ステップＳ１６において、収束条件が満たされていない場合、すなわち前記した式（１１）に示す尤度Ｌ（Ｐ）が収束していない場合（ステップＳ１６：Ｎｏ）、重み推定部２１は、ＥステップおよびＭステップの繰り返し回数τに「１」を加算し（τ＝τ＋１）、繰り返し回数τを更新し（ステップＳ１９）、ステップＳ１４に戻る。
【００７９】
＜モデル構築ステップ＞
前記したステップＳ２のモデル構築ステップでは、図７に示すように、モデル構築部２２は、まず、入力データ（系列データ）と重みとを読み込む（ステップＳ２１）。具体的には、モデル構築部２２は、入力データ読込部２２１によって、記憶手段４（図１参照）から、入力データ４４を読み込む。また、モデル構築部２２は、重み読込部２２２によって、記憶手段４（図１参照）から、重み推定処理により推定した重み４５を読み込む。なお、入力データ４４の読み込みと、重みの読み込みとの実行順序は、任意であり、処理を並列に実行してもよい。
【００８０】
そして、モデル構築部２２は、モデルパラメータ推定部２２３によって、初期化を行う（ステップＳ２２）。具体的には、モデルパラメータ推定部２２３は、学習データＤをＫ個の部分集合に分割し、ハイパーパラメータλを０に設定する（λ＝０）。そして、モデル構築部２２は、モデルパラメータ推定部２２３によって、モデルの学習を行う（ステップＳ２３）。具体的には、モデルパラメータ推定部２２３は、Ｋ重交差検定法にしたがって、前記した式（２２）で最新時刻Ｔにおけるモデルを学習する。そして、モデル構築部２２は、ハイパーパラメータ推定部２２４によって、ハイパーパラメータλの学習を行う（ステップＳ２４）。具体的には、ハイパーパラメータ推定部２２４は、前記した式（２３）でハイパーパラメータλを学習する。そして、モデル構築部２２は、ハイパーパラメータ推定部２２４によって、収束条件が満たされたか否かを判別する（ステップＳ２５）。具体的には、ハイパーパラメータ推定部２２４は、前記した式（１８）に示す誤差Ｅ（Ｍ，λ）が収束したか否かを判別する。
【００８１】
収束条件が満たされた場合、すなわち前記した式（１８）に示す誤差Ｅ（Ｍ，λ）が収束した場合（ステップＳ２５：Ｙｅｓ）、モデル構築部２２は、モデルパラメータ書込部２２５によって、その時点のモデルをモデルパラメータ４６として記憶手段４（図１参照）に書き込み（ステップＳ２６）、処理を終了する。このモデルパラメータ４６は、最新時刻Ｔにおけるモデルとして推定されたモデルを示す。一方、ステップＳ２５において、収束条件が満たされていない場合、すなわち前記した式（１８）に示す誤差Ｅ（Ｍ，λ）が収束していない場合（ステップＳ２５：Ｎｏ）、モデル構築部２２は、ステップＳ２３に戻る。
【００８２】
なお、予測装置１は、一般的なコンピュータに、前記した各ステップを実行させる予測プログラムを実行することで実現することもできる。このプログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【００８３】
本実施形態によれば、予測装置１は、時間情報の重みを推定することによって、最新時刻のデータに適合するモデルを学習するために有益な情報を、最新時刻のデータ以外の過去のデータから取り込むことで、最新時刻での経験誤差を、最新時刻での期待誤差に対する精度のよい近似として用いることができる。そのため、予測装置１は、時間とともに性質が変化する時系列データにおいて、最新の時刻におけるデータを高い精度で予測することができる。その結果、例えば、ユーザの履歴購買データから、ユーザの現時点（最新時刻）における購買傾向を予測し、予測された商品をユーザにリコメンドすることができる。これにより、ユーザが所望する商品の情報に対して迅速にアクセスできるように利便性を向上させる効果と、商品提供者の収益を増加させる効果とをもたらすことが可能となる。
【００８４】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、重み推定処理において、前記した式（５）による近似は一例であって、条件に応じて可変とすることができる。例えば、式（２４）による近似を用いることもできる。すなわち、時刻ｔにおける入出力サンプルの条件付き分布Ｐ（ｘ｜ｙ，ｔ）と、時刻ｔとは異なる時刻ｔ′における入出力サンプルの条件付き分布Ｐ（ｘ｜ｙ，ｔ′）とが等しく、かつ、出力分布のみ時刻により異なる状況においては、最新時刻Ｔでの出力サンプルｙの分布Ｐ（ｙ｜Ｔ）を各時刻の出力サンプルｙの経験分布の混合で近似するように混合比を決定することができる。このとき、式（２４）の関係式を満たす混合比は、前記した式（５）の関係式を満たす混合比の近似となる。
【００８５】
【数１７】
0005071851.tif 000019
【００８６】
式（２４）を用いる場合には、予測装置１の重み推定部２１の事後確率推定部２１２は、混合比と、入力データ４４における出力サンプル（ｙ）とを条件として、出力サンプル（ｙ）の時間情報ｔに対する事後確率をそれぞれ推定する。具体的には、事後確率推定部２１２は、前記した式（１３）の代わりに式（１３Ａ）で示される経験分布を予め計算しておく。式（１３Ａ）において、時刻がｔ、出力がｙのサンプル数をＮ（ｔ，ｙ）とする。また、この場合、事後確率推定部２１２は、前記した式（１６）の代わりに式（１６Ａ）により全サンプルの全時刻に対する事後確率を推定する。さらに、この場合、混合比推定部２１３は、前記した式（１７）の代わりに式（１７Ａ）により混合比を推定する。
【００８７】
【数１８】
0005071851.tif 000020
【００８８】
また、本実施形態では、サンプルが与えられたときのモデルの誤差関数Ｊとして前記した式（２）および式（３）で示すものを例示したが、任意の誤差関数を用いることが可能である。さらに、本実施形態では、例えば、前記した式（１）においてＴを最新時刻であるものとして説明したが、Ｔは最新時刻に限らず任意の時刻とすることができる。
【００８９】
さらにまた、本実施形態では、時間とともに性質が変化する時系列データを扱い、例えば、前記した式（４）においてｔを時間情報としたが、ｔは離散変数であれば時間以外の情報であってもよい。この場合には、ｔを例えば特定の場所や地域を指し示す地域情報（例えば空間座標）とすることができる。地域情報ｔに対応付けた購買データの一例を表２に示す。これにより、対象とする所定の地域に関するデータについて、その地域とは異なる他の地域に関するデータを重み付けて考慮することで、対象とする地域に関する未知データを高い精度で予測することができる。
【００９０】
【表２】
0005071851.tif 000021
【００９１】
また、予測装置１を構成する装置は、１台に限定されることはなく、複数の装置に機能を分散配置してもよい。例えば、演算手段２の重み推定部２１、モデル構築部２２、予測処理部２３や、記憶手段４のデータ格納部４０ｂを、別々の装置として構成してもよい。これにより、各装置への負荷が分散され、高速な処理が実現可能となる。
【実施例】
【００９２】
本発明の効果を確認するために、本実施形態に係る予測装置１に、動画配信サービスの購買履歴を入力する場合の商品の予測精度と、携帯電話用漫画配信サービスの購買履歴を入力する場合の商品の予測精度とを実験により求めた。
【００９３】
＜設定＞
動画配信サービスの購買履歴（以下、動画データという）は、2007年１月１日から2007年１月31日までの動画配信サービスにおける動画データを示す。この動画データにおいて、ユーザ数は「40,282」、商品数は「5,914」、購買数は「1,667,414」であった。携帯電話用漫画配信サービスの購買履歴（以下、漫画データという）は、2005年４月１日から2006年３月31日の携帯電話用漫画配信サービスにおける漫画データを示す。この漫画データにおいて、ユーザ数は「164,538」、商品数は「175」、購買数は「1,018,741」であった。ここで１つの漫画が複数巻あるものは同一の商品として扱った。
【００９４】
なお、動画データおよび漫画データから、売上数が「１」以下の商品を省くと共に、購買数が「１」以下であるユーザを省いた。また、ある商品が２回以上同一ユーザに購入された場合、その商品に関する２回目以降の購買を購買履歴から省いた。
【００９５】
＜定式化＞
この場合のモデルＭとして１次マルコフモデルを用いた。また、１次マルコフモデルの誤差関数として、式（２５）に示すように、負の対数尤度を用いた。式（２５）において、θijは、商品ｉの次に商品ｊを購入する確率（０≦θij≦１，Σjθij＝１）を意味するモデルパラメータである。また、商品ｘnは、あるユーザＵnが商品ｙnを購入したときにその１つ前に購入した商品を表すものとする。
【００９６】
【数１９】
0005071851.tif 000022
【００９７】
そして、この場合、前記した式（１８）に示す誤差Ｅは、式（２６）に示すように書き換えられる。つまり、式（２６）に示すＥが、最小にすべき目的関数である。
【００９８】
【数２０】
0005071851.tif 000023
【００９９】
ここで、前記した式（２５）に示す誤差関数Ｊが最小となるモデルパラメータθijを式（２７）に示す。式（２７）において、βはスムージングパラメータである。以下の計算では、β＝１０−２を用いた。また、Ｖは商品数を示す。なお、式（２７）においてθに付した記号「＾（ハット）」は、θが誤差関数を最小化させることを示すものである。
【０１００】
【数２１】
0005071851.tif 000024
【０１０１】
（実施例１、実施例２）
実施例１（OurXY）では、前記した式（５）に基づいて、最新時刻Ｔの同時分布（入出力分布ｘ，ｙ）を近似するように重みｗ（ｔ）を設定した。また、実施例２（OurY）では、前記した式（２４）に基づいて、最新時刻Ｔの出力分布ｙを近似するように重みｗ（ｔ）を設定した。これら実施例１（OurXY）および実施例２（OurY）では、前記した式（１３）に示すスムージングパラメータαの値を、α＝１０-8とし、重みの最大値で各時刻ｔにおける重みの値を割った後に、ハイパーパラメータλを推定した。ここで、重みの最大値が「１」となるようにハイパーパラメータλを推定した。また、１０重交差検定で汎化誤差が最小になるように黄金分割法によりλを推定した。なお、このときにハイパーパラメータλの取り得る区間は［０，１０］とした。
【０１０２】
（比較例１、比較例２）
実施例１（OurXY）および実施例２（OurY）を以下の２つのモデル（比較例１、比較例２）と比較した。
比較例１（NoWeight）：日にちによる重みの変動なし（ｗ（ｔ）＝１）
比較例２（Present）：最新日のみ重みあり（ｗ（Ｔ）＝１、ｔ≠Ｔでｗ（ｔ）＝０）
【０１０３】
＜実験方法＞
実験では時間情報の単位時間を１日とした。つまり、最新時刻とは、最新日すなわち最終日を意味する。そして、実験では、まずはじめの段階、すなわち、１日目では、最終日Ｔを配信開始日に設定した。次の段階、すなわち、２日目では、最終日Ｔを１日ずらし、配信開始日の次の日に設定した。以下同様に、最終日Ｔを１日ずつずらしていった。各段階、すなわち、それぞれの日にち（それぞれの最終日Ｔ）では、その最終日Ｔ以前の購買履歴のみを用いて、その最終日Ｔにおけるデータを作成した。そして、それぞれの日にちＴにおいて、その性能を式（２８）に示すパープレキシティＬ（Ｔ）により評価した。
【０１０４】
【数２２】
0005071851.tif 000025
【０１０５】
式（２８）において、ＮTは、その日にちの日付Ｔ（最新日Ｔ）におけるサンプル数である。パープレキシティは、その値が低い場合に、予測性能が高いことを表す。それぞれの日にちＴにおいて、まず、動画データについて１０重交差検定により、学習およびテストデータを１０セット作成し、その日にちＴのパープレキシティをそれぞれ求めた。そして、式（２９）に示すように、すべての日数Ｄで平均したパープレキシティ（平均パープレキシティ）Ｌを求めた。式（２９）に示すＤは、動画データにおいては、Ｄ＝３１である。同様に漫画データについても平均パープレキシティＬを求めた。ここで、漫画データにおいては、Ｄ＝３６５である。
【０１０６】
【数２３】
0005071851.tif 000026
【０１０７】
＜実験結果＞
実施例および比較例についての実験結果を表２に示す。
【０１０８】
【表３】
0005071851.tif 000027
【０１０９】
表３に示すように、実施例１（OurXY）および実施例２（OurY）は、比較例１（NoWeight）および比較例２（Present）と比べて、平均パープレキシティＬが低い。言い換えると、実施例１（OurXY）および実施例２（OurY）は、比較例１（NoWeight）および比較例２（Present）と比べて、予測性能が高い。つまり、本発明では、その特徴である時間情報の重み付けにより、最新日のデータをより正確に予測できるモデルが学習できていると言える。なお、比較例１（NoWeight）は、最新日とは性質の異なる過去の時刻のデータも学習に用いているため低い予測精度となっている。また、比較例２（Present）は、学習に用いるデータの数が少ないため、低い予測精度となっている。
【図面の簡単な説明】
【０１１０】
【図１】本発明の実施形態に係る予測装置の構成を示すブロック図である。
【図２】重み推定部の構成を示す機能ブロック図である。
【図３】モデル構築部の構成を示す機能ブロック図である。
【図４】予測処理部の構成を示す機能ブロック図である。
【図５】予測装置の処理の流れを示す説明図である。
【図６】重み推定処理を示すフローチャートである。
【図７】モデル構築処理を示すフローチャートである。
【符号の説明】
【０１１１】
１      予測装置
２      演算手段
３      入力手段
４      記憶手段
５      出力手段
１１    バスライン
２１    重み推定部（重み推定手段）
２２    モデル構築部（モデル構築手段）
２３    予測処理部（予測処理手段）
２４    メモリ
４０ａ  プログラム格納部
４１    重み推定プログラム
４２    モデル構築プログラム
４３    予測処理プログラム
４０ｂ  データ格納部
４４    入力データ（系列データ）
４５    重み
４６    モデルパラメータ
４７    サンプル（予測用サンプルデータ）
２１１  入力データ読込部
２１２  事後確率推定部（事後確率推定手段）
２１３  混合比推定部（混合比推定手段）
２１４  重み書込部
２２１  入力データ読込部
２２２  重み読込部
２２３  モデルパラメータ推定部（モデルパラメータ推定手段）
２２４  ハイパーパラメータ推定部（ハイパーパラメータ推定手段）
２２５  モデルパラメータ書込部
２３１  サンプル読込部
２３２  モデルパラメータ読込部
２３３  予測結果出力部
【図１】
0005071851.tif 000028
【図２】
0005071851.tif 000029
【図３】
0005071851.tif 000030
【図４】
0005071851.tif 000031
【図５】
0005071851.tif 000032
【図６】
0005071851.tif 000033
【図７】
0005071851.tif 000034