(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2019-537079(P2019-537079A)
(43)【公表日】2019年12月19日
(54)【発明の名称】大規模再生可能エネルギーのデータについて確率モデルを構築する方法
(51)【国際特許分類】
G06F 17/18 20060101AFI20191122BHJP
【FI】
G06F17/18 D
【審査請求】有
【予備審査請求】未請求
【全頁数】27
(21)【出願番号】特願2018-565323(P2018-565323)
(86)(22)【出願日】2018年8月13日
(85)【翻訳文提出日】2018年12月12日
(86)【国際出願番号】CN2018100234
(87)【国際公開番号】WO2019056887
(87)【国際公開日】20190328
(31)【優先権主張番号】201710856461.2
(32)【優先日】2017年9月20日
(33)【優先権主張国】CN
(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.MATLAB
(71)【出願人】
【識別番号】517431171
【氏名又は名称】国网上海市電力公司
(71)【出願人】
【識別番号】517431182
【氏名又は名称】華東電力試験研究院有限公司
(71)【出願人】
【識別番号】517430392
【氏名又は名称】重慶大学
(74)【代理人】
【識別番号】110000660
【氏名又は名称】Knowledge Partners 特許業務法人
(74)【代理人】
【識別番号】100167254
【弁理士】
【氏名又は名称】後藤 貴亨
(72)【発明者】
【氏名】宋 傑
(72)【発明者】
【氏名】周 健
(72)【発明者】
【氏名】▲ボー▼ 偉
(72)【発明者】
【氏名】楊 燕
(72)【発明者】
【氏名】余 娟
(72)【発明者】
【氏名】馮 斐
(72)【発明者】
【氏名】張 暁穎
(72)【発明者】
【氏名】熊 祥鴻
(72)【発明者】
【氏名】張 奕
(72)【発明者】
【氏名】項 旭楊
(72)【発明者】
【氏名】顧 薇薇
(72)【発明者】
【氏名】沈 冰
(72)【発明者】
【氏名】潘 愛強
(72)【発明者】
【氏名】周 徳生
(72)【発明者】
【氏名】周 卓懿
(72)【発明者】
【氏名】曾 平
(72)【発明者】
【氏名】徐 潔
(72)【発明者】
【氏名】鄒 暁峰
(72)【発明者】
【氏名】杜 ▲ショウ▼▲シン▼
(72)【発明者】
【氏名】朱 奕帆
【テーマコード(参考)】
5B056
【Fターム(参考)】
5B056BB64
(57)【要約】
本出願は、Spark及びHadoop分散ファイルシステムHDFSに基づき、新エネルギーについて高速モデル構築を行い、分散並列フレームワークを構築し、該フレームワークを再生可能エネルギーの既存の記憶システムに対応させることと、弾性分散データセットRDDの耐障害性の特徴と、メモリに基づいて計算する特徴とを利用してWakeby確率分布モデルを構築して解き、RDDに基づくWakeby確率分布モデルの推定を実現することとを含む、大規模再生可能エネルギーのデータについて高速に確率モデルを構築する方法を開示する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
Sparkプラットフォーム及びHadoop分散ファイルシステムHDFSに基づき、再生可能エネルギーのデータについて分散並列フレームワークをモデル構築し、前記分散並列フレームワークを前記再生可能エネルギーのデータの記憶システムに対応させることと、
弾性分散データセットRDDの耐障害性特徴と、メモリに基づいて計算する特徴とを利用してWakeby確率分布モデルを構築して解き、RDDに基づく前記Wakeby確率分布モデルの推定を実現することと、を含む、大規模再生可能エネルギーのデータについて確率モデルを構築する方法。
【請求項2】
前記分散並列フレームワークは、互いにデータ伝送を行い、RDDに基づくSpark計算エンジンと、hadoop分散ファイルシステムと、データマートと、可視化ツールと、商品ハードウェアと、を含む、請求項1に記載の方法。
【請求項3】
前記Sparkプラットフォーム及びHDFSに基づき、再生可能エネルギーデータについて前記分散並列フレームワークをモデル構築することは、
前記RDDに基づくSpark計算エンジンを用い、メモリにおいて前記Wakeby確率分布モデルを並列計算することと、
HDFSを用いて大規模再生可能エネルギーRESデータを記憶し、高スループットを有するデータアクセスインタフェースを提供することと、
前記SparkプラットフォームとHDFSとを組み合わせ、前記Wakeby確率分布モデルの計算タスクを前記大規模再生可能エネルギーRESデータにより近いノードに移動させることと、
HDFSに直接アップロードされ得るローカルファイルと、Sqoopデータ伝送手段によってHDFSにアップロードされるリレーショナルデータベースとを含む前記データマートによって、既存のRES記憶システムにおける大規模のデータをHDFSに事前に移行させることと、
前記可視化ツールに関連してデータをブラウザに表示させることと、
分散モードでの前記Sparkプラットフォームのメインアーキテクチャ又はサブアーキテクチャに基づき、前記商品ハードウェアを1つのメインノード及び複数の動作ノードとして配置することと、
前記Sparkプラットフォーム及びHDFSに基づく前記分散並列フレームワークの構築を完了することと、を含み、
非リレーショナルデータベースの下層記憶システムはHDFSであり、新エネルギーのデータベースとして大規模の新エネルギーデータの記憶、リアルタイムアクセス及びオフライン統計分析の機能を実現する、請求項2に記載の方法。
【請求項4】
前記Wakeby確率分布モデルを構築して解くことは、
5つのパラメータを用いた前記Wakeby確率分布モデルを構築する一般式を式(1)にし、Wakeby分布の確立密度関数を式(2)にすることを含む、請求項1に記載の方法。
(ただし、
は累積確率分布関数であり、x(F)は所定のF値に対する分位数値であり、ξは位置パラメータであり、αとβは寸法パラメータであり、γとσは形状パラメータであり、f(x)は確率密度関数である。)
【請求項5】
前記Wakeby確率分布モデルを構築して解くことは、
L次モーメント推定法で前記Wakeby確率分布モデルの5つのパラメータを推定することと、
前記Wakeby確率分布モデルの5つのパラメータを、サンプルの最初5次のモーメントを前記Wakeby確率分布モデルの最初5次のL次モーメントに等しくさせる式によって求めることと、
サンプルデータから最初5次のリニアマトリクスを計算し、各次のリニアマトリクスを、L次モーメントの定義式により導出された対応の5次モーメントに等しくさせることと、を含み、
r番目のサンプルのリニアマトリクスは、下記の式で表される、請求項4に記載の方法。
【請求項6】
前記RDDに基づく前記Wakeby確率分布モデルの推定を実現することは、
前記Sparkプラットフォームのtextfile()方法によってHDFSからテキストファイルを読み取り、文字列型の先頭RDD又は親RDDとしてフィードバックし、RDDをj個のパーティションに分割し(j=1,2,...,Pn)、前記j個のパーティションをメモリに記憶することと、
新たに構築したRDDを次の操作により計算され可能にし、且つ各パーティションの各変換結果をメモリに記憶するために、map操作によって各パーティションの各行のデータを分割し、各データを倍精度タイプにマッピングすることと、
reduce変換操作によって各パーティションのエレメントを重合し、各パーティションのBjを生成することと、
combine変換操作によって前記j個のパーティションの最終結果を組み合わせて加算し、n個のサンプルにおいてk=0,1,2,3,4の場合のbkの値を得、サンプルのリニアマトリクスを計算することと、
サンプルのリニアマトリクスに基づき、前記Wakeby確率分布モデルの5つのパラメータに関する式を構築し、最小2乗法で前記式を解き、前記Wakeby確率分布モデルの5つのパラメータの計算結果を得ることと、
save動作操作によって、前記Wakeby確率分布モデルの5つのパラメータの計算結果をHDFSに記憶することと、を含む、請求項1から5のいずれか1項に記載の方法。
【請求項7】
下記の式に基づき、前記b
kを計算し、
2つの補助変数によって前記j個のパーティションにおけるサンプルデータの順序を示す、請求項6に記載の方法。
【請求項8】
並列推定された計算時間とサンプルデータ数、及び前記Sparkプラットフォームのクラスタ並列度とパーティション数との関数関係によって、Sparkクラスタのパーティション数をハードウェア構成に適合させることと、
Wakebyの消費時間を並列計算することと、を更に含み、
クラスタ並列度は式(9)に示され、Wakebyの消費時間は式(10)に示される、
請求項1に記載の方法。
(ただし、Nは動作ノードの数であり、E
iはノードiにおけるアクチュエーターの数であり、C
iはノードiにおける各実行者が持っている物理的コアの数であり、T
iはノードiにおける各コアのスレッド数である。)
(ただし、t
WakebyはWakebyの消費時間であり、P
nはRDDのパーティション数を示し、sは毎回並列計算を行う通信時間であり、
はn個のサンプルパーティションを持つb
k,k=0,1,2,3,4の値を計算することに必要となる時間であり、t
conはサンプルリニアマトリクスを計算する時間、及び最小2乗法によってWakeby分布の5つのパラメータに関する方程式を解く時間である。)
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、再生可能エネルギーの分野に属し、例えば、Sparkプラットフォームの弾性分散データセット及びWakeby分布モデルに基づき、大規模の新エネルギーのデータについて高速に確率モデルを構築することに関する。
【背景技術】
【0002】
資源環境の挑戦に対応するために、「高割合の再生可能エネルギー」を実現することは、「世界エネルギーの発展が無炭素を中心とする第三回エネルギー変革時代に進入する」ことの重要な指標になっている。再生可能エネルギー(例えば、風、光、水など)の不確定性により、高割合の再生可能エネルギーを電力グリッドに導入することは、電力システムにチャレンジをもたらす。再生可能エネルギーの不確定性の電力システムに対する影響を合理的に評価するために、再生可能エネルギーの確率分布モデルを構築することは至重である。通常、確率モデルは、サンプルデータに基づき、パラメータまたは非パラメータによる推定方法で得られる。情報技術の高速発展に伴い、再生可能エネルギーのサンプルデータ数はますます大きくなっており、ビッグデータのサンプルに大容量の情報が担持されているものの、確率モデル構築の計算負荷が急激に増加してしまう。
【0003】
ここ数十年、計算時間を低減させるために、国内外で類似技術や並列計算に基づく確率モデル構築方法が提案されている。類似技術では、主に高速フーリエ変換と高速ガウス変換を用いるが、いずれもある程度確率モデルの推定精度を低下させる。また、Wakeby分布は、天然な並列特徴を有する。
【0004】
並列方法では、主にマルチプロセッサ計算又はクラスタ計算を対象とする。データ数の増加およびプロセッサ処理速度の低進展に伴い、マルチプロセッサの計算処理能力はデータ量の増加に追い付けなくなる。そのため、大規模データの計算は、拡張可能なクラスタにおいて実行しなければならない。電力システムにおいて、従来のクラスタ計算では、主にメッセージパッシングインターフェイス(Message Passing Interface,MPI)規格又はMatlabクラスタに基づき、その理由は、使用・配置・拡張しやすいことである。
【0005】
しかしながら、類似技術や並列計算による確率モデル構築方法は、大規模データの記憶及びアクセスをサポートする対応の分散ファイルシステムが不足しているだけでなく、耐障害性もサポートしておらず、クラスタ内のノード障害の問題に対処できないため、アプリ性能に大きく影響を与える。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本出願は、Sparkプラットフォーム弾性分散データセット(Resilient Distributed Dataset:RDD)に基づく再生可能エネルギーの高速確率モデル構築方法を提供し、即ち、大規模再生可能エネルギー(Renewable Energy Sources:RES)のデータサンプルについて、関連する確率モデル構築方法においてデータ処理速度が不十分であるという問題に対して、Spark及びHadoop分散ファイルシステム(Hadoop Distributed File System:HDFS)に基づくWakeby分布の並列推定アルゴリズムを提出する。
【課題を解決するための手段】
【0007】
本出願は、2017年09月20日に中国特許庁に提出した出願番号201710856461.2の中国特許出願に基づいて優先権を主張し、そのすべての内容を本出願に援用する。
本出願は、Sparkプラットフォーム及びHadoop分散ファイルシステムHDFSに基づき、再生可能エネルギーのデータについて分散並列フレームワークをモデル構築し、前記分散並列フレームワークを前記再生可能エネルギーのデータの記憶システムに対応させることと、弾性分散データセットRDDの耐障害性の特徴と、メモリに基づいて計算する特徴とを利用してWakeby確率分布モデルを構築して解き、RDDに基づくWakeby確率分布モデルの推定を実現することとを含む、大規模再生可能エネルギーのデータについて確率モデルを構築する方法を提供する。
【0008】
一実施例において、前記分散並列フレームワークは、互いにデータ伝送を行い、RDDに基づくSpark計算エンジンと、hadoop分散ファイルシステムと、データマートと、可視化ツールと、商品ハードウェアと、を含む。
【0009】
一実施例において、前記Sparkプラットフォーム及びHDFSに基づき、再生可能エネルギーデータについて分散並列フレームワークをモデル構築することは、
RDDに基づくSpark計算エンジンを用い、メモリにおいてWakeby確率分布モデルを並列計算することと、
HDFSを用いて大規模再生可能エネルギーRESデータを記憶し、高スループットを有するデータアクセスインタフェースを提供することと、
SparkプラットフォームとHDFSとを組み合わせ、前記Wakeby確率分布モデルの計算タスクを前記大規模再生可能エネルギーRESデータにより近いノードに移動させることと、
HDFSに直接アップロードされ得るローカルファイルと、Sqoopデータ伝送手段によってHDFSにアップロードされるリレーショナルデータベースとを含む前記データマートによって、既存のRES記憶システムにおける大規模データをHDFSに事前に移行させることと、
前記可視化ツールに関連してデータをブラウザに表示させることと、
分散モードでのSparkプラットフォームのメインアーキテクチャ又はサブアーキテクチャに基づき、前記商品ハードウェアを1つのメインノード及び複数の動作ノードとして配置することと、
SparkプラットフォームおよびHDFSに基づく分散並列フレームワークの構築を完了することと、を含む。
ここで、非リレーショナルデータベースの下層記憶システムはHDFSであり、新エネルギーのデータベースとして大規模の新エネルギーのデータの記憶、リアルタイムアクセス及びオフライン統計分析の機能を実現する。
【0010】
一実施例において、前記Wakeby確率分布モデルを構築して解くことは、5つのパラメータを用いたWakeby確率分布モデルを構築する一般式を式(1)にし、Wakeby分布の確立密度関数を式(2)にすることを含む。
【0011】
【数1】
【0012】
【数2】
ただし、
は累積確率分布関数であり、x(F)は所定のF値に対する分位数値であり、ξは位置パラメータであり、αとβは寸法パラメータであり、γとσは形状パラメータであり、f(x)は確率密度関数である。
【0013】
一実施例において、L次モーメント推定法で前記Wakeby確率分布モデルの5つのパラメータを推定し、具体的には、
前記Wakeby確率分布モデルの5つのパラメータを、サンプルの最初5次のモーメントをWakeby確率分布モデルの最初5次のL次モーメントに等しくさせる式によって求めることと、
サンプルデータから最初5次のリニアマトリクスを計算し、各次のリニアマトリクスを、L次モーメントの定義式により導出された対応の5次モーメントに等しくさせることと、を含み、
そのうち、r番目のサンプルリニアマトリクスは、下記の式で表される。
【0014】
【数3】
【0015】
【数4】
【0016】
一実施例において、前記RDDに基づくWakeby確率分布モデルの推定を実現することは、Sparkプラットフォームのtextfile()方法によってHDFSからテキストファイルを読み取り、文字列型の先頭RDD又は親RDDとしてフィードバックし、RDDをj個のパーティションに分割し(j=1,2,...,P
n)、前記j個のパーティションをメモリに記憶することと、
新たに構築したRDDを次の操作により計算され可能にし、且つ各パーティションの各変換結果をメモリに記憶するために、map操作によって各パーティションの各行のデータを分割し、各データを倍精度タイプにマッピングすることと、
reduce変換操作によって各パーティションのエレメントを重合し、各パーティションのデータ順序を示す変数B
jを生成することと、
combine変換操作によって前記j個のパーティションの最終結果を組み合わせて加算し、n個のサンプルにおいてk=0,1,2,3,4の場合のb
kの値を得、サンプルのリニアマトリクスを計算することと、
前記サンプルリニアマトリクスに基づき、Wakeby確率分布モデルの5つのパラメータに関する方程式を構築し、最小2乗法で前記方程式を解き、Wakeby確率分布モデルの5つのパラメータの計算結果を得ることと、
save動作操作によって、前記Wakeby確率分布モデルの5つのパラメータの計算結果をHDFSに記憶することと、を含む。
【0017】
一実施例において、下記の式に基づき前記b
kを算出し、2つの補助変数によってj個のパーティションにおけるサンプルデータの順序を示す。
【0018】
【数5】
【0019】
【数6】
【0020】
【数7】
【0021】
【数8】
【0022】
一実施例において、高速確率モデル構築方法は、
並列推定された計算時間とサンプルデータ数、及びSparkプラットフォームのクラスタ並列度とパーティション数との関数関係によって、Sparkクラスタのパーティション数をハードウェア構成に適合させることと、
Wakebyの消費時間を並列計算することと、を更に含む。
ここで、クラスタ並列度は、
【0023】
【数9】
であり、
(ただし、Nは動作ノードの数であり、E
iはノードiにおけるアクチュエーターの数であり、C
iはノードiにおける各実行者が持っている物理的コアの数であり、T
iはノードiにおける各コアのスレッド数である。)
Wakebyの消費時間は、式(10)に示される。
【0024】
【数10】
(ただし、t
WakebyはWakebyの消費時間であり、P
nはRDDのパーティション数を示し、sは毎回並列計算を行う通信時間であり、
はn個のサンプルパーティションを持つb
k,k=0,1,2,3,4の値を計算することに必要となる時間であり、t
conはサンプルリニアマトリクスを計算する時間、及び最小2乗法によってWakeby分布の5つのパラメータに関する方程式を解く時間である。)
【発明の効果】
【0025】
関連技術と比べ、本出願は、以下の利点を有する。
【0026】
本出願において、Spark及びHDFSに基づく分散並列フレームワークは、RESの既存の記憶システムに対応でき、高スループットのアクセル及び高耐障害性などの強みを有するとともに、RDDに基づいて開発される新エネルギーの並列推定アルゴリズムは、Wakeby確率分布モデルによってRESの確率分布を高速に推定することができ、大規模のデータサンプルの場合の高速計算性能を効果的に向上させる。
【0027】
本出願によるアルゴリズムの消費時間と、サンプルサイズ、並列度、パーティション数との関数関係は、所定のサンプルデータ数でのプログラマーのSparkプラットフォーム上のプログラムチューニング、所定の配置での消費時間の予測、及び希望の時間でのハードウェア構成に寄与する。
【0028】
本出願は、再生可能エネルギーの確率モデル構築に広く適用され、特に、ビッグデータレベルの風速、潮汐流速などの新エネルギーサンプルの高速確率モデル構築に適用される。
【図面の簡単な説明】
【0029】
【
図1】本出願に係る高速確率モデル構築方法のSparkプラットフォーム及びHDFSに基づく分散並列フレームワーク図である。
【
図2】本出願に係る高速確率モデル構築方法の弾性分散データセットRDDのフローチャートである。
【
図3】本出願に係る高速確率モデル構築方法の弾性分散データセットRDDに基づくWakeby分布のフローチャートである。
【
図4】本出願に係る高速確率モデル構築方法の潮汐流速のグラフ及びヒストグラムである。
【
図5】本出願に係る高速確率モデル構築方法のSpark及びMatlabクラスタにおけるWakebyの消費時間を示す図である。
【発明を実施するための形態】
【0030】
本出願は、大規模再生可能エネルギーのデータについて確率モデルを構築する方法であり、以下の手続を含む。まず、Sparkプラットフォーム及びHadoop分散ファイルシステムHDFSに基づき、新エネルギーについて高速モデル構築を行い、分散並列フレームワークを構築し、該フレームワークを再生可能エネルギーの既存の記憶システムに対応させる。その上、弾性分散データセットRDDの耐障害性特徴と、メモリに基づいて計算する特徴とを利用してWakeby分布のフローチャートを構築して解くことで、RDDに基づく新型Wakeby分布の高速推定アルゴリズムを実現する。また、該並列推定アルゴリズムの計算時間と、サンプルデータ数およびSparkの2つの重要な調整可能パラメータとの関数関係が導出される。最後に、潮汐流速を新エネルギー実験データとし、構築した分散並列フレームワークにおいてRDDに基づくWakeby分散並列推定アルゴリズムを実現し、本出願の実現効果を分析し、導出される式の正確性を検証する。上記手続は、以下のステップS1とステップS2とを含む。
【0031】
ステップS1において、Spark及びHDFSに基づく分散並列フレームワークを構築し、以下の手続を含む。
【0032】
図1に示すように、Spark及びHDFSに基づく分散並列フレームワークは、Spark計算エンジンと、hadoop分散ファイルシステムと、データマートと、可視化ツールと、商品ハードウェアとの5つの部分を含む。
【0033】
ステップS1.1において、RDDに基づくSpark計算エンジンを用い、メモリにおいてWakeby分布などの確率モデルの高速並列計算を実現する。
【0034】
ステップS1.2において、HDFSによって大規模のRESデータを記憶し、高スループットを有するデータアクセスインタフェースを提供し、SparkプラットフォームとHDFSとを組み合わせ、実行されるデータの近くで(ローカル化)アプリを実行させる。
【0035】
一実施例において、SparkプラットフォームとHDFSとを組み合わせ、実行されるデータの近くでアプリを実行させることは、SparkプラットフォームとHDFSを組み合わせ、前記Wakeby確率分布モデルの計算タスクを前記大規模再生可能エネルギーRESデータにより近いノードに移動させることである。
【0036】
ステップS1.3において、HDFSに直接アップロードされ得るローカルファイルと、Sqoopデータ伝送手段によってHDFSにアップロードされるリレーショナルデータベースとを含む前記データマートによって、既存のRES記憶システムにおける大規模データをHDFSに事前に移行させる。ここで、HDFSは非リレーショナルデータベース(Hive、Hbase)の下層記憶システムであり、同時に新エネルギーのデータベースとして大規模の新エネルギーデータの記憶、リアルタイムアクセス及びオフライン統計分析の機能を実現することができる。
【0037】
ステップS1.4において、専用の可視化ツール(例えば、Highchar、Echarts、及びHue)と合わせてブラウザにデータを表示させる。
【0038】
ステップS1.5において、分散モードでのSparkプラットフォームのメインアーキテクチャ/サブアーキテクチャに基づき、商品ハードウェアを1つのメインノード及び複数の動作ノードとして配置する。Sparkプラットフォーム及びHDFSに基づく分散並列フレームワークの構築を完了する。
【0039】
ステップS2において、RDDに基づくWakeby分布の並列推定アルゴリズムを構築する。該ステップは、以下の手続を含む。
【0040】
上記のステップS1に記載のSpark及びHDFSに基づく分散並列フレームワークに基づき、RDDに基づくWakeby分布の並列推定アルゴリズムを提出することで、大規模のRESサンプルデータの確率モデル構築性能を向上させる。
【0041】
ステップS2.1において、Wakeby確率分布モデルを構築する。
【0042】
Wakeby分布は、RESにおいて潮汐エネルギー及び風力エネルギーを分析することに用いられ、5つのパラメータのWakeby分布の定義式は、以下の分位関数により与えられる。
【0043】
【数11】
(ただし、
は累積確率分布関数であり、解析式がなく、x(F)は所定のF値に対する分位数値であり、ξは位置パラメータであり、αとβは寸法パラメータであり、γとσは形状パラメータである。)
【0044】
Wakeby分布の確率密度関数は、式(2)で表されてもよい。
【0045】
【数12】
(ただし、Fは累積確率分布関数であり、f(x)は確率密度関数である。)
【0046】
Wakeby分布の累積確率分布関数または確率密度関数は、解析式がない。本出願は、L次モーメント推定法でWakeby分布の5つのパラメータを推定する。L次モーメント推定法でWakeby分布の5つのパラメータを推定する基本的な構想は、サンプルデータに応じて最初5次のリニアマトリクスを計算し、各モーメントをL次モーメント定義式により導出された対応の5次モーメントに等しくさせることである。
x
1,x
2,…,x
nをn個のサンプルとし、
を順序サンプルとし、r番目のサンプルリニアマトリクスは、式(3)で定義される。
【0049】
Wakebyの5つのパラメータは、サンプルの最初5次のモーメントをWakeby分布の最初5次のL次モーメントに等しくさせる式によって得られる。ここまで、Wakeby確率分布モデルの構築が完了する。
【0050】
ステップS2.2において、RDDに基づくWakeby分散並列推定アルゴリズムを構築する。
【0051】
上記分析から分かるように、Wakeby分布は、サンプル数が大きい場合に、累積和による消費時間が極めて大きいという問題に直面している。Sparkは、RDDのフローチャートに基づいて累積和を効果的に並列することができ、さらに消費時間を低減させる。
【0052】
図2に示すように、RDDのフローチャートであり、実線ブロックはRDDを示し、各RDDの内部が複数のパーティションに分けられ、矢印は操作を示す。ここで、a、b、c、d及びeが標記されたパーティションは、各動作ノードに割り当てられると共に、並列実行される。また、RDDは、変換(transformation)と動作(action)の2タイプの操作をサポートする。全ての変換操作(マッピング(map)、簡素化(reduce)、組合せ(union)を含む)は積極的ではなく、結果をすぐに算出できない。逆に、これら操作は、RDDのフローチャートを覚えて各段階の有向非巡回グラフ(Database Availability Group:DAG)を構築する。フローチャートによって、各段階においてできるだけ多くのパイプライン化計算可能な変換を含み、並列化を最大限で実現し、アプリの論理をはっきりにしてプログラマのアプリに対する調整に寄与する。記憶(save)のような動作が最終結果をフィードバックする必要となる時のみに、変換操作を計算することができ、このようにして、データ数が大きな中間結果のフィードバックを回避することができる。そのため、RDDは、データ並列および計算並列によって計算速度を向上することができる。
【0053】
以上の分析によって、大規模のRESサンプルデータで、Wakeby分布の大規模RESサンプルデータに対する並列推定性能を向上させるために、まず、Wakeby分布を解く先頭RDDまたは親RDDを構築してデータ並列を実現し、次に、RDD変換操作を作り出してフローチャートを形成してWakeby分布の並列推定を実現する。
【0054】
ステップS2.3において、データ並列をする。
図3は、本出願の実施例に係る高速確率モデル構築方法の、弾性分散データセットRDDに基づくWakeby分布フローチャートであり、以下の手続を含む。
【0055】
RDDはP
n個のパーティションに分けられると想定され、即ち、P
nはパーティションの合計数であり、jはP
n個のパーティションにおけるいずれかのパーティションを指し、すなわちj=1,2,…,P
n、n
jはjパーティションにおける対応のエレメント数を指す。サンプルリニアマトリクスは式(3)、式(4)で算出され、サンプルデータの順序に関する。そのため、各動作ノードに分布したパーティションが並列計算され得るように、サンプルデータ及びその配列番号は、先頭/親RDDとしてバインドされる必要がある。
【0056】
ステップS2.4において、計算並列を行い、以下の手続を含む。
【0057】
Wakeby分布の計算並列特性について、本出願は、2つの補助変数によってパーティションにおけるサンプルデータの順序を示す。
【0059】
【数16】
式(4)におけるb
kを求めるためにRDDについて変換操作することは以下にように説明する。
【0062】
ステップS2.3に記載の先頭RDDまたは親RDD、及び式(7)、式(8)で説明された変換操作に基づき、b
kを計算するフローチャートを作り出すことができる。
図3のフローチャートによれば、RDDに基づくWakeby分散並列推定アルゴリズムの計算方法は、ステップS2.4.1〜ステップS2.4.5を含む。
【0063】
ステップS2.4.1において、Sparkプラットフォームのtextfile()方法によりHDFSからテキストファイルを読み取り、文字列型の先頭RDDまたは親RDDとしてフィードバックし、RDDを複数のパーティションに分け、パーティションをメモリに記憶する。
【0064】
ステップS2.4.2において、マッピング(map)操作によって、新たに構築されたRDDが次の操作に計算され得るように、各行のデータを分割して各データを倍精度タイプにマッピングする。また、パーティションの各変換結果をメモリに記憶する。
【0065】
ステップS2.4.3において、簡素化(reduce)変換操作によって各パーティションの全てのエレメントを重合して各パーティションのB
jを生成する。
【0066】
ステップS2.4.4において、合併(combine)変換操作によって全てのパーティションの最終結果を組み合わせて加算し、最終式(4)のn個のサンプルでのb
0〜b
4を取得してから、式(3)でサンプルリニアマトリクスを計算する。
【0067】
ステップS2.4.5において、Wakeby分布について、サンプルリニアマトリクスを得た後、Wakeby分布の5つのパラメータに関する方程式を構築し、最小2乗法で5つの方程式を解き、Wakeby分布を得る。save動作操作によってWakeby分布の計算結果をHDFSに記憶できる。
【0068】
5つのステップに続いて、大規模の新エネルギーサンプリングデータのWakeby分布を構築することができる。累積和をRDDに変換する変換操作によってフローチャートを形成すると共に、全てのパーティションがパイプライン化計算されるため、累積和は完全に並列計算されるものである。そのため、本出願に係るRDDに基づくWakeby分散並列推定アルゴリズムは、その並列計算性能を著しく向上させることができる。また、本出願に係るアルゴリズム構想は、大規模のサンプルデータに対応する必用がある、または極大な消費時間に苦しんでいる他の確率モデルに適用されてもよく、そのうち、大規模のサンプルデータは、RES、電動自動車、スマート電気メーター、大規模の建物負荷などに由来する。
【0069】
S3において、消費時間と、Sparkプラットフォームのパラメータ、サンプル数との関数関係を構築する。
【0070】
上記アルゴリズムの消費時間と、Sparkプラットフォームの2つの重要な調整可能パラメータ(並列度とパーティション数)及びサンプルデータ数との関数関係を導出することは、Sparkプラットフォームの消費時間の予測、ハードウェア構成の設定及びプログラムの調整に寄与する。
【0071】
Sparkにおいて、各動作ノードは、いずれも幾つかの実行者が存在し、実行者は、各パーティションに対して計算を行いデータを記憶する。そのため、並列効率に影響する重要なパラメータは2つある。その1つは、手動で設置可能なパーティション数P
nである。もう1つは、クラスタ並列度であり、いくつのパーティションを同時に実行できるかを示す。クラスタ並列度は、下記の式で計算される。
【0072】
【数19】
(ただし、Nは動作ノードの数であり、E
iはノードiにおけるアクチュエーターの数であり、C
iはノードiにおける各実行者が持っている物理的コアの数であり、T
iはノードiにおける各コアのスレッド数である。)
【0073】
式(9)によって、Sparkクラスタの並列度がハードウェア構成に密接に関係していることが分かる。
【0074】
式(4)によって、n=2とすると、b
kを計算するために
の時間単位を必要となれば、n個のサンプルパーティションを持っているb
kを計算するために
の時間単位を必要となる。データをP
n個のパーティションに分け、P
T個のパーティションを同時に計算すれば、各パーティションには平均にn/P
n個のデータを有し、全てのパーティションがコンピューターで
回並列されないと実行完了できない。sは毎回並列計算を行う通信時間であるとし、sがP
nとP
Tに従う微小な変化を無視し、式(3)でサンプルリニアマトリクスを計算し、最小2乗法によって5つの方程式を解く時間はt
conである。b
0−b
4が並列実行されるため、Wakebyを並列計算する消費時間は式(10)によって推定されてもよい。
【0075】
【数20】
(ただし、t
WakebyはWakebyの消費時間であり、P
nはRDDのパーティション数を示し、sは毎回並列計算を行う通信時間であり、
はn個のサンプルパーティションを持つb
k,k=0,1,2,3,4の値を計算することに必要となる時間であり、t
conはサンプルリニアマトリクスを計算する時間、及び最小2乗法によってWakeby分布の5つのパラメータに関する方程式を解く時間である。)
【0076】
式(10)よって、直観的に、P
nは少ないほうがよいと考えられるが、sの変化を無視し、パーティション数が多ければ多いほど、通信周波数が高く、メモリ負荷が小さくなることを容易に想到することができる。そのため、合理的な数のパーティションは、Sparkの適用性能を向上することができる。一実施例において、P
nが(2〜4)×P
Tに等しいことを推薦し、これは、実験結果によって証明できる。サンプルデータ数が十分に大きい場合、無視できるほどsとt
conが比較的小さいため、実験によって
を推定する場合、式(10)におけるsとt
conを考慮しなくてもよい。ここまで、Sparkプラットフォームのパラメータとサンプルサイズとの関数関係に対する解きステップが終了する。
【0077】
本出願の一実施例において、5台のSugon A620r−Gサーバーにおいて1つのメインノード及び4つの動作ノードによるクラスタを構築し、各ノードに対して公文書に応じてSpark 1.4.1、HDFS 2.4.1及びMatlab 2015bが取り付けられ、数値模擬を行い、提出された方法を検証する。また、Spark及びHDFSに基づく分散並列フレームワークにおけるデータマート、可視化ツール及び商品ハードウェアは、それぞれ公文書に応じて配置されている。
【0078】
一、Sparkプラットフォームの配置パラメータを入力する。
【0079】
Matlabは、国際上で公認される優秀な数学アプリケーションソフトウェアであるため、本実施例において、RDDに基づくアルゴリズムの性能をテストするために、MatlabにおいてWakeby分布の実現性能を比較対象とし、表1は、2つのプラットフォームのパラメータの詳細を示す。
【0080】
【表1】
表1は、機器のパラメータ配置リストである。
【0081】
二、Sparkプラットフォームに基づき、Wakeby分布モデルを構築する。
【0082】
ステップ一においてフレームワークのパラメータの配置を完了すると、本実施例において、潮汐流速をRESの対象として数値模擬を行う。73178個のデータサンプルは、サンフランシスコベイエリア(37°48.5'N、122°20.7'W)から収集され、データの合計サイズは0.5MBである。また、アルゴリズムの大規模データに対する性能をテストするために、コピーすることで上述した0.5MBの初期データを拡張する。SparkプラットフォームにおいてWakeby分布モデルを配置し、
図3のフローチャートは、RDDに基づくWakeby分布並列推定アルゴリズムであり、これらモデルは、Sparkにおいてステップ1〜ステップ5を実現する。
【0083】
ステップ1において、Sparkのtextfile()方法によってHDFSからテキストファイルを読み取り、文字列型の先頭RDD又は親RDDとしてフィードバックし、RDDを複数のパーティションに分割し、パーティションをメモリに記憶する。
【0084】
ステップ2において、新たに構築されたRDDが次の操作により計算され可能のように、map操作によって各行のデータを分割し、各データを倍精度タイプにマッピングする。また、パーティションの各変換結果をメモリに記憶する。
【0085】
ステップ3において、reduce変換操作によって各パーティションの全てのエレメントを重合して各パーティションのB
jを生成する。
【0086】
ステップ4において、combine変換操作によって全てのパーティションの最終結果を組み合わせて加算し、最終式(4)のn個のサンプルでのb
0〜b
4を取得した後、式(3)でサンプルリニアマトリクスを計算する。
【0087】
ステップ5において、Wakeby分布について、サンプルリニアマトリクスを得た後、Wakeby分布の5つのパラメータに関する方程式を構築し、最小2乗法で5つの方程式を解き、Wakeby分布を得る。save動作操作によってWakeby分布の計算結果をHDFSに記憶する。
【0088】
図4は、本実施例に係る、プログラムを実行してSpark及びMatlabプラットフォームにおいてWakebyモデルの確率分布を実現するグラフである。
図5は、プログラムを実行してSpark及びMatlabプラットフォームにおいてWakebyモデルを実現する消費時間の比較図である。
【0089】
図4に示すように、SparkにおいてWakeby分布を実現して得られた確率密度曲線結果はMatlabと同じであるため、本出願に係るアルゴリズムの正確性を証明することができる。
【0090】
図5に示すように、異なるサンプルデータ数の場合、Sparkクラスタ及びMatlabクラスタによってWakeby分布の時間を計算する。Sparkに掛かった時間はMatlabよりも短く、ひいてはMatlabに必要となる時間の20%だけが掛かる。データ数の増加に伴い、SparkとMatlabとの間の計算時間差はますます大きくなっている。これから分かるように、大規模データに対して、Sparkの利点はより際立った。一方、データ容量が5.12×10
9以上である場合、Matlabは、データがメモリから溢れるため計算を停止するが、Sparkは、このような問題が存在しない。それによって、前記アルゴリズムは、フレームワーク設計を実現する際に、並列計算性能を極めて大きく向上させることができ、かつ、大規模データ又は超大規模データの処理に強みを有する。
【0091】
本実施例において、Sparkプラットフォームの弾性データセットによる再生可能エネルギーの確率モデル構築方法を用いることで、大規模のサンプルデータの確率分布モデル構築時間は、明らかに短縮されていることがわかる。
【0092】
三、消費時間と、Sparkプラットフォームのパラメータ及びサンプルサイズとの関数関係の正確性を検証する。
【0093】
Sparkにおいて、各動作ノードには幾つかのアクチュエーターがあり、それぞれ各パーティションに対して計算を行い、データを記憶し、並列効率に影響する重要なパラメータを2つ有する。その1つは手動で設定されたパーティション数であり、もう1つは、並列度であり、いくつのパーティションを同時に実行できるかを示す。式(9)によってクラスタ並列度を計算する。
【0094】
【数21】
(ただし、P
TはSparkクラスタにおける並列度であり、Nはノードの数であり、E
iはノードiにおけるアクチュエーターの数であり、C
iはノードiにおける各アクチュエーター中の物理的コアの数であり、T
iはノードiにおける各コアのスレッド数であり、Sparkクラスタの並列度はハードウェア構成に密接に関係する。)
【0095】
本実施例において、Sparkクラスタを実現する並列度は、式(11)で示される。
【0097】
消費時間を並列計算する関数は、本出願によるSparkプラットフォームのパラメータとサンプルサイズとの間の関数であり、式(10)で表される。
【0099】
本実施例において、textFile()及びparallelize()の2番目のパラメータを設定することでパーティション数P
nを配置することができ、本実施例において、P
n=(1〜10)×P
Tとすることで計算時間の変化を観察し、その結果を表2に示す。表2から分かるように、サンプル数は7.3×10
8である場合、最適計算時間は21.557秒であり、サンプル数は1.46×10
9である場合、最適計算時間は37.725秒であり、最適計算時間との差が最大になる値は、P
nが小さすぎるか大きすぎる時に現われることが多い。P
n=(1〜10)×P
Tの場合、対応する計算時間は、最適時間に近い、ひいては最適計算時間に等しいことが多い。そのため、P
n=(2〜4)×P
Tとすることは合理的であり、プログラムチューニングに寄与する。
【0100】
【表2】
表2は、異なるP
nでのWakeby分布消費時間リストである。
【0101】
P
n=128、P
T=32、n=7.3×10
8とし、シミュレーション実験においてsとt
conを無視した場合、
=3.8×10
-6秒を推定し得た。P
n=384、P
T=128とする場合、nを変更することで、式(10)で算出される理論値及びシミュレーションによって得られる実際値を得た。表3から分かるように、理論値と実際値との絶対誤差は2秒を超えず、相対誤差は最大3%を超えない。誤差が許容可能範囲内にあるため、導出される式は正確であることを証明できる。そのため、所定のサンプルデータの数で、使用者は、導出された関数関係を用いて所定の配置でアルゴリズムの消費時間を予測できる、または希望の計算時間でハードウェアを合理的に配置できる。
【0102】
【表3】
表3は、異なるサンプル数で算出した時間の理論値及び実際値である。
【国際調査報告】