158 DBMS_STAT_FUNCS

DBMS_STAT_FUNCSパッケージは、統計のファンクションを提供します。

この章では、次の項目について説明します。

158.1 DBMS_STAT_FUNCSサブプログラムの要約

この表では、DBMS_STAT_FUNCSパッケージのサブプログラムをリストし、簡単に説明します。

表158-1 DBMS_STAT_FUNCSパッケージのサブプログラム

サブプログラム 説明

EXPONENTIAL_DIST_FITプロシージャ

指数分布におけるサンプル値の適合性をテストします。

NORMAL_DIST_FITプロシージャ

正規分布におけるサンプル値の適合性をテストします。

POISSON_DIST_FITプロシージャ

Poisson分布におけるサンプル値の適合性をテストします。

SUMMARYプロシージャ

表の数値列を集約します。

UNIFORM_DIST_FITプロシージャ

一様分布におけるサンプル値の適合性をテストします。

WEIBULL_DIST_FITプロシージャ

Weibull分布におけるサンプル値の適合性をテストします。

158.1.1 EXPONENTIAL_DIST_FITプロシージャ

このプロシージャは、指数分布におけるサンプル値の適合性をテストします。

構文

DBMS_STAT_FUNCS.EXPONENTIAL_DIST_FIT (
   ownername    IN    VARCHAR2,
   tablename    IN    VARCHAR2,
   columnname   IN    VARCHAR2,
   test_type    IN    VARCHAR2 DEFAULT 'KOLMOGOROV_SMIRNOV',
   lambda       IN    NUMBER,
   mu           IN    NUMBER,
   sig          OUT   NUMBER);

パラメータ

表158-2 EXPONENTIAL_DIST_FITプロシージャのパラメータ

パラメータ 説明

ownername

表が存在するスキーマ。

tablename

列が存在する表。

columnname

テストの実行対象となる表の列。

test_type

使用するテスト・タイプ('CHI_SQUARED'、'KOLMOGOROV_SMIRNOV'または'ANDERSON_DARLING')。

lambda

スケール・パラメータ。

mu

ロケーション・パラメータ。

sig

テスト・タイプに基づく、適合値の適正さ。値が小さい場合は、サンプルと指数分布との間に大きな差があることを示します。1に近い値は、ほぼ一致していることを示します。

158.1.2 NORMAL_DIST_FITプロシージャ

このプロシージャは、正規分布におけるサンプル値の適合性をテストします。

構文

DBMS_STAT_FUNCS.NORMAL_DIST_FIT (
   ownername    IN    VARCHAR2,
   tablename    IN    VARCHAR2,
   columnname   IN    VARCHAR2,
   test_type    IN    VARCHAR2 DEFAULT 'SHAPIRO_WILKS',
   mean         IN    NUMBER,
   stdev        IN    NUMBER,
   sig          OUT   NUMBER);

パラメータ

表158-3 NORMAL_DIST_FITプロシージャのパラメータ

パラメータ 説明

ownername

表が存在するスキーマ。

tablename

列が存在する表。

columnname

テストの実行対象となる表の列。

test_type

使用するテスト・タイプ('CHI_SQUARED'、'KOLMOGOROV_SMIRNOV'、'ANDERSON_DARLING'または'SHAPIRO_WILKS')。

mean

比較の対象となる分布の平均。

stdev

比較の対象となる分布の標準偏差。

sig

テスト・タイプに基づく、適合値の適正さ。値が小さい場合は、サンプルと正規分布との間に大きな差があることを示します。1に近い値は、ほぼ一致していることを示します。

158.1.3 POISSON_DIST_FITプロシージャ

このプロシージャは、Poisson分布におけるサンプル値の適合性をテストします。

構文

DBMS_STAT_FUNCS.POISSON_DIST_FIT (
   ownername    IN    VARCHAR2,
   tablename    IN    VARCHAR2,
   columnname   IN    VARCHAR2,
   test_type    IN    VARCHAR2 DEFAULT 'KOLMOGOROV_SMIRNOV',
   lambda       IN    NUMBER,
   sig          OUT   NUMBER);

パラメータ

表158-4 POISSON_DIST_FITプロシージャのパラメータ

パラメータ 説明

ownername

表が存在するスキーマ。

tablename

列が存在する表。

columnname

テストの実行対象となる表の列。

test_type

使用するテスト・タイプ('KOLMOGOROV_SMIRNOV'または'ANDERSON_DARLING')。

lambda

lambdaパラメータは形状パラメータです。

sig

テスト・タイプに基づく、適合値の適正さ。値が小さい場合は、サンプルとPoisson分布との間に大きな差があることを示します。1に近い値は、ほぼ一致していることを示します。

158.1.4 SUMMARYプロシージャ

このプロシージャは、tablenamecolumnnameで指定されている数値列を集約します。

このサマリーは、SummaryTypeとして戻されます。SUMMARYの出力は、多くの場合、現在使用しているSQLで取得できるので、覚えておいてください。

構文

DBMS_STAT_FUNCS.SUMMARY (
   ownername    IN    VARCHAR2,
   tablename    IN    VARCHAR2,
   columnname   IN    VARCHAR2,
   sigma_value  IN    NUMBER DEFAULT 3,
   s           OUT    SummaryType);

パラメータ

表158-5 SUMMARYプロシージャのパラメータ

パラメータ 説明

ownername

表が存在するスキーマ。

tablename

列が存在する表。

columnname

サマリー作成の対象とする表の列。

sigma_value

極値セットのsigma数。デフォルト値は3です。

s

特定の列のサマリー情報を含むレコード。

SummaryTypeの定義

TYPE n_arr IS VARRAY(5) of NUMBER;
TYPE num_table IS TABLE of NUMBER;
TYPE summaryType IS RECORD (
   count             NUMBER,
   min               NUMBER,
   max               NUMBER,
   range             NUMBER,
   mean              NUMBER,
   cmode             num_table,
   variance          NUMBER,
   stddev            NUMBER,
   quantile_5        NUMBER,
   quantile_25       NUMBER,
   median            NUMBER,
   quantile_75       NUMBER,
   quantile_95       NUMBER,
   plus_x_sigma      NUMBER,
   minus_x_sigma     NUMBER,
   extreme_values    num_table,
   top_5_values      n_arr,
   bottom_5_values   n_arr);

158.1.5 UNIFORM_DIST_FITプロシージャ

このプロシージャは、一様分布におけるサンプル値の適合性をテストします。

構文

DBMS_STAT_FUNCS.UNIFORM_DIST_FIT (
   ownername    IN    VARCHAR2,
   tablename    IN    VARCHAR2,
   columnname   IN    VARCHAR2,
   var_type     IN    VARCHAR2 DEFAULT 'CONTINUOUS',
   test_type    IN    VARCHAR2 DEFAULT 'KOLMOGOROV_SMIRNOV',
   paramA       IN    NUMBER,
   paramB       IN    NUMBER,
   sig          OUT   NUMBER);

パラメータ

表158-6 UNIFORM_DIST_FITプロシージャのパラメータ

パラメータ 説明

ownername

表が存在するスキーマ。

tablename

列が存在する表。

columnname

テストの実行対象となる表の列。

var_type

分布のタイプ('CONTINUOUS'(デフォルト)または'DISCRETE')。

test_type

使用するテスト・タイプ('CHI_SQUARED'、'KOLMOGOROV_SMIRNOV'または'ANDERSON_DARLING')。

paramA

パラメータA。サンプル(ロケーション・パラメータ)から見積もる。

paramB

パラメータB。サンプル(スケール・パラメータ)から見積もる。

sig

テスト・タイプに基づく、適合値の適正さ。値が小さい場合は、サンプルと一様分布との間に大きな差があることを示します。1に近い値は、ほぼ一致していることを示します。

158.1.6 WEIBULL_DIST_FITプロシージャ

このプロシージャは、Weibull分布におけるサンプル値の適合性をテストします。

構文

DBMS_STAT_FUNCS.WEIBULL_DIST_FIT (
   ownername    IN    VARCHAR2,
   tablename    IN    VARCHAR2,
   columnname   IN    VARCHAR2,
   test_type    IN    VARCHAR2 DEFAULT 'KOLMOGOROV_SMIRNOV',
   alpha        IN    NUMBER,
   mu           IN    NUMBER,
   beta         IN    NUMBER,
   sig          OUT   NUMBER);

パラメータ

表158-7 WEIBULL_DIST_FITプロシージャのパラメータ

パラメータ 説明

ownername

表が存在するスキーマ。

tablename

列が存在する表。

columnname

テストの実行対象となる表の列。

test_type

使用するテスト・タイプ('CHI_SQUARED'、'KOLMOGOROV_SMIRNOV'または'ANDERSON_DARLING')。

alpha

スケール・パラメータ。

mu

ロケーション・パラメータ。

beta

傾き/形状のパラメータ。

sig

テスト・タイプに基づく、適合値の適正さ。値が小さい場合は、サンプルとWeibull分布との間に大きな差があることを示します。1に近い値は、ほぼ一致していることを示します。