タイムシリーズ関数(Unbounded Array Framework関数)

[Teradata Vantage™ - Unbounded Array Frameworkの時系列機能](https://docs.teradata.com/r/Teradata-VantageTM-Unbounded-Array-Framework-Time-Series-Reference/June-2022) [リリース日：2022/6　リリースバージョン：17.20]の内容をもとに作成しています。

> Vantageアナリティクス シリーズのコンテンツです。

<iframe width="560" height="315" src="https://www.youtube.com/embed/t8t2hl7aogg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

# 無制限配列フレームワークとは？

#### 主な特徴
- 1次元の系列(シリーズ)と、2次元の行列(マトリックス)を使いメモリ空間を超える大容量データの分析ができます。
- データを時間順序に持つことで、時系列データに対して高速に処理を行う事ができます。
- 時系列分析、デジタル信号処理の関数が用意されています。
- Vantageの他の機械学習機能などと組み合わせて利用することで多様な分析に利用できます。 
- データを様々な種類のグラフにプロットして、高速でビジュアライズしたグラフを作成することもできます。 

#### 処理イメージ(行列の場合)
無制限配列フレームワークは、通常テーブルから配列にタイムコードもしくはシーケンス順序にデータを読み込み用意された関数で処理を行います。結果はART(分析結果テーブル)に格納されます。
<img width="900" alt="UAF処理イメージ.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740723/d1524a46-363f-9595-bf6d-bbe1b44b5c17.png">

#### 構成要素
| 構成要素 | 説明 |
|:-|:-|
|行列(マトリックス)   |行列(マトリックス)とは、行と列を持つ2次元の配列である。行列(マトリックス)は複素数をペイロードとします。   |
|系列(シリーズ)   |系列(シリーズ)は 1 次元配列です。系列(シリーズ)は 実数のベクトルをペイロードとします。別名、多変量時系列データともいいます。   |
|関数|行列(マトリックス)、系列(シリーズ)のデータに対して、特定の変換・分を行う。|
|ART(分析結果テーブル)|関数の実行結果データを格納し、その結果を別のUAF関数に渡せるようにします。通常テーブルと揮発テーブルが選べます。|
|テーブル|Teradataの物理テーブルです。|

#### 配列形式
無制限配列フレームワークのデータは、以下2種類の配列形式を利用することが出来ます。
各配列はサポートされている Teradata テーブル タイプ内に格納されます。

<img width="800" alt="無制限配列フレームワークの配列形式.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740723/1d105f4c-7f49-14f7-8c2d-93a656bc3b0c.png">

# タイムシリーズ関数(無制限配列フレームワーク)
タイムシリーズ関数は、新しくリリースされた無制限配列フレームワーク(Unbounded Array Framework=UAF)上で動作し、50以上のインデータベースでのでの時系列分析とデジタル信号処理の関数により、数百万個の製品や数十億個のセンサーなどの時系列データを継続的に予測することが可能です。
<img width="900" alt="タイムシリーズ関数一覧.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740723/3fccd430-673f-b710-bff4-d1be9b616be8.png">

:::note information
各関数の使い方については、[Teradata Vantageドキュメンテーション](https://docs.teradata.com/)にリンクしていますので、Teradata Vantageドキュメンテーションのマニュアルを参照して、利用方法の確認をお願いします。
:::

## ユーティリティ
|機能|説明|
|:-|:-|
|シリーズ情報<br>([TD_SINFO](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/oNsHa~cxkKpWZNTfOEWdZg))|	論理系列を説明するメタデータを返します。|
|マトリックス情報<br>([TD_MINFO](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/joXaZtebnHabjxxMM5c9Wg))|	論理行列を説明するメタデータを返します。|
|非離散的なデータの調査<br>([TD_INPUTVALIDATOR](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/LkMByX_Xgwj8H4woRDGKYQ))|データを検証し、系列または行列に渡された非離散的なデータを見つけます。|
|結果セットを取得<br>([TD_EXTRACT_RESULTS](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/si8A~1eYlCOUDQ6xS3MIBQ))|分析結果テーブル(ART)に保存されている、セカンダリおよび3次レイヤーなどの補助結果セットを取得します。|
|データプロット<br>([TD_PLOT](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/92tOohBkQgNn9dyrG65l1w))|	オンデマンドのプロットを生成する機能を提供します。生成されるプロットは、本質的に一変量、多変量、または複合のいずれかになります。|
|テーブル変換<br>([TD_CONVERTTABLEFORUAF](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/GmEe6j4~PTimotq47I4FTg))|	有効なデータ型で構成される入力テーブルを、UAF系列または行列仕様と互換性のあるデータ レイアウトを持つテーブルに変換します。|
|地理空間データの計算<br>([TD_TRACKINGOP](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/dRADo9Kiw5xcPpMZDCXt7A))|	旅行の移動距離、速度、時間について地理空間データを計算します。|

## データ準備
|機能|説明|
|:-|:-|
|シリーズ四則演算<br>([TD_BINARYSERIESOP](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/eo11eixdoKZ4oh~pZjzkfw))|	同じサイズの2つの時系列でポイントごとの数学演算を実行します。数学演算は、加算、減算、乗算、または除算です。|
|マトリックス四則演算<br>([TD_BINARYMATRIXOP](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/k_fOkgw2_fLwOp86LTGjkw))|	同じ数のウェーブレットを持ち対応するウェーブレットに同じ数のデータ ポイントがある2つの行列に対して、ポイントごとの数学演算を実行します。数学演算は、加算、減算、乗算、または除算です。|
|シリーズ生成(式から)<br>([TD_GENSERIES4FORMULA](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/S7Ltz2WIL294zPd9OS5yag))|式主導の系列を生成します。この目的は、TD_BINARYSERIES_OP減算演算を使用してデータから周期性を除去するための系列を生成することにあります。|
|シリーズ生成(マトリックスから)<br>([TD_MATRIXMULTIPLY](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/ZrLr8G1X_99awrl~QylcXg))|2つの行列に基づいてデータ系列を作成します。|
|リサンプル<br>([TD_RESAMPLE](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/ssqjFh2y4VnGliB7GYqx1w))|時系列や空間系列などの論理系列を受け取り、補間アルゴリズムを適用して、ターゲットの開始点とターゲットのサンプリング間隔を持つ離散系列に変換します。|

## 診断的記述統計
|機能|説明|
|:-|:-|
|Breusch–Godfrey検定<br>([TD_BREUSCH_GODFREY](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/2zM6vAfvNfMQJBO2h1b01Q))|Breusch–Godfrey検定を使用して回帰により生成された残差を分析します。|
|Breusch-Pagan検定<br>([TD_BREUSCH_PAGAN_GODFREY](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/zEBdnHoWjpxTq7JSgsjt0g))|回帰モデルについて分散が等分散かまたは不均一分散かを判別します。|
|累積ピリオドグラムの統計検定<br>([TD_CUMUL_PERIODOGRAM](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/a3XgqTQESmSJ9KZmvGhJjA))|モデリングするデータに最適なモデルを決めるために役立ちます。すべての周期性を同時に検定します。|
|ディッキー–フラー検定<br>([TD_DICKEY_FULLER](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/PUa176Gn9XmvK79lLj~jZg))|特定の系列生成プロセス内に1つ以上の単位根が存在するかどうかを検定します。|
|ダービン・ワトソン検定<br>([TD_DURBIN_WATSON](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/n19m5vwxLF705Rprtd5F8w))|Durbin-Watson検定を使用して、系列またはART回帰により生成された残差を分析します。|
|モデリング実行の適合度<br>([TD_FITMETRICS](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/g8lOaP4w6xIGN7ikKLMjFA))|元の系列、予測された系列、元の系列の平均、およびモデリング適合の実施からの残差を使用して、モデリング適合実行における適合度を判定します。|
|ゴールドフェルド・クォント検定<br>([TD_GOLDFELD_QUANDT](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/w0J~3lVlVKPEnnD5DjwqJw))|	系列サンプル ポイントを2つのサンプル ポイント集合に分割し、分散が等分散か不均一分散かを判定します。|
|かばん検定<br>([TD_PORTMAN](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/84RZca8Lzs6tDNJz0ldfyw))|残差にゼロ平均があるか、系列相関の証拠がないか、または残差が等分散を示しているかどうかを判定します。|
|予測モデリング測定基準<br>([TD_SELECTION_CRITERIA](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/bi1OtxBvgWfXSvL0bwhgHg))|	モデル検証実行で残された残差に対して、測定基準を計算します。データ サイエンティストは生成された測定基準を使用して、どの予測モデル候補を使用するかを決めます。|
|周期性の有意性統計検定([TD_SIGNIF_PERIODICITIES](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/byITmMu8jbXWCaoobx9Wqw))|最適なデータモデルを求めるための周期性統計検定の有意性です。この関数は、予測されたデータ ポイントを使用したモデル検証中に生成された残差を使用します。|
|残差平均統計検定<br>([TD_SIGNIF_RESIDMEAN](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/TP48mtXQzNYWdPQ9p4h16A))|最適なデータモデルを求めるための残差平均統計検定の有意性です。この関数は、予測されたデータ ポイントを使用したモデル検証中に生成された残差を使用します。|
|Whites-General検定<br>([TD_WHITES_GENERAL](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/IgO~sAeMMgLBl3sWOSHcMA))|	回帰分析での不均一分散エラーを識別します。これは、Goldfeld-Quandt検定よりも単純な実施方法であり、Breusch-Pagan-Godfrey検定に必要な正規分布にも影響されません。|

## モデル準備とパラメータの推定
|機能|説明|
|:-|:-|
|自己相関<br>([TD_ACF](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/Qy8WqrQvfv7PLpHgnLs4XA))|時系列の自己相関または自己共分散を計算します。|
|ARMAモデルのパラメータ推定<br>([TD_ARIMAESTIMATE](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/8Fpe6HoYAfiRIhrMEowBuA))|季節性および非季節的な自己回帰モデル、移動平均モデル、およびARIMAモデルとしての組み合わせARMAモデルのパラメータ推定を実行します。|
|ARMAモデルの評価メトリック出力<br>([TD_ARIMAVALIDATE](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/NqTMLmonHBL~EMgpM1d7pA))|モデル選択の測定基準集を提供します。|
|差分時系列変換<br>([TD_DIFF](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/GbU9lwm6W58A9lTdLtSnRA))|定常、季節性、または非定常の時系列を、差分時系列に変換します。|
|線形回帰関数<br>([TD_LINEAR_REGR](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/tXrCfpbL~YY~ZbYxIKZLcA))|説明変数と応答変数との関係を定義する式を使用して、データを曲線に適合させます。単純な線形回帰関数を使用します。|
|多変量線形回帰関数<br>([TD_MULTIVAR_REGR](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/VhCuT2RPBUPW9lxPctlYIQ))|	説明変数と複数の応答変数との関係を定義する式を使用して、データを多次元表面に適合させます。多変量線形回帰関数を使用します。|
|偏自己相関<br>([TD_PACF](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/vwCC2uJQpsgrKwjlDTc5sg))|	タイム ラグの影響を取り除いた場合の、時系列サンプル ポイント間の相関度を測定します。|
|べき乗変換<br>([TD_POWERTRANSFORM](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/RO5t5GaRbbtt4noI5D_Qcw))|非定常の分散をともなう時系列にべき乗変換を適用し、定常の分散をともなう新しい時系列を作成します。|
|季節変動の調整<br>([TD_SEASONALNORMALIZE](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/9ELBYth~3n7N903K7Bi4Vg))|データセット内の周期的な季節パターンを正規化します。|
|平滑化関数<br>([TD_SMOOTHMA](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/4pNNRt_y7E5eqYl12cKrXQ))|非定常平均の時系列に平滑化関数を適用し、定常平均の新しい時系列を作成します。|
|差分時系列の逆変換<br>([TD_UNDIFF](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/0rfJaExBrnVJ76YbGMw_Tg))|TD_DIFF関数により作成された差分時系列を再構築します。|
|季節変動の非正規化<br>([TD_UNNORMALIZE](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/2OSDBJHWjxfV9I0WKd2jrg))|TD_SEASONALNORMALIZE関数によって実行された季節的な正規化を逆にします。|

## シリーズ予測機能
|機能|説明|
|:-|:-|
|ARIMA予測<br>([TD_ARIMAFORECAST](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/5J~eXgpEIQh4dJ95t270qg))|	ARIMAアルゴリズムを使用して、モデルで最後に観測されたサンプル ポイントより先の将来的なユーザー定義の期間数を予測します。この関数は、予測された値を含むプライマリ結果セットのみを出力します。|
|動的時間伸縮法<br>([TD_DTW](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/wO8191mvjvsfFo1XtCu1aQ))|検索半径に応じて、2つの系列間の最適または最適に近いワープパスを検索します。|
|ホルト-ウィンターズ法<br>([TD_HOLT_WINTERS_FORECASTER](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/0xvdRmxdmg7f2kB6DJOD6w))|Holt Wintersモデルを使用して、モデルで最後に観測されたサンプル ポイントより先の将来的なユーザー定義の期間数を予測します。この関数は、4つまでの結果セットを出力します。|
|移動平均予測<br>([TD_MAMEAN](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/H_rZoDXTCP3Sr_oOs7T0LQ))|利用可能な過去のデータを使用して、将来的なユーザー定義のアクティビティ期間数を予測します。|
|単純指数平滑法<br>([TD_SIMPLEEXP](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/0rcyEILbj5HbzE4cYKwIAQ))|レベルモデリング成分を使用する予測モデルを使用して、元の系列の予測を実行します。|

## 時間・空間機能
|機能|説明|
|:-|:-|
|畳み込み<br>([TD_CONVOLVE](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/peg0fLfpegIEQfc~oNHR7Q))|時系列をカーネルフィルタで畳み込むことにより、デジタル フィルタを1次元系列に適用します。|
|2次元の畳み込み<br>([TD_CONVOLVE2](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/8kK_rTB_wPV8H0LRJPNUJQ))|時系列をカーネル フィルタで畳み込むことにより、デジタルフィルタを2次元行列に適用します。|
|1次元離散高速フーリエ変換<br>([TD_DFFT](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/l~sVS7hlS9jlZv3yd0zdRg))|離散高速フーリエ変換を1次元系列に適用し、計算されたフーリエ係数を含む結果系列を返します。係数は、長方形(実数、虚数)の形式または極(振幅、位相)形式にできます。|
|2次元離散高速![uploading...0]()
フーリエ変換<br>([TD_DFFT2](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/QoDrfbBkHEBARA3yMdB1gA))|離散高速フーリエ変換を2次元配列に適用し、計算された2次元フーリエ係数を含む結果行列を返します。係数は、長方形(実数、虚数)の形式または極(振幅、位相)形式にできます。|
|１次元高速フーリエ変換コンバータ<br>([TD_DFFTCONV](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/7bWsMngFbKFc21fqFGpBIw))|TD_DFFTによって生成されたフーリエ係数結果系列(ART)を、人間に判読可能な形式またはraw形式に、サポートされる任意の長方形および極出力形式で変換します。|
|2次元高速フーリエ変換コンバータ<br>([TD_DFFT2CONV](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/LHEjiKgkdA~ykulflYXR_w))|TD_DFFT2により生成されるフーリエ係数結果行列(ART)を、人間に判読可能な形式またはraw形式に、サポートされる任意の長方形および極出力形式で変換します。|
|正弦波生成<br>([TD_GENSERIES4SINUSOIDS](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/sTGM2YrlYUxoR~6mmZqIQQ))|元の入力系列の正弦波要素のサブセットを含む結果系列を生成します。|
|1次元逆離散フーリエ変換<br>([TD_IDFFT](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/iPkSRQolDrge8HExlQWyMw))|1次元系列に対するフーリエ変換の効果を逆にします。|
|2次元逆離散フーリエ変換<br>([TD_IDFFT2](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/Avpjwz~63PtOSsAbBr1EjQ))|2次元行列に対するフーリエ変換の効果を逆にします。|
|線スペクトル<br>([TD_LINESPEC](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/HEDJvGenBco2F41h~6wi2A))|時系列の周期性を識別するためにライン スペクトル関数を使用します。|
|パワースペクトル<br>([TD_POWERSPEC](https://docs.teradata.com/r/l_CMtJsXetOp6EFmYLTHlg/C_0DWxo_wLTh6Oq3D4mOCA))|時系列に関連付けられたパワースペクトルを推定するためにパワースペクトル関数を使用します。|

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

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