前回の記事で紹介したNILMTKを使ってNILMのパブリックデータセットを扱う方法の記事です
データセットの入手先まとめ
- REDD: http://redd.csail.mit.edu/
- REFIT: https://pureportal.strath.ac.uk/en/datasets/refit-electrical-load-measurements-cleaned
- UK-DALE: https://data.ukedc.rl.ac.uk/browse/edc/efficiency/residential/EnergyConsumption/Domestic/UK-DALE-2017/UK-DALE-FULL-disaggregated
- AMPds: http://ampds.org/
- iAWE: https://iawe.github.io/
- DRED: https://www.st.ewi.tudelft.nl/~akshay/dred/
- ECO: http://www.vs.inf.ethz.ch/res/show.html?what=eco-data
- GREEND: https://sourceforge.net/projects/greend/
- HIPE: https://www.energystatusdata.kit.edu/hipe.php
- IDEAL: https://datashare.ed.ac.uk/handle/10283/3647
- SMART: https://traces.cs.umass.edu/index.php/Smart/Smart
- COMBED: https://combed.github.io/
- DEDDIAG: https://figshare.com/articles/dataset/
- Dataport: https://dataport.pecanstreet.org/
- HES: n/a
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
入手先
ベーシック認証のパスワードは 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
入手先
ukdale.zipをダウンロード
コンバート
from nilmtk.dataset_converters import convert_ukdale convert_ukdale("/path/to/ukdale", "ukdale.h5") # 解凍したディレクトリのrootパスを指定する
AMPds
入手先
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
入手先
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
入手先
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
入手先
から house_08.zip, import.sh, create_tables_0.sql, create_tables_1.sql をダウンロード(?)
手元の環境では後続の処理の
$ pip install deddiag-loader
でパッケージをインストールできず未確認
HES
ダウンロード先見つからず...
参考記事
- nilm-datasets/nilm-datasets.csv at master · k-nut/nilm-datasets · GitHub
- データセットの素性・ありかや論文へのURLなどをまとめてくれている
- GitHub - pawan47/nilmtk_readings
- NILMTKに関するいろいろなリンク