12c database logo

Oracle Statistical Functions


Oracle Database 12cには、SQLを使用してアクセスできる一連の強力な統計関数が実装されています。この統計関数には、記述統計、仮説検定、相関分析、分布適合度検定、カイ二乗統計のクロス集計、分散分析(ANOVA)が含まれます。オラクルは、データベースにおける高度な分析機能のサポートの拡張を続けています。Oracle Data MiningとOracle R Enterpriseの組み合わせであるOracle Advanced Analytics Optionは、予測分析、データ・マイニング、テキスト・マイニング、統計分析、高度な数値計算、および対話型グラフィックスの各機能を、データベース内で提供します。強力な計算機能をデータベースに実装することにより、情報検索、スケーラビリティ、セキュリティ、節約の点で劇的な改善を実現しています。

さまざまな方法で、データベースの統計関数を使用できます。たとえば、ユーザーは、オラクルのDBMS_STAT_FUNCSを呼び出して、基本値、平均値、最大値、最小値、データセットの標準偏差の情報を取得できます。また、t検定、F検定、ANOVAなどの仮説検定統計を使用して、関係の度合いを決定できます。ユーザーは、幅広い統計を利用できるだけではなく、より高度なSQL問合せと分析パイプラインにこれらの結果を使用できます。たとえば、次のような機能です。
  • 記述統計
  • 仮説検定
  • 相関分析(パラメトリックとノンパラメトリック)
  • ランキング関数
  • カイ二乗統計のクロス集計
  • 線形回帰
  • ANOVA
  • 分布適合度検定
  • Window集計関数
  • 統計集計
  • LAG/LEAD関数
  • レポート集計関数

STATS_T_TEST_INDEPUの例: 次の例では、各分布の分散に有意差がある(非併合分散)考えられている、男性と女性に対する平均売上間の差の有意性を判断します。

SELECT SUBSTR(cust_income_level, 1, 22) income_level,
    AVG(DECODE(cust_gender, 'M', amount_sold, null)) sold_to_men,
    AVG(DECODE(cust_gender, 'F', amount_sold, null)) sold_to_women,
    STATS_T_TEST_INDEPU(cust_gender, amount_sold, 'STATISTIC', 'F') t_observed,
    STATS_T_TEST_INDEPU(cust_gender, amount_sold) two_sided_p_value
  FROM sh.customers c, sh.sales s WHERE c.cust_id = s.cust_id
  GROUP BY ROLLUP(cust_income_level)
  ORDER BY income_level, sold_to_men, sold_to_women, t_observed;

INCOME_LEVEL           SOLD_TO_MEN SOLD_TO_WOMEN T_OBSERVED TWO_SIDED_P_VALUE
---------------------- ----------- ------------- ---------- -----------------
A:Below 30,000          105.28349    99.4281447 -2.0542592        .039964704
B:30,000 - 49,999       102.59651    109.829642 2.96922332        .002987742
C:50,000 - 69,999      105.627588    110.127931  2.3496854        .018792277
D:70,000 - 89,999      106.630299    110.47287  2.26839281        .023307831
E:90,000 - 109,999     103.396741    101.610416 -1.2603509        .207545662
F:110,000 - 129,999     106.76476    105.981312 -.60580011        .544648553
G:130,000 - 149,999    108.877532    107.31377  -.85219781        .394107755
H:150,000 - 169,999    110.987258    107.152191 -1.9451486        .051762624
I:170,000 - 189,999    102.808238    107.43556  2.14966921        .031587875
J:190,000 - 249,999    108.040564    115.343356 2.54749867        .010854966
K:250,000 - 299,999    112.377993    108.196097 -1.4115514        .158091676
L:300,000 and above    120.970235    112.216342 -2.0726194        .038225611
                        107.121845    113.80441  .689462437        .490595765
                        106.663769    107.276386 1.07853782        .280794207
14 rows selected.

(STATS_T_TEST_*については、下記のSQL言語リファレンスへのリンクを参照)

統計機能に個別のライセンス料を請求する統計ソフトウェアのベンダーとは異なり、Oracle Database 12cは、データベース・ライセンスとともにこのような幅広い関数セットを実装しています。このため、ユーザーは、同等の機能を実現するためのライセンス・コストを削減できるだけではなく、統計分析を行う外部システムに対してデータの移動やステージングを行う必要がなくなります。データの移動やステージングが必要なくなると、保護されていない環境にデータのコピーを格納する必要がなくなるため、セキュリティが向上します。また、データの移動に伴うオーバーヘッドがなくなるため、結果にいたる時間が短縮されます。 統計結果はSQLですぐに使用可能で、Oracle Databaseに統合されるため、Oracleスタックで統計結果をすぐに使用できます。このため、自然発生的な方法や予期しない方法で統計結果を活用するさらに多くの機会が提供されます。

さらに、Oracle R Enterpriseは、オープン・ソースの統計用Rプログラミング言語から使用できるSQLベースの統計関数を公開しており、計算をデータベース側で実行することによってパフォーマンスが大幅に向上します。Oracle Data Miningでも、Oracle SQL Developer 3.1の拡張機能であるOracle Data Miner GUI(グラフィカル・ユーザー・インタフェース)を通じて、SQLベースの統計関数を使用できます。

技術情報

red-arrow-box Oracle Databaseデータウェアハウス・ガイド - 分析計算およびレポート用SQL関数
red-arrow-box Oracle Database SQL言語リファレンス - STATS_T_TEST_*
red-arrow-box Oracle Statistical Functions - 概要のプレゼンテーション(PDF、0.6MB)

OTNホームページ

red-arrow-box Oracle R EnterpriseのOTNホーム red-arrow-box Oracle Data MiningのOTNホーム

データシート

red-arrow-box Oracle R Enterpriseコンポーネント・シート red-arrow-box Oracle Data Miningコンポーネント・シート

ブログ

red-arrow-box Oracle R Enterpriseブログ red-arrow-box Oracle Data Miningブログ

ディスカッション・フォーラム

red-arrow-box Oracle R Enterpriseディスカッション・フォーラム red-arrow-box Oracle Data Miningディスカッション・フォーラム

 Oracle Advanced Analytics Option
 Oracle BIホーム
red-arrow-box Oracle DatabaseのDWおよびビッグ・データ対応
 Oracle Exalytics In-Memory Machine
red-arrow-box オラクルのBI & DWテクノロジー
red-arrow-box Oracle SQL Developer
red-arrow-box Oracle OLAP