(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-06
(54)【発明の名称】自動モデル生成におけるモデルデプロイメントのモデル適合性および安定性の判定のためのシステムならびに方法
(51)【国際特許分類】
G06Q 40/06 20120101AFI20240130BHJP
【FI】
G06Q40/06
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023545824
(86)(22)【出願日】2022-01-28
(85)【翻訳文提出日】2023-09-27
(86)【国際出願番号】 US2022014418
(87)【国際公開番号】W WO2022165253
(87)【国際公開日】2022-08-04
(32)【優先日】2021-01-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-01-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】アグラワル,ビカス
(72)【発明者】
【氏名】ラーマナータン,クリシュナン
(72)【発明者】
【氏名】シシュトラ,プラニース
(72)【発明者】
【氏名】チャンド,ジャグディシュ
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055BB57
(57)【要約】
一実施形態によると、本明細書に記載するのは、モデルデプロイメントおよび自動モデル生成について、モデル適合性および安定性の判定を提供するための、コンピューティング環境と共に使用するシステムおよび方法である。モデル適合性・安定性コンポーネントは、特定のアプリケーションについてモデル適合性および安定性を判定するために、モデルの選択、モデルデプロイ可能性スコア・デプロイ可能性フラグの使用、およびモデルドリフトリスクの軽減をサポートする1つ以上の機能を提供することができる。たとえば、実施形態は、分析アプリケーション、データアナリティクス、または他のタイプのコンピューティング環境と共に使用されて、たとえば、金融アプリケーションまたは他のタイプのアプリケーションにおいて、直接実行可能なリスク予測を提供し得る。
【特許請求の範囲】
【請求項1】
自動モデル生成におけるモデルデプロイメントについて、モデル適合性および安定性を判定するシステムであって、
1つ以上のマイクロプロセッサを含むコンピュータ、および前記コンピュータ上で動作するデータアナリティクスクラウドまたは他のコンピューティング環境を備え、
前記1つ以上のマイクロプロセッサは、
前記データアナリティクスクラウドにおいて、複数のモデルを提供し、
前記データアナリティクスクラウドにおけるデータのセットに基づいて、前記複数のモデルのセットをスコアリングし、
前記スコアリングに基づいて、前記複数のモデルのセットのうちのモデルを選択し、
不安定性またはドリフトの兆候について、前記モデルを監視するように動作する、システム。
【請求項2】
前記複数のモデルのセットをスコアリングすることは、前記複数のモデルのセットの各々について、
前記モデルの予測を、確率ビンのセットのうちの確率ビンに自動的に割り当てることと、
逐次的確率ビンの間の正分類の逐次差分を決定することと、
逐次的確率ビンの間の正分類の逐次差分の各々に、重みを適用することとを含み、
正分類の逐次差分の各々に適用される前記重みは、前記重みが適用される前記確率ビンに従属する、請求項1に記載のシステム。
【請求項3】
前記重みは、より高確率のビンほど大きくなる、請求項2に記載のシステム。
【請求項4】
前記複数のモデルのセットをスコアリングすることはさらに、前記複数のモデルのセットの各々について、
確率ビンの各々の分類に失敗するごとに、ペナルティを適用することと、
失敗した分類ごとに、適用されたペナルティの各々に、ペナルティの重みを適用することとを含む、請求項3に記載のシステム。
【請求項5】
前記ペナルティの重みは、より高確率のビンほど大きくなる、請求項4に記載のシステム。
【請求項6】
前記複数のモデルのセットをスコアリングすることはさらに、前記複数のモデルのセットの各々について、
生成されたスコアを、分類されたサンプルの数で正規化することを含む、請求項5に記載のシステム。
【請求項7】
不安定性またはドリフトの兆候について、前記モデルを監視することは、
モデルの劣化の1つ以上のシグナルを検出することと、
同じ事前分類を有するインスタンスのクラスタまでの、前記モデルによって生成される各インスタンスの距離を決定することと、
前記モデルの新しいバージョンにおいて、最近傍の少なくとも1つ以上が反転分類を有していると判定することと、
前記モデルによって生成されたインスタンスの総数のうち、前記反転分類の割合を決定することと、
決定された前記割合が第1の閾値を超えると、前記モデルをわずかに不安定であるとタグ付けすることと、
決定された前記割合が第2の閾値を超えると、前記モデルを不安定であるとタグ付けすることとを含む、請求項1に記載のシステム。
【請求項8】
自動モデル生成におけるモデルデプロイメントについて、モデル適合性および安定性を判定する方法であって、
1つ以上のマイクロプロセッサを含むコンピュータ、および前記コンピュータ上で動作するデータアナリティクスクラウドまたは他のコンピューティング環境を提供することと、
前記データアナリティクスクラウドにおいて、複数のモデルを提供することと、
前記データアナリティクスクラウドにおけるデータのセットに基づいて、前記コンピュータが、前記複数のモデルのセットをスコアリングすることと、
前記コンピュータが、前記スコアリングに基づいて、前記複数のモデルのセットうちのモデルを選択することと、
前記コンピュータが、不安定性またはドリフトの兆候について、前記モデルを監視することとを含む、方法。
【請求項9】
前記複数のモデルのセットをスコアリングすることは、前記複数のモデルのセットの各々について、
前記モデルの予測を、確率ビンのセットのうちの確率ビンに自動的に割り当てることと、
逐次的確率ビンの間の正分類の逐次差分を決定することと、
逐次的確率ビンの間の正分類の逐次差分の各々に、重みを適用することとを含み、
正分類の逐次差分の各々に適用される前記重みは、前記重みが適用される前記確率ビンに従属する、請求項8に記載の方法。
【請求項10】
前記重みは、より高確率のビンほど大きくなる、請求項9に記載の方法。
【請求項11】
前記複数のモデルのセットをスコアリングすることはさらに、前記複数のモデルのセットの各々について、
確率ビンの各々の分類に失敗するごとに、ペナルティを適用することと、
失敗した分類ごとに、適用されたペナルティの各々に、ペナルティの重みを適用することとを含む、請求項10に記載の方法。
【請求項12】
前記ペナルティの重みは、より高確率のビンほど大きくなる、請求項11に記載の方法。
【請求項13】
前記複数のモデルのセットをスコアリングすることはさらに、前記複数のモデルのセットの各々について、
生成されたスコアを、分類されたサンプルの数で正規化することを含む、請求項12に記載の方法。
【請求項14】
不安定性またはドリフトの兆候について、前記モデルを監視することは、
モデルの劣化の1つ以上のシグナルを検出することと、
同じ事前分類を有するインスタンスのクラスタまでの、前記モデルによって生成される各インスタンスの距離を決定することと、
前記モデルの新しいバージョンにおいて、最近傍の少なくとも1つ以上が反転分類を有していると判定することと、
前記モデルによって生成されたインスタンスの総数のうち、前記反転分類の割合を決定することと、
決定された前記割合が第1の閾値を超えると、前記モデルをわずかに不安定であるとタグ付けすることと、
決定された前記割合が第2の閾値を超えると、前記モデルを不安定であるとタグ付けすることとを含む、請求項8に記載の方法。
【請求項15】
1つ以上のコンピュータによって読み出され実行されると、前記1つ以上のコンピュータに方法を実行させる命令を格納した非一時的なコンピュータ読取可能記憶媒体であって、前記方法は、
1つ以上のマイクロプロセッサを含むコンピュータ、および前記コンピュータ上で動作するデータアナリティクスクラウドまたは他のコンピューティング環境を提供することと、
前記データアナリティクスクラウドにおいて、複数のモデルを提供することと、
前記データアナリティクスクラウドにおけるデータのセットに基づいて、前記複数のモデルのセットをスコアリングすることと、
前記スコアリングに基づいて、前記複数のモデルのセットうちのモデルを選択することと、
不安定性またはドリフトの兆候についてモデルを監視することとを含む、非一時的なコンピュータ読取可能記憶媒体。
【請求項16】
前記複数のモデルのセットをスコアリングすることは、前記複数のモデルのセットの各々について、
前記モデルの予測を、確率ビンのセットのうちの確率ビンに自動的に割り当てることと、
逐次的確率ビンの間の正分類の逐次差分を決定することと、
逐次的確率ビンの間の正分類の逐次差分の各々に、重みを適用することとを含み、
正分類の逐次差分の各々に適用される前記重みは、前記重みが適用される前記確率ビンに従属する、請求項15に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項17】
前記重みは、より高確率のビンほど大きくなる、請求項16に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項18】
前記複数のモデルのセットをスコアリングすることはさらに、前記複数のモデルのセットの各々について、
確率ビンの各々の分類に失敗するごとに、ペナルティを適用することと、
失敗した分類ごとに、適用されたペナルティの各々に、ペナルティの重みを適用することとを含み、
前記ペナルティの重みは、より高確率のビンほど大きくなる、請求項17に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項19】
前記複数のモデルのセットをスコアリングすることはさらに、前記複数のモデルのセットの各々について、
生成されたスコアを、分類されたサンプルの数で正規化することを含む、請求項18に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項20】
不安定性またはドリフトの兆候について、前記モデルを監視することは、
モデルの劣化の1つ以上のシグナルを検出することと、
同じ事前分類を有するインスタンスのクラスタまでの、前記モデルによって生成される各インスタンスの距離を決定することと、
前記モデルの新しいバージョンにおいて、最近傍の少なくとも1つ以上が反転分類を有していると判定することと、
前記モデルによって生成されたインスタンスの総数のうち、前記反転分類の割合を決定することと、
決定された前記割合が第1の閾値を超えると、前記モデルをわずかに不安定であるとタグ付けすることと、
決定された前記割合が第2の閾値を超えると、前記モデルを不安定であるとタグ付けすることとを含む、請求項15に記載の非一時的なコンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
優先権の主張
本願は、2021年1月28日に出願された「SYSTEM AND METHOD FOR DETERMINATION OF MODEL FITNESS AND STABILITY FOR MODEL DEPLOYMENT IN AUTOMATED MODEL GENERATION(自動モデル生成におけるモデルデプロイメントのモデル適合性および安定性の判定のためのシステムおよび方法)」と題する米国仮特許出願第63/142,826号、および2022年1月27日に出願された「SYSTEM AND METHOD FOR DETERMINATION OF MODEL FITNESS AND STABILITY FOR MODEL DEPLOYMENT IN AUTOMATED MODEL GENERATION(自動モデル生成におけるモデルデプロイメントのモデル適合性および安定性の判定のためのシステムおよび方法)」と題する米国特許出願第17/586,639号の優先権の利益を主張し、上記の出願の各々の内容は、引用により本明細書に援用する。
【0002】
技術分野
本明細書に記載する実施形態は、一般に、データモデル、データアナリティクス環境、ならびにモデルデプロイメントおよび自動モデル生成について、モデル適合性および安定性の判定を提供するためのシステムおよびに方法に関する。
【背景技術】
【0003】
背景
データアナリティクスをサポートするためのシステム、および特定の顧客の要件に対処するプロセス、たとえば顧客の金融アプリケーションにおいて売掛金を予測するプロセスに関して、異なる顧客は、その基礎となるデータ生成ビジネスプロセスの特性に近似する異なるモデルの生成を必要とする可能性があると推測される場合がある。
【0004】
このようなモデルは、顧客企業の異なる部門における同様のプロセスに対して異なる可能性がある。さらに、経時的に、データ生成ビジネスプロセスが変化し、それらのプロセスに対する入力の特徴的な分布も変化する可能性がある。
【発明の概要】
【課題を解決するための手段】
【0005】
要約
一実施形態によると、本明細書に記載するのは、モデルデプロイメントおよび自動モデル生成について、モデル適合性および安定性の判定を提供するための、コンピューティング環境と共に使用されるシステムおよび方法である。モデル適合性・安定性コンポーネントは、特定のアプリケーションのモデル適合性および安定性を判定するために、モデルの選択、モデルデプロイ可能性スコア・デプロイ可能性フラグの使用、ならびにモデルドリフトリスクの軽減をサポートする1つ以上の機能を提供し得る。たとえば、実施形態は、分析アプリケーション、データアナリティクス、または他のタイプのコンピューティング環境と共に使用されて、たとえば、金融アプリケーションまたは他のタイプのアプリケーションにおいて、直接実行可能なリスク予測を提供し得る。
【図面の簡単な説明】
【0006】
【
図1】一実施形態に係る、例示的なデータアナリティクス環境を示す図である。
【
図2】一実施形態に係る、例示的なデータアナリティクス環境をさらに示す図である。
【
図3】一実施形態に係る、例示的なデータアナリティクス環境をさらに示すである。
【
図4】一実施形態に係る、例示的なデータアナリティクス環境をさらに示す図である。
【
図5】一実施形態に係る、例示的なデータアナリティクス環境をさらに示す図である。
【
図6】一実施形態に係る、データアナリティクス環境に関連して使用される、モデル適合性および安定性の判定を示す図である。
【
図7】一実施形態に係る、さまざまなモデルの確率スコアの比較例を示す図である。
【
図8】一実施形態に係る、モデル適合性および安定性を判定するためのプロセスまたは方法を示す図である。
【
図9】一実施形態に係る、モデル適合性および安定性を判定するためのプロセスまたは方法をさらに示す図である。
【
図10】一実施形態に係る、インボイスのソートされたリストを説明する図である。
【
図11】一実施形態に係る、データを分析するモデルの出力を説明する図である。
【
図12】一実施形態に係る、自動モデル生成におけるモデルデプロイメントについて、モデル適合性および安定性を判定するための方法を示すフローチャートである。
【発明を実施するための形態】
【0007】
詳細な説明
上述したように、データアナリティクスをサポートするシステム、および特定の顧客の要件に対処する(たとえば、顧客の金融アプリケーションにおける売掛金を予測する)プロセスに関して、異なる顧客は、その基礎となるデータ生成ビジネスプロセスの特性に近似した異なるモデルの生成を必要とする可能性があると推測される場合がある。
【0008】
このようなモデルは、顧客企業の異なる部門における同様のプロセスに対して異なる可能性がある。さらに、経時的に、データ生成ビジネスプロセスが変化し、それらのプロセスへの入力の特性分布も変化する可能性がある。
【0009】
一実施形態によると、本明細書に記載するのは、モデルデプロイメントおよびモデル自動生成について、モデル適合性および安定性の判定を提供するための、コンピューティング環境と共に使用されるシステムおよび方法である。モデル適合性・安定性コンポーネントは、特定のアプリケーションのモデル適合性および安定性を判定するために、モデルの選択、モデルデプロイ可能性スコア・デプロイ可能性フラグの使用、およびモデルドリフトリスクの軽減をサポートする1つ以上の機能を提供することができる。
【0010】
さまざまな実施形態によると、記載するアプローチは、たとえば、以下のようなさまざまな考慮事項に対処するために使用することができる。
【0011】
手動方法は時間および金額において法外に高価であるため、モデル適合性は自動化によって恩恵を受ける。システムおよび方法がデータサンプルを使用して企業向けのモデルのクラスを作成する場合、何千もの顧客が存在し、各データセットの予測のつかない変化を手動で調べ、データに基づいてモデルを調整することは法外に高価であるため、システムは、事例ごとの顧客データを使用して、専門家のデータサイエンティストと手動でモデルを調整する機会を得られない。記載するアプローチは、特定のモデルクラスの広範なセットを使用する際に、顧客データセットから抽出可能な最大識別情報コンテンツを表すモデル適合性を、体系的に見つけることができる。
【0012】
さらに、スコアの使用は、経時的、部門横断的な変化を考慮した新しいモデルの自動生成を必要とし、人間の介入を必要とすることなく、適切なメトリクスを使用して何千もの潜在的なモデル候補を自動的にフィルタリングし、予測に基づいて最も重要な実用的洞察を見つける。記載するアプローチは、二値分類モデルの空間に関するこの特定の問題に対処し、マルチクラス分類に拡張することができる。
【0013】
モデルドリフトリスクは軽減されるべきである。モデル精度メトリクスは、訓練分布とテスト分布とのドリフトによって大きく変化する可能性があるが、システムおよび方法は、モデル選択の基準として、単にモデル精度メトリクスを使用することはできない。入力分布または特定の日もしくは週に採取された母集団のサンプルの分布が変化すると、昨日支払われた可能性が高いと分類されていたインボイスを、今日は支払われていない可能性が高いと分類するなど、複数のインスタンスで分類が逆転する程度にまで、新しいモデルでは決定境界に大きなドリフトが見られることが予想される。記載するアプローチは、スコアリング分布が訓練分布からどの程度シフトしているか、また訓練分布間のシフトが経時的にどの程度変化しているかを調べるために使用することができる。
【0014】
モデルは安定したものでなければならない。決定境界が毎日大幅にドリフトするほどモデルが不安定であることが検出された場合、これはモデルの適合に複数の問題があることを示している。このような場合、分類の判定は、個々のインスタンスのデータが変化しなくても、前日の予測を反転させるほど日々変化し続けることになる。記載するアプローチは、このような不安定性を検出するために使用することができる。
【0015】
データアナリティクス環境
一般に記載されるデータアナリティクスによって、データから結論またはその他の情報を導き出すために、大量のデータをコンピュータベースで調査または分析することが可能になる。一方、ビジネスインテリジェンスツール(business intelligence:BI)は、組織のビジネスユーザに、ビジネスユーザが戦略的なビジネス上の意思決定を行えるような形式で、企業データを記述する情報を提供する。
【0016】
データアナリティクス環境およびビジネスインテリジェンスツール/サーバの例としては、Oracle Business Intelligence Server(OBIS),Oracle Analytics Cloud(OAC),Oracle Fusion Analytics Warehouse(FAW)が挙げられ、これらは、データマイニングまたはアナリティクス、分析アプリケーションなどの機能をサポートする。
【0017】
図1は、一実施形態に係る例示的なデータアナリティクス環境を示す。
図1に示す例示的な実施形態は、本明細書に記載のさまざまな実施形態を使用可能なデータアナリティクス環境の例を示す目的で提供される。他の実施形態および例によると、本明細書に記載のアプローチは、他のタイプのデータアナリティクス、データベース、またはデータウェアハウス環境と共に使用することができる。
図1に示し、他のさまざまな実施形態に関して本明細書にさらに記載するコンポーネントおよびプロセスは、たとえば、クラウドコンピューティングシステム、または他の適切にプログラムされたコンピュータシステムによって実行可能なソフトウェアもしくはプログラムコードとして提供され得る。
【0018】
図1に示すように、一実施形態によると、データアナリティクス環境100は、コンピュータハードウェア(たとえば、プロセッサ、メモリ)101を有し、制御プレーン102、およびデータプレーン104として動作し、データウェアハウス、データウェアハウスインスタンス160(データベース161、または他のタイプのデータソース)へのアクセスを提供する1つ以上のソフトウェアコンポーネントを含むコンピュータシステムによって提供され得るか、または他の態様ではそのようなコンピュータシステムにおいて動作し得る。
【0019】
一実施形態によると、制御プレーンは、たとえば、Oracle(登録商標) Analytics Cloud環境、または他のタイプのクラウド環境などのSaaSもしくはクラウド環境のコンテキスト内で提供される、クラウドまたは他のソフトウェア製品の制御を提供するように動作する。たとえば、一実施形態によると、制御プレーンは、顧客(テナント)および/またはプロビジョニングコンポーネント111を有するクラウド環境によるアクセスを可能にするコンソールインターフェイス110を含み得る。
【0020】
一実施形態によると、コンソールインターフェイスは、グラフィカルユーザインターフェイス(graphical user interface:GUI)および/またはコマンドラインインターフェイス(command-line interface:CLI)または他のインターフェイスを操作する顧客(テナント)によるアクセスを可能にすることができ、かつ/または、SaaSもしくはクラウド環境のプロバイダおよびその顧客(テナント)によって使用されるインターフェイスを含み得る。たとえば、一実施形態によると、コンソールインターフェイスは、顧客がSaaS環境内で使用するサービスをプロビジョニングし、プロビジョニングされたそれらのサービスを設定することを可能にするインターフェイスを提供することができる。
【0021】
一実施形態によると、顧客(テナント)は、データウェアハウス内の顧客スキーマのプロビジョニングを要求することができる。顧客はまた、コンソールインターフェイスを介して、必須属性(たとえば、ログイン認証情報)およびオプションの属性(たとえば、サイズまたは速度)を含む、データウェアハウスインスタンスに関連する多数の属性を提供することができる。次に、プロビジョニングコンポーネントは、データウェアハウスの顧客スキーマを含む要求されたデータウェアハウスインスタンスをプロビジョニングし、顧客によって供給された適切な情報を、データウェアハウスインスタンスにポピュレートすることができる。
【0022】
一実施形態によると、プロビジョニングコンポーネントは、たとえば、特定の顧客(テナント)について、要求されたETLプロセスの実行頻度を変更または更新することによって、データウェアハウスインスタンス、および/またはデータプレーンで動作するETLプロセスを、更新または編集するためにも使用できる。
【0023】
一実施形態によると、データプレーンは、データパイプラインまたはプロセス層120およびデータ変換層134を含むことができ、これらは一緒に、たとえば、顧客(テナント)のSaaS環境でプロビジョニングされるビジネス生産性ソフトウェアアプリケーションなど、組織の企業ソフトウェアアプリケーションもしくはデータ環境からの運用データまたはトランザクションデータを処理する。データパイプラインまたはプロセスは、SaaS環境でプロビジョニングされるビジネスアプリケーションおよびデータベースからトランザクションデータを抽出し、変換されたデータをデータウェアハウスにロードするさまざまな機能を含み得る。
【0024】
一実施形態によると、データ変換層は、システムがSaaS環境でプロビジョニングされるビジネスアプリケーションおよび対応するトランザクションデータベースから受信したトランザクションデータを、データアナリティクス環境によって理解されるモデル形式に変換するために使用する、たとえば知識モデル(knowledge model:KM)などのデータモデル、または他のタイプのデータモデルを含み得る。モデル形式は、データウェアハウスへの格納に適した任意のデータ形式で提供することができる。一実施形態によると、データプレーンは、データ設定ユーザインターフェイス、ならびにマッピング設定データベースも含み得る。
【0025】
一実施形態によると、データプレーンは、たとえば、SaaS環境で提供されるビジネス生産性ソフトウェアアプリケーションおよび対応するトランザクションデータベースなどの組織の企業ソフトウェアアプリケーションまたはデータ環境からトランザクションデータを抽出し、抽出されたデータをモデル形式に変換し、変換されたデータをデータウェアハウスの顧客スキーマにロードすることを含む、抽出、変換、およびロード(extract,transform,load:ETL)動作を実行する役割を担う。
【0026】
たとえば、一実施形態によると、環境の各顧客(テナント)は、データウェアハウス(自身の顧客スキーマと関連付けられている)内の自身の顧客テナンシと関連付けることができ、さらに、データアナリティクススキーマへの読取り専用アクセスを提供することができ、それは、データパイプラインまたはプロセス、たとえば、ETLプロセスによって、定期的またはその他のベースで更新することができる。
【0027】
一実施形態によると、データパイプラインまたはプロセスは、たとえば、SaaS環境においてプロビジョニングされるビジネス生産性ソフトウェアアプリケーションおよび対応するトランザクションデータベース106などの企業ソフトウェアアプリケーションまたはデータ環境から、トランザクションデータを抽出するために、間隔をおいて(たとえば、毎時/毎日/毎週)実行するようにスケジュールすることができる。
【0028】
一実施形態によると、抽出プロセス108は、トランザクションデータを抽出することができ、抽出時に、データパイプラインまたはプロセスは、抽出されたデータをデータステージング領域に挿入することができ、このデータステージング領域は、抽出されたデータの一時的なステージング領域として機能することができる。データ品質コンポーネントおよびデータ保護コンポーネントは、抽出されたデータの完全性を保証するために使用することができる。たとえば、一実施形態によると、データ品質コンポーネントは、データがデータステージング領域に一時的に保持されている間、抽出されたデータに対して検証を実行することができる。
【0029】
一実施形態によると、抽出プロセスが抽出を完了すると、データ変換層は、抽出されたデータをデータウェアハウスの顧客スキーマにロードされるモデル形式に変換する変換プロセスを開始するために、使用することができる。
【0030】
一実施形態によると、データパイプラインまたはプロセスは、データ変換層と一緒に動作して、データをモデル形式に変換することができる。マッピング設定データベースは、データ変換によって使用されるデータモデルを定義するメタデータおよびデータマッピングを格納することができる。データ設定ユーザインターフェイス(user interface:UI)は、マッピング設定データベースへのアクセスおよび変更を容易にすることができる。
【0031】
一実施形態によると、データ変換層は、抽出されたデータを、たとえばデータモデルに従って、データウェアハウスの顧客スキーマにロードするのに適した形式に変換することができる。変換中、データ変換は、ディメンション生成、ファクト生成、およびアグリゲーション生成を、適宜実行することができる。ディメンション生成は、データウェアハウスインスタンスにロードするためのディメンションまたはフィールドを生成することを含み得る。
【0032】
一実施形態によると、抽出されたデータの変換後、データパイプラインまたはプロセスは、変換されたデータをデータウェアハウスインスタンスの顧客スキーマにロードするために、ウェアハウスロード手順150を実行することができる。変換されたデータを顧客スキーマにロードした後、変換されたデータを分析し、さまざまな追加のビジネスインテリジェンスプロセスで使用することができる。
【0033】
データアナリティクス環境の異なる顧客は、データアナリティクスもしくはビジネスインテリジェンスデータを提供する目的で、またはソフトウェア分析アプリケーションを開発する目的で、データがどのように分類され、集約され、または変換されるかに関して、異なる要件を有する可能性がある。一実施形態によると、このような異なる要件をサポートするために、セマンティック層180は、顧客のデータのセマンティックモデルを定義するデータを含むことができ(これは、一般的に理解されているビジネス用語を使用して当該データを理解しアクセスする際に、ユーザをサポートするのに有用である)、プレゼンテーション層190にカスタムコンテンツを提供することができる。
【0034】
一実施形態によると、セマンティックモデルは、たとえばOracle環境において、BIリポジトリ(RPD)ファイルとして定義することができ、論理スキーマ、物理スキーマ、物理から論理へのマッピング、アグリゲーションテーブルナビゲーション、および/またはセマンティックモデルのさまざまな物理層、ビジネスモデルおよびマッピング層、およびプレゼンテーション層の側面を実現する他の構成体を定義するメタデータを有する。
【0035】
一実施形態によると、顧客は、たとえばデータウェアハウスインスタンスに格納されたデータに関連するカスタムファクトまたはディメンションを追加することによって、特定の要件をサポートするためにデータソースモデルに修正を実行することができ、システムは、それに応じてセマンティックモデルを拡張することができる。
【0036】
一実施形態によると、プレゼンテーション層は、たとえば、ソフトウェア分析アプリケーション、ユーザインターフェイス、ダッシュボード、主要業績評価指標(key performance indicator:KPI)、または、Oracle Analytics Cloud、もしくはOracle Analytics for Applicationsなどの製品によって提供され得るような、他のタイプのレポートまたはインターフェイスを使用して、データコンテンツへのアクセスを可能にすることができる。
【0037】
一実施形態によると、クエリエンジン18(たとえば、OBIS)は、連携クエリエンジンのように動作して、SQLを介して、たとえば、Oracle Analytics Cloud環境内で分析クエリを提供し、サポートされるデータベースに動作をプッシュダウンし、ビジネスユーザクエリを適切なデータベース固有のクエリ言語(たとえば、Oracle SQL,SQL Server SQL,DB2 SQLまたはEssbase MDX)に変換する。クエリエンジン(OBISなど)は、データベースにプッシュダウンできないSQLオペレータの内部実行もサポートする。
【0038】
一実施形態によると、ユーザ/開発者は、コンピュータハードウェア11(たとえば、プロセッサ、ストレージ、メモリ)、ユーザインターフェイス12、およびアプリケーション14を含むクライアントコンピュータデバイス10と対話することができる。OBISなどのクエリエンジンまたはビジネスインテリジェンスサーバは、一般に、データベースモデルに対するインバウンドの、たとえばSQLのリクエストを処理し、1つ以上の物理データベースクエリを構築および実行し、データを適切に処理し、リクエストに応答してデータを返すように動作する。
【0039】
これを達成するために、一実施形態によると、クエリエンジンまたはビジネスインテリジェンスサーバは、クエリの対象領域として利用可能なデータを記述する論理モデルまたはビジネスモデルまたはメタデータ、受信クエリを受け取り、接続されたデータソースで使用される物理クエリに変換するリクエストジェネレータ、および受信クエリを受け取り、論理モデルをナビゲートし、特定のクエリに必要なデータを最も好適に返す物理クエリを生成するナビゲータといった、さまざまなコンポーネントまたは機能を含み得る。
【0040】
たとえば、一実施形態によると、クエリエンジンまたはビジネスインテリジェンスサーバは、さまざまなデータソース上で簡略化されたスタースキーマ・ビジネスモデルを作成することにより、ユーザがあたかも単一のソースから発生したものであるかのようにデータを照会できるような、データウェアハウス内のデータにマッピングされた論理モデルを採用することができる。次に、情報を、ビジネスモデル層マッピングルールに従って、主題領域としてプレゼンテーション層に返すことができる。
【0041】
一実施形態によると、クエリエンジン(たとえば、OBIS)は、さまざまな実施形態において一般にRqListsと呼ばれるさまざまな子(リーフ)ノードを含み得るクエリ実行計画56に従って、データベースに対するクエリを処理することができ、1つ以上の診断ログエントリを生成する。クエリ実行計画内で、各実行計画コンポーネント(RqList)は、クエリ実行計画内のクエリのブロックを表し、一般にSELECT文に変換される。RqListは、SELECT文を入れ子になったSELECT文から選択できるのと同様に、入れ子になった子RqListを有し得る。
【0042】
一実施形態によると、動作中にクエリエンジンまたはビジネスインテリジェンスサーバは、クエリ実行計画を作成することができ、その後、たとえば、リクエストに応答するのに必要なデータのアグリゲーションを実行するために、さらに最適化することができる。たとえば、ODBCインターフェイスを介して結果が呼び出し元のアプリケーションに返される前に、データを結合し、さらに計算を適用することができる。
【0043】
一実施形態によると、複数のデータソースを必要とする複雑なマルチパスリクエストは、クエリエンジンまたはビジネスインテリジェンスサーバが、クエリを分解し、どのソース、マルチパス計算、およびアグリゲーションを使用できるかを判定し、複数のデータベースおよび物理SQL文にまたがる論理クエリ実行計画を生成することを必要とする場合があり、結果はその後、クエリエンジンまたはビジネスインテリジェンスサーバによって返され、さらに結合または集約される。
【0044】
図2はさらに、一実施形態に係る例示的なデータアナリティクス環境を示す。
図2に示すように、一実施形態によると、プロビジョニングコンポーネントはまた、以下にさらに記載するような、プロビジョニング・アプリケーション・プログラミング・インターフェイス(provisioning application programming interface:API)112、複数のワーカー115、メータリングマネージャ116、およびデータプレーンAPI118を含み得る。コンソールインターフェイスは、たとえば、SaaS環境内でサービスをプロビジョニングするために、またはプロビジョニングされたサービスに対して設定変更を行うために、コマンド、命令、または他の入力がコンソールインターフェイスにおいて受信されるとAPIコールを行うことによって、プロビジョニングAPIと通信することができる。
【0045】
一実施形態によると、データプレーンAPIは、データプレーンと通信することができる。たとえば、一実施形態によると、データプレーンが提供するサービスに向けられるプロビジョニングおよび設定変更は、データプレーンAPIを介してデータプレーンに伝達され得る。
【0046】
一実施形態によると、メータリングマネージャは、制御プレーンを介してプロビジョニングされたサービスのサービスおよび使用量を計測するさまざまな機能を含み得る。たとえば、一実施形態によると、メータリングマネージャは、課金目的で、特定の顧客(テナント)について、制御プレーンを介してプロビジョニングされたプロセッサの経時的な使用量を記録することができる。同様に、メータリングマネージャは、課金目的で、SaaS環境の顧客による使用のために区分されたデータウェアハウスの格納スペースの量を記録することができる。
【0047】
一実施形態によると、データプレーンによって提供されるデータパイプラインまたはプロセスは、以下にさらに説明するような、監視コンポーネント122、データステージングコンポーネント124、データ品質コンポーネント126、およびデータ投影コンポーネント128を含み得る。
【0048】
一実施形態によると、データ変換層は、以下でさらに説明するような、ディメンション生成コンポーネント136、ファクト生成コンポーネント138、およびアグリゲーション生成コンポーネント140を含み得る。データプレーンはまた、データ設定(コンフィグレーション)ユーザインターフェイス130と、マッピング設定(コンフィグレーション)データベース132とを含み得る。
【0049】
一実施形態によると、データウェアハウスは、デフォルトのデータアナリティクススキーマ(いくつかの実施形態によると、本明細書では分析ウェアハウススキーマと呼ぶ)162と、システムの顧客(テナント)ごとに、顧客スキーマ164とを含み得る。
【0050】
一実施形態によると、複数のテナントをサポートするために、システムは、複数のデータウェアハウスまたはデータウェアハウスインスタンスの使用を可能にすることができる。たとえば、一実施形態によると、第1のテナントのための第1のウェアハウス顧客テナンシは、第1のデータベースインスタンス、第1のステージング領域、および複数のデータウェアハウスまたはデータウェアハウスインスタンスの第1のデータウェアハウスインスタンスを含むことができ、第2のテナントのための第2の顧客テナントは、第2のデータベースインスタンス、第2のステージング領域、および複数のデータウェアハウスまたはデータウェアハウスインスタンスの第2のデータウェアハウスインスタンスを含み得る。
【0051】
一実施形態によると、マッピング設定データベースにおいて定義されたデータモデルに基づいて、監視コンポーネントは、変換される複数の異なるデータセットの従属関係を決定することができる。決定された従属関係に基づいて、監視コンポーネントは、複数の異なるデータセットのうちのどれを最初にモデル形式に変換すべきかを判定することができる。
【0052】
たとえば、一実施形態によると、第1のモデルデータセットが他のモデルデータセットへの従属関係を含まず、第2のモデルデータセットが第1のモデルデータセットへの従属関係を含む場合、監視コンポーネントは、第1のデータセットへの第2のデータセットの従属関係に対応するために、第2のデータセットよりも前に第1のデータセットを変換すると決定することができる。
【0053】
たとえば、一実施形態によると、ディメンションは、たとえば、「名前」、「住所」、または「年齢」などのデータのカテゴリを含み得る。ファクト生成には、データが取り得る値の生成、すなわち「尺度」の生成が含まれる。ファクトは、データウェアハウスインスタンス内の適切なディメンションに関連付けることができる。アグリゲーション生成は、データウェアハウスインスタンスの顧客スキーマ内の既存のデータに対する、変換されたデータのアグリゲーションを計算するデータマッピングの作成を含む。
【0054】
一実施形態によると、(データモデルによって定義されるように)任意の変換が実施されると、データパイプラインまたはプロセスは、ソースデータを読取り、変換を適用し、データをデータウェアハウスインスタンスにプッシュすることができる。
【0055】
一実施形態によると、データ変換はルールで表現することができ、変換が行われると、値をステージング領域で中間的に保持することができ、データ品質コンポーネントおよびデータ投影コンポーネントは、データがデータウェアハウスインスタンスにおいて顧客スキーマにアップロードされる前に、変換されたデータの完全性を検証およびチェックすることができる。抽出、変換、ロードプロセスが、たとえば、多数の計算インスタンスまたは仮想マシンで実行されると、監視を提供することができる。従属関係もまた、抽出、変換、ロードプロセス中に維持することができ、データパイプラインまたはプロセスは、そのような順序決定を処理することができる。
【0056】
一実施形態によると、抽出されたデータの変換後、データパイプラインまたはプロセスは、変換されたデータをデータウェアハウスインスタンスの顧客スキーマにロードするために、ウェアハウスロード手順を実行することができる。変換されたデータを顧客スキーマにロードした後、変換されたデータを分析し、さまざまな追加のビジネスインテリジェンスプロセスで使用することができる。
【0057】
図3はさらに、一実施形態に係る例示的なデータアナリティクス環境を示す。
図3に示すように、一実施形態によると、データを、たとえば、データパイプラインプロセスを使用して、顧客(テナント)の企業ソフトウェアアプリケーションもしくはデータ環境(106)から、または1つ以上の顧客固有のアプリケーション107から供給されたカスタムデータ109として供給することができ、いくつかの例ではデータの格納のためのオブジェクトストレージ105の使用を含むデータウェアハウスインスタンスにロードすることができる。
【0058】
たとえば、Oracle Analytics Cloud(OAC)などのアナリティクス環境の実施形態によると、ユーザは、異なる接続およびスキーマからのテーブルを使用するデータセットを作成することができる。システムは、これらのテーブル間で定義された関係を使用して、データセット内の関係または結合を作成する。
【0059】
一実施形態によると、顧客(テナント)ごとに、システムは、システム/クラウドテナンシ114内で、システムによって維持および更新されるデータアナリティクススキーマを使用して、当該顧客の企業アプリケーション環境内および顧客テナンシ117内のデータの分析に基づいて、当該顧客のデータウェアハウスインスタンスを事前にポピュレートする。このように、システムによって維持されるデータアナリティクススキーマは、データパイプラインまたはプロセスによって、顧客の環境からデータを取得し、顧客のデータウェアハウスインスタンスにロードすることを可能にする。
【0060】
一実施形態によると、システムはまた、環境の顧客ごとに、顧客によって容易に変更可能であり、かつ顧客が自身のデータウェアハウスインスタンス内でデータを補足して利用することを可能にする顧客スキーマを提供する。顧客ごとに、結果として生じるデータウェアハウスインスタンスは、内容が顧客によって部分的に制御され、環境(システム)によって部分的に制御されるデータベースとして動作する。
【0061】
たとえば、一実施形態によると、データウェアハウス(たとえば、Oracle Autonomous Data Warehouse:ADW)は、データアナリティクススキーマと、顧客/テナントごとに、その企業ソフトウェアアプリケーションまたはデータ環境から供給された顧客スキーマとを含み得る。データウェアハウステナンシ(たとえば、ADWクラウドテナンシ)においてプロビジョニングされたデータは、そのテナントのみがアクセス可能であり、同時に、共有環境のさまざまな、たとえば、ETL関連または他の機能へのアクセスを可能にする。
【0062】
一実施形態によると、複数の顧客/テナントをサポートするために、システムは複数のデータウェアハウスインスタンスの使用を可能にし、たとえば、第1の顧客テナンシは、第1のデータベースインスタンス、第1のステージング領域、および第1のデータウェアハウスインスタンスを含んでもよく、第2の顧客テナンシは、第2のデータベースインスタンス、第2のステージング領域、および第2のデータウェアハウスインスタンスを含み得る。
【0063】
一実施形態によると、特定の顧客/テナントについて、そのデータの抽出時に、データパイプラインまたはプロセスは、抽出されたデータをテナントのデータステージング領域に挿入することができ、このデータステージング領域は、抽出されたデータの一時的なステージング領域として機能し得る。データ品質コンポーネントとデータ保護コンポーネントとを使用して、たとえば、データがデータステージング領域に一時的に保持されている間に、抽出されたデータの検証を実行することによって、抽出されたデータの完全性を保証することができる。抽出プロセスが抽出を完了すると、データ変換層を使用して変換プロセスを開始して、抽出されたデータをデータウェアハウスの顧客スキーマにロードされるモデル形式に変換することができる。
【0064】
図4はさらに、一実施形態に係る例示的なデータアナリティクス環境を示す。
図4に示すように、一実施形態によると、たとえば、上述のデータパイプラインプロセスを使用して、顧客(テナント)企業ソフトウェアアプリケーションもしくはデータ環境から、または1つ以上の顧客固有のアプリケーションから供給される顧客データとしてデータを抽出し、データウェアハウスインスタンスへデータをロードする、またはデータウェアハウス内のデータをリフレッシュするプロセスは、一般に3つの大まかな段階を含み、これらの段階は、1つ以上の抽出サービス163、変換サービス165、およびロード/パブリッシュサービス167を含むETPサービス160またはプロセスによって実行され、かつ、1つ以上の計算インスタンス170によって実行される。
【0065】
たとえば、一実施形態によると、抽出のためのビューオブジェクトのリストは、たとえば、RESTコールを介してOracle BI Cloud Connector(BICC)コンポーネントに提出することができる。抽出されたファイルは、データを格納するために、たとえばOracle Storage Service(OSS)コンポーネントなどのオブジェクト格納コンポーネントにアップロードすることができる。変換プロセスは、オブジェクトストレージコンポーネント(OSSなど)からデータファイルを取り込み、ビジネスロジックを適用しながら、データパイプラインまたはプロセスの内部であり、かつ顧客(テナント)には公開されないターゲットデータウェアハウス(ADWデータベースなど)にロードする。ロード/パブリッシュサービスまたはプロセスは、たとえばADWデータベースまたはウェアハウスからデータを取り込み、顧客(テナント)がアクセス可能なデータウェアハウスインスタンスに公開する。
【0066】
図5はさらに、一実施形態に係る例示的なデータアナリティクス環境を示す。
一実施形態に係る複数のテナント(顧客)を有するシステムの動作を示す
図5に示すように、データは、たとえば、上述のデータパイプラインプロセスを使用して、複数の顧客(テナント)の企業ソフトウェアアプリケーションまたはデータ環境の各々から供給され、データウェアハウスインスタンスにロードされ得る。
【0067】
一実施形態によると、データパイプラインまたはプロセスは、複数の顧客(テナント)の各々、たとえば顧客A180、顧客B182について、特定のアナリティクス使用事例のベストプラクティスに従ってシステムによって定期的に更新されるデータアナリティクススキーマを維持する。
【0068】
一実施形態によると、複数の顧客(たとえば、顧客A、顧客B)の各々について、システムは、システムによって維持され更新されるデータアナリティクススキーマ162A,162Bを使用して、その顧客の企業アプリケーション環境106A,106B内、および各顧客のテナンシ(たとえば、顧客Aテナンシ181、顧客Bテナンシ183)内のデータの分析に基づいて、顧客のデータウェアハウスインスタンスを事前にポピュレートし、それによって、データは、データパイプラインまたはプロセスによって、顧客の環境から取得され、顧客のデータウェアハウスインスタンス160A,160Bにロードされる。
【0069】
一実施形態によると、データアナリティクス環境はまた、環境の複数の顧客の各々について、顧客によって容易に変更可能であり、かつ顧客が自身のデータウェアハウスインスタンス内でデータを補足し利用することを可能にする顧客スキーマ(たとえば、顧客Aスキーマ164A、顧客Bスキーマ164B)を提供する。
【0070】
上述したように、一実施形態によると、データアナリティクス環境の複数の顧客の各々について、結果として生じるデータウェアハウスインスタンスは、その内容が顧客によって部分的に制御され、データアナリティクス環境(システム)によって部分的に制御されるデータベースとして動作し、データベースは、さまざまアナリティクス使用事例に対応するために、企業アプリケーション環境から取得した適切なデータがあらかじめポピュレートされているであろうことを含む。特定の顧客についての抽出プロセス108A,108Bが抽出を完了すると、データ変換層を使用して変換プロセスを開始して、抽出されたデータを、データウェアハウスの顧客スキーマにロードされるモデル形式に変換することができる。
【0071】
一実施形態によると、起動プラン186は、顧客(テナント)の特定のニーズに対応するために、特定の機能領域について、顧客についてのデータパイプラインまたはプロセスサービスの動作を制御するために使用することができる。
【0072】
たとえば、一実施形態によると、起動計画は、特定の順序で、特定の時間帯に、特定の時間窓内で実行される、多数の抽出、変換、およびロード(パブリッシュ)サービスまたはステップを定義することができる。
【0073】
一実施形態によると、各顧客を、独自の起動計画(複数可)に関連付けることができる。たとえば、第一の顧客Aの起動プランは、その顧客の企業ソフトウェアアプリケーション環境(たとえば、Oracle Fusion Applications環境)から取得されるテーブルを決定する、またはサービスおよびそのプロセスがどのように順番に実行されるかを決定することができる。一方、第2の顧客Bの起動プランも同様に、その顧客の企業ソフトウェアアプリケーション環境から取得されるテーブルを決定する、またはサービスおよびそのプロセスがどのように順番に実行されるかを決定することができる。
【0074】
モデル適合性および安定性の判定
一実施形態によると、システムは、モデルデプロイメントおよび自動モデル生成のために、モデル適合性および安定性を判定する手段を含み得る。
【0075】
図6は、一実施形態に係る、データアナリティクス環境に関連して使用される、モデル適合性および安定性の判定を示す。
【0076】
たとえば、
図6に示すように、一実施形態によると、システムは1つ以上のデータモデル230を含み得る。パッケージ化された(追加設定なし、初期)モデル232は、上述のようなETLもしくは他のデータパイプラインまたはプロセスの使用に基づいて、パッケージ化されたコンテンツ234を提供して顧客の企業ソフトウェアアプリケーションまたはデータ環境からデータウェアハウスインスタンスにデータをロードするために使用することができ、パッケージ化されたモデルは、その後、プレゼンテーション層240にパッケージ化されたコンテンツを提供するために使用することができる。カスタムモデル236は、パッケージ化されたモデルを拡張するため、またはカスタムコンテンツ238をプレゼンテーション層に提供するために使用することができる。
【0077】
一実施形態によると、プレゼンテーション層は、たとえば、Oracle Analytics CloudまたはOracle Analytics for Applicationsなどの製品によって提供され得るような、ソフトウェア分析アプリケーション、ユーザインターフェイス、ダッシュボード、主要業績評価指標(KPI)242、または他のタイプのレポートもしくはインターフェイスを使用して、データコンテンツへのアクセスを可能にすることができる。
【0078】
図6にさらに示すように、一実施形態によると、システムは、モデル適合性・安定性コンポーネント250を含み、以下に記載するように、特定のアプリケーションについてモデル適合性および安定性を判定するために、モデル選択252、モデルデプロイ可能性スコア・デプロイ可能性フラグ254の使用、およびモデルドリフトリスク256の軽減をサポートする1つ以上の機能を提供することができる。
【0079】
一実施形態によると、部門をまたがる経時的な変化を考慮した新しいモデルの自動生成を必要とする顧客のビジネスニーズに対して、システムは、人間の介入を必要とすることなく、適切なメトリクスを使用して、何千もの潜在的なモデル候補の中から自動的にフィルタリングを行い、予測に基づいて最も重要な実行可能な洞察を見出すことを可能にする。
【0080】
モデルスコアリングおよび選択
上述したように、一実施形態によると、システムは、特定のアプリケーションについてモデル適合性および安定性を判定するために、モデル選択をサポートする1つ以上の特徴を提供することができるモデル適合性・安定性コンポーネントを含む。
【0081】
たとえば、顧客が売掛金を期限内に支払うか否かのような二値分類の問題では、モデル選択の判定が重要である。このような環境では、モデルの適合性を判定するためにさまざまなクラスのメトリクスを使用することができる。
【0082】
一実施形態によると、メトリクスの第一のクラスは、キャリブレーションなしで異なるアルゴリズムによって生成される、分布の上部(たとえば、p=[0.8,0.9])および下部(たとえば、p=[0.1,0.2])に重みを置く傾向があるか、または、最も高確率のビン(たとえば、p=[0.9,1])がより高い割合の事例を有する逐次的に低い確率のビンよりも低い割合の場合を有するように不均等に分布しているか、または、不均等の鋸歯状のパターンの可能性があるという、歪んだ確率ビンの問題に対処する。
【0083】
モデルの成功基準
十分にキャリブレーションされたモデルがデプロイされた場合、期待されるのは、確率ビンのインスタンス・メンバーシップが、上位のビンから下位のビンに向かって、着実かつ急激に(たとえば、指数関数的に)低下することである。これは、モデルがほとんどの事例を高信頼度で分類し、少数の事例のみを低信頼度で分類していることを示す。
【0084】
一実施形態によると、このようなモデルのみを除去してデプロイするために、システムは、上記の基準を満たすモデルを見つけるための、かつ確率ビン内のインスタンスの鋸歯状頻度の特徴を示すモデルを除去するためのメトリックを採用する。
【0085】
確率ビンに基づくスコア
図7は、一実施形態に係る、さまざまなモデルの確率スコアの比較例を示す図である。
【0086】
図7に示すように、一実施形態によると、スコアの点数は、確率ビンに基づくことができ、上位の確率ビンから下位のビンに向かって正分類が急激に減少する。
【0087】
一実施形態によると、
図7に示すように、スコアが、2つの異なるモデル、すなわちモデル710および720について生成される。モデル710および720の各々は、インボイスが支払われるか否かを判定するために使用できるモデルの例である。図示するように、モデルは10の確率ビンに分割される。スコアリングモデルには、複数の正分類の数だけでなく複数の誤分類も示されており、関連する各スコアリングメカニズムの重みも提供されている。図示するように、モデル710は各確率ビン間でほぼ直線的な減少を有するが、モデル720は高確率(0.9-1)から低確率まで指数関数的な減少を有する。
【0088】
一実施形態によると、各モデルの結果スコア711および721を決定することができ、これは、高確率で正しい結果を予測する良好なモデルを示すように、確率の指数関数的な低下を有するモデルがより高くスコア付けされることを示す。
【0089】
一実施形態によると、以下に示す例示的なスコアリング関数は、修正された階段状の形状を有する関数のクラスを表し、高確率ビンから低確率ビンへの正しく分類された事例の数の非減少についての降順ペナルティと、分類されるインスタンスの総数で正規化された、誤分類に対するすべてのビンについてのペナルティとを有する:
【0090】
【0091】
一実施形態によると、上記(式1)に従ってプログラムされたシステムは、以下を考慮する:
【0092】
【0093】
【0094】
一実施形態によると、スコアリング関数の別の例は、以下のように示すことができる:
【0095】
【0096】
図8は、一実施形態に係る、モデル適合性および安定性を判定するためのプロセスまたは方法を示す。
【0097】
図8に示すように、一実施形態によると、データセットの所与のモデルについてスコアを決定することができる。モデルが確率(たとえば、インボイスが支払われるか否かの確率)を生成すると、モデルの出力は、確率「ビン」に集めることができる、すなわち、確率の範囲のグループ分けである。たとえば、モデルの出力が10の確率ビンにグループ化されている場合、ビンの範囲は、0-0.1,0.1-0.2,0.2-0.3,0.3-0.4,0.4-0.5,0.5-0.6,0.6-0.7,0.7-0.8,0.8-0.9および0.9-1.0となる。モデルの出力を実際の結果(たとえば、インボイスが実際に支払われたか否か)と比較することにより、確率ビンごとに正分類および誤分類の数を求めることによって、モデルを調べることができる。
【0098】
なお、一実施形態によると、本願で議論および図示された例は、本明細書に記載のスコアリングプロセスを実証するために10の確率ビンを利用するが、より多いまたはより少ない確率ビンを利用することができる(たとえば、各確率ビンが0.01の確率範囲をカバーする100の確率ビン)。
【0099】
一実施形態によると、ステップ810において、スコアリングプロセスは、正分類の逐次差分を決定し、低確率ビンについて、逐次的に低い各確率ビンに重みを適用することができる。確率ビンごとに適用される重みは、自動的に生成することができ、たとえば、モデルが高確率で結果を予測する場合、モデルが正しいことに高い重要性が置かれるように、高確率のビンをより重くすることができる。
【0100】
一実施形態によると、次に、ステップ820において、スコアリングプロセスは、分類が失敗するごとにペナルティを適用することができる。
【0101】
一実施形態によると、ステップ830において、スコアリングプロセスは、確率ビンごとにステップ820で評価されたペナルティに重みを適用することができる。重みは、ステップ810におけるように、高確率のビンについてより高く、さらに指数関数的に高くすることができる。このようなペナルティ重みは、同様に自動的に生成することができる。高確率のビンの誤分類は、同様に、低確率のビンにおける失敗した分類と比較してスコアを減少させなければならないため、高いペナルティが、高確率のビンの失敗した分類に適用される。
【0102】
一実施形態によると、ステップ840において、スコアリングプロセスは、生成されたスコアを、分類されたサンプルの数で正規化することができる。すなわち、たとえば、正規化は、生成されたスコアをサンプルの数で除算することであってもよい。
【0103】
一実施形態によると、ステップ850において、スコアリングプロセスは、選択的に、たとえば、モンテカルロシミュレーションによって他の可能性を考慮し、低品質のスコアリング技術を取り除くことであってもよい。
【0104】
デプロイ可能性スコア・デプロイ可能性フラグ
本明細書で説明するように、一実施形態によると、システムは、特定のアプリケーションについてモデル適合性および安定性を判定するために、モデルのデプロイ可能性スコア・デプロイ可能性フラグの使用をサポートする1つ以上の機能を提供することが可能なモデル適合性・安定性コンポーネントを含む。
【0105】
一実施形態によると、デプロイ可能性スコア・デプロイ可能性フラグを決定するために、以下のアプローチを使用することができる:
【0106】
【0107】
ここで、上記(式2)に従ってプログラムされたシステムは、以下を考慮する:
【0108】
【0109】
一実施形態によると、デプロイ可能性スコア(ψ)は、-10~+10のスケールである:完全な分類の場合、ψは10を上回り、完全な誤分類の場合、ψは-10を下回る。
【0110】
一実施形態によると、モデルデプロイ可能性フラグは、ヘヴィサイドの階段関数に基づいて、以下のように定義することができる:
【0111】
【0112】
ここで、上記(式3)に従ってプログラムされたシステムは、以下を考慮する:
【0113】
【0114】
一実施形態によると、デプロイ可能性スコアは以下のように実現することができる。
システムは、適合率、再現率、正解率、F1スコアがすべてMCCによって説明されるように、正分類の他のすべての尺度の代わりとして、下記の(式5)によって示されるようなマシューズ相関係数(MCC)を使用することができる。
【0115】
確率ビンスコアは、モデルハイジーンの前提条件であり、基本閾値を超えると、全体的なデプロイ可能性に追加される。
【0116】
基本的なハイジーン係数を超えた後、デプロイ可能性スコアはMCCと高い相関があり、確率ビンスコアと共に向上する。
【0117】
デプロイ可能性スコアが上記(式3)の閾値を超えると、システムはそのモデルをデプロイ可能とみなすことができる。
【0118】
初期モデルのデプロイメントについては、システムは、デプロイ可能性スコア>上記のTであると判断することができる。
【0119】
【0120】
一実施形態によると、元のモデルから続く新規モデルのデプロイ可能性をチェックするために、新規モデルがデプロイ可能性スコア>Tを有し続け、かつ人間による判定が行われたときの元のデプロイ可能性スコアである1倍以内より悪くない限り、システムはデプロイ可能である。これは、MCC、F1スコア、および受信者操作特性曲線下面積(Area Under the Curve of the Receiver Operator Characteristic:AUC of ROC)における0.1以下のシフトにほぼ対応する。
【0121】
一実施形態によると、公知のメトリクスの第2のクラスは、タイプIエラーおよびタイプIIエラーが等しく重み付けされるF1スコアなど、真陽性(TP)、偽陽性(FP)、真陰性(TN)、および偽陰性(FN)の相対的なカウントによって判定されるように、クラスがどの程度良好に区別されたかを判定するために使用することができる。
【0122】
一実施形態によると、記載されるアプローチは、顧客が適合率に対して再現率を重み付けするように選択することを可能にし、顧客が適合率よりも再現率を高くしたい場合、βを1より大きく設定することができ、顧客が再現率よりも適合率を高くしたい場合、βを1より小さく設定することができる:
【0123】
【0124】
しかしながら、これらのF尺度および関連する尺度は、クラスの不均衡に起因して歪んでおり、特に、不払いの事例のような関心のある実際のクラスが、支払いが完了した事例に対して稀である場合がある。このクラスの不均衡の問題を解決するために、システムは、マシューズ相関係数(MCC)によってモデルをフィルタリングすることができる。
【0125】
【0126】
上記の判定は、完全な正分類では1に近く、誤分類では-1に近く、ランダムな分類では0に近い。一実施形態によると、上記のスコアを満たす場合、0.5のMCCを超えるモデルを受け入れることができる。マシューズ相関係数は、マルチクラス分類の事例にも十分に適用される。
【0127】
モデルドリフトリスクの軽減
上述したように、一実施形態によると、システムは、特定のアプリケーションについてモデル適合性および安定性を判定するために、モデルドリフトリスクの軽減をサポートする1つ以上の機能を提供することができるモデル適合性・安定性コンポーネントを備える。
【0128】
一実施形態によると、モデルドリフトリスクは、モデル安定性検出を用いて軽減することができる。モデル精度メトリクスは、訓練およびテスト分布のドリフトによって大きく変化し得るが、システムおよび方法は、モデル選択の基準として単にモデル精度メトリクスを使用するものではない。入力分布、または特定の日もしくは週に採取された母集団のサンプルの分布が変化すると、昨日支払われた可能性が高いと分類されたインボイスを、今日は支払われない可能性が高いと分類するなど、複数のインスタンスで分類を逆転させる程度にまで、新しいモデルにおける決定境界の有意なドリフトが見られることが予想される。
【0129】
一実施形態によると、システムおよび方法は、同じインボイスに関する新しいデータが入ってくると予測に変化が生じると予想すべきであるが、独立変数が以前の期間と比較して実質的に同じままであれば、同じインボイスに関する予測に大きな変化が生じると予想すべきでない。
【0130】
しかしながら、一実施形態によれば、訓練分布に経時的に有意なシフトがある場合、決定境界のシフトが発生する可能性がある。これらのシフトを明示的に検出し、エンドユーザに呼びかけることができる。たとえば、2つの分布が、それらの中心傾向および分散の尺度が統計的に有意に異なるほど、互いに実質的に乖離している場合である。
【0131】
一実施形態によると、決定境界が大きく(たとえば、毎日)ドリフトするほどモデルが不安定であるとシステムが検出する場合、これは、モデル適合における複数の問題を示している。そのような場合、分類の決定は、個々のインスタンスのデータに変化がなくても、前日の予測を反転させるほど、日々変化し続けることになる。
【0132】
一実施形態によると、本明細書に記載のアプローチは、関心のあるクラスインスタンスの一部においてランダムな小さな摂動(独立変数の標準偏差の5%未満)がなされ、分類において有意なシフトが検出された場合、モデル不安定性シナリオに達したと結論付けることができるような感度メトリックを使用して、モデルの安定性を評価するために使用することができ、またはシステムおよび方法は、決定境界に近いインスタンスを扱っている可能性がある。システムは、正規化距離尺度を使用して、所与の分類において、決定境界に近いインスタンスとインスタンスのクラスタ内部の事例とを区別することができる。
【0133】
一実施形態によると、分類確率の変化が大きくジャンプするので、クラス・クラスタの中心に近いインスタンスであっても、不安定性が見られると予想される。
【0134】
一実施形態によると、システムおよび方法は、スコアリング分布が訓練分布からどの程度シフトしているか、および訓練分布間のシフトが経時的にどの程度であるかを決定し、調べることができる。この目的で、記載されるアプローチは、以下の2つのスコアの組み合わせを使用することができる。
【0135】
モデルおよび分布のドリフト:一実施形態によると、F1スコア(正解率の尺度)およびマシューズ相関係数(MCC)の減少は、ドリフトの直接的な指標であり、F1スコアが閾値(たとえば、0.6)を下回る、またはMCCが境界(たとえば、0.35)を下回るときはいつでも、システムは、モデルの再訓練を要求するために自動的にアラームフラグを立てることができる。Kullback-Leibler Divergenceまたは Bhattacharya distanceタイプの尺度を評価して、訓練データセットからスコアリングデータセットへの入力独立変数の分布のシフトを判定することで、入力分布が過去の訓練データからどの程度ずれているかを判定することができる。
【0136】
モデルの安定性:一実施形態によると、記載するアプローチは、入力独立変数の無視できるほどの変化にもかかわらず、分類の変化についてスコアリングメカニズムを提供するために使用することができる。
【0137】
図9はさらに、一実施形態に係る、モデル適合性および安定性を判定するためのプロセスまたは方法を示す。
【0138】
図9に示すように、一実施形態によると、プロセスは、モデルがドリフトしており、緩和が必要であるかどうかを判定するために利用することができる。このプロセスは、モデルの安定性に対するリスクを判定するためにも使用できる。
【0139】
たとえば、
図9のプロセスは、モデルが予測をシフト/反転させている場合(たとえば、ある日から次の日にかけて「支払い済み」から「未払い」に予測の数を反転させている場合-これは、モデルの不安定性または劣化の兆候である可能性がある)を判定するために使用することができる。
【0140】
一実施形態によると、ステップ910において、プロセスは、分布ドリフト下でのモデル劣化の1つ以上のシグナルを検出することができる。たとえば、プロセスは、MCCおよびAUCスコアを追跡して、スコアが低下しているかどうかを決定することができる。閾値を超える損失は、モデルがドリフトしている、または大きくドリフトしている(たとえば、0.1以上の損失の閾値)とみなすことができる。さらに、このプロセスでは、Kullback-Leibler Divergence(相対エントロピーとしても知られる)またはBhattacharya Distanceタイプの尺度を評価して、訓練データセットからスコアリングデータセットへの入力独立変数の分布のシフトを判定することができる。
【0141】
一実施形態によると、ステップ920において、プロセスは、モデルの安定性・検出・スコアリングプロセスを開始することができる。
【0142】
一実施形態によると、ステップ930において、プロセスは、同じ事前分類を有する最近傍(たとえば、30個の近傍)のクラスタからの各インスタンス(たとえば、インボイス)の距離を決定することができる。距離は、たとえば、同じ事前分類を有するその最も近い30個の近傍のクラスタからの各インボイスまたはインスタンスのマハラノビス距離を求めることによって、計算することができる。
【0143】
一実施形態によると、ステップ940において、プロセスは、これらの最近傍のうちの少なくとも1つ以上がモデルの新しいバージョンにおいて分類を反転させると判定する場合、これを反転分類のカウントに追加することができる。
【0144】
一実施形態によると、ステップ950において、プロセスは、分類されるインスタンスの総数のうち、そのような反転分類の割合または比率を決定することができる。
【0145】
一実施形態によると、ステップ960において、そのような反転分類が閾値(たとえば、MCCの対応する増加がないインスタンスの総数の2パーセント)を超える場合、プロセスは、モデルがわずかに不安定であるとしてフラグを立てることができる。
【0146】
一実施形態によると、ステップ970において、そのような反転分類が第2の閾値(たとえば、MCCの対応する増加がないインスタンスの総数の10%)を超える場合、プロセスは、モデルが不安定であるとしてフラグを立てる。
【0147】
一実施形態によると、上述した閾値は、たとえばユーザまたは管理者によってシステムで受信された入力に基づいて、設定、修正、および/または変更することができる。
【0148】
一実施形態によると、記載されるアプローチは、すべての数値独立変数(たとえば、金額、延滞日数、フォローアップの回数)をzスコアに変換し、すべてのカテゴリ独立変数(たとえば、顧客の業種、場所、インボイスのタイプ、インボイス項目のタイプ)をエントロピー符号化再正規化zスコアに変換し、現在のインボイスと異なるインボイスタイプまたは顧客タイプのクラスタとの間のユークリッド距離(共分散行列が同一行列である場合)を見つけることによって、インボイスまたはインスタンス間の標準偏差正規化距離のマハラノビス距離に基づく尺度を使用する。
【0149】
たとえば、一実施形態によると、支払済みインボイスからのインボイス距離が未払いインボイスからのものと比較して大きい場合、プロセスは、それを高リスクカテゴリーに割り当てることができる。
図10に示すように、システムは、ソートされたインボイスのリストを、リスク別にユーザに提示することができる。
【0150】
図10は、一実施形態に係る、インボイスのソートされたリストを説明する図である。
図10に示すように、例示的なスクリーンショット1000が、たとえば、システムのユーザインターフェイスを介して提供され得る。上述したスコアリングシステムに起因して選択されたモデルに基づいて、さまざまなメトリクスを、ユーザインターフェイスを介して提供することができる。これには、リスク上位10件のインボイスとそれらの金額、支払済み上位10件のインボイスとそれらの金額、上位20%のインボイスとリスク総量、上位20%のインボイスと支払済み総額などが含まれるが、これらに限定されない。
【0151】
図11は、一実施形態に係る、データを分析するモデルの出力を説明する図である。
図11に示すように、例示的なスクリーンショット1100が、たとえば、システムのユーザインターフェイスを介して提供され得る。上述したスコアリングシステムに起因して選択されたモデルに基づいて、確率ビンに関連するさまざまなメトリクスを、ユーザインターフェイスを介して提供することができる。システムは、確率間隔の等しいビンを作成し、すべての数値変数のビンの列との相関(たとえば、ピアソンの相関)を作成することによって、そのようなチャートを生成することができる。その後、相互に関連する変数のトップ数(たとえば、5)を決定することができる。
【0152】
そのような決定の後、一実施形態によると、システムは、これらの変数のビン平均が、全母集団の平均と少なくともある割合(たとえば、50%)異なるかどうかを判定することができる。ビン平均が母集団の平均と少なくとも、たとえば50%異なる場合、この変数を説明のリストと共に表示することができる。
【0153】
図12は、一実施形態に係る、自動モデル生成におけるモデルデプロイメントのモデル適合性および安定性を判定する方法のフローチャートである。
【0154】
一実施形態によると、ステップ1210において、方法は、1つ以上のマイクロプロセッサを含むコンピュータ、およびコンピュータ上で動作するデータアナリティクスクラウドまたは他のコンピューティング環境を提供することができる。
【0155】
一実施形態によると、ステップ1220において、方法は、データアナリティクスクラウドにおいて、複数のモデルを提供することができる。
【0156】
一実施形態によると、ステップ1230において、方法は、データアナリティクスクラウドにおけるデータのセットに基づいて、複数のモデルのセットをスコアリングで点数化することができる。
【0157】
一実施形態によると、ステップ1240において、方法は、スコアリングに基づいて、複数のモデルのセットのうちのモデルを選択することができる。
【0158】
一実施形態によると、ステップ1220において、方法は、不安定性またはドリフトの兆候について、モデルを監視することができる。
【0159】
さまざまな実施形態によると、本明細書の教示は、本開示の教示に従ってプログラムされた1つ以上のプロセッサ、メモリおよび/またはコンピュータ読取可能記憶媒体を含む、1つ以上の従来の汎用または特殊なコンピュータ、コンピューティングデバイス、機械、またはマイクロプロセッサを使用して、好都合に実現され得る。適切なソフトウェアコーディングは、ソフトウェア技術の当業者には明らかなように、本開示の教示に基づいて熟練プログラマによって容易に作成され得る。
【0160】
いくつかの実施形態において、本明細書の教示は、本教示のプロセスのいずれかを実行するようにコンピュータをプログラムするために使用され得る、命令を格納した非一時的な1つまたは複数のコンピュータ読取可能記憶媒体であるコンピュータプログラム製品を含み得る。このような記憶媒体の例としては、ハードディスクドライブ、ハードディスク、ハードドライブ、固定ディスク、または他の電気機械的データ記憶デバイス、フロッピー(登録商標)ディスク、光ディスク、DVD、CD-ROM、マイクロドライブ、および光磁気ディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気カードもしくは光カード、ナノシステム、または命令および/またはデータの非一時的な格納に適した他のタイプの記憶媒体もしくはデバイスを挙げることができるが、これらに限定されない。
【0161】
前述の記載は、例示および説明の目的で提供されたものであり、網羅的であること、または保護範囲を開示された正確な形態に限定することは意図されていない。多くの修正および変形が当業者には明らかであろう。たとえば、本明細書で提供される例のいくつかは、Oracle Analytics Cloudなどのクラウド環境での使用を例示しているが、さまざまな実施形態によると、本明細書に記載のシステムおよび方法は、他のタイプの企業ソフトウェアアプリケーション、クラウド環境、クラウドサービス、クラウドコンピューティング、または他のコンピューティング環境で使用することができる。
【0162】
実施形態は、本教示の原理およびその実際的な適用を最もよく説明するために選択され、説明された。これにより、当業者が、さまざまな実施形態、および考えられる特定の使用に適したさまざまな変更を伴う実施形態を理解することができる。添付の特許請求の範囲およびその均等物によって範囲が定義されることが意図される。
【国際調査報告】