9 空間分析およびマイニング
この章ではデータ・マイニング・アプリケーションにおける空間データの使用を可能にするOracle Spatial and Graph機能について説明します。
ノート:
この章で説明する機能を使用する場合は、Oracle Advanced Analytics OptionのコンポーネントであるOracle Data Miningのドキュメントに記載されている主な概念および機能を理解しておく必要があります。
空間分析およびSDO_SAMパッケージのマイニングのファンクションおよびプロシージャのリファレンス情報については、「SDO_SAMパッケージ(空間分析およびマイニング)」を参照してください。
ノート:
SDO_SAMサブプログラムは2次元ジオメトリでのみサポートされています。これらは3次元ジオメトリではサポートされていません。
- 空間情報およびデータ・マイニング・アプリケーション
Oracle Data Miningを使用すると、データベース内の隠れたナレッジを自動的に発見できます。この機能では、異なるデータ属性間の隠れた関連性の発見、一部のサンプルに基づいたデータの分類、およびクラスタ化による固有のパターンの識別が行われます。空間データをマテリアライズして、データ・マイニング・アプリケーションに含めることができます。 - 空間のビニングによる地域パターンの検出
空間のビニング(空間の区分)とは、位置の値を、地理区域に関連付けられた少数のグループに区分することです。 - 空間相関のマテリアライズ
空間相関(または近隣の影響)とは、ある地域に存在する特定のオブジェクトの位置が、そのオブジェクトの非空間属性に影響を及ぼす現象です。たとえば、任意の(ジオコード済で、空間属性が指定されている)住所に建っている家の価値(非空間属性)は、近隣の他の家の価値によって大きく左右されます。 - コロケーション・マイニング
コロケーションとは、同じ位置または非常に近い位置に、複数の空間オブジェクトが存在することです。コロケーション・パターンは、非空間属性に関して空間データ・オブジェクト間の興味深い関連性を示す場合があります。 - 空間のクラスタ化
空間のクラスタ化を実行すると、データのレイヤーのクラスタ・ジオメトリが戻されます。空間のクラスタ化の例は、犯罪発生場所データのクラスタ化です。 - 位置の予測
位置の予測を実行するには、テーマ・レイヤーを使用してレイヤーを集計し、集計結果の最大値を持つ位置を選択します。
親トピック: 概要および使用情報
9.1 空間情報およびデータ・マイニング・アプリケーション
Oracle Data Miningを使用すると、データベース内の隠れたナレッジを自動的に発見できます。この機能では、異なるデータ属性間の隠れた関連性の発見、一部のサンプルに基づいたデータの分類、およびクラスタ化による固有のパターンの識別が行われます。空間データをマテリアライズして、データ・マイニング・アプリケーションに含めることができます。
そのため、Oracle Data Miningを使用すると、特定の区域(近隣、市または地域)内の住民に対する販売予測で、これらの区域の住民は特定のテレビ番組を見る可能性が高いこと、または特定の広告による勧誘に好意的に反応する可能性が高いことを発見できる場合があります。(住所は経度/緯度の点にジオコードされ、Oracle Spatial and Graphジオメトリ・オブジェクトに格納されます。)
多くのアプリケーションで、特定の位置に存在するデータは、近隣のデータの影響を受けます。たとえば、家の価値は、近隣の他の家の価値によって大きく左右されます。この現象は、空間相関(または近隣の影響)と呼ばれます(「空間相関のマテリアライズ」を参照)。Oracle Spatial and Graphの空間分析およびマイニング機能を使用すると、データ項目の位置属性を使用してデータを地域別にビニング(区分)したり(データを北、南、東および西の地域別に分類するなど)、近隣(各店舗から半径2マイル以内の顧客数など)の影響をマテリアライズしたり、同じ場所に存在するデータ項目(ビデオ・レンタル店やピザ・レストランなど)を識別して、空間相関を活用することができます。
空間データのマイニングを実行するには、テーマ・レイヤーを使用して、一連の空間データに対する空間条件および関係をマテリアライズします。各レイヤーには、公園やレクリエーション施設、デモグラフィックな収入データなど、特定の種類の空間データに関するデータ(特定の「テーマ」を持つデータ)が含まれています。空間のマテリアライズは、データ・マイニングを実行する前の前処理ステップとして実行するか、または空間マイニングの中間ステップとして実行できます(図9-1を参照)。
図9-1では、次のことに注意してください。
-
空間データおよび非空間データを含む元のデータが、マテリアライズされたデータを生成するために処理されます。
-
元のデータ内の空間データが、マテリアライズされたデータを生成するために空間マイニング・ファンクションによって処理されます。この処理には、空間のビニング、近接性、コロケーション・マテリアライズなどの操作が含まれます。
-
Oracle Data Miningエンジンが、マテリアライズされたデータ(空間および非空間)を処理して、マイニング結果を生成します。
空間情報を処理に加えることでメリットを得る可能性があるデータ・マイニング・アプリケーションの例を次に示します。
-
ビジネス予測: 他のフランチャイズ店と同じ場所で営業する(ピザ・ハット・レストランとブロックバスター・ビデオ店が同じ場所で営業するなど)ことによって売上が増えるかどうかを判断します。
-
店舗予測: 大都市から50マイル以内で、消費税制度がない州内の、店舗の立地に適した場所を検索します。(消費税の支払いを回避するために50マイルを運転するのは遠すぎる可能性がありますが、半径50マイルの範囲内で消費税制度がない州の近くに、多くの顧客が住んでいる場合があります。)
-
病院予測: 近隣に住む患者の人口に基づいて、新しく病院を設立するのに最適な場所を特定します。
-
空間地域に基づいた分類またはパーソナライズ: 米国南東部に住む特定の年代または所得層の顧客が、ソフト・ロック音楽とハード・ロック音楽のどちらを好むかを判断します。
-
自動車保険: 任意の顧客の自宅または職場の住所が、事故や自動車盗難の発生率が高い地域内にあるかどうかを判断します。
-
プロパティ分析: コロケーション・ルールを使用して、高速道路に近接していることと、家の価値または店舗の売上の間の隠れた関連性を発見します。
-
プロパティ評価: 近隣に立っている類似の家の価値を調べて、差異と空間相関に基づいて家の価値を見積もります。
親トピック: 空間分析およびマイニング
9.2 空間のビニングによる地域パターンの検出
空間のビニング(空間の区分)とは、位置の値を、地理区域に関連付けられた少数のグループに区分することです。
位置をグループに割り当てるには、次のいずれかの方法を使用します。
-
経度/緯度座標を逆にジオコードして、郵便番号、市、州および国(米国の場合)で識別される住所を取得します。
-
空間ビン表を確認して、特定の位置がどのビンに属しているかを判断します。
次に、Oracle Data Miningの機能を区分された位置に適用して、興味深い地域パターンまたは相関ルールを識別できます。たとえば、地域Aの顧客は通常の炭酸飲料を好み、地域Bの顧客はダイエット炭酸飲料を好むことを発見する場合があります。
次のファンクションおよびプロシージャ(「SDO_SAMパッケージ(空間分析およびマイニング)」を参照)は、空間ビニングに関連する操作を実行します。
親トピック: 空間分析およびマイニング
9.3 空間相関のマテリアライズ
空間相関(または近隣の影響)とは、ある地域に存在する特定のオブジェクトの位置が、そのオブジェクトの非空間属性に影響を及ぼす現象です。たとえば、任意の(ジオコード済で、空間属性が指定されている)住所に建っている家の価値(非空間属性)は、近隣の他の家の価値によって大きく左右されます。
データ・マイニング・アプリケーションで空間相関を使用するには、属性(列)をデータ・マイニング表に追加して、空間相関をマテリアライズします。適切な属性を追加するには、関連付けられたテーマ表を使用します。次に、Oracle Data Miningのファンクションを使用して、データ・マイニング表に対してマイニング・タスクを実行します。
次のファンクションおよびプロシージャ(「SDO_SAMパッケージ(空間分析およびマイニング)」を参照)は、空間相関のマテリアライズに関連する操作を実行します。
親トピック: 空間分析およびマイニング
9.4 コロケーション・マイニング
コロケーションとは、同じ位置または非常に近い位置に、複数の空間オブジェクトが存在することです。コロケーション・パターンは、非空間属性に関して空間データ・オブジェクト間の興味深い関連性を示す場合があります。
たとえば、データ・マイニング・アプリケーションによって、特定のピザ・レストラン・チェーンのフランチャイズ店の売上が、ビデオ店と同じ場所で営業している店舗の方が、そうでない店舗より多いことが発見される場合があります。
次の2種類のコロケーション・マイニングがサポートされています。
-
データ・マイニング表内の項目のコロケーション。この方法では、任意のデータ・レイヤーで、複数のフィーチャのコロケーションが識別されます。たとえば、捕食動物と被捕食動物が同じ場所に生息していたり、売上の多いピザ・レストランは売上の多いビデオ店と同じ場所で営業している可能性があります。参照フィーチャによる方法(1つのフィーチャを参照として、また他のフィーチャをテーマ属性として使用し、その参照フィーチャのすべての近隣フィーチャをマテリアライズする方法)またはバッファ・ベースの方法(指定したサイズのすべてのウィンドウ内に存在するすべての項目をマテリアライズする方法)を使用できます。
-
テーマ・レイヤーとのコロケーション。この方法では、任意の複数のデータ・レイヤーで、複数のレイヤーにまたがるコロケーションが識別されます。たとえば、任意の湖レイヤーと植物レイヤーでは、湖が存在する場所に植物が多い可能性があります。データをマテリアライズし、分類と数値の空間関係をデータ・マイニング表に追加して、Oracle Data Miningの相関ルール・メカニズムを適用します。
次のファンクションおよびプロシージャ(「SDO_SAMパッケージ(空間分析およびマイニング)」を参照)は、コロケーション・マイニングに関連する操作を実行します。
親トピック: 空間分析およびマイニング
9.5 空間のクラスタ化
空間のクラスタ化を実行すると、データのレイヤーのクラスタ・ジオメトリが戻されます。空間のクラスタ化の例は、犯罪発生場所データのクラスタ化です。
SDO_SAM.SPATIAL_CLUSTERSファンクション(「SDO_SAMパッケージ(空間分析およびマイニング)」を参照)は、空間のクラスタ化を実行します。このファンクションでは、レイヤーのジオメトリ列に空間Rツリー索引が作成されている必要があります。このファンクションは、一連のSDO_REGIONオブジェクトを戻します。このオブジェクトでは、ジオメトリ列によって各クラスタの境界が指定され、geometry_key
値がNULLに設定されています。
ビン表内の戻された空間クラスタにSDO_SAM.BIN_GEOMETRYファンクションを使用すると、ジオメトリが属するクラスタを識別できます。
親トピック: 空間分析およびマイニング
9.6 位置の予測
位置の予測を実行するには、テーマ・レイヤーを使用してレイヤーの集計を行い、集計結果の最大値を持つ位置を選択します。
次のファンクション(「SDO_SAMパッケージ(空間分析およびマイニング)」を参照)は、位置の予測に関連する操作を実行します。
親トピック: 空間分析およびマイニング