以下、図面を参照して本発明の実施形態について説明する。まず、本発明で用いる用語について説明する。以下では、経過予測の開始となる時点であって、少なくとも実績値を有する時点を「基準点」という。なお、基準点は、実績値を有する最新の時点であってもよい。また、以下では、基準点から経時変化を求めたい最先の予測時点までの期間を「経過予測の評価対象期間」または単に「評価対象期間」という場合がある。
図1は、経過予測における基準点、評価対象期間、予測時点および予測時間単位の例を示す説明図である。図1(a)および図1(b)に示すように、経過予測では、基準点から所定の予測時間単位において1つ先の時点を第1の時点、2つ先の時点を第2の時点、・・・と呼ぶ。このとき、当該時点が未来の時点すなわち予測値を得たい時点であれば当該時点は予測時点と呼ばれる。図1(a)に示す例では、第1の時点、第2の時点および第3の時点はそれぞれ、第1の予測時点、第2の予測時点および第3の予測時点と呼ばれる。なお、予測時間単位を、予測モデルが1回の予測で予測値を出力可能な標準的な時間間隔と捉えてもよい。当該予測時間単位は、経過予測における予測モデルの繰り返しの単位とされる。なお、予測精度の観点からは、経過予測における予測時間単位は一定であることが好ましいが、必ずしも一定でなくてもよい。また、予測値を得たい任意の時点(第nの予測時点)から、予測時間単位を遡ることで第n-1の予測時点、第n-2の予測時点、・・・、基準点を規定することも可能である。
例えば、1年ごとに予測値を得る場合、予測時間単位はおおよそ1年(1年±α)であればよい。なお、予測時点そのものは、予測モデルの繰り返し単位とされる予測時間単位に関わらず、任意の時点を指定できる。具体的には、ある時点tpの値を予測したい場合、時点tp-Δt(予測時点から予測時間単位分遡った時点)での実績値もしくそれに相当する予測値と、時点tpにおける予測条件を示す値(例えば、予測時点における生活習慣に関する項目等)とを用いて予測すればよい。ここで、Δtが予測時間単位に相当する。
以下では、任意の予測時点(上記のtp)に対して、予測時間単位分遡った時点(上記のtp-Δt)を予測基準点という場合がある。また、評価対象期間に含まれる第1の予測時点(すなわち、基準点から最も近い予測時点)に対応する予測基準点を、第1の予測基準点という場合がある。なお、第1の予測基準点は、予測モデルの繰り返しにおける開始時点とされる。したがって、経過予測は、第1の予測基準点における情報を基に、評価対象期間に含まれる各予測時点の予測対象項目の値を予測するものということができる。さらに、経過予測に用いられる予測モデルは、予測基準点における情報を基に、その1つ先の予測時点における予測対象項目の値を予測するモデルということができる。以下では、評価対象期間に含まれる時点数(ただし、基準点を除く)をN、予測時点数をnと表記する場合がある。
なお、図1(b)に示すように、基準点と第1の基準点は必ずしも一致していなくてもよい。また、例えば、基準点をt=0としたときに、例えば、t~t+Nの評価対象期間(N≧2)に1つの予測時点しか含まれない場合であっても、当該評価対象期間における予測対象項目の値の推移を得ることを、「経過予測」と呼ぶ。なおこの場合、実際の予測は1回(すなわちn=1)だけである。換言すると、「経過予測」は、基準点から2以上の時点(予測時間単位における時点をいう)を含む期間であって少なくとも1つの予測時点(すなわち、予測値を得る時点)を含む期間(評価対象期間)に含まれる各予測時点における予測値を得るものであればよい。なお、さらに「経過予測」を、このようにして各予測時点における予測値を得ることにより、当該期間における予測対象項目の値の推移を得るものと表現してもよい。もちろん、評価対象期間は、2以上の予測時点を含んでいてもよい。
次に、本発明における説明変数について説明する。以下の式(1)は、予測モデルとして線形モデルを用いた場合の予測モデル式(予測式)の一例である。なお、説明を簡単にするため、予測モデルの例として線形モデルを示すが、予測モデルは線形モデルに特に限定されず、例えば、異種混合学習等に用いられる区分線形モデルや、ニューラルネットワークモデル等であってもよい。
y=a0+a1x1+a2x2+・・・+amxm ・・・(1)
式(1)において、yは目的変数、xiは説明変数(ただし、i=1,...,m)である。なお、mは説明変数の個数である。また、ai(ただし、i=0,...,m)は線形モデルのパラメータであり、a0は切片(定数項)、aiは各々の説明変数の係数である。
まず、予測対象が1つの検査項目である場合を考える。このとき、経過予測に用いられる予測モデルは、予測時点とされる時点tに対して1つ前の時点である予測基準点(t-1)において取得可能な説明変数の組合せX(t-1)={x1
(t-1),x2
(t-1),...,xm
(t-1)}を入力として、時点tにおける予測対象項目の値y(t)を出力する関数とみなすことができる。なお、y、xの右肩の()付の数字は予測単位時間軸上の時間を表している。図2(a)は、そのような予測モデルの概念図である。なお、図2(a)では、予測基準点を時点t、予測時点を時点(t+1)として示しているが、tを任意の数値とみなせば、実質的に上記と同じである。
さらに、経過予測においては、時点(t+1)における予測対象項目の値y(t+1)を予測するために、説明変数の1つに、予測基準点(t)における予測対象項目の値y(t)を示す変数または該値y(t)から算出される変数が用いられる。ここで、当該説明変数をx1とすると、両者の関係はx1
(t)←y(t)と表記できる。なお、x1
(t)←y(t)は、ある時点tの予測対象項目の値y(t)が、1つ先の時点(t+1)の予測対象項目の値y(t+1)を予測する予測モデルにおいて説明変数の1つ(具体的には時点tの予測対象項目の値であるx1
(t))に利用されることを表している。すると、経過予測における予測モデルは、より単純に、ある時点tにおける説明変数の組合せX(t)を入力として、予測値としてその1つ先の時点(t+1)における説明変数の1つ、例えばx1
(t+1)に対応した予測値(y(t+1))を出力する関数とみなすことができる。
このような性質を利用して、経過予測では、予測基準点(t=0)における予測対象項目の値y(0)に対応する説明変数x1
(0)を含む説明変数の組合せX(0)を予測モデルに入力し、第1の予測時点(t=1)における予測対象項目の値y(1)を得る。そして、該y(1)からx1
(1)を含む第1の予測時点における説明変数の組合せX(1)を生成して予測モデルに入力し、第2の予測時点(t=2)における予測対象項目の値y(2)を得る。以降、最終的な予測時点の値を得るまで同様の処理を繰り返す(図2(b)参照)。換言すると、経過予測では、予測基準点と予測時点を更新しながら、予測モデルに予測基準点における説明変数の組合せを入力して予測時点における予測対象項目の値を得る処理を、n回数分(すなわちn予測時間単位後の予測値が得られるまで)繰り返せばよい。以下は、経過予測の手順を、式(1)の予測式を用いて表現したものである。
第1の予測時点の予測値:y(1)=a0+a1x1
(0)+・・・+amxm
(0)
第2の予測時点の予測値:y(2)=a0+a1x1
(1)+・・・+amxm
(1)
:
第nの予測時点の予測値:y(n)=a0+a1x1
(n)+・・・+amxm
(n)
ただし、x1
(t)←y(t)とする。
なお、上記では、1つの検査項目について予測モデルを用いて経過予測を行う例を示したが、予測対象項目は1つに限定されない。すなわち、複数の検査項目の予測値とその推移を、検査項目ごとに学習した予測式を用いて得ることを考える。これらの予測式は、簡単に次のように表すことができる。なお、本例でも予測モデルとして線形モデルを例示するが、予測モデルは線形モデルに限定されない。
y1
(t+1)=a10+a11x1
(t)+a12x2
(t)+・・・+a1mxm
(t)
y2
(t+1)=a20+a21x1
(t)+a22x2
(t)+・・・+a2mxm
(t)
:
yu
(t+1)=au0+au1x1
(t)+au2x2
(t)+・・・+aumxm
(t)
・・・(2)
なお、式(2)においてuは検査項目の数であり、u<mとする。また、各予測式において、xk
(t)(ただし、k=1~u)は、検査項目1~uに対応する説明変数とする。なお、これは、自身の予測対象とする検査項目の過去の値だけでなく他の検査項目の過去の値も説明変数として用いることができることを表しており、実際に利用するか否かは該変数の係数で調整される。
以下では、xi
(t+1)=yi
(t+1)(ただし、i=1~u、u<m)とする。すると、上記の式(2)は以下の式(3)のように書ける。また、式(4)は式(3)の行列表記である。
x1
(t+1)=a10+a11x1
(t)+a12x2
(t)+・・・+a1mxm
(t)
x2
(t+1)=a20+a21x1
(t)+a22x2
(t)+・・・+a2mxm
(t)
:
xu
(t+1)=au0+au1x1
(t)+au2x2
(t)+・・・+aumxm
(t)
・・・(3)
なお、式(4)では、複数の検査項目の予測式を行列を使い、まとめて1つの式で示したが、実際は、式(2)に示すように、予測式は検査項目ごとに、かつ説明変数が省略されずに保持される。
なお、上記の式(4)を、単純化して式(5)のように記すことも可能である。なお、X(t)とX(t+1)は列ベクトルであり、説明変数のうち検査項目以外の項目(問診項目等)に対応する説明変数xk
(t)(k=u+1~m)は、指定された値が入るものとする。
X(t+1)=AX(t)・・・(5)
このとき、基準点(t=0)のデータを基に得られる第nの予測時点(t=n)の予測値は次のように表される。なお、AnはAのn乗を表す。
第1の予測時点の予測値:X(1)=AX(0)
第2の予測時点の予測値:X(2)=A2X(1)=AAX(0)
:
第nの予測時点の予測値:X(n)=AnX(0) ・・・(6)
なお、上記では、基準点のデータX(0)を用いて+n時点の予測値X(n)を予測する予測式を、式(6)とした。経過予測においても、例えば、式(6)のような直接、+n時点の予測値を得る予測式を用いて、所望の時点の予測値をピンポイントで取得してもよい。
なお、上記において、xi
(t)とyi
(t)は厳密に同じ値である必要はない(検査項目が1つの場合のx1
(t)とy(t)についても同様)。例えば、xi
(t)=yi
(t)+αや、xi
(t)=βyi
(t)や、xi
(t)=(yi
(t))γや、xi
(t)=sin(yi
(t))等であってもよい(ただし、α、β、γはいずれも係数とする)。すなわち、説明変数としてのxi
(t)は、その時点(予測基準点)における予測対象項目の値yi
(t)を示す変数であればよい。以下、上記のx1
(t)に相当する変数を「メイン変数」という場合がある。より具体的に、メイン変数は、予測基準点における予測対象項目の値を示す変数である。
また、説明変数には、メイン変数以外の変数も含まれ得る。以下では、上記の生活習慣に関する項目を示す変数のように、経過予測において値を変化させない説明変数すなわち人が制御できる説明変数を「制御変数」という。また、以下では、説明変数のうち「制御変数」以外の説明変数、すなわち経過予測において値が変化する説明変数を「非制御変数」という場合がある。非制御変数の例としては、上記のメイン変数や、予測基準点より前の任意の時点における予測対象項目の値を示す変数や、その変数と他の変数から算出される任意の統計量(差分等)を示す変数や、それら変数による一変数関数や他変数関数で表される変数や、他の任意の変数(予測時点またはそれより前の任意の時点における予測対象項目以外の項目の値を示す変数等)などが挙げられる。
なお、予測モデルの説明変数にメイン変数以外の非制御変数(以下、サブ変数という)が含まれる場合には、予測を繰り返す際、上記のxi
(t)←yi
(t)に加えて、各サブ変数の値についてもxk
(t)←(yi’
(t),・・・)とすればよい。ここで、xk
(t)は任意のサブ変数を表し、yi’
(t)は当該サブ変数を構成する変数であって予測基準点において取得可能な任意の変数を表している。なお、モデル学習の結果、メイン変数は使用されずに(係数が0)、サブ変数と制御変数のみが使用される場合もありうる。
ところで、一般に、予測モデルの学習は予測精度を重視して行われる。このような予測精度重視の学習方法(以下、第1の方法という)では、例えば、予め定義されている誤差関数を最小化するモデルパラメータの解を探索することによってモデルの最適解を得る。しかし、当該方法は、上述したように、経過予測におけるグラフ形状については何ら考慮されないため、経過予測に用いた場合に解釈できないサンプルが数多く出力されるおそれがある。
上記問題の解決方法の1つとして、予測モデルに用いる説明変数を制限し、かつその説明変数の係数にある種の制約を加えれば、経過予測における予測値の推移を無理やり所定のグラフ形状にフィッティングさせることは可能である(以下、第2の方法という。)。しかし、所望のグラフ形状へのフィッティング重視の第2の方法では、経過予測中に値を変化させられる説明変数を1つに制限しなければならず、予測精度が低下してしまう問題がある。
例えば、直近の予測対象項目の値(直近の検査値)を該説明変数として用いた場合、それ以外の検査値(2つ前の時点の検査値や、予測対象項目以外の検査値)やそれを用いた統計値を予測モデルの説明変数として用いることができない。このため、予測対象項目の性質や他の説明変数の選び方によっては予測モデルで目的変数(予測値)と説明変数との関係を適切に表現することができずに、予測精度が低下してしまうおそれがある。
以下の実施形態では、説明変数に制限を加えずに、経過予測において妥当でない予測値の推移が出力されるサンプルを減少させる方法について説明する。
実施形態1.
図3は、第1の実施形態の予測システムの構成例を示すブロック図である。図3に示す予測システム100は、モデル生成部10と、モデル記憶部14と、モデル適用部15とを備える。
モデル生成部10は、訓練データが入力されると、経過予測に用いる予測モデルを生成してモデル記憶部14に記憶する処理部であって、正則化パラメータ候補設定部11と、モデル学習部12と、モデル選択部13とを含む。
正則化パラメータ候補設定部11は、訓練データが入力されると、予測モデルの正則化に用いるパラメータである正則化パラメータの探索集合として、少なくとも説明変数のうち特に定めた1つ以上の変数(以下、強正則化変数という)の項に影響を与える正則化パラメータについて値が異なる複数の解候補が設定された探索集合を出力する。
正則化は、一般的に、モデルの学習時において過学習を防ぎ、汎化能力を高めるために行われるものであり、誤差関数に罰則項を付加する等によりモデルの係数(予測式の説明変数の係数)が大きな値になることを防ごうというものである。ここで、強正則化変数とは、他の説明変数よりも強く正則化を与える変数である。また、以下では、説明変数のうち「強正則化変数」以外の変数を「弱正則化変数」という場合がある。
本実施形態において、説明変数は、その用途や性質により次のように分類される。
[説明変数の分類]
(1)制御変数か非制御変数(メイン変数とサブ変数とを含む)
(2)強正則化変数か弱正則化変数
強正則化変数は、例えば、メイン変数以外の変数(サブ変数や制御変数)のうちの特に定めた1つまたは複数の変数であってもよい。また、強正則化変数は、例えば、2以上含まれる非制御変数のうちメイン変数以外の変数(すなわちサブ変数)のうちの特に定めた1つまたは複数の変数であってもよい。以下では、説明変数のうち、予測基準点(予測値を得る時点である予測時点から所定の予測単位時間における1つ前の時点)より前の任意の時点における予測対象項目の値を示す変数またはその変数と他の変数から算出される任意の統計量を示す変数を、強正則化変数として用いる例を示すが、強正則化変数はこれらに限定されない。
例えば、ある検査項目に対して3年後までの経過予測に用いる予測モデルに用いる説明変数として、(a)去年の検査値(非制御変数(メイン変数))、(b)一昨年の検査値と去年の検査値との差分値(非制御変数(サブ変数))、および(c)生活習慣に関する1つ以上の項目に対応する1つ以上の変数(制御変数)が含まれていた場合、(b)の差分値を「強正則化変数」としてもよい。なお、強正則化変数は1つに限定されない。
モデル学習部12は、訓練データを用いて、正則化パラメータ候補設定部11から出力される正則化パラメータの探索集合に含まれる各解候補に対応する予測モデルをそれぞれ学習する。すなわち、モデル学習部12は、正則化パラメータ候補設定部11から出力される正則化パラメータの解候補ごとに、当該解候補に対応する予測モデルを、訓練データを用いて学習する。
モデル選択部13は、モデル学習部12によって学習された複数の予測モデル(強正則化変数の項に影響する正則化パラメータの値が各々異なる学習済みモデル)の中から、予測精度が高く、かつ解釈できないサンプル数(以下、不良サンプル数)が少ない予測モデルを選択する。モデル選択部13は、例えば、所定の検証用データ(例えば、目標値が既知の説明変数の組合せからなるデータ集合)を用いて、学習済みの各予測モデルの予測精度や不良サンプル数を算出し、算出された各予測モデルの予測精度と不良サンプル数とに基づいて、経過予測に用いる予測モデルを所定数選択してもよい。モデルの選択数は1つでもよいし複数でもよい。なお、モデル選択部13によるモデルの選択方法については後述する。なお、検証用データは、学習に用いた訓練データやその一部(検証用に切り分けたデータ)であってもよい。
モデル記憶部14は、モデル選択部13が選択した予測モデルを記憶する。
モデル適用部15は、予測対象データが入力されると、モデル記憶部14に記憶されている予測モデルを用いて経過予測を行う。具体的に、モデル適用部15は、モデル記憶部14に記憶されている予測モデルに予測対象データを適用して、評価対象期間に含まれる各予測時点における予測値(予測対象項目の値)を得ればよい。
次に、本実施形態の予測システムの動作を説明する。本実施形態の予測システムの動作は、訓練データを用いて予測モデルを学習するモデル学習フェーズと、学習された予測モデルを用いて経過予測を行う予測フェーズとに大別される。
まず、モデル学習フェーズについて説明する。モデル学習フェーズは、予測フェーズの前に少なくとも1度行われる。図4は、本実施形態の予測システムのモデル学習フェーズの動作例を示すフローチャートである。
図4に示す例では、まず、予測システムに訓練データが入力される(ステップS101)。ここで、入力される訓練データは、予測モデルにおいて目的変数とされる予測対象項目の値(目標値)と、該予測対象項目の値と相関しうる複数の変数であって予測モデルにおいて説明変数とされる複数の変数(より具体的には、それら複数の変数の組合せ)とが対応づけられたデータの集合であればよい。本例では、ある時点t’における予測対象項目の値(予測モデルの目標値)と、その時点t’より1つ前の時点(t’-1)を予測基準点としたときの非制御変数(メイン変数およびサブ変数)と制御変数とを含む変数の組合せを示すデータの集合が入力される。なお、時点t’は目標値が得られる時点であれば特に限定されず、また訓練データ中に異なる2以上の時点を指定することも可能である。
ステップS101で、訓練データとともに、正則化パラメータの条件等を受け付けてもよい。
次いで、正則化パラメータ候補設定部11が、予測モデルの説明変数のうち少なくとも強正則化変数の項に影響を与える正則化パラメータの値が異なる複数の解候補が設定された探索集合を出力する(ステップS102)。
次いで、モデル学習部12が、訓練データを用いて、正則化パラメータ候補設定部11から出力される正則化パラメータの各解候補に対応する予測モデルをそれぞれ学習する(ステップS103)。
次いで、モデル選択部13が、学習済みの複数の予測モデルの中から、予測精度が高く、かつ不良サンプル数が少ない予測モデルを選択して、モデル記憶部14に記憶する(ステップS104)。
次に、予測フェーズについて説明する。図5は、本実施形態の予測システムの予測フェーズの動作例を示すフローチャートである。予測フェーズは、例えば、経過予測が要求されるたびに行ってもよい。
図5に示す例では、まず、予測システムに予測対象データが入力される(ステップS201)。ここで入力される予測対象データは、モデル記憶部14に記憶されている予測モデルにおいて説明変数とされた複数の変数の任意の組合せを示すデータでよい。本例では、今回の経過予測の評価対象期間で最初の予測時点(第1の予測時点)より1つ前の時点を予測基準点(第1の予測基準点)としたときの非制御変数(メイン変数およびサブ変数)と制御変数とを含む変数の組合せを示すデータが入力される。なお、制御変数の値は任意である。また、このとき、予測条件として、各予測時点の予測に用いる制御変数の値等を指定することも可能である。
予測対象データが入力されると、モデル適用部15が、モデル記憶部14に記憶されている予測モデルを読み出して(ステップS202)、読み出した予測モデルに予測対象データを適用して、評価対象期間に含まれる各予測時点の予測値を得る(ステップS203)。
次に、正則化パラメータ候補設定部11による正則化パラメータの探索集合の決定方法(複数の解候補の設定方法)について説明する。以下では、線形モデルに用いられる正則化パラメータを例に説明するが、正則化パラメータはこれらに限定されない。今、予測モデルの予測式として式(7)が与えられたとする。
上記予測式に対して、目標値をtn(ただし、n=1~N)とすると、上記予測式に対する誤差関数は、例えば、以下の式(8a)や式(8b)のように表される。ここで、目標値tkは、K個の訓練データで与えられる説明変数{x1,...,xM}の組合せにおける正解データ(実績値等)に相当する。なお、式(8a)および式(8b)において、右辺第二項が罰則項に相当する。
ここで、正則化パラメータは、誤差関数の罰則項に用いられるパラメータλやλj(ただし、j=1~M)に相当する。なお、式中の“||q”はノルムを表しており、例えば、Lassoの手法ではq=1(L1ノルム)、Ridge回帰の手法ではq=2(L2ノルム)が用いられる。なお、上記は線形モデルに用いられる正則化パラメータの一例であるが、正則化パラメータはこれに限定されない。
通常、正則化パラメータの決定は、罰則項を含む誤差関数の出力J(w)を最小化するλ={λ1,・・・λM}の解(以下、最小解という)を探索することにより行われる。このとき、λは全ての係数に対して一つの値が設定される場合もあるし、係数ごとに異なる値が設定される場合もある。なお、全ての係数に対して0が設定された場合は正則化を行わないことを意味する。いずれの場合も、λの解としては1つに決定される。
本実施形態の正則化パラメータ候補設定部11は、通常の正則化処理に代えてまたは加えて、次のような正則化パラメータ候補設定処理を行う。すなわち、正則化パラメータ候補設定部11は、予測モデルの予測式に含まれる項のうち少なくとも強正則化変数(本例では、差分変数xdiff)の項に影響を与える正則化パラメータについて異なる値を有する複数の解候補λ',λ'',λ''',・・・を設定し、それらを正則化パラメータλの探索集合として出力する。なお、各解候補は、予測式に含まれる全ての項に共通して設定される1つの正則化パラメータλである場合もあるし、予測式に含まれる項の各々に設定される正則化パラメータλjの集合である場合もある。
例えば、上記予測式(7)において強正則化変数がx2であったとする。その場合において、誤差関数が例えば式(8a)で表される場合、正則化パラメータ候補設定部11は、少なくとも当該x2の項に対応する正則化パラメータλ2について異なる値を有する複数の解候補λ(1),λ(2),・・・を設定する。なお、右肩の数字は解候補の識別子である。このとき、他の項に対応する正則化パラメータλj’(j’=2以外)については、最小解の値や0など、任意の値でよい。なお、任意の値には、ユーザにより指定される値や、最小解以外の、本実施形態の正則化パラメータ候補設定部11以外の処理部等が別の方法により調整した結果得られた解の値等も含まれる。また、例えば誤差関数が式(8b)で表される場合、正則化パラメータ候補設定部11は、少なくとも当該x2の項に影響を与える正則化パラメータλについて異なる値を有する複数の解候補λ(1),λ(2),・・・を設定する。
なお、正則化パラメータ候補設定部11は、正則化パラメータの探索集合を決定する際、各解候補において、他の正則化パラメータ(例えば、強正則化変数の項以外の項に対応する正則化パラメータ)に対して固定値を設定するだけでなく、他の正則化パラメータについても異なる値を設定することも可能である。正則化パラメータ候補設定部11は、強正則化変数の項に影響を与える正則化パラメータと他の正則化パラメータとを同時に設定してもよいし、これらを分けて設定することも可能である。いずれの場合においても、解候補同士で、少なくとも強正則化変数の項に影響を与える正則化パラメータの値が異なっているものとする。
なお、強正則化変数が多変数関数で表される統計量を含む場合、当該強正則化変数の項を多変数関数で用いられる変数に分解した上で、分解後の予測式に対して正則化パラメータを定義する。例えば、以下の式(9)に示すように、予測モデルが、予測基準点における検査項目1の値を示す変数xy1(メイン変数)と、予測基準点における検査項目1の値と予測基準点より1つ前の時点における検査項目1の値との差分を示す変数xdiff(サブ変数であり強正則化変数)と任意の制御変数とを含む場合に、予測式は次の式(10)のように書き換えられる。なお、式(10)においてxy2は予測基準点より1つ前の時点における検査項目1の値を示す変数である。すなわち、xdiff=xy1-xy2である。式(10)における強正則化対象項は、xdiffの項(第2項)およびxy2の項(第3項)となる。したがって、正則化パラメータ候補設定部11は、少なくともxdiffの項(第2項)に対応する正則化パラメータλ2と、xy2の項(第3項)に対応する正則化パラメータλ3についてそれぞれ異なる値が設定された複数の解候補を生成すればよい。
y1=axy1+bxdiff+・・・+d ・・・(9)
ここで、
axy1+bxdiff
=axy1+b(xy1-xy2)
=(a+b)xy1-bxy2
=(a-c)xy1+(b+c)xdiff+cxy2
よって、
y1=(a-c)xy1+(b+c)xdiff+cxy2+・・・+d ・・・(10)
なお、正則化パラメータ候補設定部11における複数の解候補の設定方法は特に限定されない。正則化パラメータ候補設定部11は、例えば、次の方法により解候補を設定することができる。
[解候補の設定方法]
(1)外部条件設定
(2)グリッドサーチ
(3)ランダム設定
(1)外部条件設定
正則化パラメータ候補設定部11は、外部から明示的に与えられる探索集合(複数の解候補)をそのまま設定してもよい。
(2)グリッドサーチ
また、正則化パラメータ候補設定部11は、例えば、外部から正則化パラメータの条件として正則化パラメータの探索範囲(例えば、0≦λ≦500)と格子幅(例えば、100)とが与えられる場合、与えられた探索範囲を格子状に区切って得られる格子点({0,100,200,300,400,500})を1つの強正則化対象項に対応する正規化パラメータの解候補としてもよい。
(3)ランダム設定
また、正則化パラメータ候補設定部11は、例えば、外部から正則化パラメータの条件として正則化パラメータの分布と生成数とが与えられる場合、与えられた分布から指定された生成数分の点をサンプリングして、得られたサンプリング値を1つの強正則化対象項に対応する正規化パラメータの解候補としてもよい。なお、解候補はこれらに限定されず、正則化パラメータ候補設定部11が計算によりまたは外部入力に基づいて決定されたものであればよい。
以下に、そのような複数の解候補が設定された正則化パラメータの探索集合の例を示す。なお、以下に示す例は、強正則化変数がx2である場合の例である。本例では、v2-1~v2-kが強正則化変数x2の項に対応する正則化パラメータλ2に設定される値に相当している。
・第1の解候補:λ(1)={λ1~M}={v1,v2-1,v3,...,vM}
・第2の解候補:λ(2)={λ1~M}={v1,v2-2,v3,...,vM}
:
・第Kの解候補:λ(K)={λ1~M}={v1,v2-k,v3,...,vM}
なお、強正則化変数が複数ある場合は、強正則化変数の各項に対応する正則化パラメータλreg_1~λreg_p(pは強正則化変数の数)の組合せで表現される値が少なくとも異なるような複数のλの解(解候補)を出力すればよい。以下にそのような複数のλの解候補の例を示す。なお、以下に示す例は、強正則化変数がx2およびx3である場合の例である。v2-x(xは任意)は、強正則化変数x2の項に対応する正則化パラメータλ2の値に相当している。v3-x(xは任意)は、強正則化変数x3の項に対応する正則化パラメータλ3の値に相当している。
・第1の解候補:λ(1)={λ1~M}={v1,v2-1,v3-1,...,vM}
・第2の解候補:λ(2)={λ1~M}={v1,v2-2,v3-1,...,vM}
:
・第Kの解候補:λ(K)={λ1~M}={v1,v2-k,v3-1,...,vM}
:
・第Lの解候補:λ(L)={λ1~M}={v1,v2-k,v3-h,...,vM}
次に、モデル選択部13によるモデルの選択方法について、より詳細に説明する。モデル選択部13は、例えば、所定の検証用データを用いて予測を行った結果、予測精度(例えば、平均二乗誤差平方根(RMSE)や相関係数など)が所定の閾値以上であったモデルの中から、不良サンプル数が最も少ないモデルを選択してもよい。予測精度に対する閾値の一例としては、最も予測精度が高かったモデルの該予測精度に対して○○%以下や、ユーザやドメインエキスパートにより設定される閾値(相関係数0.6など)などが挙げられる。
また、モデル選択部13は、例えば、所定の検証用データを用いて予測を行った結果、不良サンプル数が所定の閾値以下であったモデルの中から、予測精度が最も高いモデルを選択してもよい。不良サンプル数に対する閾値の一例としては、ユーザやドメインエキスパート(機械学習分野や医療分野など予測値を普段から扱う技術分野の専門家等)により設定される閾値(1桁など)や、最も不良サンプル数が少なかったモデルの該不良サンプル数に対して○○%以下などが挙げられる。
また、モデル選択部13は、得られた予測精度に対して正の相関を示す精度スコアを求めるとともに、不良サンプル数に対して負の相関を示す形状スコアを求め、その両者の和で表されるトータルスコアが高い順にモデルを所定数、選択してもよい。このようにすれば、予測精度から精度スコアを算出する際に用いるプラスの重みと、不良サンプル数から形状スコアを算出する際に用いるマイナスの重みとを調整することで、所望とするモデルを容易に選択できる。
なお、不良サンプルか否かを判定する手法としては、次のようなものが挙げられる。
・(1)所定の確認期間における、漸近線や所望の形状線からの誤差に基づいて判定する。
・(2)所定の確認期間において2時点間の予測値を結ぶベクトル(以下、遷移ベクトルαという)の傾きの差分に基づいて判定する。
・(3)所定の確認期間における隣り合う2つの遷移ベクトルで表される二直線のなす角(以下、遷移角βという)に基づいて判定する。
・(4)所定の確認期間における予測値の変化量に基づいて判定する。
ここで、確認期間はグラフ形状の確認のために設定される期間であって、実績値と予測値とを合わせて少なくとも2つの値が与えられ、かつ実績値が与えられた時点から少なくとも1つ以上の予測時点を含む期間をいう。なお、確認期間に、評価対象期間と同じ時点数、予測時点数を用いてもよい。
例えば、上記(1)の手法において、ある説明変数の組合せに対して確認期間に含まれる各時点の予測値を得た場合に、当該予測値の遷移に対してカーブフィッティングして得られる曲線(近似曲線)との誤差量すなわち近似曲線における各時点の値と各予測値との差分の総和を漸近スコアとして求める。そして、漸近スコアが所定の閾値以上であれば、当該組合せは不良サンプルであると判定してもよい。図6は、経過予測におけるカーブフィッティングの例を示す説明図である。なお、図6(a)は、カーブフィッティングの結果、小さい漸近スコアが算出される例であり、図6(b)はカーブフィッティングの結果、大きい漸近スコアが算出される例である。なお、カーブフィッティングの手法は、特に限定されないが、例えば、実験的に求めたデータ(実験値の推移等)または所望のグラフ形状に応じて定められた所定の制約条件に最も当てはまるような曲線を求めるものであればよい。
また、上記(1)の手法において、例えば、モデル選択部13は、ある説明変数の組合せに対して確認期間に含まれる各時点の予測値を得た場合に、当該予測値の遷移(より具体的には、得られた予測値を示すデータを含む系列データであって時間と対応づけて予測対象項目の値を示す3つ以上のデータを含む系列データ)の非妥当性を示す指標である非妥当性スコアであって、系列データを所定の関数形にフィッティングして得られる曲線モデルと系列データとの誤差に基づく非妥当性スコアを算出し、算出された非妥当性スコアが所定の閾値以下であれば、当該組み合わせは、不良サンプルであると判定してもよい。なお、非妥当性スコアは、不良サンプルか否かの判定に利用されるだけでなく、算出された非妥当性スコアと負の相関を示す指標を形状スコアとして定義することで、グラフ形状に関する評価指標としてそのまま利用することも可能である。なお、非妥当性スコアの算出方法の詳細は後述する。
また、図7は、経過予測における遷移ベクトルおよび遷移角の例を示す説明図である。例えば、上記(2)の手法において、図7に示すような遷移ベクトルα1~α4について、傾きd1~d4を求め、求めた各傾きdから以下に示すwscoreを求めてもよい。なお、式(11)において、|di-di+1|は、時点t(i-1)における予測対象項目の値から時点t(i)における予測対象項目の値へのベクトル(遷移ベクトルαi)の傾きdiと、時点t(i)における予測対象項目の値から時点t(i+1)における予測対象項目の値へのベクトル(遷移ベクトルαi+1)の傾きdi+1との差分を表している。
wscore=|d1-d2|+|d2-d3|+・・・+|dn-1-dn|
・・・(11)
本例のwscoreは、傾きの変化量が小さいと小さい値を示し、傾きの変化量が大きいと大きい値を示す。したがって、モデル選択部13は、例えば、wscoreが所定の閾値以上であれば、形状不良(解釈できないサンプルである)と判定してもよい。
また、例えば、上記(3)の手法において、図7に示すような遷移ベクトルα1~α4から遷移角β1~β3を求め、求めた各遷移角β[rad]から以下に示すvscoreを求めてもよい。なお、式(12)において、0≦βi≦πとする。ここで、遷移角βiは遷移ベクトルαiと遷移ベクトルαi+1の2つの遷移ベクトルで表される二直線のなす角である。
vscore=(1/π)(π-β1)+・・・+(1/π)(π-βn-1)
・・・(12)
本例のvscoreは遷移角が小さい程大きい値を示す。したがって、モデル選択部13は、例えば、vscoreが所定の閾値以上であれば、形状不良(解釈できないサンプルである)と判定してもよい。
また、例えば、上記(4)の手法において、2つの予測値(y1,y2)が与えられた場合に、次のようにしてascoreを求め、求めたascoreが閾値以上であれば形状不良としてもよい。
ascore=|y1-y2|-a (|y1-y2|≧aのとき)
ascore=0 (その他のとき)
なお、3以上の予測値が与えられた場合には、|y1-y2|に代えて、隣う合う時点の差の絶対値の和を用いればよい。
なお、モデル選択部13は、モデルを評価する際、上記の不良サンプル数に代えてまたは加えて、wscoreやvscoreやascoreを用いることも可能である。
図8は、本実施形態の正則化パラメータの調整による効果を示す概念図である。例えば、第1の方法すなわち経過予測におけるグラフ形状を考慮せずに予測精度を重視してモデルを学習した場合、図8(a)において図中の白抜き×印で示すように、予測精度は高いが、不良サンプル数が多くなってしまう。また、第2の方法すなわち所望のグラフ形状へのフィッティングを重視してモデルを学習した場合、図8(a)において黒色×印で示すように、不良サンプル数は少ないが、予測精度が低くなってしまう。これに対して、本実施形態の方法によれば、強正則化変数の項に対応する正則化パラメータについて個別に調整を行い、かつその結果を検証することにより、例えば、図中の実線の丸で囲われたモデルのような、予測精度と不良サンプル数のバランスが良好なモデルを選択できる。
また、図8(b)は、予測精度と不良サンプル数のバランスの調整方法を概略的に示す説明図である。なお、図8(b)では、予測モデルの予測式の一部を図9に示す方法で簡略化して示している。なお、図9に示す予測式において、xmainはメイン変数、wmはメインの係数、太字のxregは強正則化変数とされるサブ変数の列ベクトル、太字のφTは強正則化変数とされるサブ変数の係数の行ベクトル、太字のxctlは制御変数の列ベクトル、太字のθTは制御変数の係数の行ベクトル、w0は切片を表す。図9に示すように、予測モデルは、(1)メイン変数、(2)強正則化変数とされるサブ変数および(3)制御変数のみを説明変数とする予測モデルであってもよい。
図8(b)に示すように、強正則化変数(図中の例ではxreg_1~xreg_p)の各項に対応する正則化パラメータの値を変化させることにより、該サブ変数の各項における係数wregの大きさを個別に調整できるので、予測値に対して各サブ変数が与える影響を調整できる。例えば、強正則化変数の1つである変数xreg_1の項に対応する正則化パラメータλreg_1の値を、それ以外の項に対応する正則化パラメータの値に対して相対的に大きくすると、xreg_1の項の係数wr_1の大きさを小さくできる。その結果、予測値に変数xreg_1が与える影響を小さくできる。なお、図8(b)では、予測値に強正則化変数が与える影響の大きさを、当該強正則化変数の項のサイズ(図中の四角枠を参照)の大小を用いて模式的に表している。
以上のように、本実施形態によれば、予測モデルに用いる説明変数を制限することなく、予測精度と不良サンプル数のバランスが良好なモデルを生成できる。したがって、例えば、健康シミュレーションなどで生活習慣に関する項目を一定としてある検査値の経過予測を行った場合等においても、予測精度を維持したまま、解釈できない予測結果が提示される可能性を低減できる。
なお、上記では、正則化パラメータの1度の探索(解候補の設定)でモデル学習~モデル選択までを行う例を示したが、より良い範囲を逐次的に探索できるように、正則化パラメータ候補設定部11、モデル学習部12、モデル選択部13の3つのモジュールをコントロールする上位モジュールをさらに備えることも可能である。
なお、図3に示す例では、モデル選択部13が、モデル生成時に、強正則化変数に対応する正則化パラメータの値が異なる複数のモデルの中からを予測に用いるモデルを選択したが、モデルの選択は、例えば、予測フェーズで行うことも可能である。
図10は、本実施形態の予測システムの他の構成例を示すブロック図である。図10に示す予測システムは、正則化パラメータ候補設定部11、モデル学習部12およびモデル評価部131を含むモデル生成部10Aと、モデル記憶部14と、モデル適用部15と、モデル決定部132とを備える。
モデル評価部131は、正則化パラメータ候補設定部11により正則化パラメータが決定した探索集合に含まれる各解候補に対応する予測モデルであって、モデル学習部12によって学習された複数の予測モデル(強正則化変数に対応する正則化パラメータの値が各々異なる学習済みモデル)の各々に対して、少なくとも予測精度を評価する。モデル評価部131は、例えば、所定の検証用データを、学習済みの複数の予測モデルの各々に適用し、得られた予測値と目標値との差分を基に、予測精度を評価してもよい。なお、モデル評価部131は、さらに、グラフ形状(経過予測時の予測値の推移が示すグラフ形状)に関する指標として、経過予測を行ったときの不良サンプル数やwscoreやvscoreや形状スコア等を求め、求めた該指標を基にグラフ形状を評価してもよい。モデル評価部131の評価結果は、モデル記憶部14に記憶される。
なお、このようなモデル評価部131は、第1の実施形態のモデル選択部13の機能の一部(モデルを評価する機能)を利用して実装することも可能である。その場合、当該機能(モデル評価機能)が、検証用データを基に求めた各モデルの評価指標(予測精度、精度スコア、不良サンプル数、形状スコア、トータルスコア、wscore、vscore等)を、モデルの情報とともにモデル記憶部14に記憶すればよい。
本例のモデル適用部15は、予測対象データが入力されると、モデル記憶部14に記憶されている複数の学習済みの予測モデルを読み出し、読み出した各予測モデルに予測対象データを適用して、モデルごとに、評価対象期間に含まれる各予測時点の予測値を得る。
モデル決定部132は、モデル記憶部14に記憶されている各モデルの評価結果と、モデル適用部15が得たモデルごとの評価対象期間に含まれる各予測時点の予測値とに基づいて、予測値を得た複数のモデルの中から最終的な予測値を得るモデルを1つ選択(決定)することにより最終的な予測値を得る。例えば、モデル決定部132は、今回の予測対象データから得た予測結果(各予測時点の予測値)が示すグラフ形状を評価した上で、当該評価結果(今回の評価結果)と、モデル記憶部14に記憶されている各モデルの評価結果(過去の評価結果)とに基づいて、モデルを決定してもよい。
グラフ形状の評価は、上記と同様、不良サンプルか否かを判定したり、wscoreやvscoreや形状スコア等を求めることにより行うことができる。
また、モデル決定部132におけるモデルの決定方法としては、上述したモデル選択部13によるモデル選択方法を利用できる。このとき、モデル決定部132は、予測精度や精度スコア等の予測精度に関する評価指標についてはモデル記憶部14に記憶されている評価結果を利用する。一方で、モデル決定部132は、不良サンプル数やwscoreやvscoreや形状スコア等のグラフ形状に関する評価指標については、今回の評価結果のみを利用してもよいし、今回の評価結果と過去の評価結果とを総合した評価結果(モデル記憶部14に記憶されている評価結果に今回の評価結果を加えたもの)を利用してもよい。
例えば、グラフ形状に関する評価指標として今回の評価結果のみを利用した場合、今回のサンプルすなわち今回の予測対象データにとって最も適したモデル(例えば、妥当でない変化を示す予測値を除外しつつ最も高精度な予測値を出力するモデル等)を選択できる。また、例えば、グラフ形状に関する評価指標として今回の評価結果と過去の評価結果とを総合した評価結果を利用した場合、今回のサンプルに限定されない多くのサンプルにとって最も適したモデル(例えば、予測精度と不良サンプル数のバランスが良好なモデル等)を選択できる。
モデル決定部132によってモデルが1つに決定されると、当該モデルから得られた評価対象期間に含まれる各予測時点の予測値が、最終的な予測値として出力される。
なお、他の点は、図3に示す予測システムと同様でよい。このように、モデルの選択(決定)を予測時に行っても同様の効果を得ることができる。
また、上記では、予測システム100がモデル生成部10やモデル生成部10Aを含む例を示したが、例えば、モデル記憶部14に予め上記で示したような予測モデルを記憶しておくことも可能である。その場合、モデル生成部10やモデル生成部10Aは省略可能である。
実施形態2.
次に、本発明の第2の実施形態を説明する。図11は、第2の実施形態の予測システムの構成例を示すブロック図である。図11に示す予測システム200は、制約付きモデル生成部21と、校正用モデル生成部22と、モデル記憶部24と、モデル適用部25とを備える。
図11に示す予測システム200は、図3に示す第1の実施形態と比較して、制約付きモデル生成部21が追加されている点、およびモデル生成部10、モデル記憶部14、モデル適用部15がそれぞれ校正用モデル生成部22、モデル記憶部24、モデル適用部25となっている点が異なっている。
制約付きモデル生成部21は、上記第2の方法すなわち所望のグラフ形状へのフィッティングを重視した方法を用いて予測モデルを生成する処理部であり、制約付与部211と、モデル学習部212と、モデル評価部213とを含む。以下、制約付きモデル生成部21によって生成された予測モデルを、制約付き予測モデルと呼ぶ。
制約付き予測モデルは、予測モデルの説明変数にメイン変数とサブ変数といった2以上の非制御変数を用いない予測モデルであれば特に限定されない。制約付き予測モデルは、2以上の非制御変数を用いないとの制約以外に、例えば、当該予測式において、1つの非制御変数(例えば、メイン変数)に相当する説明変数の係数が予め指定された値域内であるとの制約が課された線形モデルまたは区分線形モデルであってもよい。このような制約付き予測モデルは、予測式に用いる説明変数を1つの非制御変数(例えば、メイン変数)と1つ以上の制御変数とに制限した上で、その非制御変数の係数が予め指定された値域内になるよう制約を課してモデル学習を行うことで生成できる。
なお、予測モデルが、区分定義を含む区分線形モデルである場合には、さらに該区分定義に制御変数のみが使用されるとの制約を課してもよい。これにより、制御変数を一定としたときに区分線形モデルにおいて予測式の切り替わりを防止できる。
このような制約を加えることで、妥当でない推移を示す予測値が出力されることを防ぐことができる。なお、非制御変数の係数の値域は、予測対象項目の値において妥当な推移の型として予め定められる型に応じて定めればよい。
上記の制約により、当該予測モデルの予測式は、例えば式(13)のように表すことができる。ここで、xmainはメイン変数、aはメイン変数の係数、xqは制御変数の列ベクトル、θTは制御変数の係数の行ベクトル、bは切片を表す。なお、式(13)では1つの非制御変数としてメイン変数を用いたが、1つの非制御変数はメイン変数以外であってもよい。
すると、予測式(13)のt=0とした漸化式を解くことにより、第nの予測時点の予測項目の値を示す一般式を式(14)のように導出できる。
予測モデルに用いられる予測式を、このような漸化式で表現される予測式に制限した上で、非制御変数の係数(上記のa)の値域を所定の範囲に制限することにより、予測式を、制御変数を一定とする条件下で妥当でない変化を示す予測値が出力されることを防止できる。一例として、このような制約の下、例えば、非制御変数の係数aの値域を0<a<1に制限すれば、図12(a)に示すような上向きに漸近していくグラフ形状に制限できる。また、例えば、1<aに制限すれば、図12(b)に示すような下向きに漸近していくグラフ形状に制限できる。また、例えば、-1<a<0に制限すれば、図12(c)に示すような徐々に収束していくグラフ形状に制限できる。また、例えば、-1>aに制限すれば、図12(d)に示すような徐々に発散していくグラフ形状に制限できる。なお、それら妥当なグラフ形状に、必要に応じてyが一定値(a=0)の場合や単純増加する場合(a=1)や単純減少する場合(a=-1)を含めることもできる。
なお、非制御変数の係数aの値域は、上記に限らず、予め定められた予測値の妥当な推移の型に合致するものであればよい。
制約付与部211は、上述したような制約を後段のモデル学習部212に与える。
モデル学習部212は、制約付与部211によって与えられた制約の下で、与えられた第1の訓練データを用いてモデルを学習する。ここで、モデル学習部212に与えられる第1の訓練データ(図中の訓練データ1)は、制約付き予測モデルにおいて目的変数とされる予測対象項目の値と、該予測対象項目の値と相関しうる複数の変数であって該制約付き予測モデルにおいて説明変数とされる複数の変数(より具体的には、それら複数の変数の組合せ)とが対応づけられたデータの集合であればよい。例えば、第1の訓練データは、第1の実施形態の訓練データにおいて説明変数とされた複数の変数の中からサブ変数が除かれたものであってもよい。制約付きモデル生成部21は、例えば、第1の実施形態と同様、説明変数にメイン変数とサブ変数と制御変数とを含む訓練データを入力した上で、制約付与部211が、入力された訓練データの中からサブ変数に相当する説明変数を除外するデータ加工(例えば、値を0にする、データ構造自体から削除する等)を行うことにより、モデル学習部212に与える訓練データを生成してもよい。
モデル評価部213は、モデル学習部212によって学習された制約付きモデルの予測精度を評価する。モデル評価部213は、例えば、所定の検証用データを学習済みの制約付き予測モデルの各々に適用し、得られた予測値と目標値との差分を基に、予測精度を評価してもよい。このとき、モデル評価部213は、予測フェーズにおいて当該予測モデル(学習済みの制約付き予測モデル)から得られる予測値の校正に用いる値(例えば、残差、対数残差、残差平方和など)を算出する。なお、校正に用いる値(以下、校正値という)は、与えられた第1の訓練データが示す目標値(目的変数の値)と、該訓練データを学習済みの制約付き予測モデルに適用して得られる予測値とから算出されうる値であれば、上記の例に限定されない。以下では、訓練データで示される目標値とその目標値と対応づけられた説明変数の組合せから実際に取得された予測値とを基に算出された校正値を、実際の校正値と呼ぶ場合がある。
学習済みの制約付きモデルはモデル記憶部24に記憶される。このとき、後述する校正用モデルの学習のために、訓練データから得られた実際の校正値と該実際の校正値を得た説明変数の組合せとを対応づけた情報を併せて記憶してもよい。
また、校正用モデル生成部22は、第1の実施形態で示した方法を用いて、少なくとも予め定められた強正則化変数の項に影響を与える正則化パラメータについて異なる値を有する複数の解候補の各々に対応する複数の学習済みの予測モデルを生成する。ただし、本実施形態の校正用モデル生成部22は、任意の予測対象データに対して条件付き予測モデルが出力する予測値に対する校正値を予測する予測モデルを、第1の実施形態で示した方法を用いて生成する。以下、校正用モデル生成部22が生成する予測モデルを、校正用モデルという。
すなわち、校正用モデルは、任意の予測対象データに対して条件付き予測モデルが出力する予測値に対する校正値を示す変数を目的変数とする予測モデルであればよい。なお、説明変数は、特に制限されないが、予測基準点において取得可能な値を示す変数であって、該校正値と相関しうる変数であればよい。なお、校正用モデルの説明変数は、第1の実施形態と同様、予測基準点の1つ先の予測時点における予測対象項目の値と相関しうる複数の変数であればよい。換言すると、制約付きモデルにおいて説明変数とされる複数の変数にさらに1つ以上の非制御変数を加えたものであってもよい。
校正用モデル生成部22における正則化パラメータ候補設定部221、モデル学習部222およびモデル選択部223は、生成対象の予測モデルが校正用モデルとなる点すなわち目的変数が異なる点以外、基本的に第1の実施形態の正則化パラメータ候補設定部11、モデル学習部12およびモデル選択部13と同じでよい。
すなわち、正則化パラメータ候補設定部221は、第2の訓練データ(図中の訓練データ2)が入力されると、校正用モデルの正則化に用いるパラメータである正則化パラメータのうち少なくとも強正則化変数の項に影響を与える正則化パラメータの値が異なる複数の解候補が設定された探索集合を出力する。
モデル学習部222は、第2の訓練データを用いて、正則化パラメータ候補設定部221から出力される正則化パラメータの探索集合に含まれる各解候補に対応する校正用モデルをそれぞれ学習する。
モデル選択部223は、モデル学習部222が学習した正則化パラメータの複数の解候補のそれぞれに対応する校正用モデルの中から、予測精度が高く、かつ不良サンプル数が少ない予測モデルを選択して、モデル記憶部24に記憶する。
ただし、本実施形態の校正用モデル生成部22(正則化パラメータ候補設定部221、モデル学習部222およびモデル選択部223)では、予測モデルの予測値および目標値が、校正用モデルの予測値(校正値)および目標値(実際の校正値)となる。校正用モデルの目標値(実際の校正値)は、例えば、入力される第2の訓練データに含まれているものを使用してもよい。すなわち、第2の訓練データが、説明変数の組合せと、該説明変数の組合せにおける実際の校正値とを対応づけたデータの集合であれば、第2の訓練データに含まれる実際の校正値を使用してもよい。なお、第2の訓練データが、説明変数の組合せと、該説明変数の組合せにおける実際の予測項目の値(制約付きモデルの目標値)とを対応づけたデータの集合であれば、該組合せ(ただし、1つの非制御変数以外の非制御変数は除かれる)を制約付きモデルに適用して得られる予測値と該目標値とから実際の校正値を算出してもよい。
モデル適用部25は、予測対象データが入力されると、モデル記憶部24に記憶されている制約付きモデルおよび校正用モデルを用いて、経過予測を行う。具体的に、モデル適用部25は、モデル記憶部14に記憶されている制約付きモデルおよび校正用モデルに予測対象データを適用して、評価対象期間に含まれる各予測時点における予測対象項目の値を得ればよい。モデル適用部25に入力される予測対象データは、制約付きモデルの説明変数と校正用モデルの説明変数とが少なくとも含まれる任意の複数の変数の組合せであってよい。
図13は、モデル適用部25の構成例を示すブロック図である。図13に示すように、モデル適用部25は、制約付きモデル適用部251と、校正用モデル適用部252と、校正部253とを含む。
制約付きモデル適用部251は、予測対象データが入力されると、モデル記憶部24に記憶されている制約付きモデルを用いて、予測対象項目の値に対する経過予測を行う。具体的に、制約付きモデル適用部251は、モデル記憶部24に記憶されている制約付きモデルを読み出し、該制約付きモデルに予測対象データ(ただし1つの非制御変数以外の非制御変数(例えば、サブ変数)は除かれる)を適用して、評価対象期間に含まれる各予測時点における予測値(予測対象項目の値。以下、第1の予測値という)を得ればよい。このとき、制約付きモデル適用部251は、必要に応じて予測対象データから1つの非制御変数以外の非制御変数を除外する処理を行う。
校正用モデル適用部252は、予測対象データが入力されると、モデル記憶部24に記憶されている校正用モデルを用いて、制約付きモデルから得られる各予測時点における第1の予測値の校正値を取得する。校正用モデル適用部252は、例えば、モデル記憶部24に記憶されている校正用モデルを読み出し、該校正用モデルに予測対象データを適用して、評価対象期間に含まれる各予測時点における第1の予測値に対する校正値を得ればよい。
校正部253は、制約付きモデル適用部251より得られる評価対象期間に含まれる各予測時点における第1の予測値を、校正用モデル適用部252より得られる該値に対する校正値に基づいて校正する。そして、校正後の各予測時点の第1の予測値を、最終的な予測値すなわち各予測時点における予測対象項目の値として出力する。
次に、本実施形態の予測システムの動作を説明する。本実施形態の予測システムの動作も、訓練データを用いて予測モデル(制約付きモデルと校正用モデル)を学習するモデル学習フェーズと、学習された予測モデルを用いて経過予測を行う予測フェーズとに大別される。
まず、モデル学習フェーズについて説明する。モデル学習フェーズは、予測フェーズの前に少なくとも1度行われる。図14は、本実施形態の予測システムのモデル学習フェーズの動作例を示すフローチャートである。
図14に示す例では、まず、予測システムに第1の訓練データが入力される(ステップS301)。本例では、第1の訓練データとして、ある時点t’における予測対象項目の値(制約付きモデルの目標値)と、その時点t’より1つ前の時点(t’-1)を予測基準点としたときのメイン変数と、1つ以上の制御変数とを含む変数の組合せを示すデータの集合が入力される。なお、制御変数の値は任意である。なお、第1の訓練データは、時点(t’-1)を予測基準点としたときのサブ変数をさらに含む変数の組合せを示すデータの集合であってもよい。その場合、当該第1の訓練データから第2の訓練データを生成できる。
ステップS301で、訓練データとともに、制約付きモデルに与える制約の情報等を受け付けてもよい。
次いで、制約付きモデル生成部21が、入力された第1の訓練データを基に、上記の制約が課された制約付きモデルを生成して(ステップS302)、モデル記憶部24に保存する(ステップS303)。
モデル記憶部24に制約付きモデルが記憶されると、校正用モデル生成部22が、該制約付きモデルを評価して、校正用モデルの目標値とされる実際の校正値を算出して第2の訓練データを生成し、入力する(ステップS304)。本例では、第2の訓練データとして、ある時点t’における予測対象項目の値の校正値(校正用モデルの目標値)と、その時点t’より1つ前の時点(t’-1)を予測基準点としたときのメイン変数および1つ以上のサブ変数と、任意の制御変数とを含む変数の組合せを示すデータの集合が入力される。
ステップS304で、第2の訓練データとともに、正則化パラメータの条件等を受け付けてもよい。
次いで、正則化パラメータ候補設定部221が、校正用モデルの説明変数のうち少なくとも強正則化変数の項に影響を与える正則化パラメータの値が異なる複数の解候補が設定された探索集合を出力する(ステップS305)。
次いで、モデル学習部222が、第2の訓練データを用いて、正則化パラメータ候補設定部221から出力される正則化パラメータの各解候補に対応する校正用モデルをそれぞれ学習する(ステップS306)。
次いで、モデル選択部223が、学習済みの複数の校正用モデルの中から、予測精度が高く、かつ不良サンプル数が少ない校正用モデルを選択して、モデル記憶部24に記憶する(ステップS307)。
次に、予測フェーズについて説明する。図15は、本実施形態の予測システムの予測フェーズの動作例を示すフローチャートである。予測フェーズは、例えば、経過予測が要求されるたびに行ってもよい。
図15に示す例では、まず、予測システムに予測対象データが入力される(ステップS401)。ここで入力される予測対象データは、モデル記憶部24に記憶されている制約付きモデルおよび校正用モデルにおいて説明変数とされた変数を含む複数の変数の任意の組合せを示すデータでよい。本例では、今回の経過予測の評価対象期間で最初の予測時点(第1の予測時点)より1つ前の時点(第1の予測基準点)を予測基準点としたときのメイン変数およびサブ変数と、1つ以上の制御変数とを含む変数の組合せを示すデータが入力される。なお、本実施形態でも、予測条件として、各予測時点の予測に用いる制御変数の値等を指定することも可能である。
予測対象データが入力されると、モデル適用部25が、モデル記憶部24に記憶されている制約付きモデルと校正用モデルとを用いて、経過予測を行う(ステップS411~ステップS412、ステップS421~ステップS422、ステップS423)。
予測対象データが入力されると、例えば、モデル適用部25の制約付きモデル適用部251が、モデル記憶部24から制約付きモデルを読み出して(ステップS411)、読み出した制約付きモデルに予測対象データ(ただし、サブ変数は除外される)を適用して、評価対象期間に含まれる各予測時点の予測値(第1の予測値)を得る(ステップS412)。
また、予測対象データが入力されると、例えば、モデル適用部25の校正用モデル適用部252が、モデル記憶部24から校正用モデルを読み出して(ステップS421)、読み出した校正用モデルに予測対象データを適用して、評価対象期間に含まれる各予測時点の予測値(第1の予測値の校正値)を得る(ステップS422)。
そして、モデル適用部25の校正部253が、各予測時点の第1の予測値をその校正値を用いて校正し、各予測時点の最終的な予測値を得る(ステップS423)。
以上のように、本実施形態によれば、所定のグラフ形状をなす予測値を出力するよう制限された制約付きモデルで得られた予測値を、予測精度と形状精度の両方が考慮された校正用モデルによる校正値で校正することができるので、第1の実施形態と同様の効果を得ることができる。すなわち、予測精度を維持したまま、解釈できない予測結果が提示される可能性を低減できる。
なお、図16は、本実施形態の予測システムの他の構成例を示すブロック図である。図16に示す例では、予測システム200に、上記のステップS304で示したような、説明変数としてサブ変数を含む訓練データから第2の訓練データを生成する処理を行うデータ加工部23が追加されている。
また、図示省略しているが、本実施形態においても、モデル選択部223による機能の一部(モデル選択処理)を、予測フェーズで行うようにしてもよい。その場合、モデル適用部25の後段にさらにモデル決定部を備えればよい。なお、当該モデル決定部によるモデルの決定方法は第1の実施形態のモデル決定部132と基本的に同様でよい。
また、本実施形態においても、モデル記憶部24に予め上記で示したような制約付きモデルや校正用モデルを記憶しておくことも可能である。その場合、制約付きモデル生成部21や校正用モデル生成部22は省略可能である。
なお、上記の各実施形態では、予測精度に関する評価結果と、グラフ形状または不良サンプル数に関する評価結果とに基づいて、モデルを選択する例を示したが、これらの評価を行うタイミングは、モデル選択時に限定されない。例えば、モデル選択後、さらに、そのモデルを用いて行った経過予測の予測結果の出荷判断等において、これら評価を行うことも可能である。
その場合、例えば、図示しない出荷判断部が、出荷対象とされるモデルから得た予測値の推移や出荷対象とされる予測値の推移(より具体的には、得られた予測値を示すデータを含む系列データであって時間と対応づけて予測対象項目の値を示す2つ以上のデータを含む系列データ)を入力して、入力された系列データに対して、上述したような予測精度に関する評価や、グラフ形状または不良サンプル数に関する評価を行い、それらの評価結果に基づいて、系列データに含まれる予測値を得たモデルまたは系列データに含まれる予測値の出荷判断を行ってもよい。
出荷判断は、例えば、得られた予測精度に対して正の相関を示す精度スコアと、不良サンプル数に対して負の相関を示す形状スコアとの和で表されるトータルスコアが、所定の閾値以上であるか否かを判定することによって行ってもよい。なお、出荷判断では、グラフ形状または不良サンプル数に関する評価のみを行い、得られた評価結果に基づいて出荷の可否を判定してもよい。
また、出荷判断部は、例えば、1つの予測モデルから複数のサンプルに対する予測値が得られた場合、各サンプルにおける予測値を含む系列データが全て出荷可であれば、それらに含まれる予測値を出荷OKと判定し、それ以外であれば所定のアラート処理を行ってもよい。また、出荷判断部は、例えば、複数の予測対象項目からそれぞれ系列データが得られた場合には、それらを個別に評価してもよいし、それらをまとめて評価(一括評価)することも可能である。一例として、出荷判断部は、予測値や予測モデルが出荷される単位である出荷単位ごとに、該出荷単位における予測値を含む系列データを一括して評価してもよい。
アラート処理としては、例えば、出荷不可と判定された予測対象項目の系列データと合わせてその旨を所定のサーバや表示装置に出力して、人手による出荷の可否判定を依頼してもよい。さらに、人手による出荷可否の判定結果を受け付けてもよい。
なお、このような系列データの入力および出荷判断を半自動で行う出荷判定装置を、予測を行う装置やシステムとは独立に設けることも可能である。
実施形態3.
次に、上記の各実施形態の予測システムの利用例として、健康シミュレーションシステムを説明する。図17は、第3の実施形態の健康シミュレーションシステムの構成例を示すブロック図である。本実施形態の健康シミュレーションシステム30は、健康シミュレーションに用いる検査項目の数uに応じた予測部31(31-1~31-u)と、シミュレーション部32とを含む。
予測部31-1~31-uはそれぞれ、上記の予測システムのいずれかにより実現される。予測部31-1~31-uは、具体的には、予測対象項目として予め定められた1つの検査項目i(例えば、生活習慣病に関係する検査項目1~uのいずれか)について、入力された予測対象データを基に、指定された評価対象期間に含まれる各予測時点における予測項目の値を予測して出力する。
なお、各々の予測部31は、予め目的変数としてある時点t’における予測対象項目の目標値とされる値yi
(t’)に対して、説明変数として、時点t’-1における予測対象項目の値に対応する変数xmain
(t’-1)と、該xmain
(t’-1)以外の1つ以上の任意変数であって時点t’-1において取得可能な値を示す1つ以上の任意変数の値{xsub_j
(t’-1)}(ただし、j=1~p)と、時点t’-1において取得可能な値を示す生活習慣に関する1つ以上の問診項目の値{xclt_i
(t’-1)}(ただし、i=1~q)とを少なくとも含む訓練データを用いて学習された予測モデル(または制約付きモデルと校正用モデルのペア)を少なくとも1つ記憶している。
ここで、xmain
(t’-1)がメイン変数に相当し、xsub_j
(t’-1)がサブ変数に相当し、xclt_i
(t’-1)が制御変数に相当する。ここで、xsub_j
(t’-1)は、例えば、時点t’-2における予測対象項目の値を示す変数xmain
(t’-2)または時点t’-1における予測対象項目の値と時点t’-2における予測対象項目の値の差分を示す変数xdiff
(t’-1)(=xmain
(t’-1)-xmain
(t’-2))であってもよい。なお、サブ変数はこれらの変数に限定されない。例えば、時点t’-1における予測対象項目の値と、時点t’-1における他の検査項目の値とから算出される統計値(差分を含む)であってもよい。
例えば、予測部31-iにおけるxmain
(t’-1)は、上記式(3)におけるxi
(t)に相当する説明変数であってもよい。また、例えば、xsub_j
(t’-1)}上記式(3)におけるxi’
(t)(ただし、i’=1~u,ただしiを除く)に相当する説明変数であってもよい。
なお、xclt_i
(t’-1)は、時点t’-1において取得可能な値であって制御可能な値であれば特に限定されない。例えば、xclt_i
(t’-1)は、時点t’-1から見て最初の予測時点(第1の予測時点)に相当する時点t’における生活習慣に関する問診項目の値であってもよい。その場合、時点t’-1において生活習慣に関する問診項目に将来の値が設定されたことを意味する。
シミュレーション部32は、予測部31-1~31-uを用いて、指定された従業員等の健康に関するシミュレーションを行う。なお、シミュレーションを行う対象は従業員以外にも、予測対象項目に関し、過去の実績値(本例では、健康診断の結果)が得られる対象であれば特に限定されない。
シミュレーション部32は、指定されたユーザについて、現在のモードが問診項目(制御変数)を固定させて経過予測を行うリスクシミュレーションモードであれば、予測部31-1~31-uのそれぞれに、現時点を第1の予測基準点tとして現時点で得られるxmain
(t)と{xsub_j
(t)}と{xctl_i
(t)}とで表される説明変数の組合せを予測対象データとしてもよい。また、シミュレーション部32は、その結果として、予測部31-1~31-uのそれぞれから、評価対象期間に含まれる各予測時点(時点t+1~時点t+n)における予測値に対応するxmain
(t+1)~xmain
(t+n)を得てもよい。このとき、シミュレーション部32は、予測部31の各々に対して、問診項目の値{xctl_i
(t)}について各予測時点で指定された値すなわち時点tにおいて設定された値が維持されるものとして予測値を算出させる。
なお、本例において、予測部31の各々は他の予測部31の予測値を参照可能に構成されているものとする。
また、シミュレーション部32は、指定されたユーザについて、現在のモードが問診項目(制御変数)を固定させずに経過予測を行う生活習慣改善シミュレーションモードであれば、予測部31-1~31-uのそれぞれに、現時点を第1の予測基準点tとして現時点で得られるxmain
(t)と{xsub_j
(t)}と{{xctl_i
(t)},...,{xctl_i
(t+n-1)}}とで表される説明変数の組合せを予測対象データとしてもよい。なお、上記は、制御変数について各予測基準点において設定される値が指定されていることを意味する。また、シミュレーション部32は、その結果として、予測部31-1~31-uのそれぞれから、変数xmain
(t+1)~xmain
(t+n)を得てもよい。問診項目の値の設定は、例えば、画面上でユーザ操作を受け付けることにより行ってもよい。
また、シミュレーション部32は、予測部31-1~31-uの各々から得られたxmain
(t+1)~xmain
(t+n)を用いて、各検査項目の各予測時点の予測値を表示する。なお、本例では、予測部31-1~31-uの各々から、該予測部31が対応する予測対象項目についての各予測時点における予測値に対応する変数xmain
(t+1)~xmain
(t+n)が得られる。図18は、シミュレーション部32による問診項目の変更方法および予測結果の表示方法の例を示す説明図である。シミュレーション部32は、図18に示すように、検査項目ごとに、経過予測の結果(評価対象期間に含まれる各予測時点の予測値を少なくとも含む)をグラフ表示するなどして、予測値の推移(経時変化)を表示してもよい。これにより、ユーザが現在の生活習慣を続けた時や生活習慣を変化させた時の生活習慣病のリスクを知ることができる。その結果、リスクが現在高い人だけでなく、将来的にリスク増大が見込まれる人に対して、生活習慣の改善等のアドバイスを行うことができる。
また、シミュレーション部32は、リスクシミュレーションモードで得た予測値の推移と、生活習慣改善シミュレーションモードで得た予測値の推移とを、グラフ上で比較できるように提示してもよい。
また、シミュレーション部32は、予め予測部31の各々に、生活習慣に関する問診項目の値を1つだけ現在のユーザが選択した値から変更した場合の予測結果を、変更する問診項目を変えながら網羅的に取得した上で、それぞれの予測対象項目に対して改善効果が高かった上位所定数の生活習慣を特定して、提示することも可能である。
なお、上記の各実施形態では、tは予測単位時間に対応した時点を表していたが、予測対象項目が何かの行動や処置を繰り返すことで値が変化するものである場合、tはそれら行動や処置の実施回数を表すことも可能である。なお、その場合であっても表現上は、tが各回に対応する時点を表すものとしてもよい。
次に、上述した非妥当性スコアの算出方法についてより詳細に説明する。以下では、モデル選択部13が図示しないスコア算出部を含むものとして説明するが、スコア算出部の処理をそのままモデル選択部13が行うことも可能である。
スコア算出部は、時間と対応づけて予測対象項目の値を示す3つ以上のデータであってそのうちの少なくとも1つが予測値を示すデータを含む系列データを入力とし、その系列データの非妥当性を表す指標である非妥当性スコアを算出して出力する。
以下では、非妥当性スコアを、入力された系列データが所定の漸近モデルとどれだけ離れているかを示す指標として算出する。
ここで、漸近モデルは、時間をX軸、予測項目をY軸としたとき、X軸と平行な漸近線が存在する曲線を表す曲線モデル、より具体的には、x→∞のときy(x)がある値に収束する関数で表される曲線モデルをいう。ここで、xは、系列データにおいて各データが対応する時間軸上の点(座標)を表し、y(x)はx時点における予測項目値を表す。なお、漸近モデルは、以下の式(c1)で表される条件を少なくとも満たす関数で表される曲線モデルであってもよい。ここで、aは任意の定数である。なお、存在する漸近線は1つに限らず、例えば、ロジスティック関数や逆正接関数と呼ばれる関数のように2つの漸近線が存在する関数で表されるものも含む。
スコア算出部は、漸近モデルとして、予め定めた1つの関数形で表される曲線モデルを用いることもできるが、例えば、入力された系列データを、上記の条件を満たす所定の2以上の関数形にフィッティングして得られるモデルを用いてもよい。
フィッティングは、例えば、以下の式(c2)に示すような予め定められた損失関数を最小化するモデルパラメータθの解(ハット付きθ)を探索することによって行ってもよい。
式(c2)において、nはフィッティングを行う値の時点を表し、loss()は誤差関数を表し、f()はフィッティング先の関数形を表す。なお、f(xn,θ)で、その関数形f()に任意の時点xnと1組のモデルパラメータθとを与えたときの出力を表し、f(xn,^θ)で、フィッティングにより得られた漸近モデルにおける任意の時点xnの出力を表す。式(c2)に示す例では、誤差関数として二乗損失を用いているが、誤差関数は二乗損失に限らない。
スコア算出部は、例えば、このようにして得られた漸近モデルと、入力された予測値の系列データとの誤差を算出し、非妥当性スコアとして出力してもよい。
スコア算出部は、例えば、以下の式(c3)で示される誤差値(error)を非妥当性スコアとして出力してもよい。
スコア算出部は、フィッティングに用いるデータと、誤差の算出に用いるデータとを独立に指定してもよい。なお、スコア算出部は、それらの指定をユーザから受け付けることも可能である。このとき、フィッティングに用いるデータ(第1グループに属するデータ)と、誤差の算出に用いるデータ(第2グループに属するデータ)とは完全に一致していなくてもよい。
一例として、N個のデータを含む系列データが入力された場合に、フィッティングを前半のN’(ただしN’<N)個のデータを用いて行い、誤差の計算を残りのデータ(N-N’個)や全てのデータ(N個)の値を用いて行ってもよい。また、他の例として、フィッティングを1番目、3番目、5番目のデータなど系列データにおいて連続していない時点のデータを用いて行い、誤差の計算を全てのデータを用いて行う、なども可能である。
例えば、5個のデータを含む系列データが入力された場合に、スコア算出部は、例えば次のようにしてフィッティングおよび誤差の計算を行ってもよい。
[フィッティングと誤差計算のパターン例]
・前半3個のデータでフィッティングを行い、後半2個のデータで誤差を計算する。
・前半3個のデータでフィッティングを行い、全てのデータで誤差を計算する。
・前から1、3、5番目のデータでフィッティングを行い、全てのデータで誤差を計算する。
ここで、スコア算出部に入力される系列データに含まれるデータ数(予測値の数)Npは特に限定されないが、少なくとも1つは含まれるものとする。なお、実際は、系列データに、経過予測を行った時点数分の予測値を示すデータが少なくとも含まれることが好ましい。なお、系列データは、過去の実績値を示すデータを含んでいてもよく、その場合、上記のNは、過去の実績値を示すデータを含めた総データ数を表すものとする。なお、Nは3以上を前提とするが、フィッティング精度の観点からは、例えば4以上がより好ましい。
なお、系列データに実績値を示すデータが含まれている場合は、誤差の計算を、予測値を示すデータのみを用いて行ってもよい。
また、スコア算出部は、フィッティングを行う前に、X軸の値であるx座標(各予測項目の値が対応する時間を表す値)をリスケールしてもよい。系列データをグラフ表示する際、縦軸(Y軸:予測値)の目盛の単位が50、横軸(X軸:時間)の目盛の単位が1など、縦軸と横軸とで数値の単位(目盛の幅)が大きく異なることが考えられる。その場合、そのままの数値を用いてフィッティングしても、見た人が期待するような漸近モデルが得られない。これは、X軸とY軸とで尺度が大きく異なる値を等間隔でグラフ表示したときのグラフ形状でフィッティングが行われるために、実際に表示させたときに妥当なグラフ形状とされる曲線とは異なる形状の曲線にフィッティングされてしまうためである。
このような不都合を解消するために、実際の表示に合わせて、系列データに含まれる各データに対応づけられている時間の値(x座標)をリスケールした上でフィッティングを行うのが好ましい。
例えば、スコア算出部は、入力された系列データを表示するグラフの目盛設定等の表示に関するパラメータ(表示パラメータ)が得られる場合には、X軸の主目盛の幅がY軸の主目盛の幅と同じ単位(上記の例でいうと、50単位)になるように、x座標を変換してもよい。この場合、X軸の主目盛の幅の単位=1に対して、Y軸の主目盛の幅の単位=50(50倍)となっているため、x座標も50倍とする。以下、このようなx軸のリスケール時の倍率を、リスケールパラメータx_scaleという場合がある。
また、スコア算出部は、リスケールパラメータx_scaleを次のようにして求めることも可能である。スコア算出部は、系列データとともに、その系列データを表示する際のパラメータである表示パラメータを入力し、系列データから得られる情報と、該表示パラメータとに基づいて、リスケールパラメータxscaleを計算することも可能である。
以下の式(c4)は、リスケールパラメータx_scaleの算出式の一例である。式(c4)において、ymax,ymimは系列データに含まれる予測項目の最大値,最小値を表す。また、Ndは系列データに含まれるデータ数(表示させる予測項目の点数)を表す。また、Arはその系列データの表示グラフの縦横比Ar(すなわち縦幅に対する横幅の比率)を表す。なお、式(c4)において、0.8は縦方向の表示比率、0.9は横方向の表示比率を表しているが、これらの値は適宜調整される。
x_scale=((ymax-ymin)/0.8*Ar*0.9)/(Nd-1))
・・・(c4)
式(4)に示す例では、ymax,ymimおよびNdが系列データから得られる情報に相当し、Ar、縦方向の表示比率および横方向の表示比率が表示パラメータに相当する。
例えば、縦横比が1:2(Ar=2)、枠内に5点を表示する場合、x_scaleは次のように算出される。
x_scale=((ymax-ymin)/0.8*2*0.9)/4)
上記の例では、系列データに含まれる各データに対応づけられている時間の単位が予測単位(すなわち予測時点が1つ増えるごとに1増える数)であることを前提として、x_scaleを、y軸の単位で表現した各データのx方向の間隔を表す指標として算出している。したがって、系列データにおける時間の単位が予測単位時間以外の場合や、表示する際のx方向の間隔の単位が1以外の場合には、各データに対応づけられているx座標を予測単位時間やx方向の間隔の単位で割ってx軸の単位を1とした上で、x_scale倍すればよい。
なお、スコア算出部は、x_scaleの指定を受けつけることも可能である。例えば、スコア算出部は、系列データとともに、x_scaleを入力してもよい。なお、スコア算出部は、系列データとともに、上述したような表示パラメータを入力してx_scaleを算出することも可能である。
また、図19は、本発明の各実施形態にかかるコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005と、入力デバイス1006とを備える。
上述の各実施形態の予測システムや健康シミュレーションシステムが備えるサーバその他の装置等は、コンピュータ1000に実装されてもよい。その場合、各装置の動作は、プログラムの形式で補助記憶装置1003に記憶されていてもよい。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのプログラムに従って各実施形態における所定の処理を実施する。なお、CPU1001は、プログラムに従って動作する情報処理装置の一例であり、CPU(Central Processing Unit)以外にも、例えば、MPU(Micro Processing Unit)やMCU(Memory Control Unit)やGPU(Graphics Processing Unit)などを備えていてもよい。
補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータは1000がそのプログラムを主記憶装置1002に展開し、各実施形態における所定の処理を実行してもよい。
また、プログラムは、各実施形態における所定の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで各実施形態における所定の処理を実現する差分プログラムであってもよい。
インタフェース1004は、他の装置との間で情報の送受信を行う。また、ディスプレイ装置1005は、ユーザに情報を提示する。また、入力デバイス1006は、ユーザからの情報の入力を受け付ける。
また、実施形態における処理内容によっては、コンピュータ1000の一部の要素は省略可能である。例えば、コンピュータ1000がユーザに情報を提示しないのであれば、ディスプレイ装置1005は省略可能である。例えば、コンピュータ1000がユーザから情報入力を受け付けないのであれば、入力デバイス1006は省略可能である。
また、上記の各実施形態の各構成要素の一部または全部は、汎用または専用の回路(Circuitry)、プロセッサ等やこれらの組み合わせによって実施される。これらは単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、上記の各実施形態各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
上記の各実施形態の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要を説明する。図20は、本発明のモデル生成装置の概要を示すブロック図である。図20に示すモデル生成装置60は、正則化パラメータ候補設定手段61と、モデル学習手段62と、精度評価手段63と、推移評価手段64と、モデル決定手段65とを備えている。
正則化パラメータ候補設定手段61(例えば、正則化パラメータ候補設定部11、正則化パラメータ候補設定部221)は、複数の説明変数のうちの一部の値を固定して行われる経過予測に用いる予測モデルの正則化に用いられる正則化パラメータの探索集合であって、予測モデルの予測式に用いられる説明変数のうち特に定められた1または複数の変数である強正則化変数の項に影響を与える正則化パラメータの値が少なくとも互いに異なる複数の解候補が設定された探索集合を出力する。
モデル学習手段62(例えば、モデル学習部12、モデル学習部222)は、探索集合に含まれる複数の解候補のそれぞれに対応した予測モデルを、訓練データを用いて学習する。
精度評価手段63(例えば、モデル選択部13の一部、モデル選択部223の一部、モデル評価部131)は、学習された複数の予測モデルの各々の予測精度を、所定の検証用データを用いて評価する。
推移評価手段64(例えば、モデル選択部13の一部、モデル選択部223の一部、モデル評価部131、モデル決定部132)は、学習された複数の予測モデルの各々について、当該予測モデルから得られる予測値の推移が示すグラフ形状または該推移が妥当でないサンプルの数である不良サンプル数を、所定の検証用データを用いて評価する。
モデル決定手段65(例えば、モデル選択部13の一部、モデル選択部223の一部、モデル決定部132)は、予測精度に関する評価結果と、グラフ形状または不良サンプル数に関する評価結果とに基づいて、学習された複数の予測モデルの中から経過予測に用いる1つの予測モデルを決定する。
以上のような構成により、予測精度と不良サンプル数のバランスが良好なモデルを生成できる。したがって、経過予測において、予測精度を維持したまま、解釈できない予測結果が提示される可能性を低減できる。
また、図21は、本発明の予測システムの概要を示すブロック図である。図21に示す予測システムは、上記のモデル生成装置60が備える構成要素に加えて、モデル記憶手段66と、予測手段67とを備える。
モデル記憶手段66(例えば、モデル記憶部14、モデル記憶部24)は、経過予測に用いる予測モデルを記憶する。
予測手段67(例えば、モデル適用部15、モデル適用部25)は、予測対象データが与えられると、モデル記憶手段66に記憶されている予測モデルを用いて、経過予測を行う。
なお、上記の実施形態は以下の付記のようにも記載できる。
(付記1)複数の説明変数のうちの一部の値を固定して行われる経過予測に用いる予測モデルの正則化に用いられる正則化パラメータの探索集合であって、前記予測モデルの予測式に用いられる説明変数のうち特に定められた1または複数の変数である強正則化変数の項に影響を与える正則化パラメータの値が少なくとも互いに異なる複数の解候補が設定された探索集合を出力する正則化パラメータ候補設定手段と、前記探索集合に含まれる前記複数の解候補のそれぞれに対応した予測モデルを、訓練データを用いて学習するモデル学習手段と、学習された複数の前記予測モデルの各々の予測精度を、所定の検証用データを用いて評価する精度評価手段と、学習された複数の前記予測モデルの各々について、当該予測モデルから得られる予測値の推移が示すグラフ形状または該推移が妥当でないサンプルの数である不良サンプル数を、所定の検証用データを用いて評価する推移評価手段と、前記予測精度に関する評価結果と、前記グラフ形状または前記不良サンプル数に関する評価結果とに基づいて、学習された複数の前記予測モデルの中から前記経過予測に用いる予測モデルを決定するモデル決定手段とを備えることを特徴とするモデル生成システム。
(付記2)前記強正則化変数が、説明変数のうち、予測基準点より前の任意の時点における予測対象項目の値を示す変数または前記変数と他の変数から算出される任意の統計量を示す変数である付記1に記載のモデル生成システム。
(付記3)前記予測モデルが、予測時点における前記予測対象項目の値を示す変数を目的変数とし、かつ予測基準点における前記予測対象項目の値を示す変数であるメイン変数、前記強正則化変数、および人が制御できる1つ以上の制御変数のみを説明変数とする予測モデルであり、前記経過予測で、前記制御変数の値が固定される付記1または付記2に記載のモデル生成システム。
(付記4)前記精度評価手段は、学習された複数の前記予測モデルの各々に対して、検査用データを基に、予測精度に関する指標を求め、前記推移評価手段は、学習された複数の前記予測モデルの各々に対して、検査用データを基に、前記グラフ形状に関する指標または前記不良サンプル数を求め、前記モデル決定手段は、前記予測精度に関する指標と、前記グラフ形状に関する指標または前記不良サンプル数とに基づいて、前記経過予測に用いる予測モデルを決定する付記1から付記3のうちのいずれかに記載のモデル生成システム。
(付記5)複数の説明変数のうちの一部の値を固定して行われる経過予測に用いる予測モデルの1つであり、予測値を得る時点である予測時点における予測対象項目の値を予測する予測モデルであって、説明変数に、前記経過予測において値が変化する説明変数である非制御変数として予測基準点における前記予測対象項目の値を示すメイン変数以外の変数を用いないとの制約が少なくとも課された予測モデルである制約付きモデルの予測精度を、所定の検証データを用いて評価する制約付きモデル評価手段と、前記経過予測に用いられる予測モデルの1つであり、任意の予測対象データに対して前記制約付きモデルで得た予測値を校正するための校正値を予測する予測モデルであって、説明変数に2以上の非制御変数と人が制御できる変数である1つ以上の制御変数とを含む予測モデルである校正用モデルの正則化に用いられる正則化パラメータの探索集合であって、前記校正用モデルのモデル式に用いられる前記説明変数のうち特に定められた1または複数の変数である強正則化変数の項に影響を与える正則化パラメータの値が少なくとも互いに異なる複数の解候補が設定された探索集合を出力する正則化パラメータ候補設定手段と、前記探索集合に含まれる前記複数の解候補のそれぞれに対応した校正用モデルを、訓練データを用いて学習するモデル学習手段と、学習された複数の前記校正用モデルの各々の予測精度を、所定の検証用データを用いて評価する精度評価手段と、学習された複数の前記校正用モデルの各々について、前記制約付きモデルから得られる予測値を当該校正用モデルから得られる校正値で校正した結果得られる校正後の予測値の推移が示すグラフ形状または該推移が妥当でないサンプルの数である不良サンプル数を、所定の検証用データを用いて評価する推移評価手段と、前記予測精度に関する指標と、前記グラフ形状に関する指標または前記不良サンプル数とに基づいて、学習された複数の前記校正用モデルの中から前記経過予測に用いる校正用モデルを決定するモデル決定手段とを備えることを特徴とするモデル生成システム。
(付記6)前記グラフ形状に関する指標が、前期経過予測により得られた各予測時点の予測値を示すデータを含む系列データであって時間と対応づけて予測対象項目の値を示す3つ以上のデータを含む系列データを所定の関数形にフィッティングして得られる曲線モデルと前記系列データとの誤差に基づいて算出される非妥当性スコアである付記1から付記5のうちのいずれかに記載のモデル生成システム。
(付記7)複数の説明変数のうちの一部の値を固定して行われる経過予測に用いる予測モデルの正則化に用いられる正則化パラメータの探索集合であって、前記予測モデルの予測式に用いられる説明変数のうち特に定められた1または複数の変数である強正則化変数の項に影響を与える正則化パラメータの値が少なくとも互いに異なる複数の解候補が設定された探索集合を出力する正則化パラメータ候補設定手段と、前記探索集合に含まれる前記複数の解候補のそれぞれに対応した予測モデルを、訓練データを用いて学習するモデル学習手段と、学習された複数の前記予測モデルの各々の予測精度を、所定の検証用データを用いて評価する精度評価手段と、学習された複数の前記予測モデルの各々について、当該予測モデルから得られる予測値の推移が示すグラフ形状または該推移が妥当でないサンプルの数である不良サンプル数を、所定の検証用データを用いて評価する推移評価手段と、前記予測精度に関する評価結果と、前記グラフ形状または前記不良サンプル数に関する評価結果とに基づいて、学習された複数の前記予測モデルの中から前記経過予測に用いる予測モデルを決定するモデル決定手段と、前記経過予測に用いる予測モデルを記憶するモデル記憶手段と、予測対象データが与えられると、前記モデル記憶手段に記憶されている前記予測モデルを用いて、前記経過予測を行う予測手段とを備えることを特徴とする予測システム。
(付記8)前記モデル決定手段は、前記経過予測が行われる前に、前記経過予測に用いる予測モデルを決定し、前記モデル記憶手段は、前記モデル決定手段によって決定された前記予測モデルを記憶する付記7に記載の予測システム。
(付記9)前記モデル記憶手段は、前記モデル学習手段によって学習された複数の前記予測モデルを記憶し、前記予測手段は、前記モデル記憶手段に記憶されている複数の前記予測モデルの各々を用いて前記経過予測を行って、前記予測モデルの各々から今回の経過予測の対象とされる期間における各予測時点の予測値を取得し、前記推移評価手段は、今回の経過予測における予測対象データを含む検証用データを基に、今回の経過予測時を含む過去の経過予測時のグラフ形状、または今回の経過予測時を含む過去の経過予測時の不良サンプル数を評価し、前記モデル決定手段は、前記予測精度に関する指標と、前記グラフ形状に関する指標または前記不良サンプル数とに基づいて、前記モデル記憶手段に記憶されている複数の前記予測モデルの中から今回の経過予測における各予測時点の予測値に採用する予測モデルを決定する付記7に記載の予測システム。
(付記10)前記グラフ形状に関する指標が、前期経過予測により得られた各予測時点の予測値を示すデータを含む系列データであって時間と対応づけて予測対象項目の値を示す2つ以上のデータを含む系列データが入力されると、前記系列データ、前記系列データに含まれる予測値または前記予測値を得た予測モデルに対して、少なくとも前記グラフ形状または前記不良サンプル数に関する評価を行い、その評価結果に基づいて前記予測値の出荷判断を行う出荷判断手段を備える付記7から付記9のうちのいずれかに記載の予測システム。
(付記11)複数の説明変数のうちの一部の値を固定して行われる経過予測に用いる予測モデルの正則化に用いられる正則化パラメータの探索集合であって、前記予測モデルの予測式に用いられる説明変数のうち特に定められた1または複数の変数である強正則化変数の項に影響を与える正則化パラメータの値が少なくとも互いに異なる複数の解候補が設定された探索集合を出力し、前記探索集合に含まれる前記複数の解候補のそれぞれに対応した予測モデルを、訓練データを用いて学習し、学習された複数の前記予測モデルの各々について、予測精度と、当該予測モデルから得られる予測値の推移が示すグラフ形状または該推移が妥当でないサンプルの数である不良サンプル数とを、それぞれ所定の検証用データを用いて評価し、前記予測精度に関する評価結果と、前記グラフ形状または前記不良サンプル数に関する評価結果とに基づいて、学習された複数の前記予測モデルの中から前記経過予測に用いる予測モデルを決定することを特徴とするモデル生成方法。
(付記12)コンピュータに、複数の説明変数のうちの一部の値を固定して行われる経過予測に用いる予測モデルの正則化に用いられる正則化パラメータの探索集合であって、前記予測モデルの予測式に用いられる説明変数のうち特に定められた1または複数の変数である強正則化変数の項に影響を与える正則化パラメータの値が少なくとも互いに異なる複数の解候補が設定された探索集合を出力する処理、前記探索集合に含まれる前記複数の解候補のそれぞれに対応した予測モデルを、訓練データを用いて学習する処理、学習された複数の前記予測モデルの各々について、予測精度と、当該予測モデルから得られる予測値の推移が示すグラフ形状または該推移が妥当でないサンプルの数である不良サンプル数とを、それぞれ所定の検証用データを用いて評価する処理、および前記予測精度に関する評価結果と、前記グラフ形状または前記不良サンプル数に関する評価結果とに基づいて、学習された複数の前記予測モデルの中から前記経過予測に用いる予測モデルを決定する処理を実行させるためのモデル生成プログラム。
以上、本実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2018年3月30日に出願された日本特許出願2018-068278を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
本発明は、複数の説明変数のうちの一部の値を固定して、経過予測の対象として指定された所定の評価対象期間であって1つ以上の予測時点を含む評価対象期間に含まれる各予測時点における予測値を得るものであれば、好適に適用可能である。