TOP > 国内特許検索 > 時間情報を用いた予測装置、予測方法、予測プログラムおよびそのプログラムを記録した記録媒体 > 明細書

明細書 :時間情報を用いた予測装置、予測方法、予測プログラムおよびそのプログラムを記録した記録媒体

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第5071851号 (P5071851)
公開番号 特開2009-110341 (P2009-110341A)
登録日 平成24年8月31日(2012.8.31)
発行日 平成24年11月14日(2012.11.14)
公開日 平成21年5月21日(2009.5.21)
発明の名称または考案の名称 時間情報を用いた予測装置、予測方法、予測プログラムおよびそのプログラムを記録した記録媒体
国際特許分類 G06Q  10/04        (2012.01)
G06N   5/04        (2006.01)
FI G06F 19/00 100
G06N 5/04 580A
請求項の数または発明の数 7
全頁数 29
出願番号 特願2007-282843 (P2007-282843)
出願日 平成19年10月31日(2007.10.31)
審査請求日 平成22年10月1日(2010.10.1)
特許権者または実用新案権者 【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
発明者または考案者 【氏名】岩田 具治
【氏名】田中 利幸
個別代理人の代理人 【識別番号】100064414、【弁理士】、【氏名又は名称】磯野 道造
【識別番号】100127720、【弁理士】、【氏名又は名称】大石 恵
【識別番号】100162374、【弁理士】、【氏名又は名称】中村 新二
審査官 【審査官】脇岡 剛
参考文献・文献 特開2005-258722(JP,A)
調査した分野 G06Q 10/04
G06N 5/04
特許請求の範囲 【請求項1】
学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、
演算手段と、
前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、
前記演算手段による予測結果を出力する出力手段と、を備え、
前記学習用サンプルデータを、時間または地域に応じて性質が変化する第1観測データと、前記第1観測データに関連して時間または地域に応じて性質が変化する第2観測データと、前記第1および第2観測データに対応する時間または地域の情報の離散値を示す指標情報と、の3つの要素を有するデータとし、
前記予測用サンプルデータを、前記学習用サンプルデータを構成する3つの要素のうち、前記第2観測データが未知であり前記第1観測データおよび前記指標情報が既知であるデータとしたとき、
前記演算手段は、
前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第1および第2観測データとを条件として、前記第1および第2観測データの前記指標情報に対する事後確率をそれぞれ推定する事後確率推定手段と、
前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定する混合比推定手段と、
前記決定された指標情報の重みを前記記憶手段に書き込む重み書込手段と、
前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第2観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築手段と、
前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第2観測データを予測する処理を行う予測処理手段とを備えることを特徴とする予測装置。
【請求項2】
学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、
演算手段と、
前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、
前記演算手段による予測結果を出力する出力手段と、を備え、
前記学習用サンプルデータを、時間または地域に応じて性質が変化する第1観測データと、前記第1観測データに関連して時間または地域に応じて性質が変化する第2観測データと、前記第1および第2観測データに対応する時間または地域の情報の離散値を示す指標情報と、の3つの要素を有するデータとし、
前記系列データを、第2観測データyが与えられたときの第1観測データxの分布が、異なる前記指標情報の離散値において類似している学習用サンプルデータの系列とし、
前記予測用サンプルデータを、前記学習用サンプルデータを構成する3つの要素のうち、前記第2観測データが未知であり前記第1観測データおよび前記指標情報が既知であるデータとしたとき、
前記演算手段は、
前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第2観測データを条件として、前記第2観測データの前記指標情報に対する事後確率をそれぞれ推定する事後確率推定手段と、
前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定する混合比推定手段と
前記決定された指標情報の重みを前記記憶手段に書き込む重み書込手段と、
前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第2観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築手段と、
前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第2観測データを予測する処理を行う予測処理手段とを備えることを特徴とする測装置。
【請求項3】
前記モデル構築手段は、
前記推定された指標情報の重みと、前記重みのハイパーパラメータと、前記近似された期待誤差における誤差関数とに基づく目的関数を最小化させるように、前記系列データおよび前記推定された重みに基づいてモデルを学習することで、前記予め定められた離散値におけるモデルを推定するモデルパラメータ推定手段と、
前記推定されたモデルに対して適用される前記誤差関数を最小化させるように、前記ハイパーパラメータを推定するハイパーパラメータ推定手段と、を備え、
前記モデルパラメータ推定手段は、
前記誤差関数が最小化されたときの前記ハイパーパラメータを用いて推定されたモデルを構築すべきモデルとして決定することを特徴とする請求項1または請求項に記載の予測装置。
【請求項4】
学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、
演算手段と、
前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、
前記演算手段による予測結果を出力する出力手段と、を備える予測装置の予測方法であって、
前記学習用サンプルデータを、時間または地域に応じて性質が変化する第1観測データと、前記第1観測データに関連して時間または地域に応じて性質が変化する第2観測データと、前記第1および第2観測データに対応する時間または地域の情報の離散値を示す指標情報と、の3つの要素を有するデータとし、
前記予測用サンプルデータを、前記学習用サンプルデータを構成する3つの要素のうち、前記第2観測データが未知であり前記第1観測データおよび前記指標情報が既知であるデータとしたとき、
前記予測装置の演算手段は、
前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第1および第2観測データとを条件として、前記第1および第2観測データの前記指標情報に対する事後確率をそれぞれ推定するステップと、
前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定するステップと、
前記決定された指標情報の重みを前記記憶手段に書き込むステップと、
前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第2観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築ステップと、
前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第2観測データを予測する処理を行う予測処理ステップと、を含んで実行することを特徴とする予測方法。
【請求項5】
学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、
演算手段と、
前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、
前記演算手段による予測結果を出力する出力手段と、を備える予測装置の予測方法であって、
前記学習用サンプルデータを、時間または地域に応じて性質が変化する第1観測データと、前記第1観測データに関連して時間または地域に応じて性質が変化する第2観測データと、前記第1および第2観測データに対応する時間または地域の情報の離散値を示す指標情報と、の3つの要素を有するデータとし、
前記系列データを、第2観測データyが与えられたときの第1観測データxの分布が、異なる前記指標情報の離散値において類似している学習用サンプルデータの系列とし、
前記予測用サンプルデータを、前記学習用サンプルデータを構成する3つの要素のうち、前記第2観測データが未知であり前記第1観測データおよび前記指標情報が既知であるデータとしたとき、
前記予測装置の演算手段は、
前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第2観測データを条件として、前記第2観測データの前記指標情報に対する事後確率をそれぞれ推定するステップと、
前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定するステップと、
前記決定された指標情報の重みを前記記憶手段に書き込むステップと、
前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第2観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築ステップと、
前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第2観測データを予測する処理を行う予測処理ステップと、を含んで実行することを特徴とする予測方法。
【請求項6】
請求項4または5に記載の予測方法をコンピュータに実行させるための予測プログラム。
【請求項7】
請求項6に記載の予測プログラムが記録されたことを特徴とするコンピュータ読み取り可能な記録媒体。
発明の詳細な説明 【技術分野】
【0001】
本発明は、生起順序が予め与えられている事象を示す学習データを学習することで将来生じる事象を予測する予測装置、予測方法、予測プログラムおよびそのプログラムを格納した記録媒体に関する。
【背景技術】
【0002】
従来、生起順序が予め与えられている事象を示す学習データを学習することで、将来生じる事象を予測する予測問題に関する技術が知られている。この予測問題では、例えば、式(101)で示す入力サンプル(入力データ)xと、式(102)で示す出力サンプル(出力データ)yとを想定している。ここで、Xは入力サンプル集合、Yは出力サンプル集合を示す。入力サンプルxと出力サンプルyとには必ずしも因果関係がある訳ではない。そして、式(103)で示す入出力サンプル(x,y)が生成したときの時刻tを式(104)で定義する。ここで、Tは例えば最新の時刻を示す。そして、予測装置は、学習段階において、例えば式(105)で示す学習データを学習する。ここで、nはインデックスを示し、Nは学習データ数を示す。そして、予測装置は、予測段階において、式(106)で示すように、出力yが未知のサンプル(x,t)についてその出力yを予測する。
【0003】
【数1】
JP0005071851B2_000002t.gif

【0004】
この予測問題を、例えば、店舗側の購買予測に適用した場合には、出力サンプルyは購買商品を示し、入力サンプルxはそのときの購買履歴を示し、入出力サンプル(x,y)が生成したときの時刻tは購買時刻を示すこととなる。なお、インデックスnは例えば購買番号や購買者(ユーザ)を示し、学習データ数Nは例えば購買数や購買者数(ユーザ数)を示すこととなる。購買予測の場合のデータ(購買データ)の具体例を表1に示す。ここで、購買履歴としては1つ前に購買した商品とした。購買履歴および購買商品(入出力サンプル)は時系列データである。なお、x,y,tはすべて離散的なものとする。
【0005】
【表1】
JP0005071851B2_000003t.gif

【0006】
このような時系列データの多くは、時間とともにその性質が変化するものである。時間とともに性質が変化する時系列データとは、式(107)に示すように、時刻tにおける入出力の(確率)分布Pと、時刻t′における入出力の(確率)分布Pと、が異なるような時系列データである。なお、時系列データの一例として購買データを挙げたが、時系列データには、例えば、ニュース記事データ、論文データ、Webサーフィンデータ等が含まれる。
【0007】
【数2】
JP0005071851B2_000004t.gif

【0008】
時間とともにその性質が変化する時系列データの具体例を説明するために、ここでは、購買データを考える。例えば、商品販売の予測においては、現実にはメーカや店舗の経営戦略や都合に起因して、新商品の発表や発売中止等の突発的な事象が生じる。そのため、このような最新の情報を予測に反映させることにより、予測される商品候補(出力される商品候補)は日々変化することとなる。また、季節や流行、社会的、経済的環境等の大局的な事象の変化により、各商品の出力分布(予測される確率分布)も変化する。
【0009】
この購買データから、次にユーザが購入すると思われる商品を高い精度で予測できれば、その商品をユーザにリコメンドすることができる。従来、例えば、オンラインショッピング等の商品について購買順序を考慮した予測精度の高いリコメンド技術が知られている(例えば、非特許文献1参照)。

【非特許文献1】岩田具治、山田武士、上田修功、“購買順序を考慮した協調フィルタリング”、人工知能と知識処理研究会、AI2007-3,13-18,2007
【発明の開示】
【発明が解決しようとする課題】
【0010】
非特許文献1に開示された技術は、予測精度は高いものの、時間情報すなわち購買時間を考慮するものではなく、計算コストを低く抑えることを目的としており、最新データの予測精度を高めることを目的とするものでもない。しかしながら、時間とともに性質が変化する時系列データにおける予測問題では、全学習データに対する高い予測精度ではなく、最新の時刻におけるデータに対して高い予測精度が望まれることが多い。これは、例えば、性質変化が急激なデータの場合には、過去の時刻のデータに対する予測精度が高いモデルであっても、将来を予測するためには使えない場合があるからである。
【0011】
そこで、本発明は、以上のような問題点に鑑みてなされたものであり、時間とともに性質が変化する時系列データにおいて最新の時刻におけるデータを高い精度で予測することができる予測装置、予測方法、予測プログラムおよびそのプログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、前記課題を解決するために創案されたものであり、本発明に係る予測装置は、学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、演算手段と、前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、前記演算手段による予測結果を出力する出力手段と、を備え、前記学習用サンプルデータを、時間または地域に応じて性質が変化する第1観測データと、前記第1観測データに関連して時間または地域に応じて性質が変化する第2観測データと、前記第1および第2観測データに対応する時間または地域の情報の離散値を示す指標情報と、の3つの要素を有するデータとし、前記予測用サンプルデータを、前記学習用サンプルデータを構成する3つの要素のうち、前記第2観測データが未知であり前記第1観測データおよび前記指標情報が既知であるデータとしたとき、前記演算手段は、前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第1および第2観測データとを条件として、前記第1および第2観測データの前記指標情報に対する事後確率をそれぞれ推定する事後確率推定手段と、前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定する混合比推定手段と、前記決定された指標情報の重みを前記記憶手段に書き込む重み書込手段と、前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第2観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築手段と、前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第2観測データを予測する処理を行う予測処理手段とを備えることを特徴とする。
【0013】
かかる構成によれば、予測装置は、予測対象に関する系列データから得られる期待誤差を近似した期待誤差を最小化させるように、指標情報の予め定められた離散値におけるモデルを構築し、構築されたモデルと、予測用サンプルデータとに基づいて、指標情報の予め定められた離散値における未知の第2観測データを予測する処理を行う。ここで、所定の基準は、例えば、時間や地域等である。時間という基準に立脚した離散的な指標とは、過去から未来へ向かう一方向性の特徴を有した時間における特定の時刻を示し、系列データは時系列データとなる。このときの離散値は、年月日や時分秒等所定の単位を用いることができ、予め定められた離散値とは、例えば最新時刻等に設定できる。また、所定の基準が地域である場合には、その基準の種類として、例えば、地域環境やその場所に居住する人やくらし等を挙げることができ、このときの指標は、例えば、位置や距離、各種統計量等となる。このときの離散値は、位置座標や各種距離単位、各種の統計や動向調査に用いられる所定単位、「0,1」等のデジタル表記等を用いることができる。
【0014】
例えば、時間を基準にして時系列データを用いて予め定められた離散値として最新時刻を設定したときには、予測装置は、指標情報の重みとして、時間情報の重みを推定する。この時間情報の重みによって、最新時刻のデータに適合するモデルを学習するために有益な情報を最新時刻のデータ以外の過去のデータから取り込むことができる。また、この時間情報の重みによって、最新時刻での経験誤差を最新時刻での期待誤差に対する精度のよい近似として用いることができる。したがって、予測装置は、このように推定された重みを用いて構築されたモデルと、出力(第2観測データ)が未知のサンプルから、そのサンプルの最新の時刻における未知データを高い精度で予測することが可能となる。
【0016】
また、かかる構成によれば、予測装置は、後確率推定手段と、混合比推定手段とを備えているので、事後確率推定手段が、EMアルゴリズム(Expectation-Maximization algorithm)におけるEステップ(Expectation step)を行い、かつ、混合比推定手段がMステップ(Maximization step)を行うことで、混合比についての大域的最適解を求め、求めた混合比から重みを決定することができる。
【0017】
また、前記課題を解決するために、本発明に係る予測装置は、学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、演算手段と、前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、前記演算手段による予測結果を出力する出力手段と、を備え、前記学習用サンプルデータを、時間または地域に応じて性質が変化する第1観測データと、前記第1観測データに関連して時間または地域に応じて性質が変化する第2観測データと、前記第1および第2観測データに対応する時間または地域の情報の離散値を示す指標情報と、の3つの要素を有するデータとし、前記系列データを、第2観測データyが与えられたときの第1観測データxの分布が、異なる前記指標情報の離散値において類似している学習用サンプルデータの系列とし、前記予測用サンプルデータを、前記学習用サンプルデータを構成する3つの要素のうち、前記第2観測データが未知であり前記第1観測データおよび前記指標情報が既知であるデータとしたとき、前記演算手段は、前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第2観測データを条件として、前記第2観測データの前記指標情報に対する事後確率をそれぞれ推定する事後確率推定手段と、前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定する混合比推定手段と、前記決定された指標情報の重みを前記記憶手段に書き込む重み書込手段と、前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第2観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築手段と、前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第2観測データを予測する処理を行う予測処理手段とを備えることを特徴とする
【0018】
かかる構成の予測装置によれば、予測装置は、重みを決定するためにEMアルゴリズムを用いて混合比を推定する際に、第1および第2観測データの条件付き分布の代わりに第2観測データの条件付き分布を用いればよいので、計算が比較的容易になり、処理負荷を低減できる。
【0019】
また、本発明に係る予測装置は、前記モデル構築手段が、前記推定された指標情報の重みと、前記重みのハイパーパラメータと、前記近似された期待誤差における誤差関数とに基づく目的関数を最小化させるように、前記系列データおよび前記推定された重みに基づいてモデルを学習することで、前記予め定められた離散値におけるモデルを推定するモデルパラメータ推定手段と、前記推定されたモデルに対して適用される前記誤差関数を最小化させるように、前記ハイパーパラメータを推定するハイパーパラメータ推定手段と、を備え、前記モデルパラメータ推定手段が、前記誤差関数が最小化されたときの前記ハイパーパラメータを用いて推定されたモデルを構築すべきモデルとして決定することが好ましい。
【0020】
かかる構成によれば、予測装置は、モデル構築手段が、モデルパラメータ推定手段と、ハイパーパラメータ推定手段とを備えているので、誤差関数を最小化させるハイパーパラメータによって、重み推定手段で推定された重みを安定化させた精度のよいモデルを構築することができる。
【0021】
また、前記課題を解決するために、本発明に係る予測方法は、学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、演算手段と、前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、前記演算手段による予測結果を出力する出力手段と、を備える予測装置の予測方法であって、前記学習用サンプルデータを、時間または地域に応じて性質が変化する第1観測データと、前記第1観測データに関連して時間または地域に応じて性質が変化する第2観測データと、前記第1および第2観測データに対応する時間または地域の情報の離散値を示す指標情報と、の3つの要素を有するデータとし、前記予測用サンプルデータを、前記学習用サンプルデータを構成する3つの要素のうち、前記第2観測データが未知であり前記第1観測データおよび前記指標情報が既知であるデータとしたとき、前記予測装置の演算手段が、前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第1および第2観測データとを条件として、前記第1および第2観測データの前記指標情報に対する事後確率をそれぞれ推定するステップと、前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定するステップと、前記決定された指標情報の重みを前記記憶手段に書き込むステップと、前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第2観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築ステップと、前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第2観測データを予測する処理を行う予測処理ステップと、を含んで実行することを特徴とする。
また、前記課題を解決するために、本発明に係る予測方法は、学習用サンプルデータの系列である系列データおよび予測用サンプルデータを入力する入力手段と、演算手段と、前記入力された系列データと前記予測用サンプルデータとを格納すると共に前記演算手段による演算処理結果を記憶する記憶手段と、前記演算手段による予測結果を出力する出力手段と、を備える予測装置の予測方法であって、前記学習用サンプルデータを、時間または地域に応じて性質が変化する第1観測データと、前記第1観測データに関連して時間または地域に応じて性質が変化する第2観測データと、前記第1および第2観測データに対応する時間または地域の情報の離散値を示す指標情報と、の3つの要素を有するデータとし、前記系列データを、第2観測データyが与えられたときの第1観測データxの分布が、異なる前記指標情報の離散値において類似している学習用サンプルデータの系列とし、前記予測用サンプルデータを、前記学習用サンプルデータを構成する3つの要素のうち、前記第2観測データが未知であり前記第1観測データおよび前記指標情報が既知であるデータとしたとき、前記予測装置の演算手段は、前記指標情報の予め定められた離散値における前記系列データの真の分布を近似するために、前記指標情報の各離散値における経験分布に混合される予め定められた混合比と、前記系列データにおける所定の学習用サンプルデータの前記第2観測データを条件として、前記第2観測データの前記指標情報に対する事後確率をそれぞれ推定するステップと、前記推定されたそれぞれの事後確率を利用して、前記指標情報の前記予め定められた離散値における前記系列データに対する尤度を最大化するように、前記混合比を推定し、前記尤度が最大化されたときの前記混合比から前記指標情報の重みを決定するステップと、前記決定された指標情報の重みを前記記憶手段に書き込むステップと、前記記憶手段から前記決定された指標情報の重みを読み込んで、当該重みを用いた期待誤差に基づく目的関数と前記系列データとを用いて、前記予測用サンプルデータから、前記指標情報の前記予め定められた離散値における前記未知の第2観測データを予測するモデルを構築して前記記憶手段に書き込むモデル構築ステップと、前記記憶手段から前記構築されたモデルと前記予測用サンプルデータとを読み込んで、前記構築されたモデルと、前記予測用サンプルデータとに基づいて、前記指標情報の前記予め定められた離散値における当該予測用サンプルデータの前記未知の第2観測データを予測する処理を行う予測処理ステップと、を含んで実行することを特徴とする。
【0022】
かかる手順の予測方法によれば、予測装置は、予測対象に関する系列データから得られる期待誤差を近似した期待誤差を最小化させるように、指標情報の予め定められた離散値におけるモデルを構築し、構築されたモデルと、予測用サンプルデータとに基づいて、指標情報の予め定められた離散値における未知の第2観測データを予測する処理を行う。例えば、時間を基準にして時系列データを用いて予め定められた離散値として最新時刻を設定したときには、予測装置は、指標情報の重みとして、時間情報の重みを推定する。この時間情報の重みによって、最新時刻のデータに適合するモデルを学習するために有益な情報を最新時刻のデータ以外の過去のデータから取り込むことができる。また、この時間情報の重みによって、最新時刻での経験誤差を最新時刻での期待誤差に対する精度のよい近似として用いることができる。したがって、予測装置は、このように推定された重みを用いて構築されたモデルと、出力(第2観測データ)が未知のサンプルから、そのサンプルの最新の時刻における未知データを高い精度で予測することが可能となる。
【0023】
また、本発明に係る予測プログラムは、前記した予測方法をコンピュータに実行させることを特徴とする。このように構成されることにより、このプログラムをインストールされたコンピュータは、このプログラムに基づいた各機能を実現することができる。
【0024】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、前記した予測プログラムが記録されたことを特徴とする。このように構成されることにより、この記録媒体を装着されたコンピュータは、この記録媒体に記録されたプログラムに基づいた各機能を実現することができる。
【発明の効果】
【0025】
本発明によれば、時間情報等を示す指標情報の重みによって、指標情報の予め定められた離散値のデータに適合するモデルを学習するために有益な情報を、予め定められた離散値のデータ以外のデータから取り込むことで、予め定められた離散値での経験誤差を期待誤差に対する精度のよい近似として用いることができる。そのため、時間とともに性質が変化する時系列データにおいて、最新の時刻におけるデータを高い精度で予測することが可能となる。
【発明を実施するための最良の形態】
【0026】
以下、本発明の予測装置および予測方法を実施するための最良の形態(以下「実施形態」という)について詳細に説明する。説明の都合上、本発明の概要を説明した上で、実施形態について図面を参照して説明する。
【0027】
[本発明の概要]
本発明は、予測対象に関する入力サンプル(基準側の第1観測データ)と、出力サンプル(予測側の第2観測データ)と、出力サンプルが示す性質の変化を離散的に知覚するための所定の基準に立脚した離散的な指標を示す指標情報とを有する予測対象に関する入出力サンプル(学習用サンプルデータ)についての指標情報に関する系列を示す系列データを学習することで、入力サンプルおよび指標情報が既知で出力サンプルが未知であるサンプル(予測用サンプルデータ)から、未知の出力サンプルを予測する予測問題に関するものである。特に、本発明は、時間情報に応じて変化するデータ(時系列データ)を予測対象とすることが好ましい。その性質が時間的に変化するデータの種類としては、例えば、購買データ、ニュース記事データ、論文データ、Webサーフィンデータ等を挙げることができる。特に、予測対象とするデータが購買データである場合には、購買される対象物(商品)は、実体としてのモノに限らずデータ等のサービスであってもよい。このようなサービスデータは、例えば、画像データ、映像データ、音楽データ等である。
【0028】
本実施形態では、本発明の説明を単純化させるために、時間情報に応じて変化する購買データを予測対象とすることを念頭に説明する。この場合に、本発明は、全学習データに対する予測精度が高いモデルを学習するのではなく、最新のデータに対する予測精度が高いモデルを学習する予測手法であると言える。このような学習を行うためには、最新時刻で最小にすべき期待誤差を精度よく推定する必要がある。そこで、本発明では、大要、サンプルが生成された時刻(時間情報)を重み付ける重みを推定する処理(重み推定処理)と、推定された重みを安定に取り込んだ予測モデルを構築する処理(モデル構築処理)とを行うこととした。以下、これらの重み推定処理およびモデル構築処理の原理について順次説明する。
【0029】
<重み推定処理の原理>
最新時刻におけるデータ(サンプル)に対する期待誤差ETは、式(1)で示される。ここで、時間の単位は、任意であり、最新時刻とは、最新の時分秒を示すほか、最新日、最新月、最新年等を示すことができる。このような最新のデータに対する予測精度が高いモデルを学習するときには、式(1)に示す期待誤差ETが最小になるようなモデルが望ましい。式(1)において、Tは最新時刻を示し、J(x,y;M)は、サンプル(x,y)が与えられたときの予測モデル(以下、単にモデルという)Mの誤差関数を示す。また、P(x,y;T)は、最新時刻におけるサンプル(x,y)の確率分布(以下、単に分布という)を示す。なお、モデルMとしては、例えば、1次マルコフモデル、2次マルコフモデル等、任意のモデルを用いることができる。ここで、入力サンプル(x)は、第1観測データであり、単に入力ともいう。また、出力サンプル(y)は、第2観測データであり、単に出力ともいう。
【0030】
【数3】
JP0005071851B2_000005t.gif

【0031】
誤差関数J(x,y;M)は、例えば、式(2)に示す負の対数尤度や、式(3)に示す0-1損失関数等が考えられる。なお、以下では、対数は自然対数、すなわち、対数logの底は「e」であるものとする。
【0032】
【数4】
JP0005071851B2_000006t.gif

【0033】
最新時刻のサンプル数が無限大の極限である場合には、最新時刻での経験誤差は、最新時刻での期待誤差ETと一致する。しかし、最新時刻のデータのみを用いて学習した場合には、全データを用いて学習する場合と比べて、サンプル数が少なくなるため、適切なモデルが得られない可能性がある。そのため、最新時刻のデータのみを用いて学習することは好ましくはない。また、最新時刻のデータより前の過去のデータにも、最新時刻のデータに適合するモデルを学習するために有益な情報がある程度は含まれていると考えられる。そこで、重み推定処理においては、サンプル(x,y)が与えられたときのモデルMの誤差関数J(x,y;M)を、サンプル(x,y)が生成された時刻における重みによって重み付けしたときの誤差E(M)を最小化させるようにモデルMを学習することとした。このときの誤差E(M)は、式(4)で示される。式(4)において、w(tn)は時刻tnにおける重みであり、最新時刻Tにおけるモデル(重みに基づいて後に構築するモデル)を学習するために時刻tnのデータがどのくらい参考になるかを表す。
【0034】
【数5】
JP0005071851B2_000007t.gif

【0035】
前記した式(1)の代わりに式(4)を用いることの正当性を以下に説明する。
まず、時刻がtであるサンプル数をN(t)とする。また、時刻がt、入力がx、出力がyのサンプル数をN(t,x,y)とする。また、最新時刻Tにおけるサンプル(x,y)の分布(真の分布)P(x,y|T)を、式(5)に示すように、各時刻における経験分布の混合で近似することとする。式(5)を満たす混合比を式(6)で示す。以下では、個々の混合比を混合分布P(t)と呼ぶ。つまり、式(5)は、最新時刻Tにおける真の分布P(x,y|T)が、各時刻における経験分布と混合分布P(t)との積を時刻tについて加算した結果で近似することを示すことになる。また、各時刻における経験分布には、サンプル数N(t),N(t,x,y)との間で、式(7)の関係がある。なお、式(7)においてPに付した記号「^(ハット)」は、そのPが経験分布であることを示すものである。
【0036】
【数6】
JP0005071851B2_000008t.gif

【0037】
そして、式(8)に示すように、重みは、混合分布P(t)を、時刻がtであるサンプル数N(t)で除した値として定義される。なお、式(8)に式(7)の関係を適用すると、重みは式(9)で示される。
【0038】
【数7】
JP0005071851B2_000009t.gif

【0039】
そして、このとき、前記した式(4)に示す誤差E(M)は、式(10)のように書き換えられる。式(10)において、右辺の2行目は、サンプル数N(t,x,y)の定義による変形結果を示し、右辺の3行目は、前記した式(9)よる変形結果を示す。また、右辺の4行目は、前記した式(5)の近似を用いた変形結果を示し、右辺の5行目は、前記した式(1)よる変形結果を示す。その結果、前記した式(4)に示す誤差E(M)は、最新時刻Tでの期待誤差ETの近似となることが理解される。
【0040】
【数8】
JP0005071851B2_000010t.gif

【0041】
次に、時刻tにおける重みw(t)を推定する。前記した式(8)の関係から、重みw(t)を推定することは、混合分布P(t)を推定することと同義である。つまり、重みw(t)を推定するためには、混合比を決定すればよい。前記した式(6)に示す混合比は、式(11)に示す最新時刻Tのサンプル集合に対する尤度L(P)を最大化することにより推定することができる。なお、過学習を回避するためleave-one-out法を用いる。式(11)の右辺の2行目は、式(12)に示す関係式を用いて書き換えたものを示す。式(12)は、n番目のサンプルを除いたときに前記した式(5)より推定される最新時刻Tにおける分布の推定値の定義式である。
【0042】
【数9】
JP0005071851B2_000011t.gif

【0043】
式(12)の右辺におけるn番目のサンプルを除いたときの時刻tでの経験分布は、式(13)で示される。式(13)において、αは、ゼロ確率問題を回避するため導入されたものであり、Dirichlet事前分布のパラメータを示す。また、δt,Tはクロネッカーのデルタを示す。
【0044】
【数10】
JP0005071851B2_000012t.gif

【0045】
ここで、対数関数は上に凸な関数であるため、前記した式(11)に示すL(P)の関数形も上に凸であり、L(P)を最大化することにより、Pについての大域的最適解(Pと表記する)を得ることができる。L(P)を最大化させるための最適化手法は、任意であり、例えば、EMアルゴリズムを用いることができる。本実施形態では、EMアルゴリズムを用いて説明する。個々の完全データの対数尤度を式(14)で示す。ここで、式(14)は前記した式(11)に示すL(P)の右辺第2行に示したものである。また、最大化すべき対数尤度は、tn=Tとなるnの個数だけの完全データの対数尤度である。
【0046】
【数11】
JP0005071851B2_000013t.gif

【0047】
したがって、最大化すべき完全データの対数尤度の条件付き期待値は、式(15)で示される。ここで、τは、Eステップ(Expectation step)とMステップ(Maximization step)との2つの手順を繰り返した回数(τ=0,1,2,…)を指す。なお、τ=0のときには推定値の予め定められた初期値を示す。
【0048】
【数12】
JP0005071851B2_000014t.gif

【0049】
EMアルゴリズムでは、まず、Eステップにおいて、式(15)に示す条件付き期待値Q(P|P(τ))を計算する際に、式(17)を用いて推定したP(τ)(t)を用いて式(16)の計算を行う。式(16)の計算においては、全サンプル(x,y)の全時刻tに対する事後確率を推定する。次に、Mステップにおいて、式(15)に示す条件付き期待値Q(P|P(τ))を最大化する際に、式(16)を用いて求めた結果を用いて式(17)の計算を行い、混合分布についての新しい推定値P(τ+1)(t)を求める。すなわち、混合比を推定する。
【0050】
【数13】
JP0005071851B2_000015t.gif

【0051】
そして、EステップとMステップとの2つの手順を収束条件が満たされるまで繰り返すことにより、各混合分布P(t)すなわち前記した式(6)に示す混合比が得られる。ここで、前記した式(15)に示す条件付き期待値Q(P|P(τ))が最大化するときには、前記した式(11)に示す尤度L(P)が最大化することになる。すなわち、前記した式(11)に示す尤度L(P)が収束する。このときに収束条件が満たされる。したがって、本実施形態においては、Eステップで、式(17)を用いて推定したP(τ)(t)を利用して式(16)の計算を行い、また、Mステップで、式(16)を用いて求めた結果を利用して式(17)の計算を行い、EステップとMステップとの組み合わせが終了した時点で、前記した式(11)に示す尤度L(P)が収束したか否かを判別する。判別の結果、収束していなければ収束するまでEステップとMステップとを交互に繰り返す。そして、収束条件が満たされたときの混合分布P(t)を、前記した式(8)に示す重みの定義式に用いることで、サンプル(x,y)が生成された時刻tにおける重みw(t)が推定されたこととなる。
【0052】
<モデル構築処理の原理>
重み推定処理では、サンプル(x,y)が生成された時刻tにおける重みw(t)を推定することで、前記した式(1)に示す最新時刻Tにおけるデータ(サンプル)に対する期待誤差ETを、前記した式(4)に示す誤差E(M)で近似することとした。この推定された重みw(t)を安定化させるために、モデル構築処理では、ハイパーパラメータλを導入して、式(18)に示す誤差E(M,λ)を、最小とすべき目的関数とすることとした。つまり、誤差E(M,λ)を最小化させるようにモデルMを学習する
【0053】
【数14】
JP0005071851B2_000016t.gif

【0054】
モデルMを学習したデータでハイパーパラメータλを学習すると過学習を起こす可能性がある。そこで、K重交差検定法(K-fold cross validation)を用いてハイパーパラメータλを学習する。なお、学習に用いなかったデータに対する汎化誤差が大きくなってしまう現象は過学習と呼ばれている。具体的には、K重交差検定法では、まず、式(19)に示す全学習データDを式(20)に示すようにK個の部分集合Dkに分割する。式(20)において、kは学習データD中の部分集合のインデックスを示す。そして、分割された部分集合のうち部分集合Djを学習に用いる。ここで、部分集合Djは、式(21)に示すように、所定の部分集合を除く(K-1)個の部分集合を示す。式(21)では、除かれる所定の部分集合のインデックスをkとして、それ以外の部分集合のインデックスをjとした。そして、部分集合Djを学習に用いて、前記した式(18)に示す目的関数(誤差E(M,λ))を最小化させるモデルを、最新時刻Tにおけるモデルとして構築する。構築すべきモデルとして、所定の部分集合kに依存したモデルを式(22)に示す。K重交差検定法では、除かれる部分集合Dkとして分割したすべての種類(K種類)の集合を考慮するので、式(22)に示すモデルを、除かれる所定の部分集合のインデックスk毎に学習し、K個のモデルを構築する。なお、式(22)においてMに付した記号「^(ハット)」は、そのMがargmin関数の引数を最小化させることを示すものである。
【0055】
【数15】
JP0005071851B2_000017t.gif

【0056】
ハイパーパラメータλについては、部分集合Dj以外、すなわち、学習に用いなかった部分集合Dk毎に、その部分集合Dkの最新時刻Tのデータに対する誤差関数Jが最小になるように学習し、さらに、除かれる部分集合Dkとしてすべての種類(K種類)を考慮する。具体的には、式(23)に示す計算により、誤差関数Jを最小化させるハイパーパラメータλを求める。なお、式(23)においてλに付した記号「^(ハット)」は、そのλがargmin関数の引数を最小化させることを示すものである。
【0057】
【数16】
JP0005071851B2_000018t.gif

【0058】
ここで、前記した式(18)に示す目的関数(誤差E(M,λ))が最小化するときには、目的関数(誤差E(M,λ))が収束する。このときに収束条件が満たされる。したがって、本実施形態においては、式(23)を用いて推定したハイパーパラメータを利用して式(22)の計算を行い、また、式(22)を用いて求めたモデルを利用して式(23)の計算を行い、モデルの推定とハイパーパラメータの推定との組み合わせが終了した時点で、前記した式(18)に示す目的関数(誤差E(M,λ))が収束したか否かを判別する。判別の結果、収束していなければ収束するまでモデルの推定とハイパーパラメータの推定とを交互に繰り返す。そして、収束条件が満たされたときに、その時点のモデルが、最新時刻Tにおけるモデルとして推定されたこととなる。
【0059】
[予測装置の全体構成]
次に、本発明の実施形態について図面を参照して説明する。図1は、本発明の実施形態に係る予測装置の構成を示すブロック図である。予測装置1は、予測対象に関する入出力サンプル(学習用サンプルデータ)についての系列を示す入力データ(系列データ)を学習することで、出力が未知であるサンプルから、未知の出力サンプルを予測するものである。図1に示すように、予測装置1は、演算手段2と、入力手段3と、記憶手段4と、出力手段5とを備えている。各手段2~5はバスライン11に接続されている。
【0060】
演算手段2は、例えば、CPU(Central Processing Unit)およびRAM(Random Access Memory)から構成される主制御装置である。この演算手段2は、図1に示すように、重み推定部(重み推定手段)21と、モデル構築部(モデル構築手段)22と、予測処理部(予測処理手段)23と、メモリ24とを含んで構成される。なお、各部21~23の説明は後記する。
【0061】
入力手段3は、例えば、キーボード、マウス、ディスクドライブ装置等から構成される。この入力手段3は、例えば、データとして入力データ(系列データ)およびサンプルを入力し、記憶手段4に格納する。本実施形態では、入力データ(系列データ)を前記した表1に示す購買予測の場合のデータ(購買データ)とする。
【0062】
記憶手段4は、例えば、一般的なハードディスク装置等から構成され、演算手段2で用いられる各種プログラムや各種データ等を記憶する。この記憶手段4は、プログラムとして、重み推定プログラム41と、モデル構築プログラム42と、予測処理プログラム43とをプログラム格納部40aに記憶する。そして、演算手段2は、これらのプログラム41~43を記憶手段4から読み込んでメモリ24に展開して実行することで、前記した重み推定部21、モデル構築部22、予測処理部23の各機能を実現する。
【0063】
また、記憶手段4は、入力データ(系列データ)44と、重み45と、モデルパラメータ46と、サンプル47とをデータ格納部40bに記憶する。ここで、入力データ(系列データ)44は、入力手段3から入力されるデータであり、例えば、前記した表1に示した購買データである。重み45は、演算手段2の重み推定部21の演算処理結果を示すデータである。モデルパラメータ46は、演算手段2のモデル構築部22の演算処理結果を示すデータである。サンプル47は、例えば、前記した表1に示した購買データに対応したデータであり、入力xと時刻tとが既知であり、出力yが未知のデータである。
【0064】
出力手段5は、例えば、グラフィックボード(出力インタフェース)およびそれに接続されたモニタである。モニタは、例えば、液晶ディスプレイ等から構成され、演算処理結果(例えば、予測を行った結果<予測される購買商品の情報等>)を表示する。
【0065】
次に、演算手段2の各部の構成の詳細を説明する。
<重み推定部>
図2を参照しながら、重み推定部21の構成について説明する。図2は、重み推定部の構成を示す機能ブロック図である。重み推定部(重み推定手段)21は、入力データ(系列データ)44から得られる、最新時刻(指標情報の予め定められた離散値)における入出力サンプル(学習用サンプルデータ)の入力サンプル(第1観測データ)および出力サンプル(第2観測データ)に対する期待誤差が、入出力サンプルが与えられたときのモデルの誤差関数と、それぞれの入出力サンプルの時間情報の重みと、を用いて近似された期待誤差を最小化させるように、時間情報の重みを推定するものである。図2に示すように、重み推定部21は、入力データ読込部211と、事後確率推定部212と、混合比推定部213と、重み書込部214とを備えている。
【0066】
入力データ読込部211は、入力データ44を読み込み、事後確率推定部212に出力するものである。
事後確率推定部(事後確率推定手段)212は、最新時刻における入力データ44の真の分布を近似するために、各時刻における経験分布に混合される予め定められた混合比と、入力データ44における入出力サンプル(x,y)とを条件として、入出力サンプル(x,y)の時間情報tに対する事後確率をそれぞれ推定するものである。本実施形態では、事後確率推定部212は、前記した式(13)で示される経験分布を予め計算しておく。また、事後確率推定部212は、前記した式(16)により全サンプルの全時刻に対する事後確率を推定する。
【0067】
混合比推定部(混合比推定手段)213は、事後確率推定部212で推定されたそれぞれの事後確率を利用して、最新時刻における入力データ44に対する尤度を最大化するように、混合比を推定し、尤度が最大化されたときの混合比から重みを決定するものである。本実施形態では、混合比推定部213は、前記した式(17)により混合比を推定する。また、混合比推定部213は、式(11)に示す尤度が収束するか否かを判別し、収束していなときには、その時点の混合比を事後確率推定部212に出力し、一方、収束したときには、その時点の混合比から前記した式(8)に示す重みw(t)を算出し、重み書込部214に出力する。
重み書込部214は、混合比推定部213で推定された重みw(t)を、重み45として、記憶手段4(図1参照)に書き込む。なお、書き込まれた重み45は、モデル構築部22で利用される。
【0068】
<モデル構築部>
図3を参照しながら、モデル構築部22の構成について説明する。図3は、モデル構築部の構成を示す機能ブロック図である。モデル構築部(モデル構築手段)22は、重み推定部21で推定された時間情報(指標情報)の重みを用いた期待誤差に基づく目的関数と入力データ(系列データ)44とを用いて、サンプル(予測用サンプルデータ)47から、最新時刻(指標情報の予め定められた離散値)における未知の出力サンプル(第2観測データ)を予測するモデルを構築するものである。図3に示すように、モデル構築部22は、入力データ読込部221と、重み読込部222と、モデルパラメータ推定部223と、ハイパーパラメータ推定部224と、モデルパラメータ書込部225とを備えている。
【0069】
入力データ読込部221は、入力データ44を読み込み、モデルパラメータ推定部223に出力するものである。
重み読込部222は、重み45を読み込み、モデルパラメータ推定部223に出力するものである。
モデルパラメータ推定部(モデルパラメータ推定手段)223は、重み読込部222で読み込んだ重み45と、重み45のハイパーパラメータと、近似された期待誤差における誤差関数とに基づく目的関数を最小化させるように、入力データ(系列データ)44および重み45に基づいてモデルを学習することで、最新時刻におけるモデルを推定するものである。このモデルパラメータ推定部223は、ハイパーパラメータ推定部224で推定されたハイパーパラメータをモデル推定に用いる。本実施形態では、モデルパラメータ推定部223は、前記した式(22)によりモデルパラメータを推定する。
【0070】
ハイパーパラメータ推定部(ハイパーパラメータ推定手段)224は、モデルパラメータ推定部223で推定されたモデルに対して適用される誤差関数を最小化させるように、ハイパーパラメータを推定するものである。本実施形態では、ハイパーパラメータ推定部224は、前記した式(23)によりハイパーパラメータを推定する。また、ハイパーパラメータ推定部224は、式(18)に示す誤差が収束するか否かを判別し、収束するまで、その時点のハイパーパラメータをモデルパラメータ推定部223に出力し続ける。これにより、モデルパラメータ推定部223では、誤差関数が最小化されたときのハイパーパラメータを用いて推定されたモデルを構築すべきモデルとして決定する。また、ハイパーパラメータ推定部224は、式(18)に示す誤差が収束したと判別したときに、その時点で推定されているモデルをモデルパラメータ書込部225に出力する。
モデルパラメータ書込部225は、推定されたモデルパラメータを、モデルパラメータ46として、記憶手段4(図1参照)に書き込む。なお、書き込まれたモデルパラメータ46は、予測処理部23で利用される。
【0071】
<予測処理部>
図4を参照しながら、予測処理部23の構成について説明する。図4は、予測処理部の構成を示す機能ブロック図である。予測処理部(予測処理手段)23は、モデル構築部22で構築されたモデル(モデルパラメータ46)と、サンプル(予測用サンプルデータ)47とに基づいて、最新時刻(指標情報の予め定められた離散値)におけるサンプル47の未知の出力サンプル(第2観測データ)を予測する処理を行うものである。図4に示すように、予測処理部23は、サンプル読込部231と、モデルパラメータ読込部232と、予測結果出力部233とを備えている。
【0072】
サンプル読込部231は、出力が未知のサンプル47を読み込み、予測結果出力部233に出力するものである。
モデルパラメータ読込部232は、モデルパラメータ46を読み込み、予測結果出力部233に出力するものである。
予測結果出力部233は、サンプル47とモデルパラメータ46とを使って出力サンプル(y)の予測結果を計算し、計算結果(予測結果)を出力手段5(図1参照)に出力するものである。
【0073】
[予測装置の動作]
<処理の流れ>
図1に示した予測装置1の動作について図5を参照(適宜図1参照)して説明する。図5は、予測装置の処理の流れを示す説明図である。まず、予測装置1は、重み推定部21によって、記憶手段4(図1参照)に予め格納された入力データ44に基づいて重みを推定する(ステップS1:重み推定ステップ)。推定された重みは、重み45として記憶手段4に格納される。次に、予測装置1は、モデル構築部22によって、記憶手段4(図1参照)に予め格納された入力データ44および重み45に基づいてモデルを構築する(ステップS2:モデル構築推定ステップ)。構築されたモデルは、モデルパラメータ46として記憶手段4に格納される。続いて、予測装置1は、予測処理部23によって、記憶手段4(図1参照)に予め格納された出力が未知であるサンプル47に対して、モデルパラメータ46に基づいて、対応する出力を予測する予測処理を行う(ステップS3:予測処理ステップ)。
【0074】
次に、前記したステップS1の重み推定ステップと、前記したステップS2のモデル構築推定ステップについて図6および図7をそれぞれ参照(適宜図1ないし図5参照)して説明する。図6は、重み推定処理を示すフローチャートであり、図7は、モデル構築処理を示すフローチャートである。
【0075】
<重み推定ステップ>
前記したステップS1の重み推定ステップでは、図6に示すように、重み推定部21は、入力データ読込部211によって、記憶手段4(図1参照)から、入力データ44を読み込む(ステップS11)。具体的には、入力データ読込部211は、前記した表1で示される構造をした入力データ(系列データ)を読み込む。そして、重み推定部21は、事後確率推定部212によって、経験分布の計算を行う(ステップS12)。具体的には、前記した式(13)で示される経験分布を計算する。そして、重み推定部21は、事後確率推定部212によって、初期化を行う(ステップS13)。具体的には、事後確率推定部212は、EMアルゴリズムのEステップとMステップとの2つの手順の繰り返し回数τを0に設定し(τ=0)、例えば所定の乱数を発生させて前記した式(6)で示す混合比の混合分布P(t)をランダムに設定する。
【0076】
そして、初期化終了後に、重み推定部21は、事後確率推定部212によって、EMアルゴリズムのEステップを実行する(ステップS14)。具体的には、事後確率推定部212は、前記した式(16)により、全サンプル(x,y)の全時刻tに対する事後確率を推定する。続いて、重み推定部21は、混合比推定部213によって、EMアルゴリズムのMステップを実行する(ステップS15)。具体的には、混合比推定部213は、前記した式(17)により、第(τ+1)ステップにおける混合分布P(τ+1)(t)すなわち混合比を推定する。次に、重み推定部21は、混合比推定部213によって、収束条件が満たされたか否かを判別する(ステップS16)。具体的には、混合比推定部213は、前記した式(11)に示す尤度L(P)が収束したか否かを判別する。
【0077】
収束条件が満たされた場合、すなわち前記した式(11)に示す尤度L(P)が収束した場合(ステップS16:Yes)、混合比推定部213は、重みw(t)を計算する(ステップS17)。具体的には、混合比推定部213は、収束した時点における混合分布P(t)とサンプル数N(t)とに基づいて前記した式(8)に示す重みw(t)を全時刻tについて算出する。そして、重み推定部21は、重み書込部214によって、前記した式(8)に示す重みw(t)を、重み45として、記憶手段4(図1参照)に書き込み(ステップS18)、処理を終了する。この重み45は、最新時刻Tにおけるモデルを構築するために時刻tに対して推定された重みを示す。
【0078】
一方、ステップS16において、収束条件が満たされていない場合、すなわち前記した式(11)に示す尤度L(P)が収束していない場合(ステップS16:No)、重み推定部21は、EステップおよびMステップの繰り返し回数τに「1」を加算し(τ=τ+1)、繰り返し回数τを更新し(ステップS19)、ステップS14に戻る。
【0079】
<モデル構築ステップ>
前記したステップS2のモデル構築ステップでは、図7に示すように、モデル構築部22は、まず、入力データ(系列データ)と重みとを読み込む(ステップS21)。具体的には、モデル構築部22は、入力データ読込部221によって、記憶手段4(図1参照)から、入力データ44を読み込む。また、モデル構築部22は、重み読込部222によって、記憶手段4(図1参照)から、重み推定処理により推定した重み45を読み込む。なお、入力データ44の読み込みと、重みの読み込みとの実行順序は、任意であり、処理を並列に実行してもよい。
【0080】
そして、モデル構築部22は、モデルパラメータ推定部223によって、初期化を行う(ステップS22)。具体的には、モデルパラメータ推定部223は、学習データDをK個の部分集合に分割し、ハイパーパラメータλを0に設定する(λ=0)。そして、モデル構築部22は、モデルパラメータ推定部223によって、モデルの学習を行う(ステップS23)。具体的には、モデルパラメータ推定部223は、K重交差検定法にしたがって、前記した式(22)で最新時刻Tにおけるモデルを学習する。そして、モデル構築部22は、ハイパーパラメータ推定部224によって、ハイパーパラメータλの学習を行う(ステップS24)。具体的には、ハイパーパラメータ推定部224は、前記した式(23)でハイパーパラメータλを学習する。そして、モデル構築部22は、ハイパーパラメータ推定部224によって、収束条件が満たされたか否かを判別する(ステップS25)。具体的には、ハイパーパラメータ推定部224は、前記した式(18)に示す誤差E(M,λ)が収束したか否かを判別する。
【0081】
収束条件が満たされた場合、すなわち前記した式(18)に示す誤差E(M,λ)が収束した場合(ステップS25:Yes)、モデル構築部22は、モデルパラメータ書込部225によって、その時点のモデルをモデルパラメータ46として記憶手段4(図1参照)に書き込み(ステップS26)、処理を終了する。このモデルパラメータ46は、最新時刻Tにおけるモデルとして推定されたモデルを示す。一方、ステップS25において、収束条件が満たされていない場合、すなわち前記した式(18)に示す誤差E(M,λ)が収束していない場合(ステップS25:No)、モデル構築部22は、ステップS23に戻る。
【0082】
なお、予測装置1は、一般的なコンピュータに、前記した各ステップを実行させる予測プログラムを実行することで実現することもできる。このプログラムは、通信回線を介して配布することも可能であるし、CD-ROM等の記録媒体に書き込んで配布することも可能である。
【0083】
本実施形態によれば、予測装置1は、時間情報の重みを推定することによって、最新時刻のデータに適合するモデルを学習するために有益な情報を、最新時刻のデータ以外の過去のデータから取り込むことで、最新時刻での経験誤差を、最新時刻での期待誤差に対する精度のよい近似として用いることができる。そのため、予測装置1は、時間とともに性質が変化する時系列データにおいて、最新の時刻におけるデータを高い精度で予測することができる。その結果、例えば、ユーザの履歴購買データから、ユーザの現時点(最新時刻)における購買傾向を予測し、予測された商品をユーザにリコメンドすることができる。これにより、ユーザが所望する商品の情報に対して迅速にアクセスできるように利便性を向上させる効果と、商品提供者の収益を増加させる効果とをもたらすことが可能となる。
【0084】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、重み推定処理において、前記した式(5)による近似は一例であって、条件に応じて可変とすることができる。例えば、式(24)による近似を用いることもできる。すなわち、時刻tにおける入出力サンプルの条件付き分布P(x|y,t)と、時刻tとは異なる時刻t′における入出力サンプルの条件付き分布P(x|y,t′)とが等しく、かつ、出力分布のみ時刻により異なる状況においては、最新時刻Tでの出力サンプルyの分布P(y|T)を各時刻の出力サンプルyの経験分布の混合で近似するように混合比を決定することができる。このとき、式(24)の関係式を満たす混合比は、前記した式(5)の関係式を満たす混合比の近似となる。
【0085】
【数17】
JP0005071851B2_000019t.gif

【0086】
式(24)を用いる場合には、予測装置1の重み推定部21の事後確率推定部212は、混合比と、入力データ44における出力サンプル(y)とを条件として、出力サンプル(y)の時間情報tに対する事後確率をそれぞれ推定する。具体的には、事後確率推定部212は、前記した式(13)の代わりに式(13A)で示される経験分布を予め計算しておく。式(13A)において、時刻がt、出力がyのサンプル数をN(t,y)とする。また、この場合、事後確率推定部212は、前記した式(16)の代わりに式(16A)により全サンプルの全時刻に対する事後確率を推定する。さらに、この場合、混合比推定部213は、前記した式(17)の代わりに式(17A)により混合比を推定する。
【0087】
【数18】
JP0005071851B2_000020t.gif

【0088】
また、本実施形態では、サンプルが与えられたときのモデルの誤差関数Jとして前記した式(2)および式(3)で示すものを例示したが、任意の誤差関数を用いることが可能である。さらに、本実施形態では、例えば、前記した式(1)においてTを最新時刻であるものとして説明したが、Tは最新時刻に限らず任意の時刻とすることができる。
【0089】
さらにまた、本実施形態では、時間とともに性質が変化する時系列データを扱い、例えば、前記した式(4)においてtを時間情報としたが、tは離散変数であれば時間以外の情報であってもよい。この場合には、tを例えば特定の場所や地域を指し示す地域情報(例えば空間座標)とすることができる。地域情報tに対応付けた購買データの一例を表2に示す。これにより、対象とする所定の地域に関するデータについて、その地域とは異なる他の地域に関するデータを重み付けて考慮することで、対象とする地域に関する未知データを高い精度で予測することができる。
【0090】
【表2】
JP0005071851B2_000021t.gif

【0091】
また、予測装置1を構成する装置は、1台に限定されることはなく、複数の装置に機能を分散配置してもよい。例えば、演算手段2の重み推定部21、モデル構築部22、予測処理部23や、記憶手段4のデータ格納部40bを、別々の装置として構成してもよい。これにより、各装置への負荷が分散され、高速な処理が実現可能となる。
【実施例】
【0092】
本発明の効果を確認するために、本実施形態に係る予測装置1に、動画配信サービスの購買履歴を入力する場合の商品の予測精度と、携帯電話用漫画配信サービスの購買履歴を入力する場合の商品の予測精度とを実験により求めた。
【0093】
<設定>
動画配信サービスの購買履歴(以下、動画データという)は、2007年1月1日から2007年1月31日までの動画配信サービスにおける動画データを示す。この動画データにおいて、ユーザ数は「40,282」、商品数は「5,914」、購買数は「1,667,414」であった。携帯電話用漫画配信サービスの購買履歴(以下、漫画データという)は、2005年4月1日から2006年3月31日の携帯電話用漫画配信サービスにおける漫画データを示す。この漫画データにおいて、ユーザ数は「164,538」、商品数は「175」、購買数は「1,018,741」であった。ここで1つの漫画が複数巻あるものは同一の商品として扱った。
【0094】
なお、動画データおよび漫画データから、売上数が「1」以下の商品を省くと共に、購買数が「1」以下であるユーザを省いた。また、ある商品が2回以上同一ユーザに購入された場合、その商品に関する2回目以降の購買を購買履歴から省いた。
【0095】
<定式化>
この場合のモデルMとして1次マルコフモデルを用いた。また、1次マルコフモデルの誤差関数として、式(25)に示すように、負の対数尤度を用いた。式(25)において、θijは、商品iの次に商品jを購入する確率(0≦θij≦1,Σjθij=1)を意味するモデルパラメータである。また、商品xnは、あるユーザUnが商品ynを購入したときにその1つ前に購入した商品を表すものとする。
【0096】
【数19】
JP0005071851B2_000022t.gif

【0097】
そして、この場合、前記した式(18)に示す誤差Eは、式(26)に示すように書き換えられる。つまり、式(26)に示すEが、最小にすべき目的関数である。
【0098】
【数20】
JP0005071851B2_000023t.gif

【0099】
ここで、前記した式(25)に示す誤差関数Jが最小となるモデルパラメータθijを式(27)に示す。式(27)において、βはスムージングパラメータである。以下の計算では、β=10-2を用いた。また、Vは商品数を示す。なお、式(27)においてθに付した記号「^(ハット)」は、θが誤差関数を最小化させることを示すものである。
【0100】
【数21】
JP0005071851B2_000024t.gif

【0101】
(実施例1、実施例2)
実施例1(OurXY)では、前記した式(5)に基づいて、最新時刻Tの同時分布(入出力分布x,y)を近似するように重みw(t)を設定した。また、実施例2(OurY)では、前記した式(24)に基づいて、最新時刻Tの出力分布yを近似するように重みw(t)を設定した。これら実施例1(OurXY)および実施例2(OurY)では、前記した式(13)に示すスムージングパラメータαの値を、α=10-8とし、重みの最大値で各時刻tにおける重みの値を割った後に、ハイパーパラメータλを推定した。ここで、重みの最大値が「1」となるようにハイパーパラメータλを推定した。また、10重交差検定で汎化誤差が最小になるように黄金分割法によりλを推定した。なお、このときにハイパーパラメータλの取り得る区間は[0,10]とした。
【0102】
(比較例1、比較例2)
実施例1(OurXY)および実施例2(OurY)を以下の2つのモデル(比較例1、比較例2)と比較した。
比較例1(NoWeight):日にちによる重みの変動なし(w(t)=1)
比較例2(Present):最新日のみ重みあり(w(T)=1、t≠Tでw(t)=0)
【0103】
<実験方法>
実験では時間情報の単位時間を1日とした。つまり、最新時刻とは、最新日すなわち最終日を意味する。そして、実験では、まずはじめの段階、すなわち、1日目では、最終日Tを配信開始日に設定した。次の段階、すなわち、2日目では、最終日Tを1日ずらし、配信開始日の次の日に設定した。以下同様に、最終日Tを1日ずつずらしていった。各段階、すなわち、それぞれの日にち(それぞれの最終日T)では、その最終日T以前の購買履歴のみを用いて、その最終日Tにおけるデータを作成した。そして、それぞれの日にちTにおいて、その性能を式(28)に示すパープレキシティL(T)により評価した。
【0104】
【数22】
JP0005071851B2_000025t.gif

【0105】
式(28)において、NTは、その日にちの日付T(最新日T)におけるサンプル数である。パープレキシティは、その値が低い場合に、予測性能が高いことを表す。それぞれの日にちTにおいて、まず、動画データについて10重交差検定により、学習およびテストデータを10セット作成し、その日にちTのパープレキシティをそれぞれ求めた。そして、式(29)に示すように、すべての日数Dで平均したパープレキシティ(平均パープレキシティ)Lを求めた。式(29)に示すDは、動画データにおいては、D=31である。同様に漫画データについても平均パープレキシティLを求めた。ここで、漫画データにおいては、D=365である。
【0106】
【数23】
JP0005071851B2_000026t.gif

【0107】
<実験結果>
実施例および比較例についての実験結果を表2に示す。
【0108】
【表3】
JP0005071851B2_000027t.gif

【0109】
表3に示すように、実施例1(OurXY)および実施例2(OurY)は、比較例1(NoWeight)および比較例2(Present)と比べて、平均パープレキシティLが低い。言い換えると、実施例1(OurXY)および実施例2(OurY)は、比較例1(NoWeight)および比較例2(Present)と比べて、予測性能が高い。つまり、本発明では、その特徴である時間情報の重み付けにより、最新日のデータをより正確に予測できるモデルが学習できていると言える。なお、比較例1(NoWeight)は、最新日とは性質の異なる過去の時刻のデータも学習に用いているため低い予測精度となっている。また、比較例2(Present)は、学習に用いるデータの数が少ないため、低い予測精度となっている。
【図面の簡単な説明】
【0110】
【図1】本発明の実施形態に係る予測装置の構成を示すブロック図である。
【図2】重み推定部の構成を示す機能ブロック図である。
【図3】モデル構築部の構成を示す機能ブロック図である。
【図4】予測処理部の構成を示す機能ブロック図である。
【図5】予測装置の処理の流れを示す説明図である。
【図6】重み推定処理を示すフローチャートである。
【図7】モデル構築処理を示すフローチャートである。
【符号の説明】
【0111】
1 予測装置
2 演算手段
3 入力手段
4 記憶手段
5 出力手段
11 バスライン
21 重み推定部(重み推定手段)
22 モデル構築部(モデル構築手段)
23 予測処理部(予測処理手段)
24 メモリ
40a プログラム格納部
41 重み推定プログラム
42 モデル構築プログラム
43 予測処理プログラム
40b データ格納部
44 入力データ(系列データ)
45 重み
46 モデルパラメータ
47 サンプル(予測用サンプルデータ)
211 入力データ読込部
212 事後確率推定部(事後確率推定手段)
213 混合比推定部(混合比推定手段)
214 重み書込部
221 入力データ読込部
222 重み読込部
223 モデルパラメータ推定部(モデルパラメータ推定手段)
224 ハイパーパラメータ推定部(ハイパーパラメータ推定手段)
225 モデルパラメータ書込部
231 サンプル読込部
232 モデルパラメータ読込部
233 予測結果出力部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6