JP6494258B2 - 予測システム、予測方法、および予測プログラム - Google Patents

予測システム、予測方法、および予測プログラム Download PDF

Info

Publication number
JP6494258B2
JP6494258B2 JP2014234950A JP2014234950A JP6494258B2 JP 6494258 B2 JP6494258 B2 JP 6494258B2 JP 2014234950 A JP2014234950 A JP 2014234950A JP 2014234950 A JP2014234950 A JP 2014234950A JP 6494258 B2 JP6494258 B2 JP 6494258B2
Authority
JP
Japan
Prior art keywords
subset
data
prediction
generation unit
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014234950A
Other languages
English (en)
Other versions
JP2016099738A (ja
Inventor
峰野 博史
博史 峰野
雄也 鈴木
雄也 鈴木
千雅 兼田
千雅 兼田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shizuoka University NUC
Original Assignee
Shizuoka University NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shizuoka University NUC filed Critical Shizuoka University NUC
Priority to JP2014234950A priority Critical patent/JP6494258B2/ja
Publication of JP2016099738A publication Critical patent/JP2016099738A/ja
Application granted granted Critical
Publication of JP6494258B2 publication Critical patent/JP6494258B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明の一側面は、機械学習を用いる予測システム、予測方法、および予測プログラムに関する。
従来から、サポートベクターマシンなどの機械学習を用いた将来予測が知られている。例えば下記特許文献1には、指数平滑法およびカーネルを用いた季節的時系列データの動的モデリングを使用して非線形的な時系列を予測する方法が記載されている。カーネルは、ガウスカーネルを使用した最小二乗放射基底関数回帰やサポートベクトル回帰のような非線形関数を使用して、過去の値から時系列の未来の値を予測する。
特開2011−159282号公報
個々の事案(データ系列)毎に学習期間(学習量)および学習データに適切な値があること、すなわち、機械学習の精度が最も良くなる学習期間および学習データが存在することは知られている。しかし、その作業は手作業(例えば、経験的に、または試行錯誤による決定)なので、ある事案についての適切な学習期間および学習データを決めるのに時間が掛かってしまう。そこで、機械学習による予測の精度を一定のレベル以上に保ちながら学習期間および学習データを簡便に特定することが望まれている。
本発明の一側面に係る予測システムは、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成部であって、複数の部分集合データのうちの少なくとも一つを、トレーニングデータから設定される母集団の標準偏差に基づいて該母集団の一部のデータを収集することで生成する、該部分集合生成部と、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と該予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択部とを備える。
本発明の一側面に係る予測方法は、プロセッサを備える予測システムにより実行される予測方法であって、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成ステップであって、複数の部分集合データのうちの少なくとも一つを、トレーニングデータから設定される母集団の標準偏差に基づいて該母集団の一部のデータを収集することで生成する、該部分集合生成ステップと、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成ステップと、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択ステップとを含む。
本発明の一側面に係る予測プログラムは、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成部であって、複数の部分集合データのうちの少なくとも一つを、トレーニングデータから設定される母集団の標準偏差に基づいて該母集団の一部のデータを収集することで生成する、該部分集合生成部と、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択部としてコンピュータを機能させる。
このような側面においては、互いに異なる部分集合データを自動的に生成して複数のパターン関数も自動的に生成し、トレーニングデータを用いてそれらのパターン関数の精度を検証することで、最適であると期待できる学習期間および学習データを簡便に特定することができる。
本発明の一側面によれば、機械学習による予測の精度を一定のレベル以上に保ちながら適切な学習期間および学習データを簡便に特定することができる。
実施形態に係る予測システムを構成するコンピュータのハードウェア構成を示す図である。 実施形態に係る予測システムの機能構成を示すブロック図である。 部分集合データの概念を説明する図である。 近傍データ収集法の概念を示す図である。 近傍データ収集法を用いて設定されるウィンドウ(部分集合データ)の例を示す図である。 実施形態に係る予測システムの動作を示すフローチャートである。 実施形態に係る予測システムの動作を示すフローチャートである。 実施形態に係る予測プログラムの構成を示す図である。 実施例の結果を示すグラフである。
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
まず、図1〜3を用いて、実施形態に係る予測システム10の機能および構成を説明する。図2に示す予測システム10は、機械学習により未知の値を予測するコンピュータシステムである。
機械学習とは、既知の値の集合であるトレーニングデータを学習することでパターン関数を生成し、そのパターン関数を用いて未知の値を予測する処理である。本実施形態では、過去の時系列データであるトレーニングデータ(本明細書ではこれを「時系列のトレーニングデータ」と呼ぶ)を用い、そのトレーニングデータから得られたパターン関数を用いて将来の時点における値を予測する。なお、時系列データとは、ある現象の時間的な変化を連続的に、またはある規則に基づいて得られた値の系列である。機械学習の例として、人工ニューラルネットワーク(ANN)、サポートベクターマシン(SVM)、あるいはそのSVMを回帰に対応させたサポートベクター回帰(SVR)、決定木学習,相関ルール学習,ベイジアンネットワークなどが挙げられるが、予測システム10はこれ以外のアルゴリズムを用いてもよい。
予測システム10が予測する対象は限定されない。例えば、予測システム10は気温や湿度などの気象(あるいは微気象)を予測してもよいし、他の自然現象または社会現象を予測してもよい。
予測システム10は1台以上のコンピュータを備え、複数台のコンピュータを備える場合には、後述する予測システム10の各機能要素は分散処理により実現される。個々のコンピュータの種類は限定されない。例えば、据置型または携帯型のパーソナルコンピュータ(PC)を用いてもよいし、ワークステーションを用いてもよいし、高機能携帯電話機(スマートフォン)や携帯電話機、携帯情報端末(PDA)などの携帯端末を用いてもよい。あるいは、様々な種類のコンピュータを組み合わせて予測システム10を構築してもよい。複数台のコンピュータを用いる場合には、これらのコンピュータはインターネットやイントラネットなどの通信ネットワークを介して接続される。
予測システム10内の個々のコンピュータ100の一般的なハードウェア構成を図1に示す。コンピュータ100は、オペレーティングシステムやアプリケーション・プログラムなどを実行するCPU(プロセッサ)101と、ROM及びRAMで構成される主記憶部102と、ハードディスクやフラッシュメモリなどで構成される補助記憶部103と、ネットワークカードあるいは無線通信モジュールで構成される通信制御部104と、キーボードやマウスなどの入力装置105と、ディスプレイやプリンタなどの出力装置106とを備える。当然ながら、搭載されるハードウェアモジュールはコンピュータ100の種類により異なる。例えば、据置型のPCおよびワークステーションは入力装置および出力装置としてキーボード、マウス、およびモニタを備えることが多いが、スマートフォンではタッチパネルが入力装置および出力装置として機能することが多い。
後述する予測システム10の各機能要素は、CPU101または主記憶部102の上に所定のソフトウェアを読み込ませ、CPU101の制御の下で通信制御部104や入力装置105、出力装置106などを動作させ、主記憶部102または補助記憶部103におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部102または補助記憶部103内に格納される。
図2に示すように、予測システム10は機能的構成要素として受付部11、部分集合生成部12、関数生成部13、選択部14、予測部15、および評価部16を備える。
受付部11は、時系列のトレーニングデータを受け付ける機能要素である。受付部11はデータベース20にアクセスしてトレーニングデータを読み出し、そのトレーニングデータを部分集合生成部12に出力する。ここで、データベース20はトレーニングデータを記憶する装置または機能要素であり、この実装方法は限定されない。例えば、データベース20は予測システム10内にあってもよいし、予測システム10とは別のシステム内に存在してもよい。また、データベース20は関係データベースでもよいしCSVファイルでもよい。
部分集合生成部12は、トレーニングデータから複数の部分集合データを生成する機能要素である。この部分集合データは、機械学習における学習期間(すなわち、ウィンドウ)を示す役割も持つ。本明細書では説明に応じて「部分集合データ」「学習期間」および「ウィンドウ」という用語を使い分けるかまたは併記するが、本明細書において、これら三つの用語の技術的な意味は同じである。例えば、「部分集合データ」は、コンピュータが処理するデータの観点から見た言葉であり、「学習期間」および「ウィンドウ」は、その部分集合データにより示される時間軸上の範囲であるということができる。なお、一つの部分集合データで示される学習期間またはウィンドウを時間軸上で見ると、後述する図5の例で示されるように、その学習期間またはウィンドウは複数の区間の集合で表され得る。生成される部分集合データの個数は2以上であれば何個でもよい。ただし、複数の部分集合データは互いに異なる必要があり、これは、複数の学習期間(ウィンドウ)が互いに異なることを意味する。部分集合生成部12は生成した部分集合データを関数生成部13に出力する。
図3を参照しながら部分集合生成部12の処理を説明する。図3に示すトレーニングデータは、10:00から14:30までの間に30分間隔で測定した10個の実績値a〜a10の集合である。最終的には、このトレーニングデータから、将来の予測値(例えば15:00時点の予測値)を求めるためのパターン関数(詳細は後述する)およびその関数に対応する学習期間(ウィンドウ)が決定される。図3の例では、部分集合生成部12はそのトレーニングデータから部分集合データ(学習期間)w,w,…,wを生成する。複数の部分集合データを生成する際に、部分集合生成部12は、どの部分集合データ(学習期間)にも含まれず、かつそれらの学習期間よりも後の時点におけるデータを一つ以上残す。この残したデータは、後述する選択部14においてパターン関数を評価する際に用いられる。図3の例では、14:00および14:30における実績値a,aが残すデータに相当する。
個々の部分集合データを生成する際に設定するウィンドウの位置および長さは限定されない。例えば、部分集合生成部12は、ウィンドウの位置が互いに異なるという条件下で、サイズが同じウィンドウを複数個設定してもよい。例えば、図3のトレーニングデータに対して、部分集合生成部12は12:30〜13:30の範囲のウィンドウと、12:00〜13:00のウィンドウとを生成してもよい。
図3では、トレーニングデータのサイズおよびデータ測定期間の双方が非常に限定された例を示したが、一般にトレーニングデータは大量なので、個々の部分集合データも大きくなり得る。例えば、部分集合生成部12は1年間分のトレーニングデータから季節毎(春、夏、秋、冬)の部分集合データや月毎(1〜12月)の部分集合データなどを生成し得る。
部分集合生成部12は、近傍データ収集法(SDC:Short−distance data collection method)を用いて動的にウィンドウ(学習期間。部分集合データ。)を決定してもよい。SDCは、母集団のうちの代表値Gを中心とし、その中心からの最大距離をrとする範囲内に存在するデータを該母集団から収集するアルゴリズムである。図4はSDCの概念を説明するための図であり、2次元座標上に散らばる母集団からSDCによりデータを収集する概念を示す。図4における点群は個々のデータ(実績値)を示し、符号Gは代表値として選択された一つのデータ(実績値)を示す。図4において、データを収集する範囲は、中心Gと半径rとで規定される円である。値rは下記式(1)で定義される。

ここで、Nは母集団のデータの個数を示し、Sは個々のデータを示し、Gは代表値を示す。
本実施形態では、代表値Gは、母集団における最新データ(時系列に沿って見た場合にいちばん新しいデータ)であるとするが、代表値Gは他のデータであってもよい。例えば、代表値Gは最新データの次に新しいデータであってもよいし、母集団における統計値(平均値や中央値など)であってもよい。
式(1)は、値rが、ユークリッド距離を用いて得られる、代表値Gとそれ以外の各データとの標準偏差であることを表す。母集団が正規分布で表されるのであれば、代表値Gを中心とし、その中心からの最大距離をrとする範囲内に存在するのは、母集団のうち最新データに近い約2/3のデータであり、このデータがウィンドウ内に含まれるので、約1/3のデータを削減することができる。そのため、機械学習の計算量をO(n)とし、母集団のすべてが利用された場合を1とすると、SDCを用いることで、モデル構築に要する時間を1−(2/3)=5/9に削減できる。
なお、図4では2次元座標を示しているが、トレーニングデータの次元は2次元には限定されず、1次元でもよいし、3次元でもよいし、4次元以上でもよい。トレーニングデータが2次元であれば、代表値Gを中心とする範囲は半径rの円で示され、トレーニングデータが3次元であれば、その範囲は半径rの球で示される。
時系列のトレーニングデータを予測する場合には、大量のデータを学習させるよりも、最新のデータと類似データのみを用いて学習させる方が予測精度が高まると期待される。例えば、夏のデータを予測する際にそれ以外の季節(例えば冬)のデータはノイズとなり得るので、夏のデータに近いデータのみを機械学習に用いる方が予測精度が高まると考えられる。
SDCを用いて一つのウィンドウ(学習期間。部分集合データ。)を決める場合、部分集合生成部12はまず、トレーニングデータの全体から母集団を決定する。この母集団は、時間軸に沿ってみた場合に途切れることなく連続して存在するデータの集合である。母集団はトレーニングデータの全体でもよいし、トレーニングデータの一部でもよい。例えば、トレーニングデータが過去5年分の毎日の気温の履歴であれば、部分集合生成部12はその5年分のデータを母集団として設定してもよいし、直近3年分のデータを母集団として設定してもよいし、4年前から1年前までの範囲のデータを母集団として設定してもよい。続いて、部分集合生成部12は上記式(1)を計算して距離rを決定し、母集団内の代表値Gから距離rの範囲内に存在するデータを選択する。そして、部分集合生成部12は、時間軸上において、選択されたデータが存在する範囲の集合を一つのウィンドウとして設定する。
SDCを用いて複数のウィンドウを得る方法は限定されない。例えば、部分集合生成部12は母集団を変えることなく、距離rを変えながら個々の距離r毎にデータを選択することで、複数のウィンドウを設定してもよい。例えば、式(1)で得られた値をrとして、距離rをr×1.0,r×0.8、r×0.6、r×0.5、r×1.1、r×1.2などと変化させながら、それぞれのrについてウィンドウを設定してもよい。様々な距離rを得るために、母集団の標準偏差に相当する値rに乗ずる係数は、1以上でもよいし1未満でもよい。値rに係数を乗ずる処理は重み付けの一種である。
あるいは、部分集合生成部12は距離rを変えることなく、母集団を変えながら個々の母集団毎にデータを選択することで、複数のウィンドウを設定してもよい。例えば、母集団をトレーニングデータの全体、トレーニングデータの80%分、トレーニングデータの60%分などと変化させながら、それぞれの母集団についてウィンドウを設定してもよい。
あるいは、部分集合生成部12は、母集団および距離rの双方を変えながら複数のウィンドウを設定してもよい。例えば、4種類の母集団を用意し、各母集団に対して5種類の距離rを用いることで、20個のウィンドウが得られる。
部分集合生成部12は、SDCを用いて1以上のウィンドウを設定すると共に、SDC以外の手法を用いて1以上のウィンドウを設定することで、複数のウィンドウを設定してもよい。例えば、夏のデータを示す複数のウィンドウを得るために、部分集合生成部12はSDCを用いて少なくとも一つのウィンドウを動的に得ると共に、各年の7月1日〜8月31日の間のデータを更なるウィンドウ(期間が動的にではなく予め指定されたウィンドウ)として設定してもよい。
図5は、SDCを用いて設定されるウィンドウ(部分集合データ)の例を示す図である。この図に示すトレーニングデータは、2011年1月1日から2014年12月31日にかけて毎日収集された実績値の集合である。例(a)〜(c)における値rは、式(1)で得られる値であり、この値rに係数を乗ずることで距離rを変えている。各例においてウィンドウを決める母集団は、トレーニングデータの全体であるとする。例(a)では、距離r=r×1.0で定義される範囲内に存在するデータの集合がウィンドウ(部分集合データ)w11として設定されている。例(b)では、距離r=r×0.8で定義される範囲内に存在するデータの集合がウィンドウ(部分集合データ)w12として設定されている。例(c)では、距離r=r×0.6で定義される範囲内に存在するデータの集合がウィンドウ(部分集合データ)w13として設定されている。このように、距離rが小さくなるほど、ウィンドウは小さくなる。
このように、それぞれが互いに異なる複数の部分集合データを生成するのであれば、ウィンドウの設定方法は何ら限定されない。部分集合生成部12は個々の部分集合データをユーザ入力に従って生成してもよいし、自動的に生成してもよい。
関数生成部13は、各部分集合データに対して機械学習を実行することで、複数の部分集合データに対応する複数のパターン関数を生成する機能要素である。関数生成部13は生成した複数のパターン関数を選択部14に出力する。
上述した通り機械学習の具体的な手法は限定されないが、本実施形態では関数生成部13はサポートベクター回帰を用いる。一つの部分集合データに対して、関数生成部13は、線形の関係としてパターンを発見可能な空間にその部分集合データを変換することで(カーネル関数)、線形の関係としてパターンを発見する(パターン解析アルゴリズム)。より具体的に説明すると、関数生成部13は、その部分集合データをカーネル関数によりカーネル行列に変換し、そのカーネル行列にパターン解析アルゴリズムを適用することでパターン関数を生成する。このパターン関数を用いることで、将来の時系列データを予測することが可能となる。関数生成部13は入力された部分集合データのそれぞれについてその処理を実行することで、複数のパターン関数を生成する。例えば、三つの部分集合データDa,Db,Dcが入力された場合には、関数生成部13は部分集合データDaからパターン関数Faを生成し、部分集合データDbからパターン関数Fbを生成し、部分集合データDcからパターン関数Fcを生成する。
選択部14は、入力された複数のパターン関数の中で最も精度が高いパターン関数を特定し、そのパターン関数に対応する学習期間を将来の予測のために選択する機能要素である。ここで、パターン関数に対応する学習期間を選択するということは、そのパターン関数そのものも併せて選択することを意味する。選択部14は選択したパターン関数および学習期間を予測部15に出力する。
まず、選択部14は受付部11が受け付けたトレーニングデータで示される時点における複数の予測値を求める。選択部14における処理で予測値を求める時点では既に実績値が得られており、その予測値はパターン関数および学習期間を選択するために用いられるに過ぎない。したがって、本明細書では、上述した複数の予測値を求める処理において設定される時点を「評価時点」と呼ぶ。上述したように、評価時点は、部分集合生成部12で生成された複数の部分集合データで示される複数の学習期間のいずれよりも後の時点である。図3の例では、時刻14:00および14:30が評価時点になり得る。
選択部14は1以上の評価時点を設定する。続いて、選択部14は各評価時点において、複数のパターン関数を用いて該評価時点における複数の予測値を求める。また、選択部14は受付部11が受け付けたトレーニングデータから各評価時点の実測値を取得する。
続いて、選択部14は算出した予測値と実測値との誤差を求める。そして、選択部14はその誤差が最小であるパターン関数と、該パターン関数に対応する学習期間とを選択する。誤差の計算方法は限定されず、例えば二乗平均平方根誤差(RMSE)または二乗平均誤差(MSE)を用いてもよい。もし評価時点が一つだけであれば、単純な減算で得られる差を用いてもよい。評価時点は一つでも良いが、複数の評価時点を設定することで誤差の精度を上げることができる。
例えば、パターン関数Fa,Fb,Fcが入力され、評価時点としてET,ETが存在すると仮定する。この場合には、選択部14はパターン関数Faから評価時点ETにおける予測値Vaと評価時点ETにおける予測値Vaとを求める。さらに、選択部14はパターン関数Fbから評価時点ET,ETにおける予測値Vb,Vbを求め、パターン関数Fcから評価時点ET,ETにおける予測値Vc,Vcを求める。続いて、選択部14は評価時点ET,ETにおける実績値VR,VRをトレーニングデータから読み出す。そして、選択部14は、パターン関数Faによる予測値(Va,Va)および実績値(VR,VR)から得られる誤差と、パターン関数Fbによる予測値(Vb,Vb)および実績値(VR,VR)から得られる誤差と、パターン関数Fcによる予測値(Vc,Vc)および実績値(VR,VR)から得られる誤差とを求める。そして、選択部14は誤差が最小のパターン関数と、該パターン関数に対応する学習期間とを選択する。
予測部15は、選択されたパターン関数および学習期間を用いて将来の時点における予測値を求める機能要素である。予測部15は求めた予測値をモニタやメモリ、データベース、プリンタなどの装置に出力する。ここで得られる予測値がどの程度正確であるかは、その時点になるまで分からない。予測部15は求めた予測値を事後評価のために評価部16に出力する。次の新たなパターン関数および学習期間が入力された場合には、予測部15はその新たな入力に基づいて予測値を求める。
評価部16は、予測部15で得られた予測値が実際にどの程度正確だったかを判定する機能要素である。評価部16は、予測部15が予測した時点の実測値をデータベース20から読み出し、入力された予測値とその実測値との誤差を求め、その誤差が所定の閾値未満であるか否かを判定する。この判定処理のために、評価部16はその閾値を予め保持している。
誤差が閾値以上であるということは、予測部15が現在使っているパターン関数の精度が良くないことを意味する。したがって、この場合には、評価部16は新たなパターン関数および学習期間を決めるための指示を受付部11に出力する。一方、誤差が閾値未満であるということは、現在のパターン関数の精度が良いことを意味する。したがって、この場合には、評価部16はその指示を出力することなく処理を終了する。
次に、図6,7を用いて、予測システム10の動作を説明するとともに本実施形態に係る予測方法について説明する。
基本的な処理手順を図6に示す。まず、受付部11がトレーニングデータの入力を受け付け(ステップS11)、部分集合生成部12がそのトレーニングデータから複数の部分集合データを生成する(ステップS12、部分集合生成ステップ)。続いて、関数生成部13が各部分集合データに対してサポートベクター回帰による学習処理を実行することで複数のパターン関数を生成する(ステップS13、関数生成ステップ)。続いて、選択部14が各パターン関数を用いて評価時点での予測値を求め、実測値との誤差が最小のパターン関数に対応する学習期間を選択する(ステップS14、選択ステップ)。パターン関数の生成、または評価時点での予測値の計算は、並列処理でも直列処理でもよく、または並列処理と直列処理を混在させてもよい。
続いて、予測部15が選択結果に基づいて(選択されたパターン関数および学習期間を用いて)、将来の予測時点における予測値を求める(ステップS15)。続いて、評価部16がその予測値を検証する。すなわち、予測値とその時点における実測値との誤差が閾値未満であれば(ステップS16;YES)、予測部15は現在のパターン関数および学習期間を用いて将来の別の時点での予測値を求めることができる。
一方、予測値と実測値との誤差が閾値以上である場合には(ステップS16;NO)、ステップS11以降の処理が再度実行される。この場合、データベース20は、受付部11がトレーニングデータを前回取得した時以降に追加された実測値を記憶しているので、予測システム10はその新たな実測値を含む最新のトレーニングデータをデータベース20から取得して新たなパターン関数を得ることができる。
予測システム10は、上記ステップS12〜S14の処理を複数回繰り返して部分集合データを段階的に絞り込みながらパターン関数を選んでいってもよい。図7を参照しながらその処理を説明する。
まず、受付部11がトレーニングデータの入力を受け付け(ステップS21)、部分集合生成部12がそのトレーニングデータから複数の第1次部分集合データを生成する(ステップS22、部分集合生成ステップ)。続いて、関数生成部13が各第1次部分集合データに対してサポートベクター回帰による学習処理を実行することで複数のパターン関数を生成する(ステップS23、関数生成ステップ)。続いて、選択部14が各パターン関数を用いて特定の予測時点での予測値を求め、実測値との誤差が最小のパターン関数に対応する学習期間を選択する(ステップS24、選択ステップ)。ここまでの処理は上記ステップS11〜S14と同様である。
続いて、部分集合生成部12が、上記のステップS24において選択された学習期間に対応する第1次部分集合データから複数の第2次部分集合データを生成する(ステップS25)。例えば、第1次部分集合データが10日分の時系列データである場合には、部分集合生成部12は10個の1日分の時系列データを第2次部分集合データとして生成する。続いて、関数生成部13が各第2次部分集合データに対してサポートベクター回帰による学習処理を実行することで複数のパターン関数を生成する(ステップS26)。続いて、選択部14が各パターン関数を用いて特定の予測時点での予測値を求め、実測値との誤差が最小のパターン関数に対応する学習期間を選択する(ステップS27)。
第1次部分集合データは時系列のトレーニングデータの一部であると言える。したがって、ステップS25,S26,S27もそれぞれ、部分集合生成ステップ、関数生成ステップ、および選択ステップであると言える。
部分集合データを絞り込む場合も、パターン関数の生成、または評価時点での予測値の計算は、並列処理でも直接処理でもよい。
続いて、予測部15が選択結果に基づいて(選択されたパターン関数および学習期間を用いて)、将来の予測時点における予測値を求める(ステップS28)。続いて、評価部16がその予測値を検証する。すなわち、予測値とその時点における実測値との誤差が閾値未満であれば(ステップS29;YES)、予測部15は現在のパターン関数を用いて将来の別の時点での予測値を求めることができる。一方、予測値と実測値との誤差が閾値以上である場合には(ステップS29;NO)、ステップS21以降の処理が再度実行される。
なお、図7の例では部分集合データの絞り込みは一度だけであったが、その処理は2回以上繰り返してもよい。すなわち、部分集合生成ステップ、関数生成ステップ、および選択ステップは何回繰り返してもよい。
次に、図8を用いて、予測システム10を実現するための予測プログラムP1を説明する。
予測プログラムP1は、メインモジュールP10、受付モジュールP11、部分集合生成モジュールP12、関数生成モジュールP13、選択モジュールP14、予測モジュールP15、および評価モジュールP16を備えている。
メインモジュールP10は、機械学習による予測機能を統括的に制御する部分である。受付モジュールP11、部分集合生成モジュールP12、関数生成モジュールP13、選択モジュールP14、予測モジュールP15、および評価モジュールP16を実行することにより実現される機能はそれぞれ、上記の受付部11、部分集合生成部12、関数生成部13、選択部14、予測部15、および評価部16の機能と同様である。
予測プログラムP1は、例えば、CD−ROMやDVD−ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。また、予測プログラムP1は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
以下、実施例に基づいて本発明を具体的に説明するが、本発明はそれらに何ら限定されるものではない。
単純なSVRと、SDCを用いないSW−SVRと、SDCを用いたSW−SVR(以下ではこれを「SW−SVR(SDC)」という)との予測精度を比較した。ここで、SW−SVRは、「Sliding Window−based Support Vector Regression」の略であり、サポートベクター回帰において学習期間を自動調整する手法のことである。
実験には、1台のサーバと1台のクライアント端末とが通信ネットワークで接続されたコンピュータシステムを用いた。サポートベクター回帰のモデル構築および予測はサーバに実行させ、データ分割およびSDCはクライアントPCに実行させた。サポートベクター回帰のパラメータは以下のように設定した。
・カーネル関数:Radial Basis Function(RBF)
・コスト・パラメータ(C):1.0
・ハイパー・パラメータ(γ):0.125
・チューブ・パラメータ(ε):0.1
・ウィンドウ・サイズ:8
・再構築閾値:1.0
ここで、ウィンドウ・サイズと再構築閾値以外のパラメータは、3種類の手法に共通である。ウィンドウ・サイズは、SDCを用いないSW−SVRのみに関係するパラメータであり、学習データの分割数を示す。再構築閾値は、SW−SVRとSW−SVR(SDC)とに用いられるパラメータである。SW−SVR(SDC)において、距離rに対する重み付けは行わなかった。
トレーニングデータとして、気象庁の提供する、静岡県浜松市のアメダスのオープンデータを用いた。そのデータは、2011年1月1日から2013年12月31日までの3年間において10分毎に測定された、気温、相対湿度、気圧、平均風速、最大風速、および日照時間であり、これら6項目は説明変数に相当する。予測対象(目的変数)は1時間後の気温とし、季節毎にその気温(目的変数)を求めるようにした。各季節のトレーニングデータの期間と評価期間(予測対象の期間)とは次の通りである。
・春:トレーニングデータの期間は2011年1月1日〜2013年3月31日であり、評価期間は2013年4月1日〜2013年5月1日であった。
・夏:トレーニングデータの期間は2011年1月1日〜2013年6月30日であり、評価期間は2013年7月1日〜2013年8月1日であった。
・秋:トレーニングデータの期間は2011年1月1日〜2013年9月30日であり、評価期間は2013年10月1日〜2013年11月1日であった。
・冬:トレーニングデータの期間は2011年1月1日〜2013年12月31日であり、評価期間は2014年1月1日〜2014年2月1日であった。
各季節のトレーニングデータについて、1000〜100000件の範囲でデータ量(母集団)を変化させた場合の3種類の機械学習の予測誤差を評価した。予測誤差の指標として二乗平均平方根誤差(RMSE)を用いた。この評価結果を図9に示す。図9に示すグラフ(a),(b),(c),(d)はそれぞれ、春、夏、秋、冬の評価結果を示す。各グラフの横軸はデータ量(母集団)であり、縦軸はRMSE(℃)である。これらのグラフは、SW−SVR(SDC)の予測誤差が他の2種類の手法に比べて小さいこと、および、SW−SVR(SDC)ではデータ量が少なくても高い予測精度が得られることを示している。SW−SVR(SDC)を用いることで、季節および学習データ量にかかわらず予測誤差を低減することができることがわかった。
以上説明したように、本発明の一側面に係る予測システムは、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成部であって、複数の部分集合データのうちの少なくとも一つを、トレーニングデータから設定される母集団の標準偏差に基づいて該母集団の一部のデータを収集することで生成する、該部分集合生成部と、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と該予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択部とを備える。
本発明の一側面に係る予測方法は、プロセッサを備える予測システムにより実行される予測方法であって、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成ステップであって、複数の部分集合データのうちの少なくとも一つを、トレーニングデータから設定される母集団の標準偏差に基づいて該母集団の一部のデータを収集することで生成する、該部分集合生成ステップと、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成ステップと、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択ステップとを含む。
本発明の一側面に係る予測プログラムは、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成部であって、複数の部分集合データのうちの少なくとも一つを、トレーニングデータから設定される母集団の標準偏差に基づいて該母集団の一部のデータを収集することで生成する、該部分集合生成部と、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択部としてコンピュータを機能させる。
このような側面においては、互いに異なる部分集合データを自動的に生成して複数のパターン関数も自動的に生成し、トレーニングデータを用いてそれらのパターン関数の精度を検証することで、最適であると期待できる学習期間および学習データを簡便に特定することができる。
この処理は、学習期間(ウィンドウ)を自動調整するものであるともいえる。パターン関数の決定に影響する学習期間は長ければ良いとは限らないから、最適な学習期間を手作業で特定するのは困難である。本実施形態では最適と思われる学習期間を自動的に求めることができる。
また、近傍データ収集法を学習期間の自動調整に適用することで、予測しようとする値に類似するデータの集まりを動的に部分集合データとして得られるので、予測処理のタイミングに関係なく予測精度を上げることができる。近傍データ収集法は、トレーニングデータから設定される母集団の標準偏差に基づいて該母集団の一部のデータを収集する方法である。
他の側面に係る予測システムでは、部分集合生成部が、母集団における最新データを代表値として標準偏差を求めてもよい。トレーニングデータの母集団における最新データは予測しようとする値に最も近いことが期待できるので、その最新データを代表値として標準偏差を求めることで、予測しようとする値に類似するデータの集まりをより確実に収集することができる。
他の側面に係る予測システムでは、部分集合生成部が、標準偏差に乗ずる係数を変化させながら、母集団から複数の部分集合データを生成してもよい。このように係数を変化させることで一つの母集団から複数の部分集合データを得ることができる。
他の側面に係る予測システムでは、部分集合生成部が、複数の母集団を設定し、各母集団から少なくとも一つの部分集合データを生成してもよい。複数の母集団を設定することで、部分集合データのバリエーションを増やすことができる。
他の側面に係る予測システムでは、部分集合生成部が、選択部により選択された学習期間に対応する部分集合データから、それぞれが互いに異なる複数の新たな部分集合データを生成し、関数生成部および選択部が、複数の新たな部分集合データに基づいて再度処理を実行してもよい。このように学習期間を絞り込むことで、パターン関数の精度の向上が期待できる。
他の側面に係る予測システムでは、選択部により選択された学習期間を用いて、将来の予測時点における予測値を求める予測部と、予測部により得られた予測値と予測時点における実測値との誤差が所定の閾値未満か否かを判定する評価部とをさらに備え、予測時点における誤差が閾値以上である場合には、部分集合生成部、関数生成部、および選択部による処理が再度実行されてもよい。この場合には、実際の予測処理を進めながら動的に学習期間を再設定することができる。
他の側面に係る予測システムでは、複数のパターン関数の生成、および評価時点における予測値の算出の少なくとも一方が並列処理されてもよい。並列処理をすることで、最適と思われる学習期間をより早く特定することができる。
他の側面に係る予測システムでは、機械学習がサポートベクターマシンであってもよい。
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
上記実施形態では、SDCを用いたまたは用いないSW−SVRを示したが、上述したように、機械学習の具体的な手法はサポートベクター回帰に限定されない。したがって、近傍データ収集法と共に用いられる機械学習は、人工ニューラルネットワーク(ANN)、サポートベクターマシン(SVM)、決定木学習,相関ルール学習,ベイジアンネットワークなどの他のアルゴリズムでもよい。
予測部15および評価部16は予測システム10とは別のシステムにあってもよく、この場合には、選択部14は選択したパターン関数および学習期間をその別システムに送信する。評価部16は省略可能であり、この場合には、予測部15は明示の指示があるまで選択されたパターン関数を使用し続ける。
10…予測システム、11…受付部、12…部分集合生成部、13…関数生成部、14…選択部、15…予測部、16…評価部、20…データベース、P1…予測プログラム、P10…メインモジュール、P11…受付モジュール、P12…部分集合生成モジュール、P13…関数生成モジュール、P14…選択モジュール、P15…予測モジュール、P16…評価モジュール。

Claims (9)

  1. 時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成部であって、前記複数の部分集合データのうちの少なくとも一つを、前記トレーニングデータから設定される母集団の標準偏差に基づいて該母集団の一部のデータを収集することで生成する、該部分集合生成部と、
    前記複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、
    前記複数のパターン関数のそれぞれを用いて、前記トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と該予測値との誤差が最小である前記パターン関数に対応する学習期間を選択する選択部と
    を備え、
    前記部分集合生成部が、前記母集団における最新データを代表値として前記標準偏差を求める、
    予測システム。
  2. 前記部分集合生成部が、前記標準偏差に乗ずる係数を変化させながら、前記母集団から複数の前記部分集合データを生成する、
    請求項に記載の予測システム。
  3. 前記部分集合生成部が、複数の前記母集団を設定し、各母集団から少なくとも一つの前記部分集合データを生成する、
    請求項1または2に記載の予測システム。
  4. 前記部分集合生成部が、前記選択部により選択された学習期間に対応する前記部分集合データから、それぞれが互いに異なる複数の新たな部分集合データを生成し、
    前記関数生成部および前記選択部が、前記複数の新たな部分集合データに基づいて再度処理を実行する、
    請求項1〜のいずれか一項に記載の予測システム。
  5. 前記選択部により選択された学習期間を用いて、将来の予測時点における予測値を求める予測部と、
    前記予測部により得られた予測値と前記予測時点における実測値との誤差が所定の閾値未満か否かを判定する評価部と
    をさらに備え、
    前記予測時点における前記誤差が前記閾値以上である場合には、前記部分集合生成部、前記関数生成部、および前記選択部による処理が再度実行される、
    請求項1〜のいずれか一項に記載の予測システム。
  6. 前記複数のパターン関数の生成、および前記評価時点における予測値の算出の少なくとも一方が並列処理される、
    請求項1〜のいずれか一項に記載の予測システム。
  7. 前記機械学習がサポートベクターマシンである、
    請求項1〜のいずれか一項に記載の予測システム。
  8. プロセッサを備える予測システムにより実行される予測方法であって、
    時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成ステップであって、前記複数の部分集合データのうちの少なくとも一つを、前記トレーニングデータから設定される母集団の標準偏差に基づいて該母集団の一部のデータを収集することで生成する、該部分集合生成ステップと、
    前記複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成ステップと、
    前記複数のパターン関数のそれぞれを用いて、前記トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と前記予測値との誤差が最小である前記パターン関数に対応する学習期間を選択する選択ステップと
    を含み、
    前記部分集合生成ステップでは、前記母集団における最新データを代表値として前記標準偏差を求める、
    予測方法。
  9. 時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成部であって、前記複数の部分集合データのうちの少なくとも一つを、前記トレーニングデータから設定される母集団の標準偏差に基づいて該母集団の一部のデータを収集することで生成する、該部分集合生成部と、
    前記複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、
    前記複数のパターン関数のそれぞれを用いて、前記トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と前記予測値との誤差が最小である前記パターン関数に対応する学習期間を選択する選択部と
    してコンピュータを機能させ
    前記部分集合生成部が、前記母集団における最新データを代表値として前記標準偏差を求める、
    予測プログラム。
JP2014234950A 2014-11-19 2014-11-19 予測システム、予測方法、および予測プログラム Active JP6494258B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014234950A JP6494258B2 (ja) 2014-11-19 2014-11-19 予測システム、予測方法、および予測プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014234950A JP6494258B2 (ja) 2014-11-19 2014-11-19 予測システム、予測方法、および予測プログラム

Publications (2)

Publication Number Publication Date
JP2016099738A JP2016099738A (ja) 2016-05-30
JP6494258B2 true JP6494258B2 (ja) 2019-04-03

Family

ID=56076132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014234950A Active JP6494258B2 (ja) 2014-11-19 2014-11-19 予測システム、予測方法、および予測プログラム

Country Status (1)

Country Link
JP (1) JP6494258B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416751B2 (en) 2017-03-31 2022-08-16 H2O.Ai Inc. Time-based ensemble machine learning model
US11922440B2 (en) * 2017-10-31 2024-03-05 Oracle International Corporation Demand forecasting using weighted mixed machine learning models
CN110263938B (zh) * 2019-06-19 2021-07-23 北京百度网讯科技有限公司 用于生成信息的方法和装置
CN113657687B (zh) * 2021-08-30 2023-09-29 国家电网有限公司 基于特征工程和多路深度学习的电力负荷预测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5119022B2 (ja) * 2008-03-26 2013-01-16 東京瓦斯株式会社 可変的予測モデル構築方法、及び、可変的予測モデル構築システム
US20110160927A1 (en) * 2009-12-30 2011-06-30 Wilson Kevin W Method for Prediction for Nonlinear Seasonal Time Series
WO2014042147A1 (ja) * 2012-09-12 2014-03-20 日本電気株式会社 データ集中予測装置、データ集中予測方法、及びそのプログラム

Also Published As

Publication number Publication date
JP2016099738A (ja) 2016-05-30

Similar Documents

Publication Publication Date Title
Li et al. A wind speed interval prediction system based on multi-objective optimization for machine learning method
US11151379B2 (en) Method and system for crop type identification using satellite observation and weather data
KR102468316B1 (ko) 과거 데이터에 기초한 시계열 예측 방법 및 장치
JP6494258B2 (ja) 予測システム、予測方法、および予測プログラム
Chakraborty et al. Generation of accurate weather files using a hybrid machine learning methodology for design and analysis of sustainable and resilient buildings
JP2014157457A (ja) 予測装置および予測方法
JP7152938B2 (ja) 機械学習モデル構築装置および機械学習モデル構築方法
JP6718500B2 (ja) 生産システムにおける出力効率の最適化
Teegavarapu et al. Optimal selection of predictor variables in statistical downscaling models of precipitation
JP6086875B2 (ja) 発電量予測装置および発電量予測方法
JP2017010111A (ja) ノイズデータ除去支援装置、方法、および、プログラム
Yang et al. A pattern fusion model for multi-step-ahead CPU load prediction
CN115688547A (zh) 模拟天气情景和极端天气预测
CN116342172A (zh) 基于线性回归和决策树结合的油价预测方法、装置及设备
Ehteram et al. Read-First LSTM model: A new variant of long short term memory neural network for predicting solar radiation data
JP6324124B2 (ja) 予測システム、予測方法、および予測プログラム
CN109816165A (zh) 风电超短期功率预测方法及系统
CN111323847A (zh) 用于为模拟集成算法确定权重比的方法和设备
CN117611997A (zh) 一种可解释的森林地上生物量遥感估算方法及装置
JP5636922B2 (ja) 性能予測装置、性能予測方法およびプログラム
Kaczmarska et al. Local generalised method of moments: an application to point process‐based rainfall models
Kristanda et al. Phatsa: A web-based application for forecasting using conventional moving average methods
JPWO2019224909A1 (ja) パラメータ選択方法、パラメータ選択プログラム、及び情報処理装置
Ojha et al. Assessing GCM convergence for India using the variable convergence score
KR20230066927A (ko) 발전량 예측 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190305

R150 Certificate of patent or registration of utility model

Ref document number: 6494258

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250