(57)【要約】  本出願は、Ｓｐａｒｋ及びＨａｄｏｏｐ分散ファイルシステムＨＤＦＳに基づき、新エネルギーについて高速モデル構築を行い、分散並列フレームワークを構築し、該フレームワークを再生可能エネルギーの既存の記憶システムに対応させることと、弾性分散データセットＲＤＤの耐障害性の特徴と、メモリに基づいて計算する特徴とを利用してＷａｋｅｂｙ確率分布モデルを構築して解き、ＲＤＤに基づくＷａｋｅｂｙ確率分布モデルの推定を実現することとを含む、大規模再生可能エネルギーのデータについて高速に確率モデルを構築する方法を開示する。【選択図】図３
2019537079.tif 000002
【特許請求の範囲】
【請求項１】
Ｓｐａｒｋプラットフォーム及びＨａｄｏｏｐ分散ファイルシステムＨＤＦＳに基づき、再生可能エネルギーのデータについて分散並列フレームワークをモデル構築し、前記分散並列フレームワークを前記再生可能エネルギーのデータの記憶システムに対応させることと、
弾性分散データセットＲＤＤの耐障害性特徴と、メモリに基づいて計算する特徴とを利用してＷａｋｅｂｙ確率分布モデルを構築して解き、ＲＤＤに基づく前記Ｗａｋｅｂｙ確率分布モデルの推定を実現することと、を含む、大規模再生可能エネルギーのデータについて確率モデルを構築する方法。
【請求項２】
前記分散並列フレームワークは、互いにデータ伝送を行い、ＲＤＤに基づくＳｐａｒｋ計算エンジンと、ｈａｄｏｏｐ分散ファイルシステムと、データマートと、可視化ツールと、商品ハードウェアと、を含む、請求項１に記載の方法。
【請求項３】
前記Ｓｐａｒｋプラットフォーム及びＨＤＦＳに基づき、再生可能エネルギーデータについて前記分散並列フレームワークをモデル構築することは、
前記ＲＤＤに基づくＳｐａｒｋ計算エンジンを用い、メモリにおいて前記Ｗａｋｅｂｙ確率分布モデルを並列計算することと、
ＨＤＦＳを用いて大規模再生可能エネルギーＲＥＳデータを記憶し、高スループットを有するデータアクセスインタフェースを提供することと、
前記ＳｐａｒｋプラットフォームとＨＤＦＳとを組み合わせ、前記Ｗａｋｅｂｙ確率分布モデルの計算タスクを前記大規模再生可能エネルギーＲＥＳデータにより近いノードに移動させることと、
ＨＤＦＳに直接アップロードされ得るローカルファイルと、Ｓｑｏｏｐデータ伝送手段によってＨＤＦＳにアップロードされるリレーショナルデータベースとを含む前記データマートによって、既存のＲＥＳ記憶システムにおける大規模のデータをＨＤＦＳに事前に移行させることと、
前記可視化ツールに関連してデータをブラウザに表示させることと、
分散モードでの前記Ｓｐａｒｋプラットフォームのメインアーキテクチャ又はサブアーキテクチャに基づき、前記商品ハードウェアを１つのメインノード及び複数の動作ノードとして配置することと、
前記Ｓｐａｒｋプラットフォーム及びＨＤＦＳに基づく前記分散並列フレームワークの構築を完了することと、を含み、
非リレーショナルデータベースの下層記憶システムはＨＤＦＳであり、新エネルギーのデータベースとして大規模の新エネルギーデータの記憶、リアルタイムアクセス及びオフライン統計分析の機能を実現する、請求項２に記載の方法。
【請求項４】
前記Ｗａｋｅｂｙ確率分布モデルを構築して解くことは、
５つのパラメータを用いた前記Ｗａｋｅｂｙ確率分布モデルを構築する一般式を式（１）にし、Ｗａｋｅｂｙ分布の確立密度関数を式（２）にすることを含む、請求項１に記載の方法。
2019537079.tif 000039
2019537079.tif 000040
（ただし、
2019537079.tif 000041
は累積確率分布関数であり、ｘ（Ｆ）は所定のＦ値に対する分位数値であり、ξは位置パラメータであり、αとβは寸法パラメータであり、γとσは形状パラメータであり、ｆ（ｘ）は確率密度関数である。）
【請求項５】
前記Ｗａｋｅｂｙ確率分布モデルを構築して解くことは、
Ｌ次モーメント推定法で前記Ｗａｋｅｂｙ確率分布モデルの５つのパラメータを推定することと、
前記Ｗａｋｅｂｙ確率分布モデルの５つのパラメータを、サンプルの最初５次のモーメントを前記Ｗａｋｅｂｙ確率分布モデルの最初５次のＬ次モーメントに等しくさせる式によって求めることと、
サンプルデータから最初５次のリニアマトリクスを計算し、各次のリニアマトリクスを、Ｌ次モーメントの定義式により導出された対応の５次モーメントに等しくさせることと、を含み、
ｒ番目のサンプルのリニアマトリクスは、下記の式で表される、請求項４に記載の方法。
2019537079.tif 000042
2019537079.tif 000043
【請求項６】
前記ＲＤＤに基づく前記Ｗａｋｅｂｙ確率分布モデルの推定を実現することは、
前記Ｓｐａｒｋプラットフォームのｔｅｘｔｆｉｌｅ（）方法によってＨＤＦＳからテキストファイルを読み取り、文字列型の先頭ＲＤＤ又は親ＲＤＤとしてフィードバックし、ＲＤＤをｊ個のパーティションに分割し（ｊ＝１，２，...，Ｐn）、前記ｊ個のパーティションをメモリに記憶することと、
新たに構築したＲＤＤを次の操作により計算され可能にし、且つ各パーティションの各変換結果をメモリに記憶するために、ｍａｐ操作によって各パーティションの各行のデータを分割し、各データを倍精度タイプにマッピングすることと、
ｒｅｄｕｃｅ変換操作によって各パーティションのエレメントを重合し、各パーティションのＢjを生成することと、
ｃｏｍｂｉｎｅ変換操作によって前記ｊ個のパーティションの最終結果を組み合わせて加算し、ｎ個のサンプルにおいてｋ＝０，１，２，３，４の場合のｂkの値を得、サンプルのリニアマトリクスを計算することと、
サンプルのリニアマトリクスに基づき、前記Ｗａｋｅｂｙ確率分布モデルの５つのパラメータに関する式を構築し、最小２乗法で前記式を解き、前記Ｗａｋｅｂｙ確率分布モデルの５つのパラメータの計算結果を得ることと、
ｓａｖｅ動作操作によって、前記Ｗａｋｅｂｙ確率分布モデルの５つのパラメータの計算結果をＨＤＦＳに記憶することと、を含む、請求項１から５のいずれか１項に記載の方法。
【請求項７】
下記の式に基づき、前記ｂkを計算し、
２つの補助変数によって前記ｊ個のパーティションにおけるサンプルデータの順序を示す、請求項６に記載の方法。
2019537079.tif 000044
2019537079.tif 000045
2019537079.tif 000046
2019537079.tif 000047
【請求項８】
並列推定された計算時間とサンプルデータ数、及び前記Ｓｐａｒｋプラットフォームのクラスタ並列度とパーティション数との関数関係によって、Ｓｐａｒｋクラスタのパーティション数をハードウェア構成に適合させることと、
Ｗａｋｅｂｙの消費時間を並列計算することと、を更に含み、
クラスタ並列度は式（９）に示され、Ｗａｋｅｂｙの消費時間は式（１０）に示される、
請求項１に記載の方法。
2019537079.tif 000048
（ただし、Ｎは動作ノードの数であり、Ｅiはノードｉにおけるアクチュエーターの数であり、Ｃiはノードｉにおける各実行者が持っている物理的コアの数であり、Ｔiはノードｉにおける各コアのスレッド数である。）
2019537079.tif 000049
（ただし、ｔWakebyはＷａｋｅｂｙの消費時間であり、ＰnはＲＤＤのパーティション数を示し、ｓは毎回並列計算を行う通信時間であり、
2019537079.tif 000050
はｎ個のサンプルパーティションを持つｂk，ｋ＝０，１，２，３，４の値を計算することに必要となる時間であり、ｔconはサンプルリニアマトリクスを計算する時間、及び最小２乗法によってＷａｋｅｂｙ分布の５つのパラメータに関する方程式を解く時間である。）
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、再生可能エネルギーの分野に属し、例えば、Ｓｐａｒｋプラットフォームの弾性分散データセット及びＷａｋｅｂｙ分布モデルに基づき、大規模の新エネルギーのデータについて高速に確率モデルを構築することに関する。
【背景技術】
【０００２】
資源環境の挑戦に対応するために、「高割合の再生可能エネルギー」を実現することは、「世界エネルギーの発展が無炭素を中心とする第三回エネルギー変革時代に進入する」ことの重要な指標になっている。再生可能エネルギー（例えば、風、光、水など）の不確定性により、高割合の再生可能エネルギーを電力グリッドに導入することは、電力システムにチャレンジをもたらす。再生可能エネルギーの不確定性の電力システムに対する影響を合理的に評価するために、再生可能エネルギーの確率分布モデルを構築することは至重である。通常、確率モデルは、サンプルデータに基づき、パラメータまたは非パラメータによる推定方法で得られる。情報技術の高速発展に伴い、再生可能エネルギーのサンプルデータ数はますます大きくなっており、ビッグデータのサンプルに大容量の情報が担持されているものの、確率モデル構築の計算負荷が急激に増加してしまう。
【０００３】
ここ数十年、計算時間を低減させるために、国内外で類似技術や並列計算に基づく確率モデル構築方法が提案されている。類似技術では、主に高速フーリエ変換と高速ガウス変換を用いるが、いずれもある程度確率モデルの推定精度を低下させる。また、Ｗａｋｅｂｙ分布は、天然な並列特徴を有する。
【０００４】
並列方法では、主にマルチプロセッサ計算又はクラスタ計算を対象とする。データ数の増加およびプロセッサ処理速度の低進展に伴い、マルチプロセッサの計算処理能力はデータ量の増加に追い付けなくなる。そのため、大規模データの計算は、拡張可能なクラスタにおいて実行しなければならない。電力システムにおいて、従来のクラスタ計算では、主にメッセージパッシングインターフェイス（Ｍｅｓｓａｇｅ  Ｐａｓｓｉｎｇ  Ｉｎｔｅｒｆａｃｅ，ＭＰＩ）規格又はＭａｔｌａｂクラスタに基づき、その理由は、使用・配置・拡張しやすいことである。
【０００５】
しかしながら、類似技術や並列計算による確率モデル構築方法は、大規模データの記憶及びアクセスをサポートする対応の分散ファイルシステムが不足しているだけでなく、耐障害性もサポートしておらず、クラスタ内のノード障害の問題に対処できないため、アプリ性能に大きく影響を与える。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本出願は、Ｓｐａｒｋプラットフォーム弾性分散データセット（Ｒｅｓｉｌｉｅｎｔ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａｓｅｔ：ＲＤＤ）に基づく再生可能エネルギーの高速確率モデル構築方法を提供し、即ち、大規模再生可能エネルギー（Ｒｅｎｅｗａｂｌｅ  Ｅｎｅｒｇｙ  Ｓｏｕｒｃｅｓ：ＲＥＳ）のデータサンプルについて、関連する確率モデル構築方法においてデータ処理速度が不十分であるという問題に対して、Ｓｐａｒｋ及びＨａｄｏｏｐ分散ファイルシステム（Ｈａｄｏｏｐ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｆｉｌｅ  Ｓｙｓｔｅｍ：ＨＤＦＳ）に基づくＷａｋｅｂｙ分布の並列推定アルゴリズムを提出する。
【課題を解決するための手段】
【０００７】
本出願は、２０１７年０９月２０日に中国特許庁に提出した出願番号２０１７１０８５６４６１．２の中国特許出願に基づいて優先権を主張し、そのすべての内容を本出願に援用する。
本出願は、Ｓｐａｒｋプラットフォーム及びＨａｄｏｏｐ分散ファイルシステムＨＤＦＳに基づき、再生可能エネルギーのデータについて分散並列フレームワークをモデル構築し、前記分散並列フレームワークを前記再生可能エネルギーのデータの記憶システムに対応させることと、弾性分散データセットＲＤＤの耐障害性の特徴と、メモリに基づいて計算する特徴とを利用してＷａｋｅｂｙ確率分布モデルを構築して解き、ＲＤＤに基づくＷａｋｅｂｙ確率分布モデルの推定を実現することとを含む、大規模再生可能エネルギーのデータについて確率モデルを構築する方法を提供する。
【０００８】
一実施例において、前記分散並列フレームワークは、互いにデータ伝送を行い、ＲＤＤに基づくＳｐａｒｋ計算エンジンと、ｈａｄｏｏｐ分散ファイルシステムと、データマートと、可視化ツールと、商品ハードウェアと、を含む。
【０００９】
一実施例において、前記Ｓｐａｒｋプラットフォーム及びＨＤＦＳに基づき、再生可能エネルギーデータについて分散並列フレームワークをモデル構築することは、
ＲＤＤに基づくＳｐａｒｋ計算エンジンを用い、メモリにおいてＷａｋｅｂｙ確率分布モデルを並列計算することと、
ＨＤＦＳを用いて大規模再生可能エネルギーＲＥＳデータを記憶し、高スループットを有するデータアクセスインタフェースを提供することと、
ＳｐａｒｋプラットフォームとＨＤＦＳとを組み合わせ、前記Ｗａｋｅｂｙ確率分布モデルの計算タスクを前記大規模再生可能エネルギーＲＥＳデータにより近いノードに移動させることと、
ＨＤＦＳに直接アップロードされ得るローカルファイルと、Ｓｑｏｏｐデータ伝送手段によってＨＤＦＳにアップロードされるリレーショナルデータベースとを含む前記データマートによって、既存のＲＥＳ記憶システムにおける大規模データをＨＤＦＳに事前に移行させることと、
前記可視化ツールに関連してデータをブラウザに表示させることと、
分散モードでのＳｐａｒｋプラットフォームのメインアーキテクチャ又はサブアーキテクチャに基づき、前記商品ハードウェアを１つのメインノード及び複数の動作ノードとして配置することと、
ＳｐａｒｋプラットフォームおよびＨＤＦＳに基づく分散並列フレームワークの構築を完了することと、を含む。
ここで、非リレーショナルデータベースの下層記憶システムはＨＤＦＳであり、新エネルギーのデータベースとして大規模の新エネルギーのデータの記憶、リアルタイムアクセス及びオフライン統計分析の機能を実現する。
【００１０】
一実施例において、前記Ｗａｋｅｂｙ確率分布モデルを構築して解くことは、５つのパラメータを用いたＷａｋｅｂｙ確率分布モデルを構築する一般式を式（１）にし、Ｗａｋｅｂｙ分布の確立密度関数を式（２）にすることを含む。
【００１１】
【数１】
2019537079.tif 000003
【００１２】
【数２】
2019537079.tif 000004
ただし、
2019537079.tif 000005
は累積確率分布関数であり、ｘ（Ｆ）は所定のＦ値に対する分位数値であり、ξは位置パラメータであり、αとβは寸法パラメータであり、γとσは形状パラメータであり、ｆ（ｘ）は確率密度関数である。
【００１３】
一実施例において、Ｌ次モーメント推定法で前記Ｗａｋｅｂｙ確率分布モデルの５つのパラメータを推定し、具体的には、
前記Ｗａｋｅｂｙ確率分布モデルの５つのパラメータを、サンプルの最初５次のモーメントをＷａｋｅｂｙ確率分布モデルの最初５次のＬ次モーメントに等しくさせる式によって求めることと、
サンプルデータから最初５次のリニアマトリクスを計算し、各次のリニアマトリクスを、Ｌ次モーメントの定義式により導出された対応の５次モーメントに等しくさせることと、を含み、
そのうち、ｒ番目のサンプルリニアマトリクスは、下記の式で表される。
【００１４】
【数３】
2019537079.tif 000006
【００１５】
【数４】
2019537079.tif 000007
【００１６】
一実施例において、前記ＲＤＤに基づくＷａｋｅｂｙ確率分布モデルの推定を実現することは、Ｓｐａｒｋプラットフォームのｔｅｘｔｆｉｌｅ（）方法によってＨＤＦＳからテキストファイルを読み取り、文字列型の先頭ＲＤＤ又は親ＲＤＤとしてフィードバックし、ＲＤＤをｊ個のパーティションに分割し（ｊ＝１，２，...，Ｐn）、前記ｊ個のパーティションをメモリに記憶することと、
新たに構築したＲＤＤを次の操作により計算され可能にし、且つ各パーティションの各変換結果をメモリに記憶するために、ｍａｐ操作によって各パーティションの各行のデータを分割し、各データを倍精度タイプにマッピングすることと、
ｒｅｄｕｃｅ変換操作によって各パーティションのエレメントを重合し、各パーティションのデータ順序を示す変数Ｂjを生成することと、
ｃｏｍｂｉｎｅ変換操作によって前記ｊ個のパーティションの最終結果を組み合わせて加算し、ｎ個のサンプルにおいてｋ＝０，１，２，３，４の場合のｂkの値を得、サンプルのリニアマトリクスを計算することと、
前記サンプルリニアマトリクスに基づき、Ｗａｋｅｂｙ確率分布モデルの５つのパラメータに関する方程式を構築し、最小２乗法で前記方程式を解き、Ｗａｋｅｂｙ確率分布モデルの５つのパラメータの計算結果を得ることと、
ｓａｖｅ動作操作によって、前記Ｗａｋｅｂｙ確率分布モデルの５つのパラメータの計算結果をＨＤＦＳに記憶することと、を含む。
【００１７】
一実施例において、下記の式に基づき前記ｂkを算出し、２つの補助変数によってｊ個のパーティションにおけるサンプルデータの順序を示す。
【００１８】
【数５】
2019537079.tif 000008
【００１９】
【数６】
2019537079.tif 000009
【００２０】
【数７】
2019537079.tif 000010
【００２１】
【数８】
2019537079.tif 000011
【００２２】
一実施例において、高速確率モデル構築方法は、
並列推定された計算時間とサンプルデータ数、及びＳｐａｒｋプラットフォームのクラスタ並列度とパーティション数との関数関係によって、Ｓｐａｒｋクラスタのパーティション数をハードウェア構成に適合させることと、
Ｗａｋｅｂｙの消費時間を並列計算することと、を更に含む。
ここで、クラスタ並列度は、
【００２３】
【数９】
2019537079.tif 000012
であり、
（ただし、Ｎは動作ノードの数であり、Ｅiはノードｉにおけるアクチュエーターの数であり、Ｃiはノードｉにおける各実行者が持っている物理的コアの数であり、Ｔiはノードｉにおける各コアのスレッド数である。）
Ｗａｋｅｂｙの消費時間は、式（１０）に示される。
【００２４】
【数１０】
2019537079.tif 000013
（ただし、ｔWakebyはＷａｋｅｂｙの消費時間であり、ＰnはＲＤＤのパーティション数を示し、ｓは毎回並列計算を行う通信時間であり、
2019537079.tif 000014
はｎ個のサンプルパーティションを持つｂk，ｋ＝０，１，２，３，４の値を計算することに必要となる時間であり、ｔconはサンプルリニアマトリクスを計算する時間、及び最小２乗法によってＷａｋｅｂｙ分布の５つのパラメータに関する方程式を解く時間である。）
【発明の効果】
【００２５】
関連技術と比べ、本出願は、以下の利点を有する。
【００２６】
本出願において、Ｓｐａｒｋ及びＨＤＦＳに基づく分散並列フレームワークは、ＲＥＳの既存の記憶システムに対応でき、高スループットのアクセル及び高耐障害性などの強みを有するとともに、ＲＤＤに基づいて開発される新エネルギーの並列推定アルゴリズムは、Ｗａｋｅｂｙ確率分布モデルによってＲＥＳの確率分布を高速に推定することができ、大規模のデータサンプルの場合の高速計算性能を効果的に向上させる。
【００２７】
本出願によるアルゴリズムの消費時間と、サンプルサイズ、並列度、パーティション数との関数関係は、所定のサンプルデータ数でのプログラマーのＳｐａｒｋプラットフォーム上のプログラムチューニング、所定の配置での消費時間の予測、及び希望の時間でのハードウェア構成に寄与する。
【００２８】
本出願は、再生可能エネルギーの確率モデル構築に広く適用され、特に、ビッグデータレベルの風速、潮汐流速などの新エネルギーサンプルの高速確率モデル構築に適用される。
【図面の簡単な説明】
【００２９】
【図１】本出願に係る高速確率モデル構築方法のＳｐａｒｋプラットフォーム及びＨＤＦＳに基づく分散並列フレームワーク図である。
【図２】本出願に係る高速確率モデル構築方法の弾性分散データセットＲＤＤのフローチャートである。
【図３】本出願に係る高速確率モデル構築方法の弾性分散データセットＲＤＤに基づくＷａｋｅｂｙ分布のフローチャートである。
【図４】本出願に係る高速確率モデル構築方法の潮汐流速のグラフ及びヒストグラムである。
【図５】本出願に係る高速確率モデル構築方法のＳｐａｒｋ及びＭａｔｌａｂクラスタにおけるＷａｋｅｂｙの消費時間を示す図である。
【発明を実施するための形態】
【００３０】
本出願は、大規模再生可能エネルギーのデータについて確率モデルを構築する方法であり、以下の手続を含む。まず、Ｓｐａｒｋプラットフォーム及びＨａｄｏｏｐ分散ファイルシステムＨＤＦＳに基づき、新エネルギーについて高速モデル構築を行い、分散並列フレームワークを構築し、該フレームワークを再生可能エネルギーの既存の記憶システムに対応させる。その上、弾性分散データセットＲＤＤの耐障害性特徴と、メモリに基づいて計算する特徴とを利用してＷａｋｅｂｙ分布のフローチャートを構築して解くことで、ＲＤＤに基づく新型Ｗａｋｅｂｙ分布の高速推定アルゴリズムを実現する。また、該並列推定アルゴリズムの計算時間と、サンプルデータ数およびＳｐａｒｋの２つの重要な調整可能パラメータとの関数関係が導出される。最後に、潮汐流速を新エネルギー実験データとし、構築した分散並列フレームワークにおいてＲＤＤに基づくＷａｋｅｂｙ分散並列推定アルゴリズムを実現し、本出願の実現効果を分析し、導出される式の正確性を検証する。上記手続は、以下のステップＳ１とステップＳ２とを含む。
【００３１】
ステップＳ１において、Ｓｐａｒｋ及びＨＤＦＳに基づく分散並列フレームワークを構築し、以下の手続を含む。
【００３２】
図１に示すように、Ｓｐａｒｋ及びＨＤＦＳに基づく分散並列フレームワークは、Ｓｐａｒｋ計算エンジンと、ｈａｄｏｏｐ分散ファイルシステムと、データマートと、可視化ツールと、商品ハードウェアとの５つの部分を含む。
【００３３】
ステップＳ１．１において、ＲＤＤに基づくＳｐａｒｋ計算エンジンを用い、メモリにおいてＷａｋｅｂｙ分布などの確率モデルの高速並列計算を実現する。
【００３４】
ステップＳ１．２において、ＨＤＦＳによって大規模のＲＥＳデータを記憶し、高スループットを有するデータアクセスインタフェースを提供し、ＳｐａｒｋプラットフォームとＨＤＦＳとを組み合わせ、実行されるデータの近くで（ローカル化）アプリを実行させる。
【００３５】
一実施例において、ＳｐａｒｋプラットフォームとＨＤＦＳとを組み合わせ、実行されるデータの近くでアプリを実行させることは、ＳｐａｒｋプラットフォームとＨＤＦＳを組み合わせ、前記Ｗａｋｅｂｙ確率分布モデルの計算タスクを前記大規模再生可能エネルギーＲＥＳデータにより近いノードに移動させることである。
【００３６】
ステップＳ１．３において、ＨＤＦＳに直接アップロードされ得るローカルファイルと、Ｓｑｏｏｐデータ伝送手段によってＨＤＦＳにアップロードされるリレーショナルデータベースとを含む前記データマートによって、既存のＲＥＳ記憶システムにおける大規模データをＨＤＦＳに事前に移行させる。ここで、ＨＤＦＳは非リレーショナルデータベース（Ｈｉｖｅ、Ｈｂａｓｅ）の下層記憶システムであり、同時に新エネルギーのデータベースとして大規模の新エネルギーデータの記憶、リアルタイムアクセス及びオフライン統計分析の機能を実現することができる。
【００３７】
ステップＳ１．４において、専用の可視化ツール（例えば、Ｈｉｇｈｃｈａｒ、Ｅｃｈａｒｔｓ、及びＨｕｅ）と合わせてブラウザにデータを表示させる。
【００３８】
ステップＳ１．５において、分散モードでのＳｐａｒｋプラットフォームのメインアーキテクチャ／サブアーキテクチャに基づき、商品ハードウェアを１つのメインノード及び複数の動作ノードとして配置する。Ｓｐａｒｋプラットフォーム及びＨＤＦＳに基づく分散並列フレームワークの構築を完了する。
【００３９】
ステップＳ２において、ＲＤＤに基づくＷａｋｅｂｙ分布の並列推定アルゴリズムを構築する。該ステップは、以下の手続を含む。
【００４０】
上記のステップＳ１に記載のＳｐａｒｋ及びＨＤＦＳに基づく分散並列フレームワークに基づき、ＲＤＤに基づくＷａｋｅｂｙ分布の並列推定アルゴリズムを提出することで、大規模のＲＥＳサンプルデータの確率モデル構築性能を向上させる。
【００４１】
ステップＳ２．１において、Ｗａｋｅｂｙ確率分布モデルを構築する。
【００４２】
Ｗａｋｅｂｙ分布は、ＲＥＳにおいて潮汐エネルギー及び風力エネルギーを分析することに用いられ、５つのパラメータのＷａｋｅｂｙ分布の定義式は、以下の分位関数により与えられる。
【００４３】
【数１１】
2019537079.tif 000015
（ただし、
2019537079.tif 000016
は累積確率分布関数であり、解析式がなく、ｘ（Ｆ）は所定のＦ値に対する分位数値であり、ξは位置パラメータであり、αとβは寸法パラメータであり、γとσは形状パラメータである。）
【００４４】
Ｗａｋｅｂｙ分布の確率密度関数は、式（２）で表されてもよい。
【００４５】
【数１２】
2019537079.tif 000017
（ただし、Ｆは累積確率分布関数であり、ｆ（ｘ）は確率密度関数である。）
【００４６】
Ｗａｋｅｂｙ分布の累積確率分布関数または確率密度関数は、解析式がない。本出願は、Ｌ次モーメント推定法でＷａｋｅｂｙ分布の５つのパラメータを推定する。Ｌ次モーメント推定法でＷａｋｅｂｙ分布の５つのパラメータを推定する基本的な構想は、サンプルデータに応じて最初５次のリニアマトリクスを計算し、各モーメントをＬ次モーメント定義式により導出された対応の５次モーメントに等しくさせることである。
ｘ1，ｘ2，…，ｘnをｎ個のサンプルとし、
2019537079.tif 000018
を順序サンプルとし、ｒ番目のサンプルリニアマトリクスは、式（３）で定義される。
【００４７】
【数１３】
2019537079.tif 000019
ここで、
【００４８】
【数１４】
2019537079.tif 000020
【００４９】
Ｗａｋｅｂｙの５つのパラメータは、サンプルの最初５次のモーメントをＷａｋｅｂｙ分布の最初５次のＬ次モーメントに等しくさせる式によって得られる。ここまで、Ｗａｋｅｂｙ確率分布モデルの構築が完了する。
【００５０】
ステップＳ２．２において、ＲＤＤに基づくＷａｋｅｂｙ分散並列推定アルゴリズムを構築する。
【００５１】
上記分析から分かるように、Ｗａｋｅｂｙ分布は、サンプル数が大きい場合に、累積和による消費時間が極めて大きいという問題に直面している。Ｓｐａｒｋは、ＲＤＤのフローチャートに基づいて累積和を効果的に並列することができ、さらに消費時間を低減させる。
【００５２】
図２に示すように、ＲＤＤのフローチャートであり、実線ブロックはＲＤＤを示し、各ＲＤＤの内部が複数のパーティションに分けられ、矢印は操作を示す。ここで、ａ、ｂ、ｃ、ｄ及びｅが標記されたパーティションは、各動作ノードに割り当てられると共に、並列実行される。また、ＲＤＤは、変換（ｔｒａｎｓｆｏｒｍａｔｉｏｎ）と動作（ａｃｔｉｏｎ）の２タイプの操作をサポートする。全ての変換操作（マッピング（ｍａｐ）、簡素化（ｒｅｄｕｃｅ）、組合せ（ｕｎｉｏｎ）を含む）は積極的ではなく、結果をすぐに算出できない。逆に、これら操作は、ＲＤＤのフローチャートを覚えて各段階の有向非巡回グラフ（Ｄａｔａｂａｓｅ  Ａｖａｉｌａｂｉｌｉｔｙ  Ｇｒｏｕｐ：ＤＡＧ）を構築する。フローチャートによって、各段階においてできるだけ多くのパイプライン化計算可能な変換を含み、並列化を最大限で実現し、アプリの論理をはっきりにしてプログラマのアプリに対する調整に寄与する。記憶（ｓａｖｅ）のような動作が最終結果をフィードバックする必要となる時のみに、変換操作を計算することができ、このようにして、データ数が大きな中間結果のフィードバックを回避することができる。そのため、ＲＤＤは、データ並列および計算並列によって計算速度を向上することができる。
【００５３】
以上の分析によって、大規模のＲＥＳサンプルデータで、Ｗａｋｅｂｙ分布の大規模ＲＥＳサンプルデータに対する並列推定性能を向上させるために、まず、Ｗａｋｅｂｙ分布を解く先頭ＲＤＤまたは親ＲＤＤを構築してデータ並列を実現し、次に、ＲＤＤ変換操作を作り出してフローチャートを形成してＷａｋｅｂｙ分布の並列推定を実現する。
【００５４】
ステップＳ２．３において、データ並列をする。図３は、本出願の実施例に係る高速確率モデル構築方法の、弾性分散データセットＲＤＤに基づくＷａｋｅｂｙ分布フローチャートであり、以下の手続を含む。
【００５５】
ＲＤＤはＰn個のパーティションに分けられると想定され、即ち、Ｐnはパーティションの合計数であり、ｊはＰn個のパーティションにおけるいずれかのパーティションを指し、すなわちｊ＝１，２，…，Ｐn、ｎjはｊパーティションにおける対応のエレメント数を指す。サンプルリニアマトリクスは式（３）、式（４）で算出され、サンプルデータの順序に関する。そのため、各動作ノードに分布したパーティションが並列計算され得るように、サンプルデータ及びその配列番号は、先頭／親ＲＤＤとしてバインドされる必要がある。
【００５６】
ステップＳ２．４において、計算並列を行い、以下の手続を含む。
【００５７】
Ｗａｋｅｂｙ分布の計算並列特性について、本出願は、２つの補助変数によってパーティションにおけるサンプルデータの順序を示す。
【００５８】
【数１５】
2019537079.tif 000021
【００５９】
【数１６】
2019537079.tif 000022
式（４）におけるｂkを求めるためにＲＤＤについて変換操作することは以下にように説明する。
【００６０】
【数１７】
2019537079.tif 000023
【００６１】
【数１８】
2019537079.tif 000024
【００６２】
ステップＳ２．３に記載の先頭ＲＤＤまたは親ＲＤＤ、及び式（７）、式（８）で説明された変換操作に基づき、ｂkを計算するフローチャートを作り出すことができる。図３のフローチャートによれば、ＲＤＤに基づくＷａｋｅｂｙ分散並列推定アルゴリズムの計算方法は、ステップＳ２．４．１〜ステップＳ２．４．５を含む。
【００６３】
ステップＳ２．４．１において、Ｓｐａｒｋプラットフォームのｔｅｘｔｆｉｌｅ（）方法によりＨＤＦＳからテキストファイルを読み取り、文字列型の先頭ＲＤＤまたは親ＲＤＤとしてフィードバックし、ＲＤＤを複数のパーティションに分け、パーティションをメモリに記憶する。
【００６４】
ステップＳ２．４．２において、マッピング（ｍａｐ）操作によって、新たに構築されたＲＤＤが次の操作に計算され得るように、各行のデータを分割して各データを倍精度タイプにマッピングする。また、パーティションの各変換結果をメモリに記憶する。
【００６５】
ステップＳ２．４．３において、簡素化（ｒｅｄｕｃｅ）変換操作によって各パーティションの全てのエレメントを重合して各パーティションのＢjを生成する。
【００６６】
ステップＳ２．４．４において、合併（ｃｏｍｂｉｎｅ）変換操作によって全てのパーティションの最終結果を組み合わせて加算し、最終式（４）のｎ個のサンプルでのｂ0〜ｂ4を取得してから、式（３）でサンプルリニアマトリクスを計算する。
【００６７】
ステップＳ２．４．５において、Ｗａｋｅｂｙ分布について、サンプルリニアマトリクスを得た後、Ｗａｋｅｂｙ分布の５つのパラメータに関する方程式を構築し、最小２乗法で５つの方程式を解き、Ｗａｋｅｂｙ分布を得る。ｓａｖｅ動作操作によってＷａｋｅｂｙ分布の計算結果をＨＤＦＳに記憶できる。
【００６８】
５つのステップに続いて、大規模の新エネルギーサンプリングデータのＷａｋｅｂｙ分布を構築することができる。累積和をＲＤＤに変換する変換操作によってフローチャートを形成すると共に、全てのパーティションがパイプライン化計算されるため、累積和は完全に並列計算されるものである。そのため、本出願に係るＲＤＤに基づくＷａｋｅｂｙ分散並列推定アルゴリズムは、その並列計算性能を著しく向上させることができる。また、本出願に係るアルゴリズム構想は、大規模のサンプルデータに対応する必用がある、または極大な消費時間に苦しんでいる他の確率モデルに適用されてもよく、そのうち、大規模のサンプルデータは、ＲＥＳ、電動自動車、スマート電気メーター、大規模の建物負荷などに由来する。
【００６９】
Ｓ３において、消費時間と、Ｓｐａｒｋプラットフォームのパラメータ、サンプル数との関数関係を構築する。
【００７０】
上記アルゴリズムの消費時間と、Ｓｐａｒｋプラットフォームの２つの重要な調整可能パラメータ（並列度とパーティション数）及びサンプルデータ数との関数関係を導出することは、Ｓｐａｒｋプラットフォームの消費時間の予測、ハードウェア構成の設定及びプログラムの調整に寄与する。
【００７１】
Ｓｐａｒｋにおいて、各動作ノードは、いずれも幾つかの実行者が存在し、実行者は、各パーティションに対して計算を行いデータを記憶する。そのため、並列効率に影響する重要なパラメータは２つある。その１つは、手動で設置可能なパーティション数Ｐnである。もう１つは、クラスタ並列度であり、いくつのパーティションを同時に実行できるかを示す。クラスタ並列度は、下記の式で計算される。
【００７２】
【数１９】
2019537079.tif 000025
（ただし、Ｎは動作ノードの数であり、Ｅiはノードｉにおけるアクチュエーターの数であり、Ｃiはノードｉにおける各実行者が持っている物理的コアの数であり、Ｔiはノードｉにおける各コアのスレッド数である。）
【００７３】
式（９）によって、Ｓｐａｒｋクラスタの並列度がハードウェア構成に密接に関係していることが分かる。
【００７４】
式（４）によって、ｎ＝２とすると、ｂkを計算するために
2019537079.tif 000026
の時間単位を必要となれば、ｎ個のサンプルパーティションを持っているｂkを計算するために
2019537079.tif 000027
の時間単位を必要となる。データをＰn個のパーティションに分け、ＰT個のパーティションを同時に計算すれば、各パーティションには平均にｎ／Ｐn個のデータを有し、全てのパーティションがコンピューターで
2019537079.tif 000028
回並列されないと実行完了できない。ｓは毎回並列計算を行う通信時間であるとし、ｓがＰnとＰTに従う微小な変化を無視し、式（３）でサンプルリニアマトリクスを計算し、最小２乗法によって５つの方程式を解く時間はｔconである。ｂ0−ｂ4が並列実行されるため、Ｗａｋｅｂｙを並列計算する消費時間は式（１０）によって推定されてもよい。
【００７５】
【数２０】
2019537079.tif 000029
（ただし、ｔWakebyはＷａｋｅｂｙの消費時間であり、ＰnはＲＤＤのパーティション数を示し、ｓは毎回並列計算を行う通信時間であり、
2019537079.tif 000030
はｎ個のサンプルパーティションを持つｂk，ｋ＝０，１，２，３，４の値を計算することに必要となる時間であり、ｔconはサンプルリニアマトリクスを計算する時間、及び最小２乗法によってＷａｋｅｂｙ分布の５つのパラメータに関する方程式を解く時間である。）
【００７６】
式（１０）よって、直観的に、Ｐnは少ないほうがよいと考えられるが、ｓの変化を無視し、パーティション数が多ければ多いほど、通信周波数が高く、メモリ負荷が小さくなることを容易に想到することができる。そのため、合理的な数のパーティションは、Ｓｐａｒｋの適用性能を向上することができる。一実施例において、Ｐnが（２〜４）×ＰTに等しいことを推薦し、これは、実験結果によって証明できる。サンプルデータ数が十分に大きい場合、無視できるほどｓとｔconが比較的小さいため、実験によって
2019537079.tif 000031
を推定する場合、式（１０）におけるｓとｔconを考慮しなくてもよい。ここまで、Ｓｐａｒｋプラットフォームのパラメータとサンプルサイズとの関数関係に対する解きステップが終了する。
【００７７】
本出願の一実施例において、５台のＳｕｇｏｎ  Ａ６２０ｒ−Ｇサーバーにおいて１つのメインノード及び４つの動作ノードによるクラスタを構築し、各ノードに対して公文書に応じてＳｐａｒｋ  １．４．１、ＨＤＦＳ  ２．４．１及びＭａｔｌａｂ  ２０１５ｂが取り付けられ、数値模擬を行い、提出された方法を検証する。また、Ｓｐａｒｋ及びＨＤＦＳに基づく分散並列フレームワークにおけるデータマート、可視化ツール及び商品ハードウェアは、それぞれ公文書に応じて配置されている。
【００７８】
一、Ｓｐａｒｋプラットフォームの配置パラメータを入力する。
【００７９】
Ｍａｔｌａｂは、国際上で公認される優秀な数学アプリケーションソフトウェアであるため、本実施例において、ＲＤＤに基づくアルゴリズムの性能をテストするために、ＭａｔｌａｂにおいてＷａｋｅｂｙ分布の実現性能を比較対象とし、表１は、２つのプラットフォームのパラメータの詳細を示す。
【００８０】
【表１】
2019537079.tif 000032
表１は、機器のパラメータ配置リストである。
【００８１】
二、Ｓｐａｒｋプラットフォームに基づき、Ｗａｋｅｂｙ分布モデルを構築する。
【００８２】
ステップ一においてフレームワークのパラメータの配置を完了すると、本実施例において、潮汐流速をＲＥＳの対象として数値模擬を行う。７３１７８個のデータサンプルは、サンフランシスコベイエリア（３７°４８．５'Ｎ、１２２°２０．７'Ｗ）から収集され、データの合計サイズは０．５ＭＢである。また、アルゴリズムの大規模データに対する性能をテストするために、コピーすることで上述した０．５ＭＢの初期データを拡張する。ＳｐａｒｋプラットフォームにおいてＷａｋｅｂｙ分布モデルを配置し、図３のフローチャートは、ＲＤＤに基づくＷａｋｅｂｙ分布並列推定アルゴリズムであり、これらモデルは、Ｓｐａｒｋにおいてステップ１〜ステップ５を実現する。
【００８３】
ステップ１において、Ｓｐａｒｋのｔｅｘｔｆｉｌｅ（）方法によってＨＤＦＳからテキストファイルを読み取り、文字列型の先頭ＲＤＤ又は親ＲＤＤとしてフィードバックし、ＲＤＤを複数のパーティションに分割し、パーティションをメモリに記憶する。
【００８４】
ステップ２において、新たに構築されたＲＤＤが次の操作により計算され可能のように、ｍａｐ操作によって各行のデータを分割し、各データを倍精度タイプにマッピングする。また、パーティションの各変換結果をメモリに記憶する。
【００８５】
ステップ３において、ｒｅｄｕｃｅ変換操作によって各パーティションの全てのエレメントを重合して各パーティションのＢjを生成する。
【００８６】
ステップ４において、ｃｏｍｂｉｎｅ変換操作によって全てのパーティションの最終結果を組み合わせて加算し、最終式（４）のｎ個のサンプルでのｂ0〜ｂ4を取得した後、式（３）でサンプルリニアマトリクスを計算する。
【００８７】
ステップ５において、Ｗａｋｅｂｙ分布について、サンプルリニアマトリクスを得た後、Ｗａｋｅｂｙ分布の５つのパラメータに関する方程式を構築し、最小２乗法で５つの方程式を解き、Ｗａｋｅｂｙ分布を得る。ｓａｖｅ動作操作によってＷａｋｅｂｙ分布の計算結果をＨＤＦＳに記憶する。
【００８８】
図４は、本実施例に係る、プログラムを実行してＳｐａｒｋ及びＭａｔｌａｂプラットフォームにおいてＷａｋｅｂｙモデルの確率分布を実現するグラフである。図５は、プログラムを実行してＳｐａｒｋ及びＭａｔｌａｂプラットフォームにおいてＷａｋｅｂｙモデルを実現する消費時間の比較図である。
【００８９】
図４に示すように、ＳｐａｒｋにおいてＷａｋｅｂｙ分布を実現して得られた確率密度曲線結果はＭａｔｌａｂと同じであるため、本出願に係るアルゴリズムの正確性を証明することができる。
【００９０】
図５に示すように、異なるサンプルデータ数の場合、Ｓｐａｒｋクラスタ及びＭａｔｌａｂクラスタによってＷａｋｅｂｙ分布の時間を計算する。Ｓｐａｒｋに掛かった時間はＭａｔｌａｂよりも短く、ひいてはＭａｔｌａｂに必要となる時間の２０％だけが掛かる。データ数の増加に伴い、ＳｐａｒｋとＭａｔｌａｂとの間の計算時間差はますます大きくなっている。これから分かるように、大規模データに対して、Ｓｐａｒｋの利点はより際立った。一方、データ容量が５．１２×１０9以上である場合、Ｍａｔｌａｂは、データがメモリから溢れるため計算を停止するが、Ｓｐａｒｋは、このような問題が存在しない。それによって、前記アルゴリズムは、フレームワーク設計を実現する際に、並列計算性能を極めて大きく向上させることができ、かつ、大規模データ又は超大規模データの処理に強みを有する。
【００９１】
本実施例において、Ｓｐａｒｋプラットフォームの弾性データセットによる再生可能エネルギーの確率モデル構築方法を用いることで、大規模のサンプルデータの確率分布モデル構築時間は、明らかに短縮されていることがわかる。
【００９２】
三、消費時間と、Ｓｐａｒｋプラットフォームのパラメータ及びサンプルサイズとの関数関係の正確性を検証する。
【００９３】
Ｓｐａｒｋにおいて、各動作ノードには幾つかのアクチュエーターがあり、それぞれ各パーティションに対して計算を行い、データを記憶し、並列効率に影響する重要なパラメータを２つ有する。その１つは手動で設定されたパーティション数であり、もう１つは、並列度であり、いくつのパーティションを同時に実行できるかを示す。式（９）によってクラスタ並列度を計算する。
【００９４】
【数２１】
2019537079.tif 000033
（ただし、ＰTはＳｐａｒｋクラスタにおける並列度であり、Ｎはノードの数であり、Ｅiはノードｉにおけるアクチュエーターの数であり、Ｃiはノードｉにおける各アクチュエーター中の物理的コアの数であり、Ｔiはノードｉにおける各コアのスレッド数であり、Ｓｐａｒｋクラスタの並列度はハードウェア構成に密接に関係する。）
【００９５】
本実施例において、Ｓｐａｒｋクラスタを実現する並列度は、式（１１）で示される。
【００９６】
【数２２】
2019537079.tif 000034
【００９７】
消費時間を並列計算する関数は、本出願によるＳｐａｒｋプラットフォームのパラメータとサンプルサイズとの間の関数であり、式（１０）で表される。
【００９８】
【数２３】
2019537079.tif 000035
【００９９】
本実施例において、ｔｅｘｔＦｉｌｅ（）及びｐａｒａｌｌｅｌｉｚｅ（）の２番目のパラメータを設定することでパーティション数Ｐnを配置することができ、本実施例において、Ｐn＝（１〜１０）×ＰTとすることで計算時間の変化を観察し、その結果を表２に示す。表２から分かるように、サンプル数は７．３×１０8である場合、最適計算時間は２１．５５７秒であり、サンプル数は１．４６×１０9である場合、最適計算時間は３７．７２５秒であり、最適計算時間との差が最大になる値は、Ｐnが小さすぎるか大きすぎる時に現われることが多い。Ｐn＝（１〜１０）×ＰTの場合、対応する計算時間は、最適時間に近い、ひいては最適計算時間に等しいことが多い。そのため、Ｐn＝（２〜４）×ＰTとすることは合理的であり、プログラムチューニングに寄与する。
【０１００】
【表２】
2019537079.tif 000036
表２は、異なるＰnでのＷａｋｅｂｙ分布消費時間リストである。
【０１０１】
Ｐn＝１２８、ＰT＝３２、ｎ＝７．３×１０8とし、シミュレーション実験においてｓとｔconを無視した場合、
2019537079.tif 000037
＝３．８×１０-6秒を推定し得た。Ｐn＝３８４、ＰT＝１２８とする場合、ｎを変更することで、式（１０）で算出される理論値及びシミュレーションによって得られる実際値を得た。表３から分かるように、理論値と実際値との絶対誤差は２秒を超えず、相対誤差は最大３％を超えない。誤差が許容可能範囲内にあるため、導出される式は正確であることを証明できる。そのため、所定のサンプルデータの数で、使用者は、導出された関数関係を用いて所定の配置でアルゴリズムの消費時間を予測できる、または希望の計算時間でハードウェアを合理的に配置できる。
【０１０２】
【表３】
2019537079.tif 000038
表３は、異なるサンプル数で算出した時間の理論値及び実際値である。
【図１】
2019537079.tif 000051
【図２】
2019537079.tif 000052
【図３】
2019537079.tif 000053
【図４】
2019537079.tif 000054
【図５】
2019537079.tif 000055
【国際調査報告】
2019537079.tif 000056
2019537079.tif 000057
2019537079.tif 000058
2019537079.tif 000059
2019537079.tif 000060
2019537079.tif 000061