0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azure Data Factory - Data Flow で中央値、第1四分位数、第3四分位数を算出する方法

Posted at

#はじめに
Azure Data Factory や Azure Synapse Pipeline の Data Flow (GUIとノーコードでデータ加工できるツール)を使ってデータ集計や予測モデル用のデータ加工をするときのテクニックを整理しています

#やりたいこと
各データの期間別の要約統計量(平均、標準偏差、分散、中央値、第1四分位数、第3四分位数、等)を算出したい要件があると思います
Data Flow の式関数で算出できるのですが、平均、標準偏差、分散については1ステップで算出できるのですが、中央値、第1四分位数、第3四分位数については、median的な関数は残念ながらData Flowにはなく、ちょっとテクニック(2ステップで算出)が必要なのでその方法をこれから記載します

#方法
#####平均、標準偏差、分散の算出方法
①集計(Aggregate)モジュールを使用して統計量を算出したい単位に(下記例ではセンサーIDと年月)グループ化して
Dataflow04_01.PNG
②平均(avg)、標準偏差(stddev)、分散(variance)の集計関数で集約する
Dataflow04_02.PNG
※標準偏差と分散に関してはグループ化した集計対象データ件数が1件しかないとエラーになるので注意 対応策としては1件しかないデータを削除してから集計する(そもそも統計量を取得する上で極少件数しかないデータは1件でなくとも除外すべき)
Dataflow04_03.PNG

#####中央値、第1四分位数、第3四分位数の算出方法
######Step1. nTile関数を使ってデータを昇順に4等分する
①ウィンドウ(Window)モジュールを使用して、[1.Over]タブで統計量を算出したい単位に(下記例ではセンサーIDと年月)グループ化して
Dataflow04_05.PNG
②[2.並べ替え]タブで対象項目を昇順に並べ替え
Dataflow04_06.PNG
③[3.範囲]タブはデフォルト設定のまま変更なし
Dataflow04_07.PNG
④[4.ウィンドウの列]タブでnTile関数を使って4等分する
Dataflow04_08.PNG
下記はイメージ
Dataflow04_04.PNG
######Step2. 4等分されたデータから中央値、第1四分位数、第3四分位数を算出
⑤集計(Aggregate)モジュールを使用して統計量を算出したい単位に(下記例ではセンサーIDと年月)グループ化して
Dataflow04_09.PNG
⑥max関数とmin関数を使用して下記の計算式で集約する
Dataflow04_11.PNG
・中央値の場合、第2四分位のmax値と第3四分位のmin値を足して2で割ると中央値が算出できる
(max(iif(test3_tile==2, test3, toFloat(null()))) + min(iif(test3_tile==3, test3, toFloat(null())))) / 2
Dataflow04_10.PNG
・第1四分位数
(max(iif(test3_tile==1, test3, toFloat(null()))) + min(iif(test3_tile==2, test3, toFloat(null())))) / 2
・第3四分位数
(max(iif(test3_tile==3, test3, toFloat(null()))) + min(iif(test3_tile==4, test3, toFloat(null())))) / 2

#参照
https://docs.microsoft.com/ja-jp/azure/data-factory/data-flow-expression-functions#ntile

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?