UNIVARIATEプロシジャ

計算リソース

UNIVARIATEプロシジャは分位点統計量を計算するため、メモリ内にデータのコピーを保存するための追加のメモリを必要とします。デフォルトでは、MEANS、SUMMARYおよびTABULATEプロシジャは分位点を自動的に計算しないため、必要なメモリは少なくなります。これらのプロシジャでは、固定メモリにより分位点を推定する新しい方法を使用するオプションも指定できます。通常、この方法を使用するとメモリ消費量は少なくなります。

UNIVARIATEプロシジャで、分析できる変数の数を制限する唯一の要素は、使用できるコンピュータリソースです。必要な一時記憶域のサイズとCPU時間は、指定するステートメントおよびオプションによって異なります。プロシジャが必要とするコンピュータリソースを計算するには、次のように指定します。

N

データセットのオブザベーションの数

V

VARステートメントの変数の数

$U_ i$

i番目の変数の重複しない値の数

この場合、すべての変数を処理するための最低メモリ要件(バイト)は$M=24\sum _ i U_ i$です。Mバイトが使用可能でない場合、UNIVARIATEプロシジャですべての統計量を計算するには、データを複数回処理する必要があります。これにより、最小メモリ要件は$M=24 \max (U_ i)$に減少します。

ROUND=オプションを使用すると重複しない値の数$(U_ i)$が減少するため、メモリ要件が減少します。ROBUSTSCALEオプションでは、$40U_ i$バイトの一時記憶域が必要です。

CPU時間にはいくつかの要素が影響します。

  • オブザベーションを内部的に保存するためのVツリー構造を作成する時間は、$NV \log (N)$に比例します。

  • 積率とi番目の変数の分位点を計算する時間は、$U_ i$に比例します。

  • NORMALオプションの検定統計量を計算する時間は、Nに比例します。

  • ROBUSTSCALEオプションの検定統計量を計算する時間は、$U_ i \log (U_ i)$に比例します。

  • 符号順位統計量の正確な有意水準を計算する時間は、0以外の値の数が20個以下の場合は長くなる場合があります。

これらの比例定数は要素ごとに異なります。CPUパフォーマンスとメモリ使用量の最適化の詳細は、使用している動作環境のSASドキュメントを参照してください。