NILMのパブリックデータセットの入手方法

前回の記事で紹介したNILMTKを使ってNILMのパブリックデータセットを扱う方法の記事です

データセットの入手先まとめ

NILMTKで使うためのデータ変換方法

NILMTK の nilmtk/dataset_converters によりNILMTKで取り扱う共通データ形式(.h5)に変換します。

例えば、REDDの場合だと

from nilmtk.dataset_converters import convert_redd
convert_redd('low_freq', 'redd.h5') 

というようにh5ファイルをあらかじめ生成し、その後は以下のようにそのファイルを読み込むことでNILMTK上でデータセットとして扱うことができます

train = DataSet('/data/redd.h5')
test = DataSet('/data/redd.h5')

REDD

入手先

http://redd.csail.mit.edu/

ベーシック認証のパスワードは redd / disaggregatetheenergy

前処理

データの解凍

$ tar jxvf low_freq.tar.bz2
コンバート
from nilmtk.dataset_converters import convert_redd
convert_redd('/path/to/low_freq', 'redd.h5')  # low_freqはlow_freq.tar.gz2を解凍したときのディレクトリ

REFIT

入手先

https://pureportal.strath.ac.uk/en/datasets/refit-electrical-load-measurements-cleaned

Access Dataset の CLEAN_REFIT_081116.7z をダウンロード

前処理

7zを解凍するツールのインストール

$ sudo apt-get install p7zip

解凍

$ 7zr x -orefit CLEAN_REFIT_081116.7z  # 解凍ディレクトリを指定 (refitとする)
コンバート
from nilmtk.dataset_converters import convert_refit
convert_refit('/path/to/refit', 'refit.h5')  # 解凍したディレクトリのrootパスを指定する

UK-DALE

入手先

https://data.ukedc.rl.ac.uk/browse/edc/efficiency/residential/EnergyConsumption/Domestic/UK-DALE-2017/UK-DALE-FULL-disaggregated

ukdale.zipをダウンロード

コンバート
from nilmtk.dataset_converters import convert_ukdale
convert_ukdale("/path/to/ukdale", "ukdale.h5")  # 解凍したディレクトリのrootパスを指定する

AMPds

入手先

http://ampds.org/

AMPds Version 2 ではなく、以下の Version 1: The original AMPds (R2013) をダウンロードする必要がある。

https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/MXB7VO

Access Dataset をクリックして Original Format ZIP を選択し、dataverse_files.zipをダウンロード

前処理

以下の4ファイルは削除する必要がある。 TSのキーがないためコンバート時にエラーになってしまう

$ rm ampds/FRG.csv
$ rm ampds/WHG.csv
$ rm ampds/WHW.csv
$ rm ampds/HTW.csv
コンバート
from nilmtk.dataset_converters import convert_ampds
convert_ampds("/path/to/ampds", "ampds.h5")  # 解凍したディレクトリのrootパスを入力する

iAWE

入手先

https://iawe.github.io/

Downloadのリンクをクリックし、

https://drive.google.com/drive/folders/1c4Q9iusYbwXkCppXTsak5oZZYHfXPmnp

からelectricity.tar.gzをダウンロード

コンバート
from nilmtk.dataset_converters import convert_iawe
convert_iawe("/path/to/electricity", "iawe.h5")  # 解凍したディレクトリのrootパスを指定

DRED

入手先

https://www.st.ewi.tudelft.nl/~akshay/dred/

DownloadsからNILMTK support の DRED H5 をクリック https://www.st.ewi.tudelft.nl/~akshay/dred/data/

All_data.csv をダウンロードする

コンバート
from nilmtk.dataset_converters import convert_dred
convert_dred("/path/to/All_data.csv", "dred.h5") # ディレクトリ名を指定ではなくファイル名を指定しないといけない

ECO

入手先

http://www.vs.inf.ethz.ch/res/show.html?what=eco-data

Downloadsのリンクをクリックし、続いて、 I accept termsをクリック

ダウンロードのアイコン(右上の2つのアイコンの左側)をクリックして Downloads All

前処理
unzip 01_plugs_csv.zip -d 01_plugs_csv
unzip 02_plugs_csv.zip -d 02_plugs_csv
unzip 03_plugs_csv.zip -d 03_plugs_csv
unzip 04_plugs_csv.zip -d 04_plugs_csv
unzip 05_plugs_csv.zip -d 05_plugs_csv
unzip 06_plugs_csv.zip -d 06_plugs_csv
unzip 01_sm_csv.zip -d 01_sm_csv
unzip 02_sm_csv.zip -d 02_sm_csv
unzip 03_sm_csv.zip -d 03_sm_csv
unzip 04_sm_csv.zip  # これだけそのまま
unzip 05_sm_csv.zip -d 05_sm_csv
unzip 06_sm_csv.zip -d 06_sm_csv
rm *.zip
rm -r __MACOSX/
コンバート
from nilmtk.dataset_converters import convert_eco
convert_eco("/path/to/IE594964/REP594965", "eco.h5", "Asia/Tokyo")

timezoneの引数として何のタイムゾーンを指定すべきなのか不明.. とりあえずAsia/Tokyoで変換成功することだけは確認

GREEND

入手先

https://sourceforge.net/projects/greend/

Downloadボタンをクリック

コンバート
from nilmtk.dataset_converters import convert_greend
convert_greend("/path/to/greend/GREEND_0-2_300615", "greend.h5", use_mp=False)

HIPE

入手先

https://www.energystatusdata.kit.edu/hipe.php

1 week または 3 months のリンクをクリックしてダウンロード

コンバート
$ cd nilmtk/nilmtk/dataset_converters/hipe
$ python convert_hipe.py /path/to/hipe hipe.h5  # hipeディレクトリの下に解凍した複数個のcsvがある

ちなみに、他のデータセットと同様のやり方

from nilmtk.dataset_converters.hipe.convert_hipe import convert_hipe
convert_hipe("/path/to/hipe", "hipe.h5") 

だとAssesionErrorで止まりました

IDEAL

入手先

https://datashare.ed.ac.uk/handle/10283/3647

から household_sensors.zip (14.77Gb) と room_and_appliance_sensors.zip (9.317Gb) をダウンロード

前処理
# ideal_datasetの下に2つのzipがある

$ unzip household_sensors.zip
$ mv sensordata/ household_sensordata
$ unzip room_and_appliance_sensors.zip
$ mv sensordata/ rooms_appliance_sensordata
コンバート
from nilmtk.dataset_converters import convert_ideal
convert_ideal("/path/to/ideal_dataset", "ideal.h5")

SMART

入手先

https://traces.cs.umass.edu/index.php/Smart/Smart

UMass Smart* Dataset - 2017 release の HomeA-electrical.tar.gz, HomeB-electrical.tar.gz, HomeC-electrical.tar.gz をダウンロード(Formに名前、所属、国名を入力する必要あり)

converterのコードを読む限り、HomeA, HomeB, HomeCにのみ対応しているっぽい

コンバート
from nilmtk.dataset_converters import convert_smart
convert_smart("/path/to/smart", "smart.h5")  # 絶対パスで指定する必要あり。smartの下に展開したHomeA, HomeB, HomeCディレクトリ

COMBED

入手先

https://combed.github.io/

Download RAW CSVをクリック

コンバート
from nilmtk.dataset_converters import convert_combed
convert_ideal("/path/to/combed", "combed.h5")  # combedの下にzipを展開したiiitdディレクトリがある

Dataport

入手先

https://dataport.pecanstreet.org/

ただし、学生じゃないとダウンロードするためのアカウントが発行してもらえない

商用ライセンスもあるがお高い.. https://www.pecanstreet.org/wp-content/uploads/2020/05/Pecan-Street-Data-Sheet-May-2020.pdf

DEDDIAG

入手先

https://figshare.com/articles/dataset/DEDDIAG_a_domestic_electricity_demand_dataset_of_individual_appliances_in_Germany/13615073

から house_08.zip, import.sh, create_tables_0.sql, create_tables_1.sql をダウンロード(?)

手元の環境では後続の処理の $ pip install deddiag-loader

でパッケージをインストールできず未確認

HES

ダウンロード先見つからず...

参考記事