Amazon Web Services ブログ
Amazon Timestream で電力品質と顧客利用状況のデータを使って高調波の問題を分析、検出する方法
本投稿では、Amazon Timestream とその組み込みの時系列の機能を利用して、数百万の顧客のメトリクスに関する相関を取る事で、電力会社における大規模な高調波の問題を特定つつ、データ処理プロセスを自動化する方法を説明したいと思います。
電力会社は通常、発電と商業及び産業 (C&I)、または住宅顧客への電力の配電を行います。多くの電力会社は今般の分散型エネルギー資源(太陽光発電、可変周波数駆動などのパワーエレクトロニクス負荷、電気自動車バッテリー充電など)の普及により、送配電システムの高調波の増大を経験しています。この現代の電気機器は非線形負荷 (電圧波形に従わない電力特性を持つ負荷) を利用しており、これにより、電力系統に逆流する高調波電流が発生する事で、高調波電力歪みを引き起こし、電力の品質を劣化させる事になります。
電力の品質は、電力会社と利用者双方にとって非常に重要です。と言うのも、電力品質が期待するレベルから逸脱する事により、機器の損傷や誤動作が発生する事で機器の寿命が短くなり、効率の低下につながるためです。電力品質の低下は当然ながら電力供給の品質低下につながり、顧客が利用する機器にも悪影響を与えたり、さらには安全上の問題や、システムの停止、データ損失につながる可能性があります。よって、電力の品質問題を理解し、問題を検知、修復する仕組みを構築して、高い品質の電力を維持する事が、安全で効率的な電源システムを確保する上で重要になります。
背景
高調波はこれまでも電力品質の懸念事項でしたが、将来的には送電網が進化するにつれ、電力会社にとってより深刻な問題となると想定されます。通常、配電システムでの高調波は顧客の負荷の影響で発生します。現代の配電システムでの高調波の問題の特有の課題は、個々の顧客が単独で責任を負う訳では無いという点です。その代わりに、配電システム内の高周波の発生源が集約されて電力品質の問題を引き起こします。よって、電力会社が高調波の問題を調査して解決する為には、多くの顧客から収集した大量の高調波のデータが必要となります。
IEEE 519 規格は電力システムにおける電圧、電力の高調波歪みの制限を規定しています。IEEE 519 規格の目的は、電力システムの顧客が、高調波電流の放出を推奨となる制限を下回る妥当な値に制限する事、及び、電力会社が電圧歪みレベルを同様に制限する事です。
下の図は、地理的な識別情報を削除した実際のユーティリティ回路を示しています。この例では、1 次高調波計が 3 角形の立地に配置され、同じ交差のセグメントに 30 メートル離れた状態となっています。メーターのデータは 15 分間隔で収集され、データレポジトリの送信されます。目標は、どの顧客が過剰な高周波をシステムに注入しているかを調査する事です。この分析では、高調波計の電圧高調波歪み (VTHD) と、顧客消費量 (kWh) を使用して相関を計算します。
次の図に示すように、相関計算の結果、顧客 1 の消費量の相関スコアは 0.9 となり、フィーダ高調波変動との非常に強い相関関係が確認できます。相関スコアが 0.5 の顧客 2 の消費量は比較的小さい相関関係を示しており、消費量も非常に少ない値となっている為、顧客 2 の負荷は高調波の発生原因とはなっていないと考える事ができます。相関スコア 0.1 の顧客 3 の消費量は、フィーダ VTHD との相関がほとんどない事を示しており、高調波歪みを引き起こしてはいません。1 次高調波メータが高調波の発生源に近づくほど、より大きな高調波歪みの測定値が得られます。
相関関係は 15 分間隔でリアルタイムに計算可能ですが、一定期間(例えば、1 日、1 週間、2 週間等) にわたって、高調波の傾向とパターンを研究する方が合理的です。尚、相関関係は即、因果関係を表すというわけでは無く、計算された相関関係は通常、電力品質のエンジニアによって追加のテストで検証され、因果関係が確認される点に注意して下さい。
チャレンジ
高調波の発生源を正確に検出して特定する為には、高調波と需要データをメーターから正しく測定し、データをクレンジングし、正確に正規化して相関関係を特定する事が重要です。
相関関係を正しく測定する為には、全てのデータソースの間隔が同じである必要がありますが、実際にはデータが等間隔で取得されないケースもあります。その為、同期されたタイムスタンプを用いて計測データのクレンジングを行う必要があります。さらに、相関関係を計算する前に、欠落したデータを補間して正規化する必要があります。大規模電力会社では通常 10 万を超える商業及び産業の顧客、数千のフィーダ、大量のデータが複雑に絡み合い、状況をさらに悪化させています。
これらの目標を達成する為、開発者はデータをクレンジングの上で準備したり、適切な量のインフラストラクチャをセットアップするコードを作成し、それらをデバック、保守する必要があります。ですが、ビジネスユーザにとっては業界全体で共通のコードを記述するよりも、ビジネスの成果に焦点を当てる方が合理的です。
ソリューションの概要
Amazon Timestream は 1 日に大量のイベントを簡単に蓄積して分析出来るマネージドな時系列データベースサービスです。時系列のユースケースを解決する為に設計されており、標準 SQL で実行可能な 250 もの組み込み関数があり、数千行のコードの作成、デバッグ、保守の煩わしさを軽減します。直近のデータをメモリに保持し、ユーザの定義に基づきコスト最適なストレージ階層に履歴データを移動する事で、時系列データのライフサイクル管理の手間とコストを削減出来ます。また、Timestream には時系列分析機能も組み込まれており、ほぼリアルタイムでデータの傾向とパターンを特定するのに役立ちます。
本投稿では、組み込みの相関関数を利用して、2 つの時系列セット (高調波歪みデータと顧客の電力消費量データ) が時間の経過とともにどのような相関の傾向を示すかを説明します。
サンプルデータ
次の計算例では、1 つの高周波メータと 10 個の顧客メータを含む回路を選択しました。計算は 30 日の期間に基づいています。
次のサンプルデータは顧客のメーターデータを示しています。
meter_id | measure_name | time | meter_measure_value | interval_datetime_utc |
Customer_Meter_2 |
kWh | 2022-09-30 23:45:00 | 0.3 | 2022-10-01 06:45:00 |
Customer_Meter_5 |
kWh | 2022-09-30 23:45:00 | 48.0 | 2022-10-01 06:45:00 |
Customer_Meter_7 |
kWh | 2022-09-30 23:45:00 | 67.2 | 2022-10-01 06:45:00 |
Customer_Meter_6 |
kWh | 2022-09-30 23:45:00 | 0.16 | 2022-10-01 06:45:00 |
Customer_Meter_8 |
kWh | 2022-09-30 23:45:00 | 83.16 | 2022-10-01 06:45:00 |
Customer_Meter_4 |
kWh | 2022-09-30 23:45:00 | 0.0 | 2022-10-01 06:45:00 |
Customer_Meter_3 |
kWh | 2022-09-30 23:45:00 | 0.0 | 2022-10-01 06:45:00 |
Customer_Meter_10 |
kWh | 2022-09-30 23:45:00 | 0.04 | 2022-10-01 06:45:00 |
Customer_Meter_9 |
kWh | 2022-09-30 23:45:00 | 102.88 | 2022-10-01 06:45:00 |
Customer_Meter_1 |
kWh | 2022-09-30 23:45:00 | 69.12 | 2022-10-01 06:45:00 |
また、次のサンプルデータは高調波のメーターデータを示しています。
harmonic_meter_series_id | measure_name | time | read_timestamp local | meter_measure_value |
Harmonic_Meter_ONE_VTHD_Phase_A |
VTHD | 2022-10-01 06:45:00 | 2022-09-30 23:45:00 | 12.0 |
Harmonic_Meter_ONE_VTHD_Phase_A |
VTHD | 2022-10-01 06:30:00 | 2022-09-30 23:30:00 | 13.0 |
Harmonic_Meter_ONE_VTHD_Phase_A |
VTHD | 2022-10-01 06:15:00 | 2022-09-30 23:15:00 | 13.0 |
Harmonic_Meter_ONE_VTHD_Phase_A |
VTHD | 2022-10-01 06:00:00 | 2022-09-30 23:00:00 | 12.0 |
Harmonic_Meter_ONE_VTHD_Phase_A |
VTHD | 2022-10-01 05:45:00 | 2022-09-30 22:45:00 | 12.0 |
Harmonic_Meter_ONE_VTHD_Phase_A |
VTHD | 2022-10-01 05:30:00 | 2022-09-30 22:30:00 | 12.0 |
Harmonic_Meter_ONE_VTHD_Phase_A |
VTHD | 2022-10-01 05:15:00 | 2022-09-30 22:15:00 | 12.0 |
Harmonic_Meter_ONE_VTHD_Phase_A |
VTHD | 2022-10-01 05:00:00 | 2022-09-30 22:00:00 | 12.0 |
Harmonic_Meter_ONE_VTHD_Phase_A |
VTHD | 2022-10-01 04:45:00 | 2022-09-30 21:45:00 | 12.0 |
Harmonic_Meter_ONE_VTHD_Phase_A |
VTHD | 2022-10-01 04:30:00 | 2022-09-30 21:30:00 | 12.0 |
以下のクエリを利用して、データを補間しつつ、相関を計算してみます。
WITH cud_result AS (
SELECT meter_id,INTERPOLATE_LINEAR(
CREATE_TIME_SERIES(time, meter_measure_value),
SEQUENCE(min('2022-09-01 08:00:00.00000000'), max('2022-09-30 00:00:00.000000000'), 10m)) AS result
FROM "harmonics"."customer-usage-data"
WHERE measure_name = 'meter-reading'
AND time between '2022-09-01 08:00:00.00000000' and '2022-09-30 00:00:00.00000000'
GROUP BY meter_id, measure_name
),
hmd_result AS (
SELECT harmonic_meter_series_id, INTERPOLATE_LINEAR(
CREATE_TIME_SERIES(time, meter_measure_value),
SEQUENCE(min('2022-09-01 08:00:00.00000000'), max('2022-09-30 00:00:00.000000000'), 10m)) AS result
FROM "harmonics"."Data_HarmonicMeterONE"
WHERE measure_name = 'meter-reading'
AND time between '2022-09-01 08:00:00.00000000' and '2022-09-30 00:00:00.00000000'
GROUP BY harmonic_meter_series_id, measure_name
)
SELECT cud_result.meter_id, hmd_result.harmonic_meter_series_id, correlate_pearson(cud_result.result, hmd_result.result) AS result
FROM cud_result, hmd_result
order by 1,2
メーターデータのクレンジングと補間
前のセクションで説明した通り、メータデータを受信する際、データが欠損している場合があり、計算が複雑となります。このクエリではまず線形補間を利用して高調波のメータと通常の顧客メータの両方に欠損しているデータを挿入していきます。尚、ここでは線形補間を利用しましたが、3 次スプラインや最後にサンプリングされた値、固定値等の他の補間アルゴリズムを使う事も出来ます。
SELECT harmonic_meter_series_id, INTERPOLATE_LINEAR(
CREATE_TIME_SERIES(time, meter_measure_value),
SEQUENCE(min('2022-09-01 08:00:00.00000000'), max('2022-09-30 00:00:00.000000000'), 10m)) AS result
FROM "harmonics"."Data_HarmonicMeterONE"
WHERE measure_name = 'meter-reading'
AND time between '2022-09-01 08:00:00.00000000' and '2022-09-30 00:00:00.00000000'
GROUP BY harmonic_meter_series_id, measure_name
相関の計算
データのクレンジングが完了後、ピアソン相関計算が適用されます。ビジネス要件によっては、スピアマン相関を利用する事も出来ます。
SELECT cud_result.meter_id, hmd_result.harmonic_meter_series_id, correlate_pearson(cud_result.result, hmd_result.result) AS result
FROM cud_result, hmd_result order by 1,2
これらの単純なクエリを利用すると、次の図のように、各顧客のメーターの読み込み値と、A、B、C の電圧の高調波歪みとの相関関係を簡単に計算する事が出来ます。数値が大きい程、それらの間の関係は緊密になります。電気技術者はこれらの結果から、電力品質の問題を突き止める事が出来ます。
meter_id | harmonic_meter_series_id | result |
Customer_Meter_1 |
Harmonic_Meter_ONE_VTHD_Phase_A |
-0.1581674092708899 |
Customer_Meter_1 |
Harmonic_Meter_ONE_VTHD_Phase_B |
-0.15778482265690358 |
Customer_Meter_1 |
Harmonic_Meter_ONE_VTHD_Phase_C |
-0.15639198811140193 |
Customer_Meter_10 |
Harmonic_Meter_ONE_VTHD_Phase_A |
0.08876736150469715 |
Customer_Meter_10 |
Harmonic_Meter_ONE_VTHD_Phase_B |
0.08839688077012807 |
Customer_Meter_10 |
Harmonic_Meter_ONE_VTHD_Phase_C |
0.07278925591321009 |
Customer_Meter_11 |
Harmonic_Meter_ONE_VTHD_Phase_A |
0.007891559192882137 |
Customer_Meter_11 |
Harmonic_Meter_ONE_VTHD_Phase_B |
0.006667484345306506 |
Customer_Meter_11 |
Harmonic_Meter_ONE_VTHD_Phase_C |
-0.0021444035277923047 |
Customer_Meter_2 |
Harmonic_Meter_ONE_VTHD_Phase_A |
0.2174783625036597 |
パフォーマンスを改善させつつコスト削減を行う為に、Amazon Timestream のスケジュールクエリ機能を使って定期間隔でクエリを実行する事も出来ます。スケジュールドクエリを利用すると、利用者はデータ集計、ロールアップ等の計算を実施する分析クエリを定義する事が出来ます。そして Amazon Timestream はこれらのクエリを定期間隔で自動的に実行し、クエリ結果は確実に別テーブルに書き込まれます。スケジュールドクエリの詳細については、Improve query performance and reduce cost using scheduled queries in Amazon Timestreamを参照して下さい。
結論
本投稿では、Timestream データベースと組み込みの時系列関数を使って、顧客のエネルギー使用量と電力品質の問題の間の相関関係を計算する方法を説明しました。Amazon Timestream は複雑なコードの実装無に、電力品質の問題の原因を特定するソリューションをエンジニアに提供出来ます。さらに、大量の時系列データのクレンジング、欠損値の補間、異なる時系列データ間の相関の計算などのデータ準備や処理がはるかに簡単になります。Amazon Timestream の組み込み時系列関数の詳細については、documentation を参照して下さい。
翻訳はテクニカルアカウントマネージャの西原が担当しました。原文はこちらです。