【実施例1】
【0016】
[線形回帰およびリッジ回帰]
最初に、線形回帰およびリッジ回帰について説明する。通常の線形回帰では、例えば、最小二乗法で回帰係数を求める。具体的には、回帰式と観測値の差である残差の二乗和を最小にする回帰係数を求める。これは以下の式(1)に示すような最小化問題として定義できる。
【0017】
min||Xβ−y||
2 (1)
【0018】
ここで、βは、回帰係数である。Xは、観測値の説明変数を行列で表示したものである。yは、観測値の目的変数の列ベクトルである。行列Xおよび列ベクトルyの各行は、一回の観測に対応する。行列Xの各列は、観測値の種類である。
図1は、行列Xおよび列ベクトルyを模式的に示した図である。例えば、電力需要の予測では、気温や湿度等が各列に割り当てられる。観測数をNとし観測値の種類をPとすれば、行列Xは、N行P列の行列である。列ベクトルyは、N行の列ベクトルである。また、“||・||”は、二乗ノルムを表す。
【0019】
リッジ回帰とは、回帰係数の大きさを二乗ノルムで表し、回帰係数が大きくならないように、回帰式の残差と回帰係数の大きさを二乗したものを同時に最小化する方法である。リッジ回帰の回帰係数は、以下の式(2)に示すような最小化問題を解くことで得られる。
【0020】
min||Xβ−y||
2+λ||β||
2 (2)
【0021】
ここで、λは、正則化パラメータであり、0以上の実数である。
【0022】
[リッジ回帰の一般化]
ここで、リッジ回帰を一般化(拡張)した形態について説明する。ベイズ理論の枠組みでは、リッジ回帰は、回帰係数の事前分布を正規分布で定義した場合の事後確率最大化推定に位置づけられる。上述の式(2)は、事前分布として回帰係数毎に独立な正規分布を用いることに相当するが、回帰係数の事前分布として多変量正規分布を用いれば、一般化したリッジ回帰が得られる。この場合、回帰係数は、以下の式(3)に示す最小化問題を解くことで得られる。
【0023】
min||Xβ−y||
2+β
TΛβ (3)
【0024】
ここで、Λは、正則化パラメータである。行列XがN行P列の行列の場合、正則化パラメータΛは、P行P列の対称行列である。“β
T”は、回帰係数βの転置をあらわす。通常のリッジ回帰では、正則化パラメータは、一つの実数値であったのに対し、一般化したリッジ回帰では、正則化パラメータは行列となり、複数の実数値からなる。
【0025】
別の拡張方法としては、例えば、非特許文献2には、Elastic Netが提案されている。これは一乗ノルムと二乗ノルムの両方で回帰係数の大きさを表す方法である。回帰係数は、以下の式(4)に示す最小化問題を解くことで得られる。
【0026】
min||Xβ−y||
2+λ||β||
2+γ|β| (4)
【0027】
ここで、γは、Elastic Net特有の正則化パラメータである。“|・|”は、一乗ノルムを表す。Elastic Net特有の正則化パラメータγは、非ゼロとなる回帰係数の数を指定することで、Least Angle Regressionにより求まる。一方、正則化パラメータλはリッジ回帰と同様に、複数の候補値を生成して、予測誤差の推定値を最小化するパラメータを探索する必要がある。
【0028】
[標準化]
上述の式(2)の正則化パラメータλの項は、全ての回帰係数βに対して一律に効果を持つ。このため、得られる回帰係数βは、説明変数の単位系(スケール)に依存してしまう。どのような単位系に対しても同じ回帰係数βが得られるようにするためには、リッジ回帰の前処理として標準化の処理が必要である。
【0029】
標準化とは各説明変数および目的変数の平均がゼロとなり、標準偏差が1となるように各変数を変換する処理である。説明変数の行列Xにおけるp列目の説明変数の標準化は、以下の式(5)に示すように計算する。
【0030】
【数1】
【0031】
ここで、x
pに付した“ ̄”は、平均を表す。平均x
pは、標準化前のp列目の説明変数の平均である。標準偏差σ
pは、標準化前のp列目の説明変数の標準偏差である。x
ipは、標準化前の行列Xのi行p列目の説明変数である。x'
ipは、標準化後の行列Xのi行p列目の説明変数である。目的変数についても同様に標準化を行う。標準化を行うと、回帰式の定数項が常にゼロとなるため、定数項が不要になる。
【0032】
標準化後に得られた回帰係数で目的変数の値を算出した場合、標準化後の目的変数の値は以下の式(6)により元のスケールに戻す。
【0033】
【数2】
【0034】
ここで、yに付した“ ̄”は、平均を表す。平均yは、標準化前の目的変数の平均である。σ
yは、標準化前の目的変数の標準偏差である。β'
pは、標準化後に得られた回帰係数である。
【0035】
[変換手法]
リッジ回帰の回帰係数は、上述の式(2)の最小化問題を解くことであり、回帰係数βについては、以下の式(7)のように書ける。
【0036】
β=(X
TX+λI)
−1X
Ty (7)
【0037】
ここで、Iは、単位行列である。行列XがN行P列の行列である場合、Iは、P行P列の単位行列となる。
【0038】
このように、リッジ回帰の回帰係数βは、解析的に得られるが、回帰係数βに対する正則化パラメータλの影響は非線形となる。このため、正則化パラメータλを0から徐々に大きくしていったときに、回帰式が目的変数の空間でどのように変化していくのかを想定するのは難しい。
【0039】
ここで、正則化パラメータλの効果が直感的に理解できるように、以下に示す式変形を利用する。上述の式(7)は、以下の式(8)のように書き換えることができる。
【0040】
【数3】
【0041】
説明変数および目的変数が標準化されていれば、式(8)は、以下の式(9)のように書き換えることができる。
【0042】
【数4】
【0043】
ここで、R
xxは説明変数の相関行列である。R
xyは、説明変数と目的変数の相関行列である。
【0044】
正則化パラメータについて、以下の式(10)のような変換を考える。
【0045】
【数5】
【0046】
この式(10)の変換を式(9)のλに適用すると、以下の式(11)が得られる。
【0047】
β=(δR
xx+(1−δ)I)
−1δR
xy (11)
【0048】
説明変数の間の相関が無い場合を考えると、R
xxは、単位行列になり、回帰係数は、以下の式(12)のようになる。
【0049】
β=δR
xy (12)
【0050】
また、回帰式に説明変数を代入した結果は、以下の式(13)のようになる。
【0051】
y^(δ)=δXR
xy=δy^
OLS (13)
【0052】
ここで、y^
OLSは、通常の最小二乗法で回帰係数を求めた場合、すなわち、λ=0の場合の回帰結果である。なお、OLSは、Ordinary Least Squaresの頭文字であり、通常の最小二乗法を指す。
【0053】
これより、0から1の間でδを等間隔で動かすと、y
^(δ)は、通常の回帰結果とy
^(0)=0の間を等間隔で動くことがわかる。従って、正則化パラメータとしてδを0から1まで等間隔に探索すれば、目的変数の取り得る範囲の空間で線形な探索が実現できる。なお、説明変数の間に相関がある場合でも、その相関が小さければこれに準ずる性質が期待できる。
【0054】
なお、式(10)による変換は、δの範囲を0<δ≦1とすると、δ=1でλ=0になり、δを小さくするとλが大きくなり、δが0に近づくとλが無限大に近づく性質がある。
図2は、δとλの関係の一例を示した図である。
図2の例は、N=1の場合の式(10)のδとlog(λ)との関係を示している。
図2に示されるように、δ=0.5付近では、指数的にλを変化させることに対応しており、一方でδ=0またはδ=1に近づくほど、δの変化に対するlog(λ)の変化が大きくなることがわかる。この変換により、δの変化によるλの予測に与える影響が近似的に線形に変換される。
【0055】
[予測手法]
次に、通常のリッジ回帰において正則化パラメータλの候補値の生成法について説明する。本実施例では、上述の式(10)を一般化した、以下の式(14)に示す正則化パラメータの変換式を用いる。
【0056】
【数6】
【0057】
ここで、kは、正の実数である。kの役割は、X
TXの各要素が観測数Nの増加とともに大きくなるので、それにあわせて正則化パラメータの大きさを調整することにある。推奨値は、k=Nである。k=Nとした場合、式(14)は、式(10)と一致する。
【0058】
本実施例では、正則化パラメータλの候補値を生成する代わりに、以下の式(15)により正則化パラメータとして変換パラメータの候補値δ
iを生成する。
【0059】
【数7】
【0060】
ここで、Dは、事前に決めた正の整数とする。iは、1からDまでの整数とする。
【0061】
得られたD個の候補値δ
iに対して、それぞれ予測誤差の推定値を計算し、予測誤差の推定値を最小にする候補値δ
iを選ぶことで、適切な正則化パラメータが求まる。なお、Dの推奨値は、50から100程度である。
【0062】
次に、一般化したリッジ回帰における正則化パラメータの候補値の生成法について説明する。一般化したリッジ回帰の正則化パラメータは、行列なので、この行列の各要素に対して値を設定する必要がある。一般化したリッジ回帰の回帰係数は、以下の式(16)のように書ける。
【0063】
β=(X
TX+Λ)
−1X
Ty (16)
【0064】
式(16)は、通常のリッジ回帰と大きな差が無いので、式(14)の変換の代わりに、以下の式(17)の変換を用いることで候補値を生成できる。
【0065】
【数8】
【0066】
ここで、Λ
ijは、Λのi行j列目の要素である。δ
ijは、範囲0<δ
ij≦1の実数である。kは、式(14)と同様の役割であり、推奨値は、k=Nである。
【0067】
各δ
ijの候補値を式(15)で生成することもできるが、各δ
ijの候補値の組合せを考慮すると、最終的に得られるΛの候補値の数は指数的になる。この方法の代わりに、各δ
ijの候補値を範囲0<δ
ij≦1の乱数で生成すれば、Λの候補値の数を限定できる。なお、Λの行列に制約を課してもよい。例えば、Λの対角成分だけを式(17)により決定し、対角成分以外をゼロとする制約を課してもよい。これにより、Λの候補値の数を限定できる。
【0068】
[δの高度な探索方法]
次に、δの高度な探索方法について説明する。上述した等間隔にδの候補値を生成する方法は、予測誤差の推定値を最小化する正則化パラメータの探索方法の一つである。実用上は、上述の方法で十分な場合が多いが、観測値の種類が多い大規模なデータにリッジ回帰を適用する場合は、より厳密に正則化パラメータを設定する場合がある。例えば、観測値の種類が1万を超えるような大規模なデータにリッジ回帰を適用する場合は、より厳密に正則化パラメータを設定する必要がある場合がある。この場合、なるべく少ない候補値の数で、予測誤差の推定値を最小にする正則化パラメータを探すために、より高度な探索方法が有用である。
【0069】
高度な探索方法としては、予測誤差の推定値を最小化する正則化パラメータの範囲を徐々に絞り込む方法が考えられる。高度な探索方法の一例としては、等間隔にδの候補値を生成して予測誤差の推定値を計算し、予測誤差の推定値が最小の部分を含む所定範囲についてさらに短い間隔でδの候補値を生成して予測誤差の推定値を計算する局所的な探索を所定の終了条件を満たすまで繰り返す方法がある。この所定範囲は、等間隔以上の範囲であればよく、例えば、等間隔の範囲とする。終了条件としては、例えば、局所的な探索を所定回繰り返すまでとしてもよく、予測誤差の推定値が所定の基準以下となるまでとしてもよい。例えば、まず0から1の範囲に等間隔に10個の候補値を生成し、予測誤差の推定値を計算する。次に、0から0.5の範囲と0.5から1の範囲に対して、先の候補値のうち予測誤差の推定値を最小にするものが含まれる範囲に対して、等間隔に10個の候補値を生成する。これを繰り返すことで、範囲を徐々に絞り込み、予測誤差の推定値を最小化する正則化パラメータを効率的に探索できる。
【0070】
一般化したリッジ回帰では、乱数による候補値の生成も有用であるが、より高度な方法としては局所探索や、遺伝的アルゴリズム等の直接探索法も有用である。
【0071】
[説明変数の選択手法]
次に、逐次的な説明変数の選択手法について説明する。リッジ回帰では、回帰式に複数の説明変数を持つ場合がある。例えば、P個の説明変数X
pを持つ回帰式は、以下の式(18)のように表せる。
【0072】
【数9】
【0073】
ここで、yは、目的変数である。βは、回帰係数である。式(18)では、目的変数yが複数の説明変数の回帰式から算出される。
【0074】
例えば、目的変数yを電力需要として、電力需要の予測を行う場合、各説明変数X
pは、気温、湿度、風速等に対応する。しかし、回帰式を作成する場合、必ずしも全ての観測値を使う必要はなく、一部の説明変数により十分な精度で予測できる場合がある。例えば、気温、湿度、風速を観測していたとしても、回帰式では気温と風速だけを使うことで、予測精度が改善する場合や、予測結果の解釈が容易になる場合がある。
【0075】
このように複数の説明変数がある場合に、回帰式に組み込む説明変数を自動選択する手法を説明する。この手法は、一つの説明変数を持つ回帰式から始め、回帰式に一つずつ説明変数を追加することを繰り返す。追加する説明変数の選び方は、説明変数とその時点での回帰式の誤差との相関の絶対値がもっとも大きなものを選ぶ。回帰式の回帰係数は、リッジ回帰で計算し、正則化パラメータは提案手法で決める。
【0076】
以下に具体的な手順の一例を示す。
【0077】
ステップ1:説明変数の選択する領域を初期化する。例えば、選択した説明変数を保持する領域A
0={}を空にする。また、Y^
0=0と初期化する。また、カウンタt=1と初期化する。
【0078】
ステップ2:未選択の説明変数ごとに、選択された説明変数による回帰式の誤差との相関を算出する。最初は、A
0が空であり、選択した説明変数がないため、目的変数の予測値がゼロとなり、目的変数の実績値がそのまま誤差と算出される。説明変数が選択された場合の誤差は、後述のステップ6で算出される。例えば、未選択の各説明変数と誤差との相関C
Pは、以下の式(19)から算出する。
【0079】
C
P=X(:|p)
T(y−Y^
t−1) (19)
【0080】
ここで、Xは、N行P列の説明変数の行列とする。A
tは、回帰式に組み込まれた説明変数を指す列番号の集合とする。X(:|p)は、行列Xのp番目の列ベクトルとする。X(:|A)は、Aに含まれる列番号に対応するXの列のみをもった行列とする。Y^
0は、要素数Nの列ベクトルとし、各要素は0とする。
【0081】
ステップ3:未選択の説明変数のなかから、ステップ2で算出した相関の絶対値が最大の説明変数を求める。すなわち、未選択の説明変数のなかで、誤差と変動が最も類似する説明変数を求める。例えば、A
t−1に含まれない説明変数pの中で、|C
P|が最大の説明変数pをp
t*とする。
【0082】
ステップ4:相関C
Pの絶対値が最大の説明変数p
t*を回帰式に組み込む。これは、例えば、以下の式(20)のように表せる。
【0083】
A
t=A
t−1∪{p
t*} (20)
【0084】
式(20)は、A
t−1に説明変数p
t*を追加してA
tとすることを示す。
【0085】
ステップ5:回帰式の正則化パラメータをそれぞれ変換式で変換して変換パラメータδの候補値δ
iを生成して予測誤差の推定値を求める。そして、予測誤差の推定値が最小となる候補値を変換パラメータに適用して、回帰係数β
tを求め、回帰式を特定する。回帰係数β
tは、カウンタtでの回帰係数を表す。
【0086】
ステップ6:回帰係数β
tを適用した回帰式から算出される目的変数の予測値と実績値の誤差を算出する。予測値は、例えば、以下の式(21)のように表せる。
【0087】
Y^
t=X(:|A)β
t (21)
【0088】
ステップ7:誤差が所定の停止条件を満たしているか判定する。停止条件を満たしていない場合は、カウンタtをカウントアップ(t=t+1)してステップ2に戻る。これにより、ステップ2〜7が繰り返される。停止条件を満たす場合は、説明変数の選択を終了する。これにより、回帰式が特定される。停止条件は、例えば、相関が高い説明変数を所定個選択するまで、または、選択された説明変数による回帰式から算出される目的変数の予測値と実績値との誤差が増加するまでとする。停止条件を、相関が高い説明変数を所定個選択するまでとした場合は、停止条件を満たした際の回帰式で予測を行う。停止条件を、選択された説明変数による回帰式から算出される目的変数の予測値と実績値との誤差が増加するまでとした場合は、停止条件を満たした際の回帰式では誤差が増加しているため、1つ前の回帰式(t−1で特定された回帰式)で予測を行う。なお、停止条件は、これらに限定されるものではなく、他の条件を用いてもよい。
【0089】
[予測装置の構成]
次に、本願の提案手法を適用した予測装置10の構成について説明する。なお、本実施例では、予測装置10により電力需要の予測を行う場合について説明する。また、本実施例では、予測装置10が上述の説明変数の選択手法を用いて、複数の説明変数から回帰式を特定して電力需要の予測を行う場合を説明する。
【0090】
図3は、予測装置の機能的な構成の一例を示す図である。
図3に示すように、予測装置10は、表示部20と、入力部21と、記憶部22と、制御部23とを有する。予測装置10は、
図3に示した機能部以外にも既知の各種の機能部を有してもよい。例えば、予測装置10は、他の端末と通信を行う通信インタフェース部などを有してもよい。
【0091】
表示部20は、各種情報を表示する表示デバイスである。表示部20としては、LCD(Liquid Crystal Display)などの表示デバイスが挙げられる。表示部20は、各種情報を表示する。例えば、表示部20は、各種の操作画面や予測結果を表示する。
【0092】
入力部21は、各種の情報を入力する入力デバイスである。例えば、入力部21としては、予測装置10に接続されたキーボードやマウス、予測装置10に設けられた各種のボタン、表示部20上に設けられた透過型のタッチセンサなどの入力デバイスが挙げられる。なお、
図3の例では、機能的な構成を示したため、表示部20と入力部21を別に分けているが、例えば、タッチパネルなど表示部20と入力部21を一体的に設けたデバイスで構成してもよい。
【0093】
記憶部22は、各種のデータを記憶する記憶デバイスである。例えば、記憶部22は、ハードディスク、SSD(Solid State Drive)、光ディスクなどの記憶装置である。なお、記憶部22は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリであってもよい。
【0094】
記憶部22は、制御部23で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部22は、後述する予測処理を実行する予測プログラムを含む各種のプログラムを記憶する。さらに、記憶部22は、制御部23で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部22は、学習データ30を記憶する。
【0095】
学習データ30は、リッジ回帰の回帰式において各種のパラメータの最適値の算出に用いるデータである。学習データ30は、リッジ回帰の回帰式の目的変数の実績値と、当該実績値が得られた際の説明変数の実績値が記憶されている。本実施例では、所定の期間の電力需要の実績値と、当該電力需要が得られた際の気温、湿度、風速などの複数の説明変数の実績値が記憶されている。
【0096】
制御部23は、予測装置10を制御するデバイスである。制御部23としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部23は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部23は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部23は、受付部40と、特定部41と、生成部42と、算出部43と、予測部44と、出力制御部45とを有する。
【0097】
受付部40は、各種の受け付けを行う。例えば、受付部40は、電力需要の予測に関する各種の情報の入力や電力需要の予測に関する各種の操作指示を受け付ける。例えば、受付部40は、不図示の操作画面を表示部20に表示させ、入力部21からの入力操作により各種の操作指示を受け付ける。例えば、受付部40は、電力需要の予測開始の指示を受け付ける。
【0098】
特定部41は、上述の説明変数の選択手法により、電力需要の予測に有効な回帰式を特定する。例えば、特定部41は、学習データ30に基づき、所定の停止条件を満たすまで、学習データ30に記憶された複数の説明変数のうち、回帰式から算出される目的変数の予測値と実績値との誤差に対する相関の絶対値が大きい説明変数を選択することを繰り返して、選択された説明変数による回帰式を特定する。例えば、特定部41は、最初に、学習データ30に記憶された電力需要の実績値をそのまま誤差として、それぞれの説明変数の実績値との相関を算出する。そして、特定部41は、算出された相関の絶対値が最大の説明変数を特定する。特定部41は、相関の絶対値が最大の説明変数を選択する。以降、特定部41は、選択された説明変数による回帰式に、学習データ30に記憶された説明変数の実績を代入して電力需要の予測値を算出し、算出した予測値と学習データ30に記憶された実績値との誤差を算出する。そして、特定部41は、回帰式に含まれない説明変数について、それぞれ誤差に対する相関を求め、相関の絶対値が大きい説明変数を選択して回帰式に追加する。特定部41は、このように回帰式から算出される電力需要の予測値と実績値の誤差が停止条件を満たすまで、相関の絶対値が最大の説明変数の選択を繰り返す。
【0099】
生成部42は、特定部41において説明変数が追加された回帰式の変換パラメータの候補値を複数生成する。例えば、生成部42は、正則化パラメータの変換式として、上述の式(14)を用いて、0<δ≦1の範囲で均等に変換パラメータの候補値δを生成する。例えば、生成部42は、式(15)のD=50として、iは、1からDまで変化させて50個の候補値δ
iを生成する。
【0100】
算出部43は、特定部41において説明変数が追加された回帰式に、生成部42により生成された複数の候補値をそれぞれ変換パラメータに適用した場合の回帰式の予測誤差の推定値を算出する。例えば、算出部43は、特定部41において説明変数が追加された回帰式の正則化パラメータを変換式により変換する。そして、算出部43は、回帰式のそれぞれ変換パラメータにそれぞれ候補値δを順に適用し、AIC、BIC、交差検定、MallowのCpなどを用いて、学習データ30から回帰式の予測誤差の推定値を算出する。算出部43は、説明変数ごとに、算出される予測誤差の推定値が最小となる候補値を変換式に適用して正則化パラメータを求める。これにより、説明変数ごとに、誤差の小さい正則化パラメータが特定される。上述の特定部41では、説明変数ごとに、誤差の小さい正則化パラメータを適用した回帰式を用いて、誤差を算出する。
【0101】
すなわち、予測装置10では、特定部41により、予測に有効な説明変数を選択し、選択された説明変数による回帰式を特定し、生成部42により、当該回帰式の変換パラメータの候補値を生成して、算出部43により、候補値を変換パラメータに適用した場合の回帰式の予測誤差の推定値を算出することにより、予測に有効な説明変数により構成され、誤差の小さい正則化パラメータが適用されたリッジ回帰の回帰式を求める。
【0102】
予測部44は、求められたリッジ回帰の回帰式により予測を行う、本実施例では、予測部44は、電力需要を予測する。
【0103】
出力制御部45は、各種の出力の制御を行う。例えば、出力制御部45は、予測部44により予測された電力需要の情報を表示部20に表示させる。また、例えば、出力制御部45は、予測部44により予測された電力需要の情報を外部の端末装置へ出力する。これにより、ユーザは、出力された情報から電力需要の予測結果を把握できる。
【0104】
[予測例]
ここで、電力需要の予測の一例を説明する。なお、本実施例では、午後12時の電力需要の年周期パターンを回帰式として求め、電力需要を予測する場合について説明する。ここでは、リッジ回帰の回帰式としてはフーリエ級数を用いる。回帰式は、例えば、以下の式(22)のように表せる。
【0105】
【数10】
【0106】
ここで、yは、目的変数であり、午後12時の予測される電力需要である。tは、1月1日から12月31日に対して、1から365までの数字を順に割り当てたものとする。Tは、周期を表し、365とする。πは、円周率である。βは、回帰係数である。
【0107】
式(22)に示す回帰式では、変数lを1〜100とした場合の波形を回帰係数の割合でそれぞれ重み付け加算する。この場合、説明変数は、各変数lに対して、sin(2πtl/T)とcos(2πtl/T)を各列に割り当てた200列の行列となり、また、回帰式に表れる説明変数の数は、200個となる。
【0108】
以下の例では、通常のリッジ回帰に対する手法を用いてリッジ回帰の回帰係数を求める場合を説明する。なお、一般化したリッジ回帰に対する手法を用いてもよい。
【0109】
学習データ30には、所定の期間の午後12時の電力需要の実績値を記憶させる。例えば、学習データ30には、2012年9月30日から2013年9月29日までの東京電力管内の午後12時の電力需要の実績値を記憶させる。例えば、学習データ30には、1月1日から12月31日に対して割り当てたtの値にそれぞれ対応させて、電力需要の実績値を記憶させる。
【0110】
予測装置10は、学習データ30に対して式(7)でリッジ回帰の回帰係数を求める。本実施例では、予測装置10は、式(14)のkを学習データ30のデータ数である365とし、式(15)のDを100として候補値を生成し、各候補値の予測誤差の推定値を算出して正則化パラメータを決定する。予測誤差の推定値は、交差検定の一種であるLOOCV(Leave-One-Out Cross-Validation)で求める。例えば、学習データ30の一部の日付のデータを学習用データとし、残りの日付のデータを検証用データとする。この理由は、学習データ30の一部の日付のデータを学習用データとし、残りの日付のデータを検証用データとして、学習用データから正則化パラメータを決定し、決定された正則化パラメータを適用した回帰式により検証用データから予測誤差の推定値を求めるので、回帰式の予測の精度を適切に評価できるためである。予測装置10は、学習用データを用いて正則化パラメータを決定し、決定された正則化パラメータを適用した回帰式により検証用データについて予測を行って予測値と実績値を比較し、予測誤差の推定値を算出する。なお、回帰係数を求める際は、説明変数と目的変数を標準化する。
【0111】
予測結果を評価するため、2013年9月30日から2014年9月29日までの東京電力管内の午後12時の電力需要の実績値のデータをテストデータとする。予測装置10が、学習データ30から得られた回帰係数で、テストデータに対する電力需要を予測すれば、実際の予測を想定したシミュレーションになり、テストデータに対する誤差を予測誤差と見なすことができる。
【0112】
図4は、予測結果の評価の一例を示す図である。
図4には、正則化パラメータの各候補値で得られるリッジ回帰の回帰係数について、学習データ30に対する誤差と、予測誤差の推定値と、テストデータに対する誤差とが示されている。なお、各誤差は、RMSE(Root Mean Squared Error)で算出する。
図4の横軸は、δの値を表す。
図4の縦軸は、対応するδを用いたリッジ回帰の各種誤差の大きさを表す。
図4に示すように、学習データ30に対する誤差は、δの増加に対して単調に低下する。一方で、予測誤差の推定値は、下に凸の形になることがわかる。この理由は、δが1の付近では、学習データ30に対して回帰式がフィットし過ぎて、回帰式による予測結果がオーバーフィッティングとなるためである。
【0113】
一方で、予測誤差の推定値とテストデータの誤差には、差異がある。この理由は、LOOCVによる予測誤差の推定値に推定誤差が含まれるため、および、学習データ30とテストデータは、違う年の電力需要のデータであり、電力需要の性質が経年により変化したためである。すなわち、学習データ30に対してテストデータの性質が変化する場合がある。予測装置10は、性質が変化する前の学習データ30から回帰式を求めるため、回帰式による予測結果がテストデータに対して必ずしも誤差が最も小さくなるわけではない。しかし、予測装置10は、学習データ30に対して予測誤差の推定値が最小となる回帰式を求めることで、高い精度でテストデータを予測できる。
【0114】
本実施例の手法の有効性は、式(14)の変換に依存している。この変換に求められる性質は、予測誤差が最小になるδの付近で、δの候補値の間隔に比べて予測誤差が大きく変化しないことである。
図4に示すテストデータに対する誤差のカーブが滑らかであることから、式(14)の変換の有効性が確認できる。
【0115】
図4の例では、δの値が0.86で予測誤差の推定値が最小となる。予測装置10は、δの値を0.86として正則化パラメータを決定し、決定された正則化パラメータを適用した回帰式により電力需要を予測する。δ=0.86でのテストデータに対する誤差は、381万kWである。
【0116】
また、予測装置10は、説明変数の選択手法を用いて、説明変数を選択して回帰式を求めてもよい。例えば、上述の式(22)のsin(2πtl/T)とcos(2πtl/T)をそれぞれ説明変数とした場合、回帰式に表れる説明変数の数は、200個となる。予測装置10は、説明変数の選択手法を用いて、200個の説明変数から有効な説明変数を選択して回帰式を求めてもよい。
【0117】
例えば、予測装置10が、上述の電力需要を予測した場合と同じ条件で、学習データ30に対して説明変数の選択手法に基づき、80個の変数を選択した場合、得られた回帰式のテストデータに対する誤差が、386万kWである。200個の説明変数を用いたリッジ回帰のテストデータに対する誤差は、381万kWである。このように、予測装置10は、説明変数の選択手法を用いて、用いる説明変数を80個まで減らした場合でも、ほぼ同様の予測性能が得られたことがわかる。このように、予測装置10は、説明変数の選択手法を用いることにより、予測において重要な説明変数が選択できる。
【0118】
このように、予測装置10は、回帰式の正則化パラメータを変換する変換式の変換パラメータの取り得る範囲で変換パラメータの候補値を複数生成する。このように、変換パラメータの取り得る範囲が定まることで、試行錯誤を行わずに変換パラメータの候補値を生成できる。ここで、従来、正則化パラメータは、取り得る上限に制限がないため、どの範囲まで正則化パラメータの候補値を生成するか、試行錯誤が必要であり、処理の自動化を実現し難かった。一方、予測装置10では、正則化パラメータを変換する変換式の変換パラメータの取り得る範囲が定まるため、回帰式の正則化パラメータを求める処理の自動化を実現できる。この結果、予測装置10は、適切な正則化パラメータを効率的に探索できる。
【0119】
また、予測装置10は、変換パラメータの変化による回帰式の正則化パラメータの予測に与える影響を近似的に線形に変換する変換式を用いて、回帰式の正則化パラメータを変換パラメータに変換し、変換パラメータの取り得る範囲を均等な間隔で複数の変換パラメータの候補値を生成する。これにより、予測装置10は、候補値の数に応じた細かさで、正則化パラメータの取り得る範囲について万遍なく正則化パラメータの候補を探索でき、候補値の数に応じた精度で、精度の良い適切な正則化パラメータを探索できる。また、予測装置10は、探索された正則化パラメータを適用した回帰式により、精度よく予測を行うことができる。また、予測装置10では、変換パラメータの取り得る範囲を均等な間隔で変換パラメータの候補値を生成すればよいため、回帰式の正則化パラメータを求める処理の自動化を実現できる。この結果、予測装置10では、適切な正則化パラメータを効率的に探索できる。
【0120】
[処理の流れ]
本実施例に係る予測装置10が予測を行う予測処理の流れについて説明する。
図5は、予測処理の手順の一例を示すフローチャートである。この予測処理は、所定のタイミング、例えば、受付部40により電力需要の予測開始の指示を受け付けたタイミングで実行される。
【0121】
図5に示すように、特定部41は、説明変数の選択する領域を初期化する(S10)。例えば、生成部42は、選択した説明変数を保持する領域A
0={}を空にする。また、生成部42は、Y^
0=0と初期化し、カウンタt=1と初期化する。
【0122】
特定部41は、領域A
0に保持された以外の未選択の説明変数ごとに、選択された説明変数による回帰式の誤差との相関を算出する(S11)。特定部41は、最初、A
0が空であり、選択した説明変数がないため、目的変数の実績値がそのまま誤差として、説明変数ごとに、誤差との相関を算出する。
【0123】
特定部41は、未選択の説明変数のなかから、S11で算出した、誤差との相関の絶対値が最大の説明変数を求める(S12)。
【0124】
特定部41は、相関の絶対値が最大の説明変数を領域A
tに追加し、相関の絶対値が最大の説明変数を回帰式に組み込む(S13)。
【0125】
生成部42は、回帰式の正則化パラメータをそれぞれ変換式で変換して変換パラメータδの候補値δ
iを生成する(S14)。算出部43は、学習データ30に基づき、回帰式の正則化パラメータを変換式により変換し、それぞれ変換パラメータに候補値を適用した場合の回帰式の予測誤差の推定値を算出する(S15)。
【0126】
特定部41は、予測誤差の推定値が最小となる候補値を変換パラメータに適用して、説明変数毎に回帰係数を求め、回帰式を特定する(S16)。
【0127】
特定部41は、学習データ30に基づき、回帰係数β
tを適用した回帰式から算出される目的変数の予測値と実績値の誤差を求める(S17)。
【0128】
特定部41は、誤差が停止条件を満たしているか判定する(S18)。停止条件を満たしていない場合(S18否定)、処理は、上述のS11へ移行する。
【0129】
一方、停止条件を満たしている場合(S18肯定)、処理を終了する。
【0130】
[効果]
上述してきたように、本実施例に係る予測装置10は、説明変数の値から目的変数を求めるリッジ回帰の回帰式の目的変数の実績値と、当該実績値が得られた際の説明変数の実績値が記憶された学習データ30を記憶する。予測装置10は、所定の変換パラメータの所定の範囲の値の変化により、回帰式の正則化パラメータの取り得る範囲の値が得られる変換式の変換パラメータの取り得る所定の範囲で変換パラメータの候補値を複数生成する。予測装置10は、学習データ30に基づき、回帰式の正則化パラメータを変換式により変換し、生成された複数の候補値をそれぞれ変換パラメータに適用した場合の回帰式の予測誤差の推定値を算出する。予測装置10は、予測誤差の推定値が最小となる候補値を変換パラメータに適用した回帰式により予測を行う。これにより、予測装置10は、適切な正則化パラメータを効率的に探索できる。
【0131】
また、本実施例に係る予測装置10では、変換式は、変換パラメータの変化による正則化パラメータの予測に与える影響を近似的に線形に変換する。予測装置10は、所定の範囲を均等な間隔で複数の変換パラメータの候補値を生成する。これにより、予測装置10は、候補値の数に応じた細かさで、正則化パラメータの取り得る範囲について万遍なく正則化パラメータの候補を探索できる。
【0132】
また、本実施例に係る予測装置10は、変換式を、上述の式(14)とする。これにより、予測装置10は、適切な正則化パラメータを効率的に探索でき、探索された正則化パラメータを適用した回帰式により、精度よく予測を行うことができる。
【0133】
また、本実施例に係る予測装置10は、学習データ30に基づき、所定の停止条件を満たすまで、回帰式に含まれる複数の説明変数のうち、回帰式から算出される目的変数の予測値と実績値との誤差に対する相関の絶対値が大きい説明変数を選択することを繰り返して、選択された説明変数による回帰式を特定する。また、その際、予測装置10は、特定された回帰式の各説明変数の正則化パラメータについて変換パラメータの候補値を複数生成する。予測装置10は、特定された前記回帰式の各説明変数の正則化パラメータをそれぞれ変換式により変換し、生成された複数の候補値をそれぞれ変換パラメータに適用した場合の前記回帰式の予測誤差の推定値を算出する。そして、予測装置10は、特定された前記回帰式の各説明変数の正則化パラメータについて、算出される予測誤差の推定値が最小となる候補値を変換パラメータに適用した回帰式により予測を行う。これにより、予測装置10は、予測において重要な説明変数を選択し、選択された説明変数による回帰式により予測を行える。また、予測装置10は、予測において重要な説明変数を選択して回帰式を特定するため、予測の処理の負荷を低減できる。
【0134】
また、本実施例に係る予測装置10は、所定の停止条件を、相関が高い説明変数を所定個選択するまで、または、選択された説明変数による回帰式から算出される目的変数の予測値と実績値との誤差が増加するまでとする。予測装置10は、所定の停止条件を、相関が高い説明変数を所定個選択するまでとした場合、説明変数を選択する回数が定まるため、回帰式の特定の処理時間が長くなることを抑制できる。また、予測装置10は、所定の停止条件を、選択された説明変数による回帰式から算出される目的変数の予測値と実績値との誤差が増加するまでとした場合、誤差の小さい回帰式を特定して予測を行うことができる。
【0135】
また、本実施例に係る予測装置10は、回帰式により電力需要の予測を行う。予測装置10は、回帰式の正則化パラメータを求める処理を自動化できるため、電力需要の予測の処理を自動化できる。