はじめに
注記: この記事は従来のMagic ETLを対象としています。新しいMagic ETLの詳細については、「 Magic ETL 」を参照してください。
注記: これらのタイルは、Domoコンサンプション契約を締結しているユーザーはデフォルトで使用できます。コンサンプション契約を締結していないユーザーの場合、これらのタイルは オンデマンド で 有料 で使用できます。これらのタイルを有効にするには、Domoアカウントチームにお問い合わせください。タイルを使用する前に、トレーニングが必要となる場合があります。
この記事では、Magic ETLのすべてのデータサイエンスタイルについて詳しく説明します。これには以下が含まれます。
注記: データに対する正確かつ効率的なデータサイエンス分析を実行するために、クリーンなデータを使用することを推奨します。詳細については、「 Data Cleaning and Feature Engineering 」を参照してください。
分類
分類(数値ではなくカテゴリー値を予測すること)アルゴリズムの目的は、データ内のカテゴリー列を予測する統計モデルを構築することです。このモデルを使用すると、その列の値を新しいデータにもとづいて分類できます。複数の方法を使用し、それらを比較することを推奨します。 このタイルでは、1つのトレーニング用DataSetと、オプションのテスト/検証用のDataSetが必要です。トレーニング用DataSetに1つのカテゴリー列(従属列)が、トレーニング用およびテスト用のDataSetの両方に1つ以上の数値および/またはカテゴリー列(予測子列)が含まれます。[分類]タイル内では、ナイーブベイズまたはランダムフォレストのいずれかを選択できます。ナイーブベイズ分類子
ナイーブベイズ分類は、その他の分類アルゴリズムよりも高速かつシンプルですが、一般に精度が劣ります。この分類はサイズの大きなDataSetに使用することを推奨します。ランダムフォレスト分類子
ランダムフォレスト分類は、複数の決定木を作成し、その結果を組み合わせて全体的な分類を得るアンサンブル学習方法です。直線性の前提は必要ありません。このアルゴリズムは、データ内の極値に対してより堅牢です。例
以下の例は、DomoのMagic ETLで分類アルゴリズムを実装して使用する方法を示しています。サンプルDataSet: Catastrophic_Train.xlsx (800行)と Catastrophic_Test.xlsx (200行)は、人為的に生成されたDataSetで、この例を試したい場合はダウンロード可能です。これらのDataSetには保険金請求に関するデータが含まれており、その目的は新しい請求が高額かどうかを正確に分類できる分類アルゴリズムをトレーニングすることです。 「Catastrophic Train.xlsx」DataSetのスナップショットを以下に示します。

-
[分類]データサイエンスタイルを追加し、入力DataSetに接続します。

-
まず、アルゴリズムのトレーニングに使用するDataSetと予測の対象になるDataSetを選択する必要があります。これは同じDataSetであっても構いませんが、トレーニング用とテスト/検証用のDataSetが異なる場合は別のものを使用できます。

-
次に、分類する列を選択します。続いて、最初に数値列を選択してから(これは空白にしておいても構いません)、分類に役立つと考えられる列を選択する必要があります。

-
カテゴリー分類子列を選択する必要があります(前のステップで少なくとも1つの列を数値分類子として選択した場合は、空白のままにしておいても構いません)。分類列にも名前を付ける必要があります。この例では、デフォルト名の「classification」が使用されています。

-
最後に、
ナイーブベイズ または ランダムフォレスト のいずれかを[分類]タイルの基盤アルゴリズムとして選択します。

-
出力DataSetを接続し、名前を付けます。生成されるDataSetには、「classification」列が付加された元のDataSetが含まれます。

クラスタリング
クラスタリングアルゴリズムの目的は、同じグループ内のオブジェクト間の類似性がほかのグループのオブジェクトとの類似性よりも高くなるように、一連のオブジェクトをグループ化することです。これはデータ分析の説明段階で特に役立ちます。ユーザーが、必ずしも明白でないパターンとグループを明らかにできるようになるからです。 このタイルには、(K)でクラスター化するために、少なくとも1つの数値列といくつかのクラスターが必要です。ユーザーはK平均法アルゴリズムまたはK中央値アルゴリズムのいずれかを選択できます。K平均法クラスタリング
K平均法では、DataSetからk行をランダムに選択し、それらをクラスターの中心として扱うことでクラスターを形成します。次に、各行のクラスターの中心までの距離にもとづいてkクラスターが形成されます。続いて、各クラスターの平均が計算され、新しいクラスターの中心として扱われます。このプロセスは、クラスターのメンバーシップが安定するまで繰り返されます。K中央値クラスタリング
K中央値では、DataSetからk行をランダムに選択し、それらをクラスターの中心として扱うことでクラスターを形成します。次に、各行のクラスターの中心までの距離にもとづいてkクラスターが形成されます。続いて、各クラスターの中央値が計算され、新しいクラスターの中心として扱われます。このプロセスは、クラスターのメンバーシップが安定するまで繰り返されます。例
以下の例は、DomoのMagic ETLでクラスタリングアルゴリズムを実装して使用する方法を示しています。この例を試したい場合は、サンプルDataSetの Wholesale_Distributor_Sales.xlsx (440行)をダウンロードします。
-
[クラスタリング]タイルをMagic ETLに追加し、入力DataSetに接続します。

-
クラスターを特定するために使用する列を選択します。少なくとも1つの数値列を選択する必要があります。また、選択できるのは数値列だけです。

- 次に、クラスターメンバーシップを含む列、およびDataSetに存在すると考えられるクラスターの数(k)を指定します。最初の段階では通常、2~5つのクラスターが適切です。ただし、それ以上の数のクラスターを使用することもできます。様々なkの値を調べることを推奨します。
注記: 使用するクラスターの数が多すぎても、通常はメリットはありません。生成されるクラスター間の解釈が難しくなるからです。

このDataSetを使用してカードを作成する
散布図は、このDataSetのデータを可視化するための優れた方法です。
フォーキャスト
時系列予測では、時間順のデータ列を使用して様々な方法で未来の観測値の予測を生成できます。 このタイルでは、日時列と数値列が1つずつ必要です。予測では、ARIMAアルゴリズムが使用されます。ARIMA
ARIMA(自己回帰和分移動平均)では、モデルへの適合性に応じて、予測パラメーターが自動的に選ばれます。これにより、データ内の動向や季節性などが考慮されます。予測は、最終的なモデルのパラメーターにもとづいて行われます。例
以下の例は、DomoのMagic ETLでARIMA予測アルゴリズムを実装して使用する方法を示しています。サンプルDataSetの Daily_Web_Sales.xlsx (171行)は人為的に生成されたDataSetで、1日当たりの収益合計を含んでいます。この例を試したい場合は、DataSetをダウンロードできます。
-
[フォーキャスト]タイルをMagic ETLに追加し、入力DataSetに接続します。

-
次に、日時を含む列を選択してから、予測する列を選択します。この例では、「Revenue」が予測されます。

-
次に、予測帯の幅(デフォルトは95%)を選択します。選択した値が大きいほど、帯の幅は小さくなります。次に、予測する日数を選択できます。予測アルゴリズムは、過去のデータを調べ、データ点間の平均距離(時間単位)を取ります。将来の予測点はこの値にもとづいて決まります。この例では、データは日単位であるため、将来の予測時点も日単位になります。

-
将来の予測の基礎として使用する過去の行の数を選択する必要があります。デフォルトでは、すべての列が使用されます。 予測 列にも名前を付ける必要があります。この例では、デフォルト名の「prediction」が使用されています。

-
次に、予測の下限と上限に名前を付ける必要があります。ここでは、デフォルトの「prediction lower」と「prediction upper」が使用されています。

-
期間ごとに各行を監視する回数を指定します。
この例では、7回です。

-
最後に、出力DataSetを接続して名前を付けます。


このDataSetを使用してカードを作成する
予測カードは、このDataSetのデータを可視化するための優れた方法です。
多変量外れ値
多変量外れ値検出は、DataSetに含まれている1つ以上の数値列のセットの外れ値または異常観測値を検出することを目的とする異常検出アルゴリズムです。多変量外れ値検出を使用すると、複数の次元の異常観測値(または行)を検出できます。ある観測値が単一の列については外れ値ではないものの、複数の列については外れ値になるという場合もあります。これは列数が増えるときに特に役立ちます。 真の多変量外れ値を見つけるには、このタイルでは2つ以上の数値列が必要です。ただし、タイルタスクは1つの数値で動作します。例
以下の例は、DomoのMagic ETLで外れ値検出アルゴリズムを実装して使用する方法を示しています。サンプルDataSet:この例を試したい場合は、 Wholesale_Distributor_Sales.xlsx (440行)をダウンロードできます。
-
[多変量外れ値]タイルをMagic ETLに追加し、入力DataSetに接続します。

-
[多変量外れ値]タイルで、6つの製品カテゴリーのうちの1つ以上を、外れ値検出の対象にする列として選択する必要があります。この例では、すべての製品カテゴリーが選択されています。

-
次に、カットオフ値として使用されるカイ二乗分布の分位点(0~1の値)を選択し、TRUE(観測値が外れ値)またはFALSE(観測値が外れ値でない)のいずれかの値を含む列に名前を付ける必要があります(デフォルトは「outlier」)。最初の段階では通常、.95~.99の分位点が適切です。値が大きいほどカットオフが厳格になります。様々な値を調べることを推奨します。使用する分位点のカットオフ値が低すぎると、ほとんどの観察値が外れ値に分類されます。

- 最後に、出力DataSetを接続して名前を付ける必要があります。


このDataSetを使用してカードを作成する
散布図は、このDataSetのデータを可視化するための優れた方法です。
外れ値検出
外れ値とは、ほかの観測値/点から離れていて、発生する確率が低い観測値/点のことです。各種の外れ値の検出方法は、データに対する基本的な前提(大まかな正規釣鐘曲線データ、高次元データ、時系列データなど)と異常値の検出方法がそれぞれ異なっています。 このタイルでは1つの数値列が必要で、標準偏差アルゴリズムまたは平均絶対偏差アルゴリズムのいずれかを選択できます。平均絶対偏差
平均絶対偏差外れ値検出は、DataSet内の数値列の外れ値または異常観測値を検出することを目的とする異常検出アルゴリズムです。標準偏差検出とは異なり、平均絶対偏差外れ値検出では、列の値が正規分布(釣鐘形分布)しているとは想定されません。そのため、非正規の、または歪みのある(大きい、または小さい観測値が不釣り合いなほど多くある)列に最適です。列の観測値は、事前に指定された数の、中央値からのいずれかの方向における中央値絶対偏差(MAD)より大きい場合には、外れ値として分類されます。標準偏差
標準偏差外れ値検出は、DataSet内の数値列の外れ値または異常観測値の検出を試みる異常検出アルゴリズムです。標準偏差外れ値検出では、列の値が大まかに正規分布(釣鐘型分布)していると想定されます。列の観測値は、事前に指定された数の、平均値からのいずれかの方向における標準偏差より大きい場合には、外れ値として分類されます。例
以下の例は、DomoのMagic ETLで外れ値検出アルゴリズムを実装して使用する方法を示しています。サンプルDataSet:この例を試したい場合は、 Wholesale_Distributor_Sales.xlsx (440行)をダウンロードできます。
-
[外れ値検出]タイルをMagic ETLに追加し、入力DataSetに接続します。

-
[外れ値検出]タイル内で、6つの製品カテゴリーのうちのいずれか1つを、外れ値検出の対象にする列として選択する必要があります。この例では、「Fresh」列が選択されています。

-
次に、カットオフ値として使用される、中央値より大きい、または小さい中央値絶対偏差の数を選択し、TRUE(観測値が外れ値)またはFALSE(観測値が外れ値でない)のいずれかの値を含む列に名前を付ける必要があります(デフォルトは「outlier」)。最初の段階では通常、2~3個の中央値絶対偏差が適切です。ただし、より大きい(より厳格な)値を使用することもできます。様々な値を調べることを推奨します。使用するカットオフ値が小さすぎると、ほとんどの観測値が外れ値に分類されます。

-
次に、
[標準偏差] または [平均絶対偏差] のいずれかのアルゴリズムを選択します。この例では、[標準偏差]を選択します。

- 最後に、出力DataSetを接続して名前を付ける必要があります。


このDataSetを使用してカードを作成する
散布図は、このDataSetのデータを可視化するための優れた方法です。
予測
回帰アルゴリズムの目的は、データ内の数値列を予測する統計モデルを構築することです。このモデルを使用すると、その列の値を新しいデータにもとづいて予測できます。複数の方法を使用し、それらを比較することを推奨します。 このタイルでは、線形回帰またはランダムフォレストのいずれかのアルゴリズムを選択できます。線形回帰
線形回帰予測では、線形回帰モデルを使用してデータ内の数値列を予測します。この予測では、予測したい列、および予測プロセスに役立つと考えられるその他の列(「予測子」とも呼ばれます)を含むトレーニング用DataSetが必要です。このアルゴリズムは、トレーニング用DataSetを使用して予測アルゴリズムを「トレーニング」します。トレーニングされた予測アルゴリズムは、「テスト用」DataSet(テスト用DataSetとトレーニング用DataSetは同じでも構いません)に適用可能になり、そこで同じ「予測子」列を使用して各行を分類します。ランダムフォレスト
ランダムフォレスト回帰は非常に強力です。多数の弱い決定木の集合体を使用して、個々の木それぞれの平均を予測する1つの強い回帰アルゴリズムを作成するためです。このアルゴリズムは、データの複雑な下部構造を適切に識別できるため、様々なデータタイプに対して有効に機能します。例
以下の例は、DomoのMagic ETLで回帰予測アルゴリズムを実装して使用する方法を示しています。サンプルDataSet: Catastrophic_Train.xlsx (800行)と Catastrophic_Test.xlsx (200行)は、人為的に生成されたDataSetで、この例を試したい場合はダウンロードできます。これらのDataSetには、保険金請求に関するデータが含まれており、その目的は、DataSet内の各行の請求数をほかの列のデータにもとづいて正確に予測できる予測アルゴリズムをトレーニングすることです。 「Catastrophic Train.xlsx」DataSetのスナップショットを以下に示します。

-
[予測]タイルをMagic ETLに追加し、入力DataSetに接続します。

-
まず、トレーニング用DataSetとテスト用DataSetを選択する必要があります。これらは同じDataSetにできます。

-
次に、予測する列を選択します。続いて、最初に数値列を選択してから(これは空白にしておいても構いません)、予測に役立つと考えられる列を選択する必要があります。

-
カテゴリー予測子列を選択する必要があります(前のステップで少なくとも1つの列を数値予測子として選択した場合は、空白のままにしておいても構いません)。次に、予測列の名前を設定する必要があります。この例では、デフォルトの名前をそのまま使用します。

-
最後に、
[線形回帰] または [ランダムフォレスト] のいずれかのアルゴリズムを選択します。この例では、[線形回帰]を選択します。

-
出力DataSetを接続して名前を付ける必要があります。
生成される出力DataSetには、予測列が付加された元のトレーニング用DataSetが含まれます。その後、予測列と「num.claims」列を比較できます。


Magic ETLにおけるデータサイエンスタイル(動画)
このページのトップへ
日本語
