アダプティブ ヒストグラム分析 (Adaptive Histogram)

[Teradata Vantage - Vantage Analytics Library](https://docs.teradata.com/r/Vantage-Analytics-Library-User-Guide/January-2022)[2022/9/22時点]の翻訳です。
(リリース番号 : 2.1.1 | リリース日 : January 2022)
> この記事はVantageアナリティクスライブラリ シリーズのコンテンツです。

# 概要
アダプティブヒストグラム分析（アダプティブビニングとも呼ばれる）は、分布をさらに細分化することで、ヒストグラム分析を補完するものです。アダプティブヒストグラム分析では、値をスパイクとして扱う頻度のパーセンテージと、ビンがオーバーポピュレーションとなるパーセンテージを決定します。

# 前提条件
・Teradata Vantageインスタンスにアクセスできること。
・Vantage アナリティクス・ライブラリがインストールされていること。

::: note info
Vantage アナリティクス・ライブラリのインストールについて、既にVantageを導入頂いているお客様はTeradataサポートサービスにお問い合わせください。
Vantage Express (評価版)やクラウドサービスのDIYでご利用頂く場合は[Teradata Dounload](https://downloads.teradata.com/download)からダウンロードし利用可能です。
Vantage アナリティクス・ライブラリのインストール手順は「[Vantageアナリティクス・ライブラリのインストール](https://qiita.com/ykswi/items/12d0da2ac69b4b161881#vantage%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)」の記事に従い行います。
:::

# データの準備
## サンプルデータの入手とデータベースへの格納方法
こちらの「[チュートリアル用のサンプルデータを用意する](https://qiita.com/tmsky/items/4d86ca35aef753290020)」を参照ください。


# 実行方法
## SQLから実行する場合の例
```SQL
CALL td_analyze (
  'adaptivehistogram',                /* 分析手法　*/
  '
  database        = QID;              /* データベース名 */
  tablename       = Superstore;       /* テーブル名 */
  columns         = Sales;            /* カラムリスト */
  '
);
```
:::note information
出力結果をテーブルに書き込む場合は以下オプションを指定可能です。
outputdatabase = 出力データベース名;
outputtablename = 出力テーブル名; 
overwrite = {true | false}; --- 未指定の場合はtrueで上書きします
:::
## 出力結果
|xtbl|xcol|xbeg|xend|xtype|xdesc|xcnt|xpct|
|:-|:-|:-|:-|:-|:-|:-|:-|
|Superstore|Sales|0.444|2264.2476|1|bin|9876|98.81929157494497|
|Superstore|Sales|0.444|18.639742939449167|3|**bin|2669|26.7060236141685|
|Superstore|Sales|18.639742939449167|36.83548587889834|3|**bin|1509|15.099059435661397|
|Superstore|Sales|36.83548587889834|55.03122881834751|3|**bin|840|8.40504302581549|
|Superstore|Sales|55.03122881834751|73.22697175779668|3|**bin|606|6.063638182909746|
|Superstore|Sales|73.22697175779668|91.42271469724584|3|**bin|424|4.2425455273163895|
|Superstore|Sales|91.42271469724584|109.61845763669501|3|**bin|337|3.372023213928357|
|Superstore|Sales|109.61845763669501|127.81420057614417|3|**bin|271|2.7116269761857112|
|Superstore|Sales|127.81420057614417|146.00994351559333|3|**bin|201|2.0112067240344205|
|Superstore|Sales|146.00994351559333|164.20568645504252|3|**bin|205|2.0512307384430657|
|Superstore|Sales|164.20568645504252|182.4014293944917|3|**bin|175|1.751050630378227|
|Superstore|Sales|182.4014293944917|226.82436|2|--bin|384|3.842305383229938|
|Superstore|Sales|226.82436|453.20472|2|--bin|1069|10.696417850710427|
|Superstore|Sales|453.20472|679.5850800000001|2|--bin|507|5.073043826295778|
|Superstore|Sales|679.5850800000001|905.9654400000001|2|--bin|267|2.671602961777066|
|Superstore|Sales|905.9654400000001|1132.3458|2|--bin|154|1.5409245547328396|
|Superstore|Sales|1132.3458|1358.7261600000002|2|--bin|91|0.910546327796678|
|Superstore|Sales|1358.7261600000002|1585.10652|2|--bin|66|0.6603962377426456|
|Superstore|Sales|1585.10652|1811.4868800000002|2|--bin|55|0.5503301981188713|
|Superstore|Sales|1811.4868800000002|2037.86724|2|--bin|33|0.3301981188713228|
|Superstore|Sales|2037.86724|2264.2476|2|--bin|13|0.13007804682809687|
|Superstore|Sales|2264.2476|4528.0512|1|bin|91|0.910546327796678|
|Superstore|Sales|4528.0512|6791.8548|1|bin|13|0.13007804682809687|
|Superstore|Sales|6791.8548|9055.6584|1|bin|6|0.06003602161296778|
|Superstore|Sales|9055.6584|11319.462|1|bin|5|0.05003001801080648|
|Superstore|Sales|13583.2656|15847.0692|1|bin|1|0.010006003602161296|
|Superstore|Sales|15847.0692|18110.8728|1|bin|1|0.010006003602161296|
|Superstore|Sales|20374.6764|22638.48|1|bin|1|0.010006003602161296|

## 出力結果の説明
| カラム名 | データタイプ | 説明 |
|:-|:-|:-|
|xtbl|VARCHAR (128)|テーブル名|
|xcol|VARCHAR (128)|カラム名|
|xbeg|FLOAT|ビンの開始境界|
|xend|FLOAT|ビンの終了境界|
|xtype|BYTEINT|カテゴリ|
|xdesc|CHAR(5)|カテゴリの説明|
|Xpct|FLOAT|レコード数|
|Xpct|FLOAT|値の割合|

# おわりに
:::note information
サンプルコードはSQL関数から掲載し順次Pythonコードも掲載していく予定です。
:::

:::note warn
警告
この本書は[Teradata Vantageドキュメンテーション](https://docs.teradata.com/)よりトピックに必要な情報を抜粋したものです。掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。正確な内容については、原本をご参照下さい。
また、修正が必要な箇所や、ご要望についてはコメントをよろしくお願いします。
:::

#### Teradata Vantageへのお問合せ
[Teradata Vantage へのお問合せ](https://www.teradata.jp/About-Us/Contact)