JP6324124B2 - Prediction system, prediction method, and prediction program - Google Patents
Prediction system, prediction method, and prediction program Download PDFInfo
- Publication number
- JP6324124B2 JP6324124B2 JP2014047431A JP2014047431A JP6324124B2 JP 6324124 B2 JP6324124 B2 JP 6324124B2 JP 2014047431 A JP2014047431 A JP 2014047431A JP 2014047431 A JP2014047431 A JP 2014047431A JP 6324124 B2 JP6324124 B2 JP 6324124B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- subset
- prediction
- subset data
- function
- 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
Links
- 238000000034 method Methods 0.000 title claims description 28
- 230000006870 function Effects 0.000 claims description 140
- 238000011156 evaluation Methods 0.000 claims description 57
- 238000012549 training Methods 0.000 claims description 46
- 238000010801 machine learning Methods 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 19
- 238000005259 measurement Methods 0.000 claims description 7
- 238000012706 support-vector machine Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000001932 seasonal effect Effects 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Description
本発明の一側面は、機械学習を用いる予測システム、予測方法、および予測プログラムに関する。 One aspect of the present invention relates to a prediction system, a prediction method, and a prediction program using machine learning.
従来から、サポートベクターマシンなどの機械学習を用いた将来予測が知られている。例えば下記特許文献1には、指数平滑法およびカーネルを用いた季節的時系列データの動的モデリングを使用して非線形的な時系列を予測する方法が記載されている。カーネルは、ガウスカーネルを使用した最小二乗放射基底関数回帰やサポートベクトル回帰のような非線形関数を使用して、過去の値から時系列の未来の値を予測する。 Conventionally, future prediction using machine learning such as a support vector machine is known. For example, Patent Document 1 below describes a method for predicting a nonlinear time series using exponential smoothing and dynamic modeling of seasonal time series data using a kernel. The kernel predicts future values in the time series from past values using non-linear functions such as least square radial basis function regression and support vector regression using a Gaussian kernel.
個々の事案(データ系列)毎に学習期間(学習量)に最適値があること、すなわち、機械学習の精度が最も良くなる学習期間が存在することは知られている。しかし、その学習期間は手作業で(例えば、経験的に、または試行錯誤により)決めなければいけないので、ある事案についての最適な学習期間を決めるのに時間が掛かってしまう。そこで、機械学習による予測の精度を一定のレベル以上に保ちながら学習期間を簡便に特定することが望まれている。 It is known that there is an optimum value in the learning period (learning amount) for each case (data series), that is, there is a learning period in which the accuracy of machine learning is the best. However, since the learning period must be determined manually (for example, empirically or by trial and error), it takes time to determine the optimal learning period for a given case. Therefore, it is desired to easily specify the learning period while keeping the accuracy of prediction by machine learning at a certain level or higher.
本発明の一側面に係る予測システムは、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成部と、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と該予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択部とを備える。 A prediction system according to an aspect of the present invention performs a machine learning on each of a plurality of subset data, and a subset generation unit that generates a plurality of subset data different from each other from time-series training data By using each of the function generation unit that generates a plurality of pattern functions corresponding to the plurality of subset data and each of the plurality of pattern functions, a predicted value at the evaluation time point in the training data is obtained, and the evaluation time point And a selection unit that selects a learning period corresponding to a pattern function having a minimum error between the actually measured value and the predicted value.
本発明の一側面に係る予測方法は、プロセッサを備える予測システムにより実行される予測方法であって、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成ステップと、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成ステップと、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択ステップとを含む。 A prediction method according to an aspect of the present invention is a prediction method executed by a prediction system including a processor, and a subset generation step of generating a plurality of subset data different from each other from time-series training data; Using a function generation step for generating a plurality of pattern functions corresponding to the plurality of subset data by performing machine learning on each of the plurality of subset data, and using each of the plurality of pattern functions, A selection step of obtaining a predicted value at an evaluation time point in the training data and selecting a learning period corresponding to a pattern function having a minimum error between the actually measured value and the predicted value at the evaluation time point.
本発明の一側面に係る予測プログラムは、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成部と、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択部としてコンピュータを機能させる。 A prediction program according to an aspect of the present invention executes a machine learning for each of a plurality of subset data and a subset generation unit that generates a plurality of subset data different from each other from time-series training data By using each of the function generation unit that generates a plurality of pattern functions corresponding to the plurality of subset data and each of the plurality of pattern functions, a predicted value at the evaluation time point in the training data is obtained, and the evaluation time point The computer is caused to function as a selection unit that selects a learning period corresponding to a pattern function having the smallest error between the actually measured value and the predicted value.
このような側面においては、互いに異なる部分集合データを自動的に生成して複数のパターン関数も自動的に生成し、トレーニングデータを用いてそれらのパターン関数の精度を検証することで、最適であると期待できる学習期間を簡便に特定することができる。 In such an aspect, it is optimal by automatically generating different subset data and automatically generating a plurality of pattern functions, and verifying the accuracy of these pattern functions using training data. The learning period that can be expected is easily specified.
本発明の一側面によれば、機械学習による予測の精度を一定のレベル以上に保ちながら学習期間を簡便に特定することができる。 According to one aspect of the present invention, the learning period can be easily specified while maintaining the accuracy of prediction by machine learning at a certain level or higher.
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are denoted by the same reference numerals, and redundant description is omitted.
まず、図1〜3を用いて、実施形態に係る予測システム10の機能および構成を説明する。図2に示す予測システム10は、機械学習により未知の値を予測するコンピュータシステムである。
First, the function and configuration of the
機械学習とは、既知の値の集合であるトレーニングデータを学習することでパターン関数を生成し、そのパターン関数を用いて未知の値を予測する処理である。本実施形態では、過去の時系列データであるトレーニングデータ(本明細書ではこれを「時系列のトレーニングデータ」と呼ぶ)を用い、そのトレーニングデータから得られたパターン関数を用いて将来の時点における値を予測する。なお、時系列データとは、ある現象の時間的な変化を連続的に、または一定間隔をおいて不連続に測定して得られた値の系列である。機械学習の例として、人工ニューラルネットワーク(ANN)、サポートベクターマシン(SVM)、あるいはそのSVMを回帰に対応させたサポートベクター回帰(SVR)、決定木学習,相関ルール学習,ベイジアンネットワークなどが挙げられるが、予測システム10はこれ以外のアルゴリズムを用いてもよい。
Machine learning is a process of generating a pattern function by learning training data, which is a set of known values, and predicting an unknown value using the pattern function. In the present embodiment, training data that is past time-series data (this is referred to as “time-series training data” in the present specification), and a pattern function obtained from the training data is used at a future time point. Predict the value. The time series data is a series of values obtained by measuring a temporal change of a phenomenon continuously or discontinuously at regular intervals. Examples of machine learning include artificial neural networks (ANN), support vector machines (SVM), or support vector regression (SVR) corresponding to the SVM for regression, decision tree learning, correlation rule learning, Bayesian network, and the like. However, the
予測システム10が予測する対象は限定されない。例えば、予測システム10は気温や湿度などの気象(あるいは微気象)を予測してもよいし、他の自然現象または社会現象を予測してもよい。
The object which the
予測システム10は1台以上のコンピュータを備え、複数台のコンピュータを備える場合には、後述する予測システム10の各機能要素は分散処理により実現される。個々のコンピュータの種類は限定されない。例えば、据置型または携帯型のパーソナルコンピュータ(PC)を用いてもよいし、ワークステーションを用いてもよいし、高機能携帯電話機(スマートフォン)や携帯電話機、携帯情報端末(PDA)などの携帯端末を用いてもよい。あるいは、様々な種類のコンピュータを組み合わせて予測システム10を構築してもよい。複数台のコンピュータを用いる場合には、これらのコンピュータはインターネットやイントラネットなどの通信ネットワークを介して接続される。
When the
予測システム10内の個々のコンピュータ100の一般的なハードウェア構成を図1に示す。コンピュータ100は、オペレーティングシステムやアプリケーション・プログラムなどを実行するCPU(プロセッサ)101と、ROM及びRAMで構成される主記憶部102と、ハードディスクやフラッシュメモリなどで構成される補助記憶部103と、ネットワークカードあるいは無線通信モジュールで構成される通信制御部104と、キーボードやマウスなどの入力装置105と、ディスプレイやプリンタなどの出力装置106とを備える。当然ながら、搭載されるハードウェアモジュールはコンピュータ100の種類により異なる。例えば、据置型のPCおよびワークステーションは入力装置および出力装置としてキーボード、マウス、およびモニタを備えることが多いが、スマートフォンではタッチパネルが入力装置および出力装置として機能することが多い。
A general hardware configuration of each
後述する予測システム10の各機能要素は、CPU101または主記憶部102の上に所定のソフトウェアを読み込ませ、CPU101の制御の下で通信制御部104や入力装置105、出力装置106などを動作させ、主記憶部102または補助記憶部103におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部102または補助記憶部103内に格納される。
Each functional element of the
図2に示すように、予測システム10は機能的構成要素として受付部11、部分集合生成部12、関数生成部13、選択部14、予測部15、および評価部16を備える。
As shown in FIG. 2, the
受付部11は、時系列のトレーニングデータを受け付ける機能要素である。受付部11はデータベース20にアクセスしてトレーニングデータを読み出し、そのトレーニングデータを部分集合生成部12に出力する。ここで、データベース20はトレーニングデータを記憶する装置または機能要素であり、この実装方法は限定されない。例えば、データベース20は予測システム10内にあってもよいし、予測システム10とは別のシステム内に存在してもよい。また、データベース20は関係データベースでもよいしCSVファイルでもよい。
The
部分集合生成部12は、トレーニングデータから複数の部分集合データを生成する機能要素である。この部分集合データは、機械学習における学習期間(すなわち、ウィンドウ)を示す役割も持つ。生成される部分集合データの個数は2以上であれば何個でもよい。ただし、複数の部分集合データは互いに異なる必要があり、これは、複数の学習期間(ウィンドウ)が互いに異なることを意味する。部分集合生成部12は生成した部分集合データを関数生成部13に出力する。
The
図3を参照しながら部分集合生成部12の処理を説明する。図3に示すトレーニングデータは、10:00から14:30までの間に30分間隔で測定した10個の実績値a1〜a10の集合である。最終的には、このトレーニングデータから、将来の予測値(例えば15:00時点の予測値)を求めるためのパターン関数(詳細は後述する)およびその関数に対応する学習期間(ウィンドウ)が決定される。図3の例では、部分集合生成部12はそのトレーニングデータから部分集合データ(学習期間)w1,w2,…,wnを生成する。複数の部分集合データを生成する際に、部分集合生成部12は、どの部分集合データ(学習期間)にも含まれず、かつそれらの学習期間よりも後の時点におけるデータを一つ以上残す。この残したデータは、後述する選択部14においてパターン関数を評価する際に用いられる。図3の例では、14:00および14:30における実績値a2,a1が残すデータに相当する。
The processing of the
個々の部分集合データを生成する際に設定するウィンドウの位置および長さは限定されない。例えば、部分集合生成部12は、ウィンドウの位置が互いに異なるという条件下で、サイズが同じウィンドウを複数個設定してもよい。例えば、図3のトレーニングデータに対して、部分集合生成部12は12:30〜13:30の範囲のウィンドウと、12:00〜13:00のウィンドウとを生成してもよい。
The position and length of the window set when generating individual subset data are not limited. For example, the
図3では、トレーニングデータのサイズおよびデータ測定期間の双方が非常に限定された例を示したが、一般にトレーニングデータは大量なので、個々の部分集合データも大きくなり得る。例えば、部分集合生成部12は1年間分のトレーニングデータから季節毎(春、夏、秋、冬)の部分集合データや月毎(1〜12月)の部分集合データなどを生成し得る。
FIG. 3 shows an example in which both the size of the training data and the data measurement period are very limited. However, since the training data is generally large, individual subset data can also be large. For example, the
このように、それぞれが互いに異なる複数の部分集合データを生成するのであれば、ウィンドウの設定方法は何ら限定されない。部分集合生成部12は個々の部分集合データをユーザ入力に従って生成してもよいし、自動的に生成してもよい。
As described above, the window setting method is not limited as long as a plurality of subset data different from each other is generated. The
関数生成部13は、各部分集合データに対して機械学習を実行することで、複数の部分集合データに対応する複数のパターン関数を生成する機能要素である。関数生成部13は生成した複数のパターン関数を選択部14に出力する。
The
上述した通り機械学習の具体的な手法は限定されないが、本実施形態では関数生成部13はサポートベクター回帰を用いる。一つの部分集合データに対して、関数生成部13は、線形の関係としてパターンを発見可能な空間にその部分集合データを変換することで(カーネル関数)、線形の関係としてパターンを発見する(パターン解析アルゴリズム)。より具体的に説明すると、関数生成部13は、その部分集合データをカーネル関数によりカーネル行列に変換し、そのカーネル行列にパターン解析アルゴリズムを適用することでパターン関数を生成する。このパターン関数を用いることで、将来の時系列データを予測することが可能となる。関数生成部13は入力された部分集合データのそれぞれについてその処理を実行することで、複数のパターン関数を生成する。例えば、三つの部分集合データDa,Db,Dcが入力された場合には、関数生成部13は部分集合データDaからパターン関数Faを生成し、部分集合データDbからパターン関数Fbを生成し、部分集合データDcからパターン関数Fcを生成する。
As described above, the specific method of machine learning is not limited, but in this embodiment, the
選択部14は、入力された複数のパターン関数の中で最も精度が高いパターン関数を特定し、そのパターン関数に対応する学習期間を将来の予測のために選択する機能要素である。ここで、パターン関数に対応する学習期間を選択するということは、そのパターン関数そのものも併せて選択することを意味する。選択部14は選択したパターン関数および学習期間を予測部15に出力する。
The
まず、選択部14は受付部11が受け付けたトレーニングデータで示される時点における複数の予測値を求める。この処理で予測値を求める時点については既に実績値が得られており、その予測値はパターン関数および学習期間を選択するために用いられるに過ぎない。したがって、本明細書では、上述した複数の予測値を求める処理において設定される時点を「評価時点」と呼ぶ。上述したように、評価時点は、部分集合生成部12で生成された複数の部分集合データで示される複数の学習期間のいずれよりも後の時点である。図3の例では、時刻14:00および14:30が評価時点になり得る。
First, the
選択部14は1以上の評価時点を設定する。続いて、選択部14は各評価時点において、複数のパターン関数を用いて該評価時点における複数の予測値を求める。また、選択部14は受付部11が受け付けたトレーニングデータから各評価時点の実測値を取得する。
The
続いて、選択部14は算出した予測値と実測値との誤差を求める。そして、選択部14はその誤差が最小であるパターン関数と、該パターン関数に対応する学習期間とを選択する。誤差の計算方法は限定されず、例えば二乗平均平方根誤差(RMSE)または二乗平均誤差(MSE)を用いてもよい。もし評価時点が一つだけであれば、単純な減算で得られる差を用いてもよい。複数の評価時点を設定することで誤差の精度を上げることができる。
Subsequently, the
例えば、パターン関数Fa,Fb,Fcが入力され、評価時点としてET1,ET2が存在すると仮定する。この場合には、選択部14はパターン関数Faから評価時点ET1における予測値Va1と評価時点ET2における予測値Va2とを求める。さらに、選択部14はパターン関数Fbから評価時点ET1,ET2における予測値Vb1,Vb2を求め、パターン関数Fcから評価時点ET1,ET2における予測値Vc1,Vc2を求める。続いて、選択部14は評価時点ET1,ET2における実績値VR1,VR2をトレーニングデータから読み出す。そして、選択部14は、パターン関数Faによる予測値(Va1,Va2)および実績値(VR1,VR2)から得られる誤差と、パターン関数Fbによる予測値(Vb1,Vb2)および実績値(VR1,VR2)から得られる誤差と、パターン関数Fcによる予測値(Vc1,Vc2)および実績値(VR1,VR2)から得られる誤差とを求める。そして、選択部14は誤差が最小のパターン関数と、該パターン関数に対応する学習期間とを選択する。
For example, it is assumed that pattern functions Fa, Fb, and Fc are input and ET 1 and ET 2 exist as evaluation points. In this case, it finds a predicted value Va 2 in the selected
予測部15は、選択されたパターン関数および学習期間を用いて将来の時点における予測値を求める機能要素である。予測部15は求めた予測値をモニタやメモリ、データベース、プリンタなどの装置に出力する。ここで得られる予測値がどの程度正確であるかは、その時点になるまで分からない。予測部15は求めた予測値を事後評価のために評価部16に出力する。次の新たなパターン関数および学習期間が入力された場合には、予測部15はその新たな入力に基づいて予測値を求める。
The
評価部16は、予測部15で得られた予測値が実際にどの程度正確だったかを判定する機能要素である。評価部16は、予測部15が予測した時点の実測値をデータベース20から読み出し、入力された予測値とその実測値との誤差を求め、その誤差が所定の閾値未満であるか否かを判定する。この判定処理のために、評価部16はその閾値を予め保持している。
The
誤差が閾値以上であるということは、予測部15が現在使っているパターン関数の精度が良くないことを意味する。したがって、この場合には、評価部16は新たなパターン関数および学習期間を決めるための指示を受付部11に出力する。一方、誤差が閾値未満であるということは、現在のパターン関数の精度が良いことを意味する。したがって、この場合には、評価部16はその指示を出力することなく処理を終了する。
That the error is equal to or greater than the threshold means that the accuracy of the pattern function currently used by the
次に、図4,5を用いて、予測システム10の動作を説明するとともに本実施形態に係る予測方法について説明する。
Next, the operation of the
基本的な処理手順を図4に示す。まず、受付部11がトレーニングデータの入力を受け付け(ステップS11)、部分集合生成部12がそのトレーニングデータから複数の部分集合データを生成する(ステップS12、部分集合生成ステップ)。続いて、関数生成部13が各部分集合データに対してサポートベクター回帰による学習処理を実行することで複数のパターン関数を生成する(ステップS13、関数生成ステップ)。続いて、選択部14が各パターン関数を用いて評価時点での予測値を求め、実測値との誤差が最小のパターン関数に対応する学習期間を選択する(ステップS14、選択ステップ)。パターン関数の生成、または評価時点での予測値の計算は、並列処理でも直列処理でも、並列処理と直列処理を混在させてもよい。
A basic processing procedure is shown in FIG. First, the
続いて、予測部15が選択結果に基づいて(選択されたパターン関数および学習期間を用いて)、将来の予測時点における予測値を求める(ステップS15)。続いて、評価部16がその予測値を検証する。すなわち、予測値とその時点における実測値との誤差が閾値未満であれば(ステップS16;YES)、予測部15は現在のパターン関数および学習期間を用いて将来の別の時点での予測値を求めることができる。
Subsequently, based on the selection result (using the selected pattern function and learning period), the
一方、予測値と実測値との誤差が閾値以上である場合には(ステップS16;NO)、ステップS11以降の処理が再度実行される。この場合、データベース20は、受付部11がトレーニングデータを前回取得した時以降に追加された実測値を記憶しているので、予測システム10はその新たな実測値を含む最新のトレーニングデータをデータベース20から取得して新たなパターン関数を得ることができる。
On the other hand, when the error between the predicted value and the actually measured value is greater than or equal to the threshold value (step S16; NO), the processes after step S11 are executed again. In this case, since the
予測システム10は、上記ステップS12〜S14の処理を複数回繰り返して部分集合データを段階的に絞り込みながらパターン関数を選んでいってもよい。図5を参照しながらその処理を説明する。
The
まず、受付部11がトレーニングデータの入力を受け付け(ステップS21)、部分集合生成部12がそのトレーニングデータから複数の第1次部分集合データを生成する(ステップS22、部分集合生成ステップ)。続いて、関数生成部13が各第1次部分集合データに対してサポートベクター回帰による学習処理を実行することで複数のパターン関数を生成する(ステップS23、関数生成ステップ)。続いて、選択部14が各パターン関数を用いて特定の予測時点での予測値を求め、実測値との誤差が最小のパターン関数に対応する学習期間を選択する(ステップS24、選択ステップ)。ここまでの処理は上記ステップS11〜S14と同様である。
First, the receiving
続いて、部分集合生成部12が選択された学習期間に対応する第1次部分集合データから複数の第2次部分集合データを生成する(ステップS25)。例えば、第1次部分集合データが10日分の時系列データである場合には、部分集合生成部12は10個の1日分の時系列データを第2次部分集合データとして生成する。続いて、関数生成部13が各第2次部分集合データに対してサポートベクター回帰による学習処理を実行することで複数のパターン関数を生成する(ステップS26)。続いて、選択部14が各パターン関数を用いて特定の予測時点での予測値を求め、実測値との誤差が最小のパターン関数に対応する学習期間を選択する(ステップS27)。
Subsequently, the
第1次部分集合データは時系列のトレーニングデータの一部であると言える。したがって、ステップS25,S26,S27もそれぞれ、部分集合生成ステップ、関数生成ステップ、および選択ステップであると言える。 It can be said that the first subset data is a part of time-series training data. Therefore, it can be said that steps S25, S26, and S27 are a subset generation step, a function generation step, and a selection step, respectively.
部分集合データを絞り込む場合も、パターン関数の生成、または評価時点での予測値の計算は、並列処理でも直接処理でもよい。 Even when the subset data is narrowed down, the generation of the pattern function or the calculation of the predicted value at the time of evaluation may be performed in parallel or directly.
続いて、予測部15が選択結果に基づいて(選択されたパターン関数および学習期間を用いて)、将来の予測時点における予測値を求める(ステップS28)。続いて、評価部16がその予測値を検証する。すなわち、予測値とその時点における実測値との誤差が閾値未満であれば(ステップS29;YES)、予測部15は現在のパターン関数を用いて将来の別の時点での予測値を求めることができる。一方、予測値と実測値との誤差が閾値以上である場合には(ステップS29;NO)、ステップS21以降の処理が再度実行される。
Subsequently, based on the selection result (using the selected pattern function and learning period), the
なお、図5の例では部分集合データの絞り込みは一度だけであったが、その処理は2回以上繰り返してもよい。すなわち、部分集合生成ステップ、関数生成ステップ、および選択ステップは何回繰り返してもよい。 In the example of FIG. 5, the subset data is narrowed down once, but the process may be repeated twice or more. That is, the subset generation step, the function generation step, and the selection step may be repeated any number of times.
次に、図6を用いて、予測システム10を実現するための予測プログラムP1を説明する。
Next, a prediction program P1 for realizing the
予測プログラムP1は、メインモジュールP10、受付モジュールP11、部分集合生成モジュールP12、関数生成モジュールP13、選択モジュールP14、予測モジュールP15、および評価モジュールP16を備えている。 The prediction program P1 includes a main module P10, a reception module P11, a subset generation module P12, a function generation module P13, a selection module P14, a prediction module P15, and an evaluation module P16.
メインモジュールP10は、機械学習による予測機能を統括的に制御する部分である。受付モジュールP11、部分集合生成モジュールP12、関数生成モジュールP13、選択モジュールP14、予測モジュールP15、および評価モジュールP16を実行することにより実現される機能はそれぞれ、上記の受付部11、部分集合生成部12、関数生成部13、選択部14、予測部15、および評価部16の機能と同様である。
The main module P10 is a part that comprehensively controls the prediction function based on machine learning. The functions realized by executing the reception module P11, the subset generation module P12, the function generation module P13, the selection module P14, the prediction module P15, and the evaluation module P16 are the
予測プログラムP1は、例えば、CD−ROMやDVD−ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。また、予測プログラムP1は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。 The prediction program P1 may be provided after being fixedly recorded on a tangible recording medium such as a CD-ROM, DVD-ROM, or semiconductor memory. The prediction program P1 may be provided via a communication network as a data signal superimposed on a carrier wave.
以上説明したように、本発明の一側面に係る予測システムは、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成部と、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と該予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択部とを備える。 As described above, the prediction system according to one aspect of the present invention includes a subset generation unit that generates a plurality of subset data different from each other from time-series training data, and a plurality of subset data. A function generation unit that generates a plurality of pattern functions corresponding to the plurality of subset data by executing machine learning on each of the plurality of pattern functions, and a predicted value at the time of evaluation in the training data And a selection unit that selects a learning period corresponding to the pattern function having the smallest error between the actually measured value and the predicted value at the time of the evaluation.
本発明の一側面に係る予測方法は、プロセッサを備える予測システムにより実行される予測方法であって、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成ステップと、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成ステップと、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択ステップとを含む。 A prediction method according to an aspect of the present invention is a prediction method executed by a prediction system including a processor, and a subset generation step of generating a plurality of subset data different from each other from time-series training data; Using a function generation step for generating a plurality of pattern functions corresponding to the plurality of subset data by performing machine learning on each of the plurality of subset data, and using each of the plurality of pattern functions, A selection step of obtaining a predicted value at an evaluation time point in the training data and selecting a learning period corresponding to a pattern function having a minimum error between the actually measured value and the predicted value at the evaluation time point.
本発明の一側面に係る予測プログラムは、時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成部と、複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、複数のパターン関数のそれぞれを用いて、トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と予測値との誤差が最小であるパターン関数に対応する学習期間を選択する選択部としてコンピュータを機能させる。 A prediction program according to an aspect of the present invention executes a machine learning for each of a plurality of subset data and a subset generation unit that generates a plurality of subset data different from each other from time-series training data By using each of the function generation unit that generates a plurality of pattern functions corresponding to the plurality of subset data and each of the plurality of pattern functions, a predicted value at the evaluation time point in the training data is obtained, and the evaluation time point The computer is caused to function as a selection unit that selects a learning period corresponding to a pattern function having the smallest error between the actually measured value and the predicted value.
このような側面においては、互いに異なる部分集合データを自動的に生成して複数のパターン関数も自動的に生成し、トレーニングデータを用いてそれらのパターン関数の精度を検証することで、最適であると期待できる学習期間を簡便に特定することができる。 In such an aspect, it is optimal by automatically generating different subset data and automatically generating a plurality of pattern functions, and verifying the accuracy of these pattern functions using training data. The learning period that can be expected is easily specified.
この処理は、学習期間(ウィンドウ)を自動調整するものであるともいえる。パターン関数の決定に影響する学習期間は長ければ良いとは限らないから、最適な学習期間を手作業で特定するのは困難である。本実施形態では最適と思われる学習期間を自動的に求めることができる。 It can be said that this process automatically adjusts the learning period (window). Since the learning period that affects the determination of the pattern function is not necessarily long, it is difficult to manually specify the optimal learning period. In the present embodiment, the learning period that seems to be optimal can be automatically obtained.
他の側面に係る予測システムでは、部分集合生成部が、選択部により選択された学習期間に対応する部分集合データから、それぞれが互いに異なる複数の新たな部分集合データを生成し、関数生成部および選択部が、複数の新たな部分集合データに基づいて再度処理を実行してもよい。このように学習期間を絞り込むことで、パターン関数の精度の向上が期待できる。 In the prediction system according to another aspect, the subset generation unit generates a plurality of new subset data different from each other from the subset data corresponding to the learning period selected by the selection unit, and the function generation unit and The selection unit may execute the process again based on a plurality of new subset data. By narrowing the learning period in this way, it can be expected to improve the accuracy of the pattern function.
他の側面に係る予測システムでは、選択部により選択された学習期間を用いて、将来の予測時点における予測値を求める予測部と、予測部により得られた予測値と予測時点における実測値との誤差が所定の閾値未満か否かを判定する評価部とをさらに備え、予測時点における誤差が閾値以上である場合には、部分集合生成部、関数生成部、および選択部による処理が再度実行されてもよい。この場合には、実際の予測処理を進めながら動的に学習期間を再設定することができる。 In the prediction system according to another aspect, using the learning period selected by the selection unit, a prediction unit that obtains a prediction value at a future prediction time point, a prediction value obtained by the prediction unit, and an actual measurement value at the prediction time point And an evaluation unit that determines whether or not the error is less than a predetermined threshold. If the error at the prediction time is equal to or greater than the threshold, the processing by the subset generation unit, the function generation unit, and the selection unit is executed again. May be. In this case, the learning period can be dynamically reset while proceeding with the actual prediction process.
他の側面に係る予測システムでは、複数のパターン関数の生成、および評価時点における予測値の算出の少なくとも一方が並列処理されてもよい。並列処理をすることで、最適と思われる学習期間をより早く特定することができる。 In the prediction system according to another aspect, at least one of generation of a plurality of pattern functions and calculation of a predicted value at the time of evaluation may be processed in parallel. By performing parallel processing, the learning period that seems to be optimal can be identified earlier.
他の側面に係る予測システムでは、機械学習がサポートベクターマシンであってもよい。 In the prediction system according to another aspect, the machine learning may be a support vector machine.
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。 The present invention has been described in detail based on the embodiments. However, the present invention is not limited to the above embodiment. The present invention can be variously modified without departing from the gist thereof.
上記実施形態では、サポートベクター回帰において学習期間を自動調整する手法(Sliding Window−based Support Vector Regression(SW−SVR))を示したが、上述したように、機械学習の具体的な手法はサポートベクター回帰に限定されない。 In the above embodiment, a method of automatically adjusting the learning period in support vector regression (Sliding Window-based Support Vector Regression (SW-SVR)) has been described. However, as described above, a specific method of machine learning is a support vector. It is not limited to regression.
予測部15および評価部16は予測システム10とは別のシステムにあってもよく、この場合には、選択部14は選択したパターン関数および学習期間をその別システムに送信する。評価部16は省略可能であり、この場合には、予測部15は明示の指示があるまで選択されたパターン関数を使用し続ける。
The
10…予測システム、11…受付部、12…部分集合生成部、13…関数生成部、14…選択部、15…予測部、16…評価部、20…データベース、P1…予測プログラム、P10…メインモジュール、P11…受付モジュール、P12…部分集合生成モジュール、P13…関数生成モジュール、P14…選択モジュール、P15…予測モジュール、P16…評価モジュール。
DESCRIPTION OF
Claims (6)
前記複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、
前記複数のパターン関数のそれぞれを用いて、前記トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と該予測値との誤差が最小である前記パターン関数に対応する学習期間を選択する選択部と
を備え、
前記部分集合生成部が、さらに、前記選択部により選択された学習期間に対応する前記部分集合データから、それぞれが互いに異なる複数の新たな部分集合データを生成し、ここで、該複数の新たな部分集合データのそれぞれが時系列データであり、
前記関数生成部および前記選択部が、さらに、前記複数の新たな部分集合データに基づいて再度処理を実行する、
予測システム。 A subset generation unit that generates a plurality of subset data different from each other from time-series training data, wherein each of the plurality of subset data is time-series data ; and
A function generation unit that generates a plurality of pattern functions corresponding to the plurality of subset data by performing machine learning on each of the plurality of subset data;
Using each of the plurality of pattern functions, a predicted value at the evaluation time point in the training data is obtained, and a learning period corresponding to the pattern function in which an error between the actually measured value at the evaluation time point and the predicted value is minimum and a selector for selecting,
The subset generation unit further generates a plurality of new subset data different from each other from the subset data corresponding to the learning period selected by the selection unit, wherein the plurality of new subset data Each subset data is time-series data,
The function generation unit and the selection unit further execute processing again based on the plurality of new subset data.
Prediction system.
前記予測部により得られた予測値と前記予測時点における実測値との誤差が所定の閾値未満か否かを判定する評価部と
をさらに備え、
前記予測時点における前記誤差が前記閾値以上である場合には、前記部分集合生成部、前記関数生成部、および前記選択部による処理が再度実行される、
請求項1に記載の予測システム。 Using the learning period selected by the selection unit, a prediction unit for obtaining a prediction value at a future prediction time point;
An evaluation unit that determines whether or not an error between the predicted value obtained by the prediction unit and the actual measurement value at the prediction time point is less than a predetermined threshold;
If the error at the prediction time is greater than or equal to the threshold, the processing by the subset generation unit, the function generation unit, and the selection unit is executed again.
The prediction system according to claim 1 .
請求項1または2に記載の予測システム。 At least one of the generation of the plurality of pattern functions and the calculation of the predicted value at the evaluation time are processed in parallel.
The prediction system according to claim 1 or 2 .
請求項1〜3のいずれか一項に記載の予測システム。 The machine learning is a support vector machine,
The prediction system as described in any one of Claims 1-3 .
時系列のトレーニングデータから、それぞれが互いに異なる複数の部分集合データを生成する部分集合生成ステップであって、該複数の部分集合データのそれぞれが時系列データである、該部分集合生成ステップと、
前記複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成ステップと、
前記複数のパターン関数のそれぞれを用いて、前記トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と前記予測値との誤差が最小である前記パターン関数に対応する学習期間を選択する選択ステップと
を含み、
前記部分集合生成ステップでは、さらに、前記選択ステップにおいて選択された学習期間に対応する前記部分集合データから、それぞれが互いに異なる複数の新たな部分集合データを生成し、ここで、該複数の新たな部分集合データのそれぞれが時系列データであり、
前記関数生成ステップおよび前記選択ステップが、前記複数の新たな部分集合データに基づいて再度実行される、
予測方法。 A prediction method executed by a prediction system comprising a processor,
A subset generation step for generating a plurality of different subset data from each other from time series training data, wherein each of the plurality of subset data is time series data ; and
A function generation step of generating a plurality of pattern functions corresponding to the plurality of subset data by performing machine learning on each of the plurality of subset data;
Using each of the plurality of pattern functions, a predicted value at the evaluation time point in the training data is obtained, and a learning period corresponding to the pattern function in which an error between the actually measured value at the evaluation time point and the predicted value is minimum only contains a selection step of selecting,
In the subset generation step, a plurality of new subset data different from each other is generated from the subset data corresponding to the learning period selected in the selection step, wherein the plurality of new subset data Each subset data is time-series data,
The function generation step and the selection step are performed again based on the plurality of new subset data;
Prediction method.
前記複数の部分集合データのそれぞれに対して機械学習を実行することで、該複数の部分集合データに対応する複数のパターン関数を生成する関数生成部と、
前記複数のパターン関数のそれぞれを用いて、前記トレーニングデータ内の評価時点における予測値を求め、該評価時点での実測値と前記予測値との誤差が最小である前記パターン関数に対応する学習期間を選択する選択部と
してコンピュータを機能させ、
前記部分集合生成部が、さらに、前記選択部により選択された学習期間に対応する前記部分集合データから、それぞれが互いに異なる複数の新たな部分集合データを生成し、ここで、該複数の新たな部分集合データのそれぞれが時系列データであり、
前記関数生成部および前記選択部が、さらに、前記複数の新たな部分集合データに基づいて再度処理を実行する、
予測プログラム。 A subset generation unit that generates a plurality of subset data different from each other from time-series training data, wherein each of the plurality of subset data is time-series data ; and
A function generation unit that generates a plurality of pattern functions corresponding to the plurality of subset data by performing machine learning on each of the plurality of subset data;
Using each of the plurality of pattern functions, a predicted value at the evaluation time point in the training data is obtained, and a learning period corresponding to the pattern function in which an error between the actually measured value at the evaluation time point and the predicted value is minimum Let the computer function as a selection section to select
The subset generation unit further generates a plurality of new subset data different from each other from the subset data corresponding to the learning period selected by the selection unit, wherein the plurality of new subset data Each subset data is time-series data,
The function generation unit and the selection unit further execute processing again based on the plurality of new subset data.
Prediction program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014047431A JP6324124B2 (en) | 2014-03-11 | 2014-03-11 | Prediction system, prediction method, and prediction program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014047431A JP6324124B2 (en) | 2014-03-11 | 2014-03-11 | Prediction system, prediction method, and prediction program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015172790A JP2015172790A (en) | 2015-10-01 |
JP6324124B2 true JP6324124B2 (en) | 2018-05-16 |
Family
ID=54260091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014047431A Active JP6324124B2 (en) | 2014-03-11 | 2014-03-11 | Prediction system, prediction method, and prediction program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6324124B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7310908B2 (en) * | 2019-10-25 | 2023-07-19 | 日本電信電話株式会社 | Data expansion device, method and program |
CN113807613A (en) * | 2021-10-13 | 2021-12-17 | 国网安徽省电力有限公司 | Power grid engineering full-period budget optimization configuration tool |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5119022B2 (en) * | 2008-03-26 | 2013-01-16 | 東京瓦斯株式会社 | Variable prediction model construction method and variable prediction model construction system |
US20110160927A1 (en) * | 2009-12-30 | 2011-06-30 | Wilson Kevin W | Method for Prediction for Nonlinear Seasonal Time Series |
JP5906061B2 (en) * | 2011-11-15 | 2016-04-20 | Kddi株式会社 | Learning device, learning method, program |
-
2014
- 2014-03-11 JP JP2014047431A patent/JP6324124B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015172790A (en) | 2015-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nikravesh et al. | Towards an autonomic auto-scaling prediction system for cloud resource provisioning | |
US9696786B2 (en) | System and method for optimizing energy consumption by processors | |
WO2019114423A1 (en) | Method and apparatus for merging model prediction values, and device | |
JP6992526B2 (en) | Demand forecasting program, demand forecasting method and demand forecasting device | |
JP5795743B2 (en) | Document comparison method and document comparison system based on various inter-document similarity calculation methods using adaptive weighting | |
JP6718500B2 (en) | Optimization of output efficiency in production system | |
JP6494258B2 (en) | Prediction system, prediction method, and prediction program | |
JP6919770B2 (en) | Parameter search method, parameter search device, and parameter search program | |
JP2014157457A (en) | Prediction device and prediction method | |
JP2016224566A (en) | Prediction device, prediction method, and prediction program | |
Yang et al. | A pattern fusion model for multi-step-ahead CPU load prediction | |
JP6086875B2 (en) | Power generation amount prediction device and power generation amount prediction method | |
CN107516148A (en) | system modelling optimization method and storage medium | |
JP6324124B2 (en) | Prediction system, prediction method, and prediction program | |
US10402736B2 (en) | Evaluation system, evaluation method, and computer-readable storage medium | |
WO2023007704A1 (en) | Prediction device, prediction method, and prediction program | |
JP6058571B2 (en) | Necessary personnel number calculation device, necessary personnel number calculation method and program | |
Park et al. | On the long-term predictive capability of data-driven software reliability model: an empirical evaluation | |
JP5636922B2 (en) | Performance prediction apparatus, performance prediction method, and program | |
KR101949448B1 (en) | Clustering method and apparatus using Gaussian Process Regression | |
US20210342691A1 (en) | System and method for neural time series preprocessing | |
JPWO2019224909A1 (en) | Parameter selection method, parameter selection program, and information processing device | |
CN115688547A (en) | Simulated weather scenarios and extreme weather predictions | |
JP6355554B2 (en) | Setting data storage device, method and program | |
JP2014215761A (en) | Method and device for analyzing change in market situation by using hierarchical relation between commodity categories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180131 |
|
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: 20180403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180410 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6324124 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |