JP2019537125A - 予測データ分析のためのシステムおよび関連する方法および装置 - Google Patents

予測データ分析のためのシステムおよび関連する方法および装置 Download PDF

Info

Publication number
JP2019537125A
JP2019537125A JP2019520991A JP2019520991A JP2019537125A JP 2019537125 A JP2019537125 A JP 2019537125A JP 2019520991 A JP2019520991 A JP 2019520991A JP 2019520991 A JP2019520991 A JP 2019520991A JP 2019537125 A JP2019537125 A JP 2019537125A
Authority
JP
Japan
Prior art keywords
model
prediction
data
time
fitted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019520991A
Other languages
English (en)
Other versions
JP2019537125A5 (ja
JP7107926B2 (ja
Inventor
ジェレミー アチン,
ジェレミー アチン,
トーマス デゴドイ,
トーマス デゴドイ,
シャビエル コノート,
シャビエル コノート,
セルゲイ ユルゲンソン,
セルゲイ ユルゲンソン,
マーク エル. ステッドマン,
マーク エル. ステッドマン,
グレン コウンドリー,
グレン コウンドリー,
ペーター プレッテンホーファー,
ペーター プレッテンホーファー,
ホン ニアン チュア,
ホン ニアン チュア,
Original Assignee
データロボット, インコーポレイテッド
データロボット, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/331,797 external-priority patent/US10366346B2/en
Application filed by データロボット, インコーポレイテッド, データロボット, インコーポレイテッド filed Critical データロボット, インコーポレイテッド
Publication of JP2019537125A publication Critical patent/JP2019537125A/ja
Publication of JP2019537125A5 publication Critical patent/JP2019537125A5/ja
Application granted granted Critical
Publication of JP7107926B2 publication Critical patent/JP7107926B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • G06Q10/06375Prediction of business process outcome or impact based on a proposed change

Abstract

本開示は、概して、データ分析のためのシステムおよび技法に関する。いくつかの実施形態は、具体的には、予測問題のための予測モデルを開発、選択、および/または理解するために統計的学習方法を使用するためのシステムならびに技法に関する。予測データ分析技法は、時系列予測問題のための予測モデルを生成するための改良された技法と、入力変数(「特徴」)の予測値を判定するための改良された技法と、一次予測モデルの二次モデルを生成するための改良された技法とを含んでもよい。

Description

(関連出願の相互参照)
本願は、2016年10月21日に出願され、“Systems and Techniques for Determining the Predictive Value of a Feature”と題された米国特許出願第15/331,797号(代理人管理番号DRB−001C1CP)、2016年10月21日に出願され、“Systems and Techniques for Predictive Data Analytics”と題された米国仮特許出願第62/411,526号(代理人管理番号DRB−002PR)に関連しており、これらの各々は、特許法によって許容される最大限の範囲で本明細書中に参照により援用される。
本開示は、概して、データ分析のためのシステムおよび技法に関する。いくつかの実施形態は、具体的には、予測問題のための予測モデルを開発、選択、および/または理解するために統計的学習方法を使用するためのシステムならびに技法に関する。
多くの団体および個人は、それらの運営を向上させるために、またはそれらの意思決定を補助するために、電子データを使用する。例えば、多くの企業は、取引を実行すること、入力および出力を追跡すること、または製品を市場に出すこと等の種々のビジネスプロセスの効率を増進するために、データ管理技術を使用する。別の実施例として、多くの事業は、ビジネスプロセスの業績を評価するため、プロセスを向上させる労力の有効性を測定するため、またはプロセスを調節する方法を決定するために、運営データを使用する。
ある場合には、問題または機会を予測するために、電子データが使用されることができる。いくつかの団体は、過去に起こったことを表す運営データを、予測モデルを構築するための業績測定基準の後続の値を表す評価と組み合わせる。予測モデルによって予測される成果に基づいて、団体は、決定を行い、プロセスを調節し、または他の措置を講じることができる。例えば、保険会社は、将来の請求をより正確に予想する予測モデル、または保険契約者が競合保険業者に切り替えることを考慮しているときを予測する予測モデルを構築しようとし得る。自動車製造業者は、新しい車のモデルの需要をより正確に予想する予測モデルを構築しようとし得る。消防署は、火事の危険性が高い日を予想する、または火事の危険に曝されている構造物を予想する、予測モデルを構築しようとし得る。
機械学習技法(例えば、監視下の統計的学習技法)が、少なくとも2つの変数の前もって記録された観察を含むデータセットから、予測モデルを生成するために使用されてもよい。予測される変数は、「標的」、「応答」、または「従属変数」と称され得る。予測を行うために使用されることができる、残りの変数は、「特徴」、「予測因子」、または「独立変数」と称され得る。観察は、概して、少なくとも1つの「訓練」データセットおよび少なくとも1つの「試験」データセットに分割される。次いで、データ分析者は、統計的学習プロシージャを選択し、予測モデルを生成するように、そのプロシージャを訓練データセット上で実行する。次いで、分析者は、標的の実際の観察に対して、モデルの標的の値の予測良好度を判定するように、試験データセット上で生成されたモデルを試験する。
いくつかの実施形態の動機
データ分析者は、運営および評価データを含む、電子データから予測モデルを構築するために、分析技法および計算インフラストラクチャを使用することができる。データ分析者は、概して、予測モデルを構築するために、2つのアプローチのうちの1つを使用する。第1のアプローチを用いると、予測問題を取り扱う団体は、単純に、同一予測問題または類似予測問題のためにすでに開発されている、パッケージ化された予測モデル化ソリューションを使用する。本「大量生産」アプローチは、安価であるが、概して、比較的多数の団体に共通する少数の予測問題(例えば、不正検出、回転売買管理、市場応答等)のためのみに実行可能である。第2のアプローチを用いると、データ分析者のチームが、予測問題のためのカスタマイズされた予測モデル化ソリューションを構築する。本「専門家」アプローチは、概して、高価で時間がかかり、したがって、少数の高額予測問題に使用される傾向がある。
予測問題のための潜在的予測モデル化ソリューションの空間は、概して、大きくて複雑である。統計的学習技法は、多くの学問的伝統(例えば、数学、統計学、物理学、工学、経済学、社会学、生物学、医学、人工知能、データマイニング等)による、および多くの商業分野における用途(例えば、財政、保険、小売、製造、医療等)による影響を受ける。その結果として、多くの変異形および/または調整パラメータを有し得る、多くの異なる予測モデル化アルゴリズム、ならびにそれらの独自の変異形および/またはパラメータを用いた異なる前処理ならびに後処理ステップがある。潜在的予測モデル化ソリューションの量(例えば、前処理ステップ、モデル化アルゴリズム、および後処理ステップの組み合わせ)は、すでに極めて大きく、研究者が新しい技法を開発するにつれて急速に増加している。
予測モデル化技法のこの広大な空間を考慮すると、予測モデルを生成することへの専門家アプローチは、時間がかかり、モデル化検索空間の大部分を未探索のままにする傾向がある。分析者は、自分の直感または以前の経験、および広範な試行錯誤試験に基づいて、その場限りの様式でモデル化空間を探索する傾向がある。彼らは、いくつかの潜在的に有用な探索手段を追求しない、または最初の労力の結果に応答して適切に検索を調節しない場合がある。さらに、試行錯誤試験の範囲は、専門家アプローチが、概して、モデル化検索空間のわずかな部分のみを探索するように、分析者の時間に対する制約によって制限される傾向がある。
専門家アプローチはまた、非常に高価であり得る。専門家アプローチを介して予測モデルを開発することは、多くの場合、計算リソースおよび高賃金のデータ分析者への多額の投資を伴う。これらの多額の費用を考慮すると、団体は、多くの場合、安価であり得るが、本広大な予測モデル化空間のわずかな部分のみ(例えば、規定予測問題への容認可能なソリューションを含有することが先験的に予期される、モデル化空間の一部)を探索する傾向がある、大量生産アプローチを支持して、専門家アプローチを控える。大量生産アプローチは、未探索オプションに対して不完全に機能する予測モデルを生成し得る。
予測問題のための潜在的予測モデル化技法の空間を系統的かつ費用効果的に評価する、ツールの必要性がある。多くの点で、予測モデルを生成することへの従来のアプローチは、貴重な資源(例えば、石油、金、鉱物、宝石等)を探査することに類似する。探査は、いくつかの貴重な発見につながり得るが、以前の結果の広範なライブラリに基づく、慎重に計画された探索的採掘または掘削と組み合わせた地質調査よりはるかに効率が低い。本発明者らは、予測問題のための潜在的予測モデル化ソリューションの空間を統計的かつ費用効果的に評価するために、統計的学習技法が使用され得ることを認識および理解している。
時系列予測モデル化
多くの予測問題は、1つまたはそれを上回る過去の時間における1つまたはそれを上回る入力変数(「特徴」)の値に基づいて、1つまたはそれを上回る将来の時間における1つまたはそれを上回る出力変数(「標的」)の値を予測することの問題を提起する。そのような予測問題は、「時系列予測問題」と称され得、そのような問題をモデル化する予測モデルは、「時系列予測モデル」または「時系列モデル」と称され得る。
技法が、時系列モデルに関してモデル化検索空間を厳密かつ効率的に探索するために必要とされる。本発明者らは、時系列モデル化検索空間の厳密かつ効率的な探索(時系列モデルの効率的な訓練、試験、および比較を含む)が、時系列モデル化プロシージャのある側面、例えば、モデルを訓練するために使用される訓練データの量、入力変数の観察の間の時間間隔、訓練データによって網羅される時間周期の長さ、訓練データによって網羅される時間周期の最近性、モデルに提供される特徴値と関連付けられる時間とモデルによって予測される標的値と関連付けられる時間との間の時間周期(「スキップ範囲」)、およびモデルが標的の値を予測する時間周期(「予想範囲」)を明示的にパラメータ化することによって、促進され得ることを認識および理解している。
一般に、本明細書に説明される主題の1つの革新的側面は、(a)1つまたはそれを上回るデータセットを含む、時系列データを取得するステップであって、各データセットは、複数の観察を含み、各観察は、(1)観察と関連付けられる時間のインジケーションと、(2)1つまたはそれを上回る変数の個別の値とを含む、ステップと、(b)時系列データの時間間隔を判定するステップと、(c)変数のうちの1つまたはそれを上回るものを標的として識別し、ゼロまたはそれを上回る他の変数を特徴として識別するステップと、(d)時系列データによって表される予測問題と関連付けられる予想範囲およびスキップ範囲を判定するステップであって、予想範囲は、標的の値が予測される、周期の持続時間を示し、スキップ範囲は、予想範囲内の最古の予測と関連付けられる時間と、予想範囲内の予測が基づく最新の観察と関連付けられる時間との間の時間的遅延を示す、ステップと、(e)時系列データから訓練データを生成するステップであって、訓練データは、データセットのうちの少なくとも1つの観察の第1のサブセットを含み、観察の第1のサブセットは、観察の訓練入力および訓練出力集合を含み、訓練入力および訓練出力集合内の観察と関連付けられる時間は、それぞれ、訓練入力時間範囲および訓練出力時間範囲に対応し、スキップ範囲は、訓練出力時間範囲の開始から訓練入力時間範囲の終了を分離し、訓練出力時間範囲の持続時間は、少なくとも予想範囲と同程度に長い、ステップと、(f)時系列データから試験データを生成するステップであって、試験データは、データセットのうちの少なくとも1つの観察の第2のサブセットを含み、観察の第2のサブセットは、観察の試験入力および試験検証集合を含み、試験入力および試験検証集合内の観察と関連付けられる時間は、それぞれ、試験入力時間範囲および試験検証時間範囲に対応し、スキップ範囲は、試験検証時間範囲の開始から試験入力時間範囲の終了を分離し、試験検証時間範囲の持続時間は、少なくとも予想範囲と同程度に長い、ステップと、(g)予測モデルを訓練データに適合させるステップと、(h)試験データに適合モデルを試験するステップとを含む、予測モデル化プロシージャを実施するステップを含む、予測モデル化方法で具現化されることができる。
本側面の他の実施形態は、それぞれ、方法のアクションを実施するように構成される、対応するコンピュータシステム、装置、および1つまたはそれを上回るコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。1つまたはそれを上回るコンピュータのシステムは、動作時に、アクションを生じさせる、またはシステムにアクションを実施させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することにより、特定のアクションを実施するように構成されることができる。1つまたはそれを上回るコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実施させる命令を含むことにより、特定のアクションを実施するように構成されることができる。
前述および他の実施形態はそれぞれ、随意に、単独で、もしくは組み合わせて、以下の特徴のうちの1つまたはそれを上回るものを含むことができる。いくつかの実施形態では、時系列データの時間間隔は、少なくとも部分的に、データセットのうちの少なくとも1つに含まれる観察の少なくともサブセットと関連付けられる時間に基づいて判定される。いくつかの実施形態では、時系列データの時間間隔を判定するステップは、データセット毎に、データセットの個別の時間間隔を判定するステップと、データセットの時間間隔が一様であることを判定するステップと、時系列データの時間間隔をデータセットの時間間隔に設定するステップとを含む。いくつかの実施形態では、データセットの時間間隔を判定するステップは、データセットに含まれる一対またはそれを上回る連続観察に関して、連続観察の間の個別の時間周期を判定するステップと、連続対の観察の間の時間周期が一様であることを判定するステップと、データセットの時間間隔を連続対の観察の間の時間周期に設定するステップとを含む。
いくつかの実施形態では、時系列データの時間間隔を判定するステップは、データセット毎に、データセットの個別の時間間隔を判定するステップと、データセットのうちの少なくとも2つの時間間隔が異なることを判定するステップとを含み、時系列データの時間間隔は、少なくとも部分的に、(1)データセットのそれぞれに含まれる観察の個別の割合、および/または(2)データセットのそれぞれの個別の時間間隔に基づいて、判定される。いくつかの実施形態では、データセットの個別の時間間隔を判定するステップは、データセットに含まれる各対の連続観察の間の個別の時間周期を判定するステップを含み、複数対の連続観察の間の時間周期が複数の非一様な持続時間を呈する場合、データセットの時間間隔は、少なくとも部分的に、(1)非一様な持続時間のそれぞれを呈する複数対の連続観察の個別の割合、および/または(2)時間周期の持続時間に基づいて、判定され、複数対の連続観察の間の時間周期が一様な持続時間である場合、データセットの時間間隔は、時間周期のそれぞれの持続時間である。いくつかの実施形態では、時系列データの時間間隔は、データセットのそれぞれの個別の時間間隔の整数の倍数である、最短の時間間隔である。
いくつかの実施形態では、本方法のアクションはさらに、データセット毎に、データセットの時間間隔が時系列データの時間間隔よりも短い場合、データセットの観察をダウンサンプリングし、それによって、データセットの時間間隔を時系列データの時間間隔に変換するステップを含む。いくつかの実施形態では、データセットの観察をダウンサンプリングするステップは、データセットに対応する時間周期内の時系列データの時間間隔のインスタンス毎に、時系列データの時間間隔の個別のインスタンスに対応する時間と関連付けられる、データセット内の全ての観察を識別するステップと、識別された観察を集約し、集約観察を生成するステップと、データセット内の識別された観察を集約観察と置換するステップとを含む。いくつかの実施形態では、時系列データの時間間隔のインスタンスに対応する識別された観察の数は、時系列データの時間間隔とデータセットの時間間隔との間の比率に等しい。いくつかの実施形態では、識別された観察を集約するステップは、集約観察の中の各変数の値を、(1)識別された観察のうちの最古のものに含まれる、対応する変数値、(2)識別された観察のうちの最新のものに含まれる、対応する変数値、(3)識別された観察に含まれる、対応する変数値の最大値、(4)識別された観察に含まれる、対応する変数値の最小値、(5)識別された観察に含まれる、対応する変数値の平均、または(6)識別された観察に含まれる、対応する変数値の関数の値に設定するステップを含む。
いくつかの実施形態では、時系列データの時間間隔は、データセットの時間間隔から成る群から選択される。いくつかの実施形態では、データセットは、第1の時間間隔を呈する第1のデータセットと、第1の時間間隔を上回る第2の時間間隔を呈する第2のデータセットとを含み、第2の時間間隔は、時系列データの時間間隔として選択され、本方法のアクションはさらに、第1のデータセットの観察をダウンサンプリングし、それによって、第1のデータセットの時間間隔を時系列データの時間間隔に変換するステップを含む。いくつかの実施形態では、時系列データの時間間隔は、データセットの時間間隔のそれぞれと異なる。
いくつかの実施形態では、少なくとも時系列データの観察の群は、第1の変数の個別の値を含み、本方法のアクションはさらに、予測モデルを訓練データに適合させ、試験データに適合モデルを試験するステップに先立って、第1の変数の値が時間値を含むことを判定するステップと、群の中の観察毎に、第2の変数の個別の値を生成するステップであって、第2の変数の値は、第1の変数の時間値と参照時間値との間のオフセットを備える、ステップと、第2の変数の値を群の中の個別の観察に追加するステップとを含む。いくつかの実施形態では、本方法のアクションはさらに、群の中の観察から第1の変数の値を除去するステップを含む。いくつかの実施形態では、参照時間は、イベントの日付を含む。いくつかの実施形態では、イベントは、出生、結婚、学校からの卒業、雇用主に対する雇用の開始、または特定の地位での仕事の開始を含む。
いくつかの実施形態では、変数は、第1の変数と、第2の変数とを含み、本方法のアクションはさらに、第1および第2の変数の値の変化が、第1の変数の値の変化と第2の変数の値の相関変化との間の時間的遅延を伴って、相関することを判定するステップと、グラフィカルユーザインターフェースを介して、第1の変数の値の変化と第2の変数の値の相関変化との間の時間的遅延の持続時間を示す、グラフィカルコンテンツを表示するステップとを含む。
いくつかの実施形態では、予想範囲は、少なくとも部分的に、(1)時系列データの時間間隔、(2)時系列データに含まれる観察の数、(3)時系列データに対応する時間周期、および/または(4)マイクロ秒、ミリ秒、秒、分、時間、日、週、月、四半期、季節、年、10年、世紀、および1,000年から成る群から選択される、自然時間周期に基づいて、判定される。いくつかの実施形態では、予想範囲は、時系列データの時間間隔の整数の倍数である。いくつかの実施形態では、予想範囲内の連続予測と関連付けられる時間の間の時間周期は、時系列データの時間間隔に等しい。
いくつかの実施形態では、スキップ範囲は、少なくとも部分的に、時系列データの収集における待ち時間、時系列データの通信における待ち時間、時系列データを分析する際の待ち時間、時系列データの分析の通信における待ち時間、および/または時系列データの分析に基づいてアクションを実装することの待ち時間に基づいて判定される。
いくつかの実施形態では、本方法のアクションはさらに、少なくとも部分的に、時系列データに含まれる観察の総数、経時的な変数のうちの少なくとも1つの値の変動の量、変数のうちの少なくとも1つの値の季節変動の量、複数の時間周期にわたる変数のうちの少なくとも1つの値の変動の一貫性、および/または予想範囲の持続時間に基づいて、訓練入力時間範囲の持続時間を判定するステップを含む。いくつかの実施形態では、予測モデルを訓練データに適合させるステップは、予測モデルを、訓練入力時間範囲の一部に対応する訓練データのサブセットに適合させるステップを含み、訓練入力時間範囲の一部は、訓練入力時間範囲の開始時間に続く時間に開始し、訓練入力時間範囲の終了時間に終了する。いくつかの実施形態では、訓練入力時間範囲の一部の持続時間は、予想範囲の持続時間の整数の倍数である。
いくつかの実施形態では、本方法のアクションはさらに、予測モデルを訓練データに適合させるステップに先立って、訓練データをダウンサンプリングするステップを含む。いくつかの実施形態では、訓練データをダウンサンプリングするステップは、訓練データから、データセットのうちの少なくとも1つから取得される全ての観察を除去するステップを含む。いくつかの実施形態では、訓練データをダウンサンプリングするステップは、訓練データのダウンサンプリングされた時間間隔を時系列データの時間間隔の整数の倍数に設定するステップと、訓練データのダウンサンプリングされた時間間隔のインスタンス毎に、訓練データのダウンサンプリングされた時間間隔の個別のインスタンスに対応する時間と関連付けられる、訓練データ内の全ての観察を識別するステップと、識別された観察を集約し、集約観察を生成するステップと、訓練データ内の識別された観察を集約観察と置換するステップとを含む。いくつかの実施形態では、本方法のアクションはさらに、試験データに適合モデルを試験するステップに先立って、試験データをダウンサンプリングするステップを含む。
いくつかの実施形態では、本方法のアクションはさらに、予測モデルの交差検証を実施するステップを含む。いくつかの実施形態では、訓練データは、第1の訓練データであり、試験データは、第1の試験データであり、適合モデルは、第1の適合モデルであり、予測モデルの交差検証を実施するステップは、(i)時系列データから第2の訓練データおよび第2の試験データを生成するステップであって、第2の訓練データは、データセットのうちの少なくとも1つの観察の第3のサブセットを含み、第2の試験データは、データセットのうちの少なくとも1つの観察の第4のサブセットを含む、ステップと、(j)予測モデルを第2の訓練データに適合させ、第2の適合モデルを取得するステップと、(k)第2の試験データに第2の適合モデルを試験するステップとを含む。
いくつかの実施形態では、観察の第1のサブセットは、訓練時間の第1の範囲を網羅するスライド訓練ウィンドウに対応し、第1のサブセットに含まれる各観察は、訓練時間の第1の範囲内の時間と関連付けられ、観察の第3のサブセットは、訓練時間の第2の範囲を網羅するスライド訓練ウィンドウに対応し、第3のサブセットに含まれる各観察は、訓練時間の第2の範囲内の時間と関連付けられ、訓練時間の第1の範囲内の最早時間は、訓練時間の第2の範囲内の最早時間よりも早い。いくつかの実施形態では、観察の第2のサブセットは、試験時間の第1の範囲を網羅するスライド試験ウィンドウに対応し、第2のサブセットに含まれる各観察は、試験時間の第1の範囲内の時間と関連付けられ、観察の第4のサブセットは、試験時間の第2の範囲を網羅するスライド試験ウィンドウに対応し、第4のサブセットに含まれる各観察は、試験時間の第2の範囲内の時間と関連付けられ、試験時間の第1の範囲内の最早時間は、試験時間の第2の範囲内の最早時間よりも早い。いくつかの実施形態では、第1の試験時間範囲は、第2の訓練時間範囲に部分的に重複する。いくつかの実施形態では、第2の試験時間範囲は、第1の訓練時間範囲のいかなる部分にも重複せず、第2の訓練時間範囲のいかなる部分にも重複しない。
いくつかの実施形態では、本方法のアクションはさらに、時系列データを、少なくとも、第1のパーティションと、第2のパーティションとを含む、複数のパーティションに分割するステップを含む。いくつかの実施形態では、時系列データを複数のパーティションに分割するステップは、データセットのそれぞれを対応するパーティションに割り当てるステップを含む。いくつかの実施形態では、時系列データを複数のパーティションに分割するステップは、時系列データを時間的に分割するステップを含み、パーティションはそれぞれ、時系列データと関連付けられる時間周期の個別の部分に対応し、時系列データに含まれる各観察は、観察と関連付けられる時間に合致する時間周期の一部に対応する、パーティションに割り当てられる。
いくつかの実施形態では、第1の訓練データは、時系列データの第1のパーティションに含まれる、観察のサブセットを含み、第1の試験データは、第1のパーティションを除く時系列データの全てのパーティションに含まれる観察の個別のサブセットを含み、第2の訓練データは、時系列データの第2のパーティションに含まれる、観察のサブセットを含み、第2の試験データは、第2のパーティションを除く時系列データの全てのパーティションに含まれる観察の個別のサブセットを含む。いくつかの実施形態では、時系列データの第1のパーティションは、第1および第2の訓練データと、第1および第2の試験データとを含み、時系列データの第2のパーティションは、ホールドアウトデータを含み、本方法のアクションはさらに、ホールドアウトデータに第1および第2の適合モデルを試験するステップを含む。いくつかの実施形態では、いかなる予測モデルもホールドアウトデータに適合されない。
いくつかの実施形態では、本方法のアクションはさらに、予測モデルのネスト化交差検証を実施するステップを含む。いくつかの実施形態では、予測モデルのネスト化交差検証を実施するステップは、時系列データを、少なくとも、時系列データの第1のパーティションと、時系列データの第2のパーティションとを含む、第1の複数のパーティションに分割するステップと、時系列データの第1のパーティションを、少なくとも、時系列データの第1のパーティションの第1のパーティションと、時系列データの第1のパーティションの第2のパーティションとを含む、時系列データの第1のパーティションの複数のパーティションに分割するステップとを含み、訓練データは、時系列データの第1のパーティションの第1のパーティションを含み、試験データは、少なくとも、時系列データの第1のパーティションの第1のパーティション以外の時系列データの第1のパーティションの複数のパーティションを含む。
いくつかの実施形態では、訓練データは、第1の訓練データであり、試験データは、第1の試験データであり、適合モデルは、第1の適合モデルであり、予測モデルのネスト化交差検証を実施するステップはさらに、(i)時系列データの第1のパーティションから、第2の訓練データおよび第2の試験データを生成するステップであって、第2の訓練データは、時系列データの第1のパーティションの第2のパーティションを含み、第2の試験データは、少なくとも、時系列データの第1のパーティションの第2のパーティション以外のデータセットの第1のパーティションの複数のパーティションを備える、ステップと、(j)予測モデルを第2の訓練データに適合させ、第2の適合モデルを取得するステップと、(k)第2の試験データに第2の適合モデルを試験するステップとを含む。
いくつかの実施形態では、ネスト化交差検証を実施するステップはさらに、時系列データの第2のパーティションに第1の適合モデルおよび第2の適合モデルを試験するステップと、時系列データの第2のパーティションに第1および第2の適合モデルを試験するステップの結果に基づいて、第1の適合モデルを第2の適合モデルと比較するステップとを含む。
いくつかの実施形態では、本方法のアクションはさらに、適合モデルに関して、時系列データの特徴のうちの1つまたはそれを上回るもののモデル特有の予測値を判定するステップを含む。いくつかの実施形態では、本方法のアクションはさらに、少なくとも部分的に特徴のモデル特有の予測値に基づいて、時系列データから特徴を取り除くステップ、時系列データ内の2つまたはそれを上回る特徴から導出された特徴を作成し、導出された特徴を時系列データに追加するステップ、予測モデルを別の予測モデルと混合するステップ、および/または予測問題のための予測モデル化プロシージャの好適性を評価するプロセス中にリソースを割り付けるステップから成る群から選択される、少なくとも1つのアクションを実施するステップを含む。
いくつかの実施形態では、本方法のアクションはさらに、少なくとも部分的に、予測問題の特性および/または個別の予測モデル化プロシージャの属性に基づいて、予測問題のための複数の予測モデル化プロシージャの好適性を判定するステップと、予測問題のための選択されたモデル化プロシージャの判定された好適性に基づいて、複数の予測モデル化プロシージャから1つまたはそれを上回る予測モデル化プロシージャを選択するステップと、1つまたはそれを上回る予測モデル化プロシージャを実施するステップとを含む。
いくつかの実施形態では、1つまたはそれを上回る予測モデル化プロシージャを実施するステップは、命令を複数の処理ノードに伝送するステップであって、命令は、選択されたモデル化プロシージャの実行のために処理ノードのリソースを割り付けるリソース割付スケジュールを含み、リソース割付スケジュールは、少なくとも部分的に、予測問題のための選択されたモデル化プロシージャの好適性に基づく、ステップと、リソース割付スケジュールに従った複数の処理ノードによる選択されたモデル化プロシージャの実行の結果を受信するステップであって、結果は、選択されたモデル化プロシージャによって生成される予測モデル、および/または予測問題と関連付けられる時系列データのための生成されたモデルのスコアを含む、ステップと、生成されたモデルから、少なくとも部分的に選択された予測モデルのスコアに基づいて、予測問題のための予測モデルを選択するステップとを含む。
いくつかの実施形態では、本方法のアクションはさらに、適合モデルを別の適合モデルと混合することによって、混合予測モデルを生成するステップを含む。
いくつかの実施形態では、本方法のアクションはさらに、適合モデルを展開するステップを含む。いくつかの実施形態では、時系列データは、第1の時系列データであり、適合モデルを展開するステップは、予測問題の1つまたはそれを上回るインスタンスを表す第2の時系列データに適合モデルを適用することによって、1つまたはそれを上回る予測を生成するステップを含み、第1の時系列データは、第2の時系列データを含まない。いくつかの実施形態では、時系列データは、第1の時系列データであり、適合モデルを展開するステップは、少なくとも部分的に第2の時系列データに基づいて、適合モデルをリフレッシュするステップを含む。いくつかの実施形態では、適合モデルは、第1の適合モデルであり、少なくとも部分的に第2の時系列データに基づいて、適合モデルをリフレッシュするステップは、第2の時系列データに予測モデル化プロシージャを実施し、第2の適合モデルを生成するステップと、第1の適合モデルおよび第2の適合モデルを混合し、リフレッシュされた予測モデルを生成するステップとを含む。いくつかの実施形態では、少なくとも部分的に第2の時系列データに基づいて、適合モデルをリフレッシュするステップは、第1の時系列データの少なくとも一部と、第2の時系列データの少なくとも一部とを含む、第3の時系列データに予測モデル化プロシージャを実施し、リフレッシュされた予測モデルを生成するステップを含む。
いくつかの実施形態では、適合モデルは、1つまたはそれを上回るサーバに展開され、他の適合モデルもまた、1つまたはそれを上回るサーバに展開され、適合モデルおよび他の適合モデルへの予測要求は、少なくとも部分的に、(1)予測を生成するために適合モデルのそれぞれによって使用される時間量の推定値、および/または(2)適合モデル毎の予測要求が受信される頻度の推定値に基づいて、サーバの間に割り付けられる。いくつかの実施形態では、各予測要求は、個別のスレッドに割り当てられ、各予測要求は、関連付けられる待ち時間感度値を有し、特定のサーバ上で実行するスレッドの数は、少なくとも部分的に、特定のサーバ上で実行するスレッドの待ち時間感度値に基づいて、判定される。
いくつかの実施形態では、本方法のアクションはさらに、時系列データに含まれる特徴のうちの2つまたはそれを上回るものの相互作用強度を示す、測定基準の値を判定するステップと、測定基準の値が閾値を超える場合、2つまたはそれを上回る特徴の値に基づいて、新しい特徴の時系列値を生成し、新しい特徴を時系列データに追加するステップとを含む。
いくつかの実施形態では、本方法のアクションはさらに、時系列データの時間分解能を判定するステップを含む。いくつかの実施形態では、標的は、ユーザ入力に基づいて識別される。
本側面の他の実施形態は、予測モデル化プロシージャを符号化する機械実行可能モジュールを記憶するように構成される、メモリであって、予測モデル化プロシージャは、少なくとも1つの前処理タスクと、少なくとも1つのモデル適合タスクとを含む、複数のタスクを含む、メモリと、機械実行可能モジュールを実行するように構成される、少なくとも1つのプロセッサであって、機械実行可能モジュールを実行するステップは、装置に予測モデル化プロシージャを実施させる、プロセッサとを含む、予測モデル化装置を含む。予測モデル化プロシージャを実施するステップは、(a)1つまたはそれを上回るデータセットを含む、時系列データを取得するステップであって、各データセットは、複数の観察を含み、各観察は、(1)観察と関連付けられる時間のインジケーションと、(2)1つまたはそれを上回る変数の個別の値とを含む、ステップと、(b)時系列データの時間間隔を判定するステップと、(c)変数のうちの1つまたはそれを上回るものを標的として識別し、ゼロまたはそれを上回る他の変数を特徴として識別するステップと、(d)時系列データによって表される予測問題と関連付けられる予想範囲およびスキップ範囲を判定するステップであって、予想範囲は、標的の値が予測される、周期の持続時間を示し、スキップ範囲は、予想範囲内の最古の予測と関連付けられる時間と、予想範囲内の予測が基づく最新の観察と関連付けられる時間との間の時間的遅延を示す、ステップとを含む、前処理タスクを実施するステップを含んでもよい。予測モデル化プロシージャを実施するステップは、(e)時系列データから訓練データを生成するステップであって、訓練データは、データセットのうちの少なくとも1つの観察の第1のサブセットを含み、観察の第1のサブセットは、観察の訓練入力および訓練出力集合を含み、訓練入力および訓練出力集合内の観察と関連付けられる時間は、それぞれ、訓練入力時間範囲および訓練出力時間範囲に対応し、スキップ範囲は、訓練出力時間範囲の開始から訓練入力時間範囲の終了を分離し、訓練出力時間範囲の持続時間は、少なくとも予想範囲と同程度に長い、ステップと、(f)時系列データから試験データを生成するステップであって、試験データは、データセットのうちの少なくとも1つの観察の第2のサブセットを含み、観察の第2のサブセットは、観察の試験入力および試験検証集合を含み、試験入力および試験検証集合内の観察と関連付けられる時間は、それぞれ、試験入力時間範囲および試験検証時間範囲に対応し、スキップ範囲は、試験検証時間範囲の開始から試験入力時間範囲の終了を分離し、試験検証時間範囲の持続時間は、少なくとも予想範囲と同程度に長い、ステップと、(g)予測モデルを訓練データに適合させるステップと、(h)試験データに適合モデルを試験するステップとを含む、モデル適合タスクを実施するステップを含んでもよい。機械実行可能モジュールは、タスク間の依存性を表す、有向グラフを含んでもよい。
特徴の予測値を判定する
予測問題のための正確な予測モデルが利用可能であるときでさえも、(1)予測問題自体および(2)具体的予測モデルが正確な予測結果を生じる方法を理解することは、困難であり得る。「特徴重要性」の測定基準は、そのような理解を促進することができる。一般に、特徴重要性測定基準は、データセットによって表される予測問題の成果を予想する目的のために、データセットの特徴の予測値を示す。特徴重要性を測定するための従来の技法は、概して、特定のタイプの予測モデルのみに適用可能であり、概して、他のタイプの予測モデルと併用するためにあまり適していない。したがって、恣意的な予測モデルに関して、または予測モデルの多様なセットに関して特徴重要性を測定し得る、ツールの必要性がある。加えて、特徴重要性測定基準を使用し、予測モデル化プロシージャの評価へ、特徴工学タスクへ、および予測モデルの混合へのリソースの割付を誘導し、それによって、予測問題のための潜在的予測モデル化技法の空間の費用効果的評価を促進し得る、ツールの必要性がある。
一般に、本明細書に説明される主題の別の革新的側面は、(a)複数の予測モデル化プロシージャを実施するステップであって、予測モデル化プロシージャはそれぞれ、予測モデルと関連付けられ、各モデル化プロシージャを実施するステップは、関連付けられる予測モデルを、初期予測問題を表す初期データセットに適合させるステップを含む、ステップと、(b)適合予測モデルのそれぞれの第1の個別の精度スコアを判定するステップであって、各適合モデルの第1の精度スコアは、適合モデルが初期予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(c)初期データセットに含まれる個別の観察を横断して特徴の値をシャッフルし、それによって、修正された予測問題を表す、修正されたデータセットを生成するステップと、(d)適合予測モデルのそれぞれの第2の個別の精度スコアを判定するステップであって、各適合モデルの第2の精度スコアは、適合モデルが修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(e)適合モデル毎に特徴の個別のモデル特有の予測値を判定するステップであって、適合モデル毎の特徴のモデル特有の予測値は、適合モデルの第1および第2の精度スコアに基づく、ステップとを含む、方法で具現化されることができる。
本側面の他の実施形態は、それぞれ、方法のアクションを実施するように構成される、対応するコンピュータシステム、装置、および1つまたはそれを上回るコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。1つまたはそれを上回るコンピュータのシステムは、動作時に、アクションを生じさせる、またはシステムにアクションを実施させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することにより、特定のアクションを実施するように構成されることができる。1つまたはそれを上回るコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実施させる命令を含むことにより、特定のアクションを実施するように構成されることができる。
前述および他の実施形態はそれぞれ、随意に、単独で、もしくは組み合わせて、以下の特徴のうちの1つまたはそれを上回るものを含むことができる。いくつかの実施形態では、本方法のアクションはさらに、複数の予測モデル化プロシージャを実施するステップに先立って、初期データセットの特性、初期予測問題の特性、および/または特徴の特性に基づいて、予測問題のための複数の予測モデル化プロシージャを選択するステップを含む。いくつかの実施形態では、複数の予測モデル化プロシージャは、ランダムフォレストモデル化プロシージャ、一般化付加モデル化プロシージャ、およびサポートベクターマシンモデル化プロシージャから成る群から選択される、2つまたはそれを上回るモデル化プロシージャを含む。いくつかの実施形態では、複数の予測モデル化プロシージャは、第1のモデル化プロシージャ族から選択される第1のモデル化プロシージャと、第2のモデル化プロシージャ族から選択される第2のモデル化プロシージャとを含む。
いくつかの実施形態では、本方法のアクションはさらに、予測モデルの第2の精度スコアを判定するステップに先立って、予測モデルを、修正された予測問題を表す修正されたデータセットに再適合させるステップを含む。いくつかの実施形態では、特定の適合モデルのための特徴の判定されたモデル特有の予測値は、特定の適合モデルの第1の精度スコアと第2の精度スコアとの間の差異が増加すると増加する。いくつかの実施形態では、特定の適合モデルのための特徴の判定されたモデル特有の予測値は、特定の適合モデルの第1の精度スコアに対する特定の適合モデルの第1の精度スコアと第2の精度スコアとの間の割合差を含む。
いくつかの実施形態では、本方法のアクションはさらに、特徴のモデル特有の予測値に基づいて、特徴のモデル非依存性予測値を判定するステップを含む。いくつかの実施形態では、特徴のモデル非依存性予測値を判定するステップは、特徴のモデル特有の予測値の中心および/または拡散の統計的測定値を計算するステップを含む。いくつかの実施形態では、特徴のモデル非依存性予測値を判定するステップは、モデル特有の予測値の中心の統計的測定値を計算するステップを含み、中心の統計的測定値は、モデル特有の予測値の平均値、中央値、および最頻値から成る群から選択される。いくつかの実施形態では、特徴のモデル非依存性予測値を判定するステップは、モデル特有の予測値の拡散の統計的測定値を計算するステップを含み、拡散の統計的測定値は、モデル特有の予測値の範囲、分散、および標準偏差から成る群から選択される。いくつかの実施形態では、特徴のモデル非依存性予測値を判定するステップは、特徴のモデル特有の予測値の組み合せを計算するステップを含む。いくつかの実施形態では、モデル特有の予測値の組み合せを計算するステップは、モデル特有の予測値の加重組み合せを計算するステップを含む。いくつかの実施形態では、モデル特有の予測値の加重組み合せを計算するステップは、個別の加重をモデル特有の予測値に割り当てるステップを含み、特定の適合予測モデルに対応する特定のモデル特有の予測値に割り当てられる加重は、適合予測モデルの第1の精度スコアが増加すると増加する。
いくつかの実施形態では、特徴は、第1の特徴であり、本方法のアクションはさらに、(c1)初期データセットに含まれる個別の観察を横断して第2の特徴の値をシャッフルし、それによって、第2の修正された予測問題を表す、第2の修正されたデータセットを生成するステップと、(d1)適合予測モデルのそれぞれの第3の個別の精度スコアを判定するステップであって、各適合モデルの第3の精度スコアは、適合モデルが第2の修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(e1)適合モデル毎に第2の特徴の個別のモデル特有の予測値を判定するステップであって、適合モデル毎の第2の特徴のモデル特有の予測値は、適合モデルの第1および第3の精度スコアに基づく、ステップとを含む。
いくつかの実施形態では、特徴は、第1の特徴であり、初期データセットは、第1の特徴と、複数の第2の特徴とを含み、本方法のアクションはさらに、第2の特徴毎にステップ(c)、(d)、および(e)を実施することによって、初期データセットの第2の特徴のモデル特有の予測値を判定するステップを含む。
いくつかの実施形態では、本方法のアクションはさらに、グラフィカルユーザインターフェースを介して、初期データセットの第1および第2の特徴、ならびに第1および第2の特徴のモデル特有の予測値を識別する、グラフィカルコンテンツを表示するステップを含む。いくつかの実施形態では、モデル化プロシージャは、特定の予測モデルと関連付けられる特定のモデル化プロシージャを含む、第1のモデル化プロシージャであり、第1および第2の特徴のモデル特有の予測値は、特定の予測モデルに特有である第1および第2の特徴の特定のモデル特有の予測値を含み、本方法のアクションはさらに、(a1)特定の予測モデルと関連付けられる特定のモデル化プロシージャを含む、複数の第2の予測モデル化プロシージャを実施するステップを含む。いくつかの実施形態では、特定の予測モデル化プロシージャを実施するステップは、第1の特徴および第2の特徴の特定のモデル特有の予測値に基づいて、初期データセットに特徴工学を実施するステップを含む。
いくつかの実施形態では、特徴工学を実施するステップは、低いモデル特有の予測値を有する特定の特徴に基づいて、初期データセットから特定の特徴を除去するステップを含む。いくつかの実施形態では、本方法のアクションはさらに、閾値よりも低い特定の特徴のモデル特有の予測値に基づいて、および/または初期データセットの第1ならびに第2の特徴の特定のモデル特有の予測値の規定パーセンタイル内である特定の特徴のモデル特有の予測値に基づいて、特定の特徴のモデル特有の予測値が低いことを判定するステップを含む。
いくつかの実施形態では、特徴工学を実施するステップは、高いモデル特有の予測値を有する、初期データセットの2つまたはそれを上回る特定の特徴に基づいて、導出された特徴を生成するステップと、導出された特徴を初期データセットに追加し、それによって、第2の初期データセットを生成するステップとを含む。いくつかの実施形態では、本方法のアクションはさらに、閾値よりも高い特定の特徴のモデル特有の予測値に基づいて、および/または初期データセットの第1ならびに第2の特徴の特定のモデル特有の予測値の規定パーセンタイル内である特定の特徴のモデル特有の予測値に基づいて、特定の特徴のモデル特有の予測値が高いことを判定するステップを含む。
いくつかの実施形態では、特定の予測モデル化プロシージャを実施するステップはさらに、特定の予測モデルを第2の初期データセットに適合させるステップを含み、本方法のアクションはさらに、適合された特定の予測モデルの第1の精度スコアを判定するステップであって、適合された特定のモデルの第1の精度スコアは、適合された特定のモデルが初期予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、第2の初期データセットに含まれる個別の観察を横断して第1の特徴の値をシャッフルし、それによって、第2の修正された予測問題を表す、第2の修正されたデータセットを生成するステップと、適合された特定の予測モデルの第2の精度スコアを判定するステップであって、適合された特定のモデルの第2の精度スコアは、適合モデルが第2の修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、適合された特定のモデルのための第1の特徴の第2のモデル特有の予測値を判定するステップであって、適合された特定のモデルのための第1の特徴の第2のモデル特有の予測値は、適合された特定のモデルの第1および第2の精度スコアに基づく、ステップとを含む。
いくつかの実施形態では、本方法のアクションはさらに、複数の第2のモデル化プロシージャを実施するステップに先立って、初期予測問題のための選択されたモデル化プロシージャの好適性に基づいて、第2のモデル化プロシージャを選択するステップを含み、初期予測問題のための特定の予測モデル化プロシージャの好適性は、少なくとも部分的に、特定の予測モデル化プロシージャのための高いモデル特有の予測値を有する初期データセットの1つまたはそれを上回る特定の特徴の特性に基づいて、判定される。
いくつかの実施形態では、本方法のアクションはさらに、命令を複数の処理ノードに伝送するステップであって、命令は、第2のモデル化プロシージャの実行のために処理ノードのリソースを割り付けるリソース割付スケジュールを含み、リソース割付スケジュールは、少なくとも部分的に、初期予測問題のための第2のモデル化プロシージャの好適性に基づく、ステップと、リソース割付スケジュールに従った複数の処理ノードによる第2のモデル化プロシージャの実行の結果を受信するステップであって、結果は、第2のモデル化プロシージャによって生成される予測モデル、および/または初期予測問題と関連付けられるデータのための生成されたモデルのスコアを含む、ステップと、生成されたモデルから、少なくとも部分的に選択された予測モデルのスコアに基づいて、初期予測問題のための予測モデルを選択するステップとを含む。いくつかの実施形態では、本方法のアクションはさらに、生成された予測モデルのうちの2つまたはそれを上回るものを組み合わせることによって、混合予測モデルを生成するステップと、混合予測モデルを評価するステップとを含む。
いくつかの実施形態では、修正された予測問題のための特徴の予測値は、閾値予測値未満である。
いくつかの実施形態では、初期データセットは、初期時系列データセットであり、初期予測問題は、初期時系列予測問題であり、修正されたデータセットは、修正された時系列データセットであり、修正された予測問題は、修正された時系列予測問題である。いくつかの実施形態では、適合予測モデルは、1つまたはそれを上回る時系列予測モデルを含む。
本側面の他の実施形態は、プロセッサ実行可能命令を記憶するように構成される、メモリと、プロセッサ実行可能命令を実行するように構成される、プロセッサであって、プロセッサ実行可能命令を実行するステップは、装置に、(a)複数の予測モデル化プロシージャを実施するステップであって、予測モデル化プロシージャはそれぞれ、予測モデルと関連付けられ、各モデル化プロシージャを実施するステップは、関連付けられる予測モデルを、初期予測問題を表す初期データセットに適合させるステップを含む、ステップと、(b)適合予測モデルのそれぞれの第1の個別の精度スコアを判定するステップであって、各適合モデルの第1の精度スコアは、適合モデルが初期予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(c)初期データセットに含まれる個別の観察を横断して特徴の値をシャッフルし、それによって、修正された予測問題を表す、修正されたデータセットを生成するステップと、(d)適合予測モデルのそれぞれの第2の個別の精度スコアを判定するステップであって、各適合モデルの第2の精度スコアは、適合モデルが修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(e)適合モデル毎に特徴の個別のモデル特有の予測値を判定するステップであって、適合モデル毎の特徴のモデル特有の予測値は、適合モデルの第1および第2の精度スコアに基づく、ステップとを含む、ステップを実施させる、プロセッサとを含む、予測モデル化装置を含む。
本側面の他の実施形態は、プロセッサによって実行されると、プロセッサに、(a)複数の予測モデル化プロシージャを実施するステップであって、予測モデル化プロシージャはそれぞれ、予測モデルと関連付けられ、各モデル化プロシージャを実施するステップは、関連付けられる予測モデルを、初期予測問題を表す初期データセットに適合させるステップを含む、ステップと、(b)適合予測モデルのそれぞれの第1の個別の精度スコアを判定するステップであって、各適合モデルの第1の精度スコアは、適合モデルが初期予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(c)初期データセットに含まれる個別の観察を横断して特徴の値をシャッフルし、それによって、修正された予測問題を表す、修正されたデータセットを生成するステップと、(d)適合予測モデルのそれぞれの第2の個別の精度スコアを判定するステップであって、各適合モデルの第2の精度スコアは、適合モデルが修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(e)適合モデル毎に特徴の個別のモデル特有の予測値を判定するステップであって、適合モデル毎の特徴のモデル特有の予測値は、適合モデルの第1および第2の精度スコアに基づく、ステップとを含む、動作を実施させる、その上に記憶されたコンピュータ可読命令を有する、製造品を含む。
本側面の特定の実施形態は、以下の利点のうちの1つまたはそれを上回るものを実現するように実装されることができる。本側面のいくつかの実施形態は、予測問題の理解を促進するために、かつ具体的予測モデルが正確な予測結果を生じる方法を示すために、有益に使用されてもよい。本側面のいくつかの実施形態は、恣意的な予測モデルに関して、または予測モデルの多様なセットに関して特徴重要性を測定することができる。本側面のいくつかの実施形態は、予測モデル化プロシージャの評価へ、特徴工学タスクへ、および予測モデルの混合へのリソースの割付を誘導し、それによって、予測問題のための潜在的予測モデル化技法の空間の費用効果的評価を促進することができる。
二次予測モデル化
あるモデル化技法は、理解することが困難であり、かつソフトウェアで効率的に実装することが困難である、不透明および/または複雑なモデルを生成する傾向がある。そのようなモデルを実装するソフトウェアは、膨大な計算リソースを使用し、他の同等に正確なモデルを実装するソフトウェアを使用してはるかに効率的に生成され得る予測を生成し得る。
モデルの精度を有意に減少させることなく、1つまたはそれを上回る入力変数(「特徴」)F1の値に基づいて、1つまたはそれを上回る出力変数(「標的」)Tの値を予測する、一次予測モデルM1の不透明性および/または複雑性を低減させるための技法の必要性がある。本発明者らは、一次モデルM1の二次モデルM2を構築することによって、これらの必要性が満たされ得ることを認識および理解している。二次モデルは、同一の特徴F1(またはそのサブセット)ならびに/もしくは一次モデルによって使用されていない1つまたはそれを上回る特徴に基づいて、標的Tのための一次モデルの予測値を予測してもよい。
多くの場合、本側面の実施形態によって生成される二次モデルは、対応する一次モデルと同程度に正確またはそれよりもさらに正確であり、二次モデルを実装するソフトウェアは、対応する一次モデルを実装するソフトウェアよりも実質的に効率的である。本側面の実施形態が、混合一次モデルの二次モデルを生成するために使用されるとき、二次モデルは、多くの場合、特に正確であり、二次モデルを実装するソフトウェアは、多くの場合、対応する一次モデルを実装するソフトウェアよりも効率的である(例えば、より少ない計算リソースを使用する)。本側面のいくつかの実施形態に従って生成される二次モデルは、複雑な一次モデルを理解するために有益であり得る、および/または正確な予測モデルを実装するソフトウェアを生成するタスクを単純化することができる。
一般に、本明細書に説明される主題の別の革新的側面は、適合一次予測モデルを取得するステップであって、一次予測モデルは、1つまたはそれを上回る第1の入力変数の値に基づいて、予測問題の1つまたはそれを上回る出力変数の値を予測するように構成される、ステップと、適合一次モデルに二次予測モデル化プロシージャを実施するステップであって、二次モデル化プロシージャは、二次予測モデルと関連付けられる、ステップとを含む、予測モデル化方法で具現化されることができる。適合一次モデルに二次予測モデル化プロシージャを実施するステップは、複数の二次観察を含む、二次入力データを生成するステップであって、各二次観察は、1つまたはそれを上回る第2の入力変数の個別の観察値と、出力変数の予測値とを含み、二次入力データを生成するステップは、二次観察毎に、第2の入力変数の個別の観察値および第1の入力変数の対応する観察値を取得するステップと、第1の入力変数の対応する観察値に一次予測モデルを適用し、出力変数の個別の予測値を生成するステップとを含む、ステップと、二次入力データから二次訓練データおよび二次試験データを生成するステップと、二次予測モデルを二次訓練データに適合させることによって、適合一次モデルの適合二次予測モデルを生成するステップと、二次試験データに適合一次モデルの適合二次予測モデルを試験するステップとを含んでもよい。
本側面の他の実施形態は、それぞれ、方法のアクションを実施するように構成される、対応するコンピュータシステム、装置、および1つまたはそれを上回るコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。1つまたはそれを上回るコンピュータのシステムは、動作時に、アクションを生じさせる、またはシステムにアクションを実施させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することにより、特定のアクションを実施するように構成されることができる。1つまたはそれを上回るコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実施させる命令を含むことにより、特定のアクションを実施するように構成されることができる。
前述および他の実施形態はそれぞれ、随意に、単独で、もしくは組み合わせて、以下の特徴のうちの1つまたはそれを上回るものを含むことができる。いくつかの実施形態では、適合一次予測モデルを取得するステップは、一次予測モデルと関連付けられる一次予測モデル化プロシージャを実施するステップを含み、一次予測モデル化プロシージャを実施するステップは、複数の一次観察を含む、一次入力データを取得するステップであって、各一次観察は、第1の入力変数の個別の観察値と、出力変数の対応する観察値とを含む、ステップと、一次入力データから、一次訓練データおよび一次試験データを生成するステップと、一次予測モデルを一次訓練データに適合させるステップと、試験データに適合一次予測モデルを試験するステップとを含む。いくつかの実施形態では、適合一次モデルを取得するステップは、2つの適合予測モデルを混合するステップを含む。
いくつかの実施形態では、適合一次モデルを取得するステップは、少なくとも部分的に、予測問題の特性および/または個別の一次予測モデル化プロシージャの属性に基づいて、予測問題のための複数の一次予測モデル化プロシージャの好適性を判定するステップと、予測問題のための選択されたモデル化プロシージャの判定された好適性に基づいて、複数の一次予測モデル化プロシージャから1つまたはそれを上回る予測モデル化プロシージャを選択するステップと、1つまたはそれを上回る予測モデル化プロシージャを実施するステップとを含む。いくつかの実施形態では、1つまたはそれを上回る予測モデル化プロシージャを実施するステップは、命令を複数の処理ノードに伝送するステップであって、命令は、選択されたモデル化プロシージャの実行のために処理ノードのリソースを割り付けるリソース割付スケジュールを含み、リソース割付スケジュールは、少なくとも部分的に、予測問題のための選択されたモデル化プロシージャの好適性に基づく、ステップと、リソース割付スケジュールに従った複数の処理ノードによる選択されたモデル化プロシージャの実行の結果を受信するステップであって、結果は、選択されたモデル化プロシージャによって生成される予測モデルを含む、ステップと、生成されたモデルから適合一次モデルを選択するステップとを含む。
いくつかの実施形態では、二次予測モデルは、RuleFitモデルおよび一般化付加モデルから成る群から選択される。いくつかの実施形態では、本方法のアクションはさらに、二次モデルの交差検証を実施するステップを含み、二次入力データは、少なくとも1つのデータセットを含み、二次訓練データを生成するステップは、データセットの第1のサブセットを取得するステップを含み、二次試験データを生成するステップは、データセットの第2のサブセットを取得するステップを含む。
いくつかの実施形態では、二次訓練データは、第1の二次訓練データであり、二次試験データは、第1の二次試験データであり、適合二次モデルは、第1の適合二次モデルであり、二次モデルの交差検証を実施するステップは、(a)二次入力データから第2の二次訓練データおよび第2の二次試験データを生成するステップであって、第2の二次訓練データは、データセットの第3のサブセットを含み、第2の二次試験データは、データセットの第4のサブセットを含む、ステップと、(b)二次予測モデルを第2の二次訓練データに適合させ、第2の適合二次予測モデルを取得するステップと、(c)第2の二次試験データに第2の適合二次予測モデルを試験するステップとを含む。
いくつかの実施形態では、本方法のアクションはさらに、データセットを、少なくとも、第1のパーティションと、第2のパーティションとを含む、複数のパーティションに分割するステップを含む。いくつかの実施形態では、データセットを複数のパーティションに分割するステップは、データセット内の各観察を個別のパーティションに無作為に割り当てるステップを含む。いくつかの実施形態では、第1の二次訓練データは、データセットの第1のパーティションを含み、第1の二次試験データは、第1のパーティションを除くデータセットの全てのパーティションを含み、第2の二次訓練データは、データセットの第2のパーティションを含み、第2の二次試験データは、第2のパーティションを除くデータセットの全てのパーティションを含む。いくつかの実施形態では、第1の二次訓練データは、データセットの第1のパーティションのサブセットを含み、第1の二次試験データは、第1のパーティションを除くデータセットの全てのパーティションの個別のサブセットを含み、第2の二次訓練データは、データセットの第2のパーティションのサブセットを含み、第2の二次試験データは、第2のパーティションを除くデータセットの全てのパーティションの個別のサブセットを含む。
いくつかの実施形態では、二次入力データは、第1のパーティションと、第2のパーティションとを含み、データセットは、二次入力データの第1のパーティションを含み、本方法のアクションはさらに、二次入力データの第2のパーティションを含むホールドアウトデータに、第1および第2の適合二次モデルを試験するステップを含む。いくつかの実施形態では、いかなる予測モデルもホールドアウトデータに適合されない。
いくつかの実施形態では、二次予測モデル化プロシージャを実施するステップはさらに、二次予測モデルのネスト化交差検証を実施するステップを含む。いくつかの実施形態では、二次入力データは、少なくとも1つのデータセットを含み、二次予測モデルのネスト化交差検証を実施するステップは、データセットを、少なくとも、データセットの第1のパーティションと、データセットの第2のパーティションとを含む、データセットの第1の複数のパーティションに分割するステップと、データセットの第1のパーティションを、少なくとも、データセットの第1のパーティションの第1のパーティションと、データセットの第1のパーティションの第2のパーティションとを含む、データセットの第1のパーティションの複数のパーティションに分割するステップとを含む。いくつかの実施形態では、二次訓練データは、データセットの第1のパーティションの第1のパーティションを含み、二次試験データは、データセットの第1のパーティションの第1のパーティションを除くデータセットの第1のパーティションの全てのパーティションを含む。
いくつかの実施形態では、二次訓練データは、第1の二次訓練データであり、二次試験データは、第1の二次試験データであり、適合二次モデルは、第1の適合二次モデルであり、二次予測モデルのネスト化交差検証を実施するステップはさらに、(a)データセットの第1のパーティションから、第2の二次訓練データおよび第2の二次試験データを生成するステップであって、第2の二次訓練データは、データセットの第1のパーティションの第2のパーティションを含み、第2の二次試験データは、データセットの第1のパーティションの第2のパーティション以外のデータセットの第1のパーティションの複数のパーティションを含む、ステップと、(b)二次予測モデルを第2の二次訓練データに適合させ、第2の二次適合予測モデルを取得するステップと、(c)第2の二次試験データに第2の二次適合モデルを試験するステップとを含む。
いくつかの実施形態では、ネスト化交差検証を実施するステップはさらに、データセットの第2のパーティションに第1の適合二次モデルおよび第2の適合二次モデルを試験するステップと、データセットの第2のパーティションに第1および第2の適合二次モデルを試験するステップの結果に基づいて、第1の適合二次モデルを第2の適合二次モデルと比較するステップとを含む。
いくつかの実施形態では、本方法のアクションはさらに、適合予測モデルのそれぞれの精度スコアを判定するステップを含み、各適合モデルの精度スコアは、適合モデルが1つまたはそれを上回る予測問題の成果を予測する精度を表す。いくつかの実施形態では、本方法のアクションはさらに、適合一次モデルの精度スコアと適合二次モデルの精度スコアとの間の相違を判定するステップを含む。いくつかの実施形態では、適合二次モデルの精度スコアは、適合一次モデルの精度スコアを超える。
いくつかの実施形態では、本方法のアクションはさらに、1つまたはそれを上回る予測問題の成果を予測するために適合予測モデルのそれぞれによって使用される、計算リソースの量を判定するステップを含む。いくつかの実施形態では、本方法のアクションはさらに、適合一次モデルによって使用される計算リソースの量と適合二次モデルによって使用される計算リソースの量との間の相違を判定するステップを含む。いくつかの実施形態では、適合二次モデルによって使用される計算リソースの量は、適合一次モデルによって使用される計算リソースの量未満である。
いくつかの実施形態では、本方法のアクションはさらに、適合二次モデルを展開するステップを含む。いくつかの実施形態では、適合二次モデルを展開するステップは、予測問題のインスタンスを表す他のデータに適合二次モデルを適用することによって、複数の予測を生成するステップを含み、二次入力データは、他のデータを含まない。いくつかの実施形態では、適合二次モデルは、1つまたはそれを上回る条件付き規則のセットを含み、1つまたはそれを上回る条件付き規則のセットは、1つまたはそれを上回る機械実行可能if−then文のセットを含む。
いくつかの実施形態では、二次入力データは、第1の二次入力データであり、適合二次モデルを展開するステップはさらに、少なくとも部分的に第2の二次入力データに基づいて、適合二次モデルをリフレッシュするステップを含む。いくつかの実施形態では、適合二次モデルは、第1の適合二次モデルであり、少なくとも部分的に第2の二次入力データに基づいて、適合二次モデルをリフレッシュするステップは、第2の二次入力データから、第2の二次訓練データおよび第2の二次試験データを生成するステップと、二次予測モデルを第2の二次訓練データに適合させることによって、適合一次モデルの第2の適合二次モデルを生成するステップと、第2の二次試験データに一次モデルの第2の適合二次モデルを試験するステップと、第1の適合二次モデルおよび第2の適合二次モデルを混合し、リフレッシュされた二次予測モデルを生成するステップとを含む。いくつかの実施形態では、適合二次モデルは、第1の適合二次モデルであり、少なくとも部分的に第2の二次入力データに基づいて、適合二次モデルをリフレッシュするステップは、第1の二次入力データの少なくとも一部と、第2の二次入力データの少なくとも一部とを含む、第3の二次入力データを生成するステップと、第3の二次入力データから、第3の二次訓練データおよび第3の二次試験データを生成するステップと、二次予測モデルを第3の二次訓練データに適合させることによって、適合一次モデルの第2の適合二次モデルを生成するステップと、第3の二次試験データに一次モデルの第2の適合二次モデルを試験するステップとを含む。
いくつかの実施形態では、第1の入力変数は、第2の入力変数である。いくつかの実施形態では、第1の入力変数および第2の入力変数は両方とも、特定の入力変数を含む。いくつかの実施形態では、第1の入力変数のうちのいずれも、第2の入力変数に含まれない。
いくつかの実施形態では、二次モデル化プロシージャは、複数の二次モデル化プロシージャのうちの1つであり、二次予測モデルは、複数の第2の予測モデルのうちの1つであり、本方法のアクションは、適合一次モデルに複数の二次モデル化プロシージャを実施し、それによって、適合一次モデルの複数の適合二次モデルを生成するステップを含む。いくつかの実施形態では、本方法のアクションはさらに、適合二次予測モデルのそれぞれの精度スコアを判定するステップを含み、各適合二次モデルの精度スコアは、適合二次モデルが1つまたはそれを上回る予測問題の成果を予測する精度を表す。いくつかの実施形態では、本方法のアクションはさらに、精度スコアのうちのいずれが最高であるかを判定するステップと、最高精度スコアを伴う適合二次モデルを展開するステップとを含む。
本側面の他の実施形態は、二次予測モデルと関連付けられる二次予測モデル化プロシージャを符号化する機械実行可能モジュールを記憶するように構成される、メモリであって、二次予測モデル化プロシージャは、少なくとも1つの前処理タスクと、少なくとも1つのモデル適合タスクとを含む、複数のタスクを含む、メモリと、機械実行可能モジュールを実行するように構成される、少なくとも1つのプロセッサであって、機械実行可能モジュールを実行するステップは、装置に、適合一次予測モデルに二次予測モデル化プロシージャを実施させる、プロセッサとを含む、予測モデル化装置を含む。二次予測モデル化プロシージャを実施するステップは、適合一次予測モデルを取得するステップを含む、前処理タスクを実施するステップであって、一次予測モデルは、1つまたはそれを上回る第1の入力変数の値に基づいて、予測問題の1つまたはそれを上回る出力変数の値を予測するように構成される、ステップを含んでもよい。二次予測モデル化プロシージャを実施するステップは、複数の二次観察を含む、二次入力データを生成するステップであって、各二次観察は、1つまたはそれを上回る第2の入力変数の個別の観察値と、出力変数の予測値とを含み、二次入力データを生成するステップは、二次観察毎に、第2の入力変数の個別の観察値および第1の入力変数の対応する観察値を取得するステップと、第1の入力変数の対応する観察値に一次予測モデルを適用し、出力変数の個別の予測値を生成するステップとを含む、ステップと、二次入力データから二次訓練データおよび二次試験データを生成するステップと、二次予測モデルを二次訓練データに適合させることによって、適合一次モデルの適合二次予測モデルを生成するステップと、二次試験データに適合一次モデルの適合二次予測モデルを試験するステップとを含む、モデル適合タスクを実施するステップを含んでもよい。
本発明の他の側面および利点は、全て一例のみとして本発明の原理を例証する、以下の図面、詳細な説明、ならびに特許請求の範囲から明白となるであろう。
いくつかの実施形態の説明、それに関する動機、および/またはその利点を含む、前述の概要は、読者が本開示を理解することを支援することを意図しており、請求項のうちのいずれもいかようにも限定しない。
いくつかの実施形態のある利点は、添付図面と併せて解釈される以下の説明を参照することによって、理解され得る。図面では、類似参照文字は、概して、異なる図の全体を通して同一の部品を指す。また、図面は、必ずしも一定の縮尺ではなく、代わりに、概して、本発明のいくつかの原理を例証することが強調されている。
図1は、いくつかの実施形態による、予測モデル化システムのブロック図である。
図2は、いくつかの実施形態による、予測モデル化タスク、技法、および方法を符号化する、機械実行可能テンプレートを構築するためのモデル化ツールのブロック図である。
図3は、いくつかの実施形態による、予測問題のための予測モデルを選択するための方法のフローチャートである。
図4は、いくつかの実施形態による、予測問題のための予測モデルを選択するための方法の別のフローチャートを示す。
図5は、いくつかの実施形態による、予測モデル化システムの概略図である。
図6は、いくつかの実施形態による、予測モデル化システムの別のブロック図である。
図7は、いくつかの実施形態による、予測モデル化システムの構成要素の間の通信を図示する。
図8は、いくつかの実施形態による、予測モデル化システムの別の概略図である。
図9は、いくつかの実施形態による、時系列予測モデル化のための方法のフローチャートである。
図10は、いくつかの実施形態による、特徴の予測値を判定するための方法のフローチャートである。
図11Aは、いくつかの実施形態による、二次予測モデルを生成するための方法のフローチャートである。
図11Bは、いくつかの実施形態による、二次予測モデル化プロシージャを実施するための方法のフローチャートである。
予測モデル化システムの概観
図1を参照すると、いくつかの実施形態では、予測モデル化システム100は、予測モデル化探索エンジン110と、ユーザインターフェース120と、予測モデル化技法のライブラリ130と、予測モデル展開エンジン140とを含む。探索エンジン110は、規定予測問題に好適な予測モデル化ソリューションを生成するように、予測モデル化検索空間を効率的に探索する(例えば、前処理ステップ、モデル化アルゴリズム、および後処理ステップの潜在的組み合わせ)ための検索技法(または「モデル化方法」)を実装してもよい。検索技法は、どの予測モデル化技法が予測問題のための好適な解決策を提供する可能性が高いかという初期評価を含んでもよい。いくつかの実施形態では、検索技法は、(例えば、データセットの増加する部分を使用する)検索空間の漸進的評価と、(例えば、一貫した測定基準を使用する)予測問題のための異なるモデル化ソリューションの好適性の一貫した比較とを含む。いくつかの実施形態では、検索技法は、以前の検索の結果に基づいて適応し、経時的に検索技法の有効性を向上させることができる。
探索エンジン110は、検索空間内で潜在的モデル化ソリューションを評価するために、モデル化技法のライブラリ130を使用してもよい。いくつかの実施形態では、モデル化技法ライブラリ130は、完全なモデル化技法を符号化する、機械実行可能テンプレートを含む。機械実行可能テンプレートは、1つまたはそれを上回る予測モデル化アルゴリズムを含んでもよい。いくつかの実施形態では、テンプレートに含まれるモデル化アルゴリズムは、ある方法で関係付けられてもよい。例えば、モデル化アルゴリズムは、同一のモデル化アルゴリズムの変異形、またはモデル化アルゴリズム族の構成要素であってもよい。いくつかの実施形態では、機械実行可能テンプレートはさらに、テンプレートのアルゴリズムとともに使用するために好適な1つまたはそれを上回る前処理および/もしくは後処理ステップを含む。アルゴリズム、前処理ステップ、および/または後処理ステップは、パラメータ化されてもよい。機械実行可能テンプレートは、データセットによって表される予測問題のための潜在的予測モデル化ソリューションを生成するように、ユーザデータセットに適用されてもよい。
探索エンジン110は、検索空間またはその部分を探索するために、分散型コンピュータシステムの計算リソースを使用してもよい。いくつかの実施形態では、探索エンジン110は、分散型コンピュータシステムのリソースを使用して、検索を効率的に実行するための検索計画を生成し、分散型コンピュータシステムは、検索計画に従って検索を実行する。分散型コンピュータシステムは、限定ではないが、予測モデル化技法の待ち行列および監視のため、コンピュータシステムのリソースの仮想化のため、データベースにアクセスするため、検索計画を分割し、コンピュータシステムのリソースをモデル化技法の評価に割り付けるため、実行結果を収集して編成するため、ユーザ入力を受け入れるため等のインターフェースを含む、検索計画に従って予測モデル化ソリューションの実行を促進するインターフェースを提供してもよい。
ユーザインターフェース120は、予測モデル化空間の検索を監視および/または誘導するためのツールを提供する。これらのツールは、(例えば、データセットの中の問題のある変数を強調表示すること、データセットの中の変数の間の関係を識別すること等によって)予測問題のデータセットについての洞察、および/または検索の結果についての洞察を提供してもよい。いくつかの実施形態では、データ分析者は、例えば、モデル化ソリューションを評価して比較するために使用される測定基準を規定することによって、好適なモデル化ソリューションを認識するための基準を特定することによって等、検索を誘導するためにインターフェースを使用してもよい。したがって、ユーザインターフェースは、独自の生産性を向上させるために、および/または探索エンジン110の性能を向上させるために、分析者によって使用されてもよい。いくつかの実施形態では、ユーザインターフェース120は、リアルタイムで検索の結果を提示し、リアルタイムで(例えば、検索の範囲、または異なるモデル化ソリューションの評価の間のリソースの割付を調節するように)ユーザが検索を誘導することを可能にする。いくつかの実施形態では、ユーザインターフェース120は、同一の予測問題および/または関連予測問題に取り組む複数のデータ分析者の労力を調整するためのツールを提供する。
いくつかの実施形態では、ユーザインターフェース120は、モデル化技法のライブラリ130のための機械実行可能テンプレートを開発するためのツールを提供する。システムユーザは、既存のテンプレートを修正するため、新しいテンプレートを作成するため、またはライブラリ130からテンプレートを除去するために、これらのツールを使用してもよい。このようにして、システムユーザは、予測モデル化研究の進歩を反映するように、および/または専用予測モデル化技法を含むように、ライブラリ130を更新してもよい。
モデル展開エンジン140は、動作環境内で予測モデル(例えば、探索エンジン110によって生成される予測モデル)を展開するためのツールを提供する。いくつかの実施形態では、モデル展開エンジンはまた、予測モデルを監視および/または更新するためのツールも提供する。システムユーザは、探索エンジン110によって生成される予測モデルを展開するため、そのような予測モデルの性能を監視するため、および(例えば、新しいデータまたは予測モデル化技法の進歩に基づいて)そのようなモデルを更新するために、展開エンジン140を使用してもよい。いくつかの実施形態では、探索エンジン110は、(例えば、予測問題のための基礎的データセットの変更に応答して、予測モデルを再適合または調整するように)予測問題のための検索空間の探索を誘導するために、(例えば、展開された予測モデルの性能を監視することの結果に基づいて)展開エンジン140によって収集および/または生成されるデータを使用してもよい。
予測モデル化システム100のこれらおよび他の側面が、以下でさらに詳細に説明される。
モデル化技法のライブラリ
予測モデル化技法のライブラリ130は、完全予測モデル化技法を符号化する機械実行可能テンプレートを含む。いくつかの実施形態では、機械実行可能テンプレートは、1つまたはそれを上回る予測モデル化アルゴリズムと、アルゴリズムとともに使用するために好適なゼロまたはそれを上回る前処理ステップと、アルゴリズムとともに使用するために好適なゼロまたはそれを上回る後処理ステップとを含む。アルゴリズム、前処理ステップ、および/または後処理ステップは、パラメータ化されてもよい。機械実行可能テンプレートは、データセットによって表される予測問題のための潜在的予測モデル化ソリューションを生成するように、データセットに適用されてもよい。
テンプレートは、機械実行のために、テンプレートの予測モデル化アルゴリズムとともに使用するために好適な前処理ステップ、モデル適合ステップ、および/または後処理ステップを符号化してもよい。前処理ステップの実施例は、限定ではないが、欠測値を入力すること、特徴工学(例えば、ワンホットエンコーディング、スプライン、テキストマイニング等)、特徴選択(例えば、情報を与えない特徴を棄却すること、高度相関特徴を棄却すること、元の特徴を最も主要な構成要素に置換すること等)を含む。モデル適合ステップの実施例は、限定ではないが、アルゴリズム選択、パラメータ推定、ハイパーパラメータ同調、スコア化、診断等を含む。後処理ステップの実施例は、限定ではないが、予測の較正、検閲、混合等を含む。
いくつかの実施形態では、機械実行可能テンプレートは、テンプレートによって符号化される予測モデル化技法の属性を表すメタデータを含む。メタデータは、(例えば、前処理ステップにおいて、後処理ステップにおいて、または予測モデル化アルゴリズムのステップにおいて)テンプレートが予測モデル化ソリューションの一部として行うことができる、1つまたはそれを上回るデータ処理技法を示してもよい。これらのデータ処理技法は、限定ではないが、テキストマイニング、特徴正規化、次元縮小、または他の好適なデータ処理技法を含んでもよい。代替として、または加えて、メタデータは、限定ではないが、データセットの次元、予測問題の標的の特性、および/または予測問題の特徴の特性に対する制約を含む、テンプレートによって符号化される予測モデル化技法によって課される、1つまたはそれを上回るデータ処理制約を示してもよい。
いくつかの実施形態では、テンプレートのメタデータは、対応するモデル化技法がどれだけ良好に所与のデータセットに役立つであろうかを推定することに関連する情報を含む。例えば、テンプレートのメタデータは、限定ではないが、幅広いデータセット、丈の高いデータセット、疎データセット、濃厚データセット、テキストを含む、または含まないデータセット、種々のデータタイプ(例えば、数値、順序、カテゴリ、解釈(例えば、日付、時間、テキスト)等)の変数を含むデータセット、種々の統計的性質(例えば、変数の欠測値、基数、分布等に関する統計的性質)を伴う変数を含むデータセット等を含む、特定の特性を有するデータセットに、対応するモデル化技法がどれだけ良好に機能することが予期されるかを示してもよい。別の実施例として、テンプレートのメタデータは、特定のタイプの標的変数を伴う予測問題について、対応するモデル化技法がどれだけ良好に機能することが予期されるかを示してもよい。いくつかの実施形態では、テンプレートのメタデータは、1つまたはそれを上回る性能測定基準(例えば、目的関数)に関して、対応するモデル化技法の予期される性能を示してもよい。
いくつかの実施形態では、テンプレートのメタデータは、限定ではないが、処理ステップの許可されたデータタイプ、構造、および/または次元を含む、対応するモデル化技法によって実装される処理ステップの特性化を含む。
いくつかの実施形態では、テンプレートのメタデータは、テンプレートによって表される予測モデル化技法を1つまたはそれを上回る予測問題および/もしくはデータセットに適用することの(実際または予期)結果を示すデータを含む。予測モデル化技法を予測問題またはデータセットに適用することの結果は、限定ではないが、予測モデル化技法によって生成される予測モデルが予測問題またはデータセットの標的を予測する精度、予測問題またはデータセットのための(他の予測モデル化技法に対する)予測モデル化技法によって生成される予測モデルの精度のランク、予測問題またはデータセットのための予測モデルを生成するために予測モデル化技法を使用することの有用性を表すスコア(例えば、目的関数のための予測モデルによって生成される値)等を含んでもよい。
予測モデル化技法を予測問題またはデータセットに適用することの結果を示すデータは、(例えば、予測問題またはデータセットのための予測モデル化技法を使用する前の試行の結果に基づいて)探索エンジン110によって提供され、(例えば、ユーザの専門知識に基づいて)ユーザによって提供され、および/または任意の他の好適なソースから取得されてもよい。いくつかの実施形態では、探索エンジン110は、少なくとも部分的に、予測問題のインスタンスの実際の成果と予測モデル化技法を介して生成される予測モデルによって予測される成果との間の関係に基づいて、そのようなデータを更新する。
いくつかの実施形態では、テンプレートのメタデータは、どれだけ効率的にモデル化技法が分散型コンピューティングインフラストラクチャ上で実行されるであろうかを推定することに関連する、対応するモデル化技法の特性を表す。例えば、テンプレートのメタデータは、所与のサイズのデータセット上のモデル化技法、交差検証層の数およびハイパーパラメータ空間内で検索される点の数のリソース消費への影響、モデル化技法によって行われる処理ステップの固有の並列化等を訓練および/または試験するために必要とされる、処理リソースを示してもよい。
いくつかの実施形態では、モデル化技法のライブラリ130は、予測モデル化技法の間の類似性(または差異)を査定するためのツールを含む。そのようなツールは、(例えば、所定の規模での)スコア、分類(例えば、「高度に類似する」、「若干類似する」、「若干異種である」、「高度に異種である」)、二元判定(例えば、「類似する」または「類似しない」)等として、2つの予測モデル化技法の間の類似性を表現してもよい。そのようなツールは、モデル化技法に共通している処理ステップに基づいて、2つの予測モデル化技法を同一または類似予測問題に適用することの結果を示すデータに基づいて等、2つの予測モデル化技法の間の類似性を判定してもよい。例えば、共通する多数(または高い割合)のそれらの処理ステップを有する、および/または類似予測問題に適用されたときに類似結果を生じる、2つの予測モデル化技法を考慮すると、ツールは、モデル化技法に高い類似性スコアを割り当て、またはモデル化技法を「高度に類似する」と分類してもよい。
いくつかの実施形態では、モデル化技法は、モデル化技法群に割り当てられてもよい。モデル化技法の群分類は、(例えば、直感および経験に基づいて)ユーザによって割り当てられ、(例えば、モデル化技法に共通する処理ステップ、異なるモデル化技法を同一または類似問題に適用することの結果を示すデータ等に基づいて)機械学習分類子によって割り当てられ、または別の好適なソースから取得されてもよい。予測モデル化技法の間の類似性を査定するためのツールは、2つのモデル化技法の間の類似性を査定するように、群分類に依拠してもよい。いくつかの実施形態では、ツールは、同一群内の全てのモデル化技法を「類似する」として扱い、異なる群内のいかなるモデル化技法も「類似しない」として扱ってもよい。いくつかの実施形態では、モデル化技法の群分類は、モデル化技法の間の類似性のツールの査定における1つの要因にすぎなくてもよい。
いくつかの実施形態では、予測モデル化システム100は、予測問題のライブラリを含む(図1に示されていない)。予測問題のライブラリは、予測問題の特性を示すデータを含んでもよい。いくつかの実施形態では、予測問題の特性を示すデータは、予測問題を表すデータセットの特性を示すデータを含む。データセットの特性は、限定ではないが、データセットの幅、高さ、疎性、または密度、データセットの中の標的および/または特徴の数、データセットの変数のデータタイプ(例えば、数値、順序、カテゴリ、または解釈(例えば、日付、時間、テキスト等))、データセットの数値変数の範囲、データセットの順序およびカテゴリ変数の部類の数等を含んでもよい。
いくつかの実施形態では、データセットの特性は、限定ではないが、全観察の数、観察にわたる各変数の一意の値の数、観察にわたる各変数の欠測値の数、異常値および正常値の存在ならびに範囲、各変数の値または部類メンバーシップの分布の性質、変数の基数等を含む、データセットの変数の統計的性質を含む。いくつかの実施形態では、データセットの特性は、限定ではないが、変数のグループの同時分布、1つまたはそれを上回る標的にとっての1つまたはそれを上回る特徴の可変重要性(例えば、特徴および標的変数の間の相関の程度)、2つまたはそれを上回る特徴の間の統計的関係(例えば、2つの特徴の間の多重共線性の程度)等を含む、データセットの変数の間の関係(例えば、統計的関係)を含む。
いくつかの実施形態では、予測問題の特性を示すデータは、予測問題の主題を示すデータ(例えば、財政、保険、防衛、電子商取引、小売、インターネットベースの広告、インターネットベースの推奨エンジン等)、変数の起源(例えば、各変数が、自動計装から直接的に、自動計装の人間の記録から、人間の測定から、書面による人間の応答から、口頭による人間の応答から等、獲得されたかどうか)、予測問題のための公知の予測モデル化ソリューションの存在および性能等を含む。
いくつかの実施形態では、予測モデル化システム100は、時系列予測問題(例えば、1次元または多次元時系列予測問題)をサポートしてもよい。時系列予測問題に関して、目的は、概して、標的自体を含む、全ての特徴の事前観察の関数として、標的の将来の値を予測することである。予測問題の特性を示すデータは、予測問題が時系列予測問題であるかどうかを示すことによって、および時系列予測問題に対応するデータセット内の時間測定変数を識別することによって、時系列予測問題に適応してもよい。
いくつかの実施形態では、予測問題のライブラリは、予測問題の間の類似性(または差異)を査定するためのツールを含む。そのようなツールは、(例えば、所定の規模での)スコア、分類(例えば、「高度に類似する」、「若干類似する」、「若干異種である」、「高度に異種である」)、二元判定(例えば、「類似する」または「類似しない」)等として、2つの予測問題の間の類似性を表現してもよい。そのようなツールは、予測問題の特性を示すデータに基づいて、同一または類似予測モデル化技法を予測問題に適用することの結果を示すデータに基づいて等、2つの予測問題の間の類似性を判定してもよい。例えば、共通する多数(または高い割合)の特性を有する、および/または同一もしくは類似予測モデル化技法の影響を受けやすい、データセットによって表される2つの予測問題を考慮すると、ツールは、予測問題に高い類似性スコアを割り当て、または予測問題を「高度に類似する」と分類してもよい。
図2は、いくつかの実施形態による、予測モデル化技法を符号化する機械実行可能テンプレートを構築するため、およびそのようなテンプレートを予測モデル化方法に組み込むために好適なモデル化ツール200のブロック図を図示する。ユーザインターフェース120は、モデル化ツール200へのインターフェースを提供してもよい。
図2の実施例では、モデル化方法ビルダ210は、モデル化技法のライブラリ130の上にモデル化方法のライブラリ212を構築する。モデル化技法ビルダ220は、モデル化タスクのライブラリ232の上にモデル化技法のライブラリ130を構築する。モデル化方法は、どのようなモデル化技法がどの状況で功を奏するかについての1人またはそれを上回る分析者の直感および経験に対応してもよく、ならびに/もしくは予測問題のためのモデル化検索空間の探索を誘導するように、前の予測問題へのモデル化技法の適用の結果を活用してもよい。モデル化技法は、具体的モデル化アルゴリズムを適用するための段階的なレシピに対応してもよい。モデル化タスクは、モデル化技法内の処理ステップに対応してもよい。
いくつかの実施形態では、モデル化技法は、タスクの階層を含んでもよい。例えば、最上位「テキストマイニング」タスクは、(a)ドキュメント項行列を作成し、(b)項をランク付けし、重要ではない項を棄却するためのサブタスクを含んでもよい。順に、「項ランキングおよび棄却」サブタスクは、(b.1)ランキングモデルを構築し、(b.2)ドキュメント項行列から列を棄却するために項ランクを使用するためのサブタスクを含んでもよい。そのような階層は、恣意的な深度を有してもよい。
図2の実施例では、モデル化ツール200は、モデル化タスクビルダ230と、モデル化技法ビルダ220と、モデル化方法ビルダ210とを含む。各ビルダは、機械実行可能形式でモデル化要素のうちの1つを符号化するためのツールまたはツールのセットを含んでもよい。各ビルダは、ユーザが既存のモデル化要素を修正する、または新しいモデル化要素を作成することを可能にしてもよい。図2に図示されるモデル化層を横断してモデル化要素の完全なライブラリを構築するために、開発者は、トップダウン、ボトムアップ、インサイドアウト、アウトサイドイン、または複合方略を採用してもよい。しかしながら、論理依存性の観点から、リーフレベルタスクが最小モデル化要素であるため、図2は、機械実行可能テンプレートを構築するプロセスにおける第1のステップとしてタスク作成を描写する。
各ビルダのユーザインターフェースは、限定ではないが、標準プログラミング言語における特殊ルーチンの集合、そのビルダの要素を符号化する目的で特異的に設計される形式文法、所望の実行フローを抽象的に規定するためのリッチユーザインターフェース等を使用して、実装されてもよい。しかしながら、各層において許可される動作の論理構造は、いかなる特定のインターフェースからも独立している。
階層内のリーフレベルにおいてモデル化タスクを作成するとき、モデル化ツール200は、開発者が他のソースからソフトウェア構成要素を組み込むことを可能にし得る。本能力は、統計的学習に関係付けられるソフトウェアの設置基盤、およびそのようなソフトウェアを開発する方法の蓄積した知識を活用する。本設置基盤は、科学プログラミング言語(例えば、Fortran)、汎用プログラミング言語(例えば、C)で書かれた科学ルーチン、汎用プログラミング言語への科学計算拡張(例えば、Python用のscikit−learn)、商業統計環境(例えば、SAS/STAT)、およびオープンソース統計環境(例えば、R)を網羅する。そのようなソフトウェア構成要素の能力を組み込むために使用されるとき、モデル化タスクビルダ230は、ソフトウェア構成要素の入力ならびに出力の仕様、および/またはどのようなタイプの動作をソフトウェア構成要素が行うことができるかという特性化を必要とし得る。いくつかの実施形態では、モデル化タスクビルダ230は、ソフトウェア構成要素のソースコードシグネチャを点検すること、レポジトリからソフトウェア構成要素のインターフェースの定義を読み出すこと、一連の要求を用いてソフトウェア構成要素を精査すること、またはある他の形態の自動評価を行うことによって、本メタデータを生成する。いくつかの実施形態では、開発者は、本メタデータの一部または全てを手動で供給する。
いくつかの実施形態では、モデル化タスクビルダ230は、それが組み込まれたソフトウェアを実行することを可能にする「ラッパ」を作成するために、本メタデータを使用する。モデル化タスクビルダ230は、限定ではないが、構成要素のソースコードを内部実行ファイルにコンパイルすること、構成要素のオブジェクトコードを内部実行ファイルの中へリンクすること、構成要素の独立型実行ファイルによって予期されるコンピュータ環境のエミュレータを通して構成要素にアクセスすること、ローカルマシン上でソフトウェアサービスの一部として作動する構成要素の機能にアクセスすること、遠隔マシン上でソフトウェアサービスの一部として作動する構成要素の機能にアクセスすること、ローカルまたは遠隔マシン上で中間ソフトウェアサービスを通して作動する構成要素の機能にアクセスすること等を含む、ソフトウェア構成要素を統合するための任意の機構を利用して、そのようなラッパを実装してもよい。どの組み込み機構をモデル化タスクビルダ230が使用しても、ラッパが生成された後、モデル化ツール200は、任意の他のルーチンで行うであろうように、構成要素へのソフトウェア呼び出しを行ってもよい。
いくつかの実施形態では、開発者は、リーフレベルモデル化タスクをより高いレベルのタスクに再帰的に組み立てるために、モデル化タスクビルダ230を使用してもよい。以前に示されたように、タスク階層の配列を規定するためにユーザインターフェースを実装する多くの異なる方法がある。しかし、論理的観点から、リーフレベルにないタスクは、サブタスクの有向グラフを含んでもよい。本階層の最上および中間レベルのそれぞれにおいて、入力が階層内の親タスク(または階層の最上レベルにおける親モデル化技法)からである、1つの開始サブタスクがあってもよい。また、出力が階層内の親タスク(または階層の最上レベルにおける親モデル化技法)に向かう、1つの終了サブタスクがあってもよい。所与のレベルにおける1つおきのサブタスクは、1つまたはそれを上回る前のサブタスクから入力を受信してもよく、出力を1つまたはそれを上回る後続のサブタスクに送信する。
リーフレベルタスクに恣意的なコードを組み込む能力と組み合わせて、有向グラフに従ってデータを伝搬することは、中間レベルタスク内の恣意的な制御フローの実装を促進する。いくつかの実施形態では、モデル化ツール200は、付加的内蔵動作を提供してもよい。例えば、外部プログラミング言語でコード化されるリーフレベルタスクとして、任意の特定の条件付き論理を実装することが率直であろうが、モデル化タスクビルダ230は、一般的様式で条件付き評価を行う内蔵ノードまたはアークを提供し、これらの評価の結果に基づいて、ノードから異なる後続のノードにデータの一部または全てを指向してもよい。類似代替案が、後続のノードへの入力としてそれを伝搬する前に、規則または式に従って1つのノードからの出力をフィルタ処理する、後続のノードへの入力としてそれを伝搬する前に、1つのノードからの出力を変換する、各パーティションをそれぞれの後続のノードに伝搬する前に、規則または式に従って1つのノードからの出力を分割する、入力としてそれを受け入れる前に、規則または式に従って複数の前のノードの出力を組み合わせる、1つまたはそれを上回るループ変数を使用して、ノードの動作のサブグラフを反復して適用するため等に存在する。
いくつかの実施形態では、開発者は、モデル化タスクライブラリ232からのタスクをモデル化技法に組み立てるために、モデル化技法ビルダ220を使用してもよい。モデル化タスクライブラリ232の中のモデル化タスクのうちの少なくともいくつかは、1つまたはそれを上回るモデル化技法の前処理ステップ、モデル適合ステップ、および/もしくは後処理ステップに対応してもよい。タスクおよび技法の開発は、タスクライブラリ232がデータ投入された後に技法が組み立てられる、線形パターン、またはタスクおよび技法が同時に組み立てられる、より動的な円形パターンを辿ってもよい。開発者は、既存のタスクを新しい技法に組み込み、本技法が新しいタスクを必要とすることを認識し、新しい技法が完成するまで反復して精緻化する気にさせられ得る。代替として、開発者は、おそらく学術出版物からの新しい技法の概念から開始し、新しいタスクからそれを構築し始めるが、好適な機能性を提供するときに、モデル化タスクライブラリ232から既存のタスクを引き出してもよい。全ての場合において、参照データセットに、または現場試験においてモデル化技法を適用することからの結果は、開発者または分析者が技法の性能を評価することを可能にするであろう。本評価は、順に、リーフレベルモデル化タスクからモデル化技法への階層内のいずれかの場所の変化をもたらし得る。共通モデル化タスクおよびモデル化技法ライブラリ(232、130)、ならびに高生産性ビルダインターフェース(210、220、および230)を提供することによって、モデル化ツール200は、開発者が急速かつ正確に変更を行うとともに、ライブラリ(232、130)へのアクセスを用いて、そのような増進を他の開発者およびユーザに伝搬することを可能にし得る。
モデル化技法は、現場での最良の実践に基づいて予期される全てのステップを用いて、開発者および分析者が予測モデル化プロシージャ全体を概念化するための焦点を提供してもよい。いくつかの実施形態では、モデル化技法は、統計的学習規律から最良の実践をカプセル化する。また、モデル化ツール200は、例えば、開発者が考慮するためのステップのチェックリストを提供し、例えば、欠けているタスクを検出し、付加的ステップを検出し、および/またはステップの間の異常なフローを検出するように、新しい技法のためのタスクグラフを既存の技法のものと比較することによって、高品質技法の開発における誘導を提供してもよい。
いくつかの実施形態では、探索エンジン110が、モデル化技法ライブラリ130の中の技法を使用して、データセット240のための予測モデルを構築するために使用される。探索エンジン110は、モデル化方法ライブラリ212から選択されるモデル化方法によって符号化される優先順位決定方式に基づいて、モデル化技法ライブラリ130の中のモデル化技法の評価を優先してもよい。モデル化空間の探索のための好適な優先順位決定方式の実施例は、次の節で説明される。図2の実施例では、モデル化空間の探索の結果が、モデル化タスクおよび技法と関連づけられるメタデータを更新するために使用されてもよい。
いくつかの実施形態では、一意の識別子(ID)が、モデル化要素(例えば、技法、タスク、およびサブタスク)に割り当てられてもよい。モデル化要素のIDは、モデル化要素のテンプレートと関連付けられるメタデータとして記憶されてもよい。いくつかの実施形態では、これらのモデル化要素IDは、1つまたはそれを上回るモデル化タスクもしくはサブタスクを共有するモデル化技法を効率的に実行するために使用されてもよい。モデル化技法を効率的に実行する方法は、以下でさらに詳細に説明される。
図2の実施例では、探索エンジン110によって生成されるモデル化結果は、モデル化タスクビルダ230、モデル化技法ビルダ220、およびモデル化方法ビルダ210にフィードバックされる。モデル化ビルダは、モデル化結果に基づいて、自動的に(例えば、統計的学習アルゴリズムを使用して)、または手動で(例えば、ユーザによって)適合されてもよい。例えば、モデル化方法ビルダ210は、モデル化結果において観察されるパターンに基づいて、および/またはデータ分析者の経験に基づいて、適合されてもよい。同様に、具体的モデル化技法を実行することからの結果は、これらの技法またはそれらの内側のタスクのデフォルト同調パラメータ値の自動もしくは手動調節を知らせてもよい。いくつかの実施形態では、モデル化ビルダの適合は、半自動であり得る。例えば、予測モデル化システム100は、方法、技法、および/またはタスクへの潜在的改良にフラグを付けてもよく、ユーザは、これらの潜在的改良を実装するかどうかを決定してもよい。
モデル化空間探索エンジン
図3は、いくつかの実施形態による、予測問題のための予測モデルを選択するための方法300のフローチャートである。いくつかの実施形態では、方法300は、モデル化方法ライブラリ212の中のモデル化方法に対応してもよい。
方法300のステップ310では、予測問題のための複数の予測モデル化プロシージャ(例えば、予測モデル化技法)の好適性が判定される。予測問題のための予測モデル化プロシージャの好適性は、予測問題の特性に基づいて、モデル化プロシージャの属性に基づいて、および/または他の好適な情報に基づいて、判定されてもよい。
予測問題のための予測モデル化プロシージャの「好適性」は、予測モデル化プロシージャを使用して生成される予測モデルの予測問題についての予期される性能を示す、データを含んでもよい。いくつかの実施形態では、予測問題についての予測モデルの予期される性能は、1つまたはそれを上回る予期されるスコア(例えば、1つまたはそれを上回る目的関数の予期される値)、および/もしくは(例えば、他の予測モデル化技法を使用して生成される他の予測モデルに対する)1つまたはそれを上回る予期されるランクを含む。
代替として、または加えて、予測問題のための予測モデル化プロシージャの「好適性」は、モデル化プロシージャが、予測問題のために十分な性能を提供する予測モデルを生成することが予期される、程度を示すデータを含んでもよい。いくつかの実施形態では、予測モデル化プロシージャの「好適性」データは、モデル化プロシージャの好適性の分類を含む。分類方式は、2つの部類(例えば、「好適」もしくは「好適ではない」)、または2つより多くの部類(例えば、「高度に好適」、「中程度に好適」、「中程度に不適切」、「高度に不適切」)を有してもよい。
いくつかの実施形態では、探索エンジン110は、少なくとも部分的に、本明細書に説明される特性を含む(但し、それに限定されない)、予測問題の1つまたはそれを上回る特性に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定する。一実施例のみとして、予測問題のための予測モデル化プロシージャの好適性は、予測問題に対応するデータセットの特性、予測問題に対応するデータセットの中の変数の特性、データセットの中の変数の間の関係、および/または予測問題の主題に基づいて判定されてもよい。探索エンジン110は、予測問題、データセット、データセット変数等の特性を判定するように、予測問題と関連付けられるデータセットを分析するためのツール(例えば、統計分析ツール)を含んでもよい。
いくつかの実施形態では、探索エンジン110は、少なくとも部分的に、本明細書に説明される予測モデル化プロシージャの属性を含む(但し、それに限定されない)、予測モデル化プロシージャの1つまたはそれを上回る属性に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定する。一実施例のみとして、予測問題のための予測モデル化プロシージャの好適性は、予測モデル化プロシージャによって行われるデータ処理技法および/または予測モデル化プロシージャによって課されるデータ処理制約に基づいて、判定されてもよい。
いくつかの実施形態では、予測問題のための予測モデル化プロシージャの好適性を判定するステップは、予測問題の考慮から少なくとも1つの予測モデル化プロシージャを排除するステップを含む。考慮から予測モデル化プロシージャを排除する決定は、本明細書では、排除されたモデル化プロシージャを「取り除くこと」および/または「検索空間を取り除くこと」と称され得る。いくつかの実施形態では、ユーザは、前もって取り除かれたモデル化プロシージャが、検索空間の探索中に、さらなる実行および/または評価のために適格なままであるように、検索エンジンのモデル化プロシージャを取り除く決定を無効にすることができる。
予測モデル化プロシージャは、1つまたはそれを上回る演繹的規則を予測モデル化プロシージャの属性および予測問題の特性に適用することの結果に基づいて、考慮から排除されてもよい。演繹的規則は、限定ではないが、以下、すなわち、(1)予測問題がカテゴリ標的変数を含む場合、実行のための分類技法のみを選択する、(2)データセットの数値特徴が非常に様々な規模範囲に及ぶ場合、正規化を提供する技法を選択または優先する、(3)データセットがテキスト特徴を有する場合、テキストマイニングを提供する技法を選択または優先する、(4)データセットが観察よりも多くの特徴を有する場合、観察の数が特徴の数を上回るまたはそれに等しくなることを要求する全ての技法を排除する、(5)データセットの幅が閾値幅を超える場合、次元縮小を提供する技法を選択または優先する、(6)データセットが大きく疎である(例えば、データセットのサイズが閾値サイズを超え、データセットの疎性が閾値疎性を超える)場合、疎データ構造上で効率的に実行される技法を選択または優先する、および/もしくは規則がif−then文の形態で表現され得る、モデル化技法を選択、優先、または排除するための任意の規則を含んでもよい。いくつかの実施形態では、演繹的規則は、いくつかの規則の実行が順に結論を生じるように連鎖している。いくつかの実施形態では、演繹的規則は、履歴的性能に基づいて、更新、精緻化、または改良されてもよい。
いくつかの実施形態では、探索エンジン110は、類似予測問題についての類似予測モデル化プロシージャの性能(予期または実際)に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定する。(特別な場合として、探索エンジン110は、類似予測問題についての同一の予測モデル化プロシージャの性能(予期または実際)に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定してもよい。)
上記で説明されるように、モデル化技法130のライブラリは、予測モデル化技法の間の類似性を査定するためのツールを含んでもよく、予測問題のライブラリは、予測問題の間の類似性を査定するためのツールを含んでもよい。探索エンジン110は、問題になっている予測モデル化プロシージャおよび予測問題に類似する予測モデル化プロシージャおよび予測問題を識別するために、これらのツールを使用してもよい。予測問題のための予測モデル化プロシージャの好適性を判定する目的で、探索エンジン110は、問題になっているモデル化プロシージャに最も類似するM個のモデル化プロシージャを選択する、問題になっているモデル化プロシージャに関する閾値類似性値を超える全てのモデル化プロシージャを選択する等してもよい。同様に、予測問題のための予測モデル化プロシージャの好適性を判定する目的で、探索エンジン110は、問題になっている予測問題に最も類似するN個の予測問題を選択する、問題になっている予測問題に関する閾値類似性値を超える全ての予測問題を選択する等してもよい。
問題になっているモデル化プロシージャおよび予測問題に類似する、予測モデル化プロシージャのセットならびに予測問題のセットを考慮すると、探索エンジンは、問題になっている予測問題のための問題になっているモデル化プロシージャの予期される好適性を判定するように、類似予測問題についての類似モデル化プロシージャの性能を組み合わせてもよい。上記で説明されるように、モデル化プロシージャのテンプレートは、対応するモデル化プロシージャがどれだけ良好に所与のデータセットに機能するであろうかを推定することに関連する情報を含んでもよい。探索エンジン110は、類似予測問題についての類似モデル化プロシージャの性能値(予期または実際)を判定するために、モデル性能メタデータを使用してもよい。次いで、これらの性能値は、問題になっている予測問題のための問題になっているモデル化プロシージャの好適性の推定値を生成するように、組み合わせられることができる。例えば、探索エンジン110は、類似予測問題についての類似モデル化プロシージャの性能値の加重和として、問題になっているモデル化プロシージャの好適性を計算してもよい。
いくつかの実施形態では、探索エンジン110は、他の予測問題(例えば、問題になっている予測問題に類似する予測問題)のための種々のモデル化プロシージャ(例えば、問題になっているモデル化プロシージャに類似するモデル化プロシージャ)の結果に基づいて、予測問題のためのモデル化プロシージャの好適性を判定するように訓練され得る、「メタ」機械学習モデルの出力に少なくとも部分的に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定する。予測問題のための予測モデル化プロシージャの好適性を推定するための機械学習モデルは、どの技法が問題になっている予測問題のために成功する可能性が最も高いかを予測するように、反復して機械学習を適用するため、「メタ」機械学習モデルと称され得る。したがって、探索エンジン110は、他の予測問題を解決することからの結果に向けられたメタ機械学習アルゴリズムを使用することによって、予測問題のためのモデル化技法の好適性のメタ予測を生成してもよい。
いくつかの実施形態では、探索エンジン110は、少なくとも部分的にユーザ入力(例えば、予測モデル化プロシージャの好適性に関するデータ分析者の直感または経験を表すユーザ入力)に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定してもよい。
図3に戻って、方法300のステップ320では、予測モデル化プロシージャの少なくともサブセットが、予測問題のためのモデル化プロシージャの好適性に基づいて選択されてもよい。モデル化プロシージャが好適性カテゴリ(例えば、「好適」または「好適ではない」、「高度に好適」、「中程度に好適」、「中程度に不適切」、もしくは「高度に不適切」等)に割り当てられている、実施形態では、モデル化プロシージャのサブセットを選択するステップは、1つまたはそれを上回る好適性カテゴリに割り当てられるモデル化プロシージャ(例えば、「好適なカテゴリ」に割り当てられる全てのモデル化プロシージャ、「高度に不適切な」カテゴリに割り当てられていない全てのモデル化プロシージャ等)を選択するステップを含んでもよい。
モデル化プロシージャが好適性値を割り当てられている、実施形態では、探索エンジン110は、好適性値に基づいてモデル化プロシージャのサブセットを選択してもよい。いくつかの実施形態では、探索エンジン110は、閾値好適性スコアを上回る好適性スコアを伴うモデル化プロシージャを選択する。閾値好適性スコアは、ユーザによって提供され、または探索エンジン110によって判定されてもよい。いくつかの実施形態では、探索エンジン110は、モデル化プロシージャの実行のために利用可能な処理リソースの量に応じて、実行のために選択されるモデル化プロシージャの数を増加または減少させるように、閾値好適性スコアを調節してもよい。
いくつかの実施形態では、探索エンジン110は、問題になっている予測問題のためのモデル化プロシージャのうちのいずれかに割り当てられる最高好適性スコアの規定範囲内の好適性スコアを伴うモデル化プロシージャを選択する。範囲は、絶対的(例えば、最高スコアのSポイント以内のスコア)、または相対的(例えば、最高スコアのP%以内のスコア)であり得る。範囲は、ユーザによって提供され、または探索エンジン110によって判定されてもよい。いくつかの実施形態では、探索エンジン110は、モデル化プロシージャの実行のために利用可能な処理リソースの量に応じて、実行のために選択されるモデル化プロシージャの数を増加または減少させるように、範囲を調節してもよい。
いくつかの実施形態では、探索エンジン110は、問題になっている予測問題のための最高好適性スコアを有する、モデル化プロシージャの一部を選択する。同等に、探索エンジン110は、(例えば、モデル化プロシージャのための好適性スコアが利用可能ではないが、モデル化プロシージャの好適性の順序付け(ランク付け)が利用可能である場合に)最高好適性ランクを有する、モデル化プロシージャの一部を選択してもよい。一部は、ユーザによって提供され、または探索エンジン110によって判定されてもよい。いくつかの実施形態では、探索エンジン110は、モデル化プロシージャの実行のために利用可能な処理リソースの量に応じて、実行のために選択されるモデル化プロシージャの数を増加または減少させるように、一部を調節してもよい。
いくつかの実施形態では、ユーザは、実行される1つまたはそれを上回るモデル化プロシージャを選択してもよい。ユーザ選択されたプロシージャは、探索エンジン110によって選択される1つまたはそれを上回るモデル化プロシージャに加えて、もしくはその代わりに、実行されてもよい。ユーザが実行するためにモデル化プロシージャを選択することを可能にすることにより、特に、データ分析者の直感および経験が、モデル化システム100が予測問題のためのモデル化プロシージャの好適性を正確に推定していないことを示す、シナリオにおいて、予測モデル化システム100の性能を向上させてもよい。
いくつかの実施形態では、探索エンジン110は、たとえモデル化プロシージャP0...PNが全て、問題になっている予測問題のために好適であると判定されたとしても、モデル化プロシージャP0...PNを選択するのではなく、1つまたはそれを上回る他のモデル化プロシージャP1...PNを表す(例えば、類似する)モデル化プロシージャP0を選択することによって、検索空間評価の粒度を制御してもよい。加えて、探索エンジン110は、モデル化プロシージャP1...PNを実行することの結果を表すものとして、選択されたモデル化プロシージャP0を実行することの結果を扱ってもよい。検索空間を評価することへの本アプローチは、特に、検索空間の評価の初期段階中に適用された場合、処理リソースを節約してもよい。探索エンジン110が後に、モデル化プロシージャP0が予測問題のための最も好適なモデル化プロシージャの間にあると判定する場合には、検索空間の関連部分の細かい粒度の評価が、類似モデル化プロシージャP1...PNを実行して評価することによって行われることができる。
図3に戻って、方法300のステップ330では、リソース割付スケジュールが生成されてもよい。リソース割付スケジュールは、選択されたモデル化プロシージャの実行のために処理リソースを割り付けてもよい。いくつかの実施形態では、リソース割付スケジュールは、問題になっている予測問題のためのモデル化プロシージャの判定された好適性に基づいて、処理リソースをモデル化プロシージャに割り付ける。いくつかの実施形態では、探索エンジン110は、リソース割付スケジュールに従って選択されたモデル化プロシージャを実行するための命令を用いて、リソース割付スケジュールを1つまたはそれを上回る処理ノードに伝送する。
割り付けられた処理リソースは、時間リソース(例えば、1つまたはそれを上回る処理ノードの実行サイクル、1つまたはそれを上回る処理ノード上の実行時間等)、物理リソース(例えば、処理ノードの数、機械可読記憶装置(例えば、メモリおよび/または二次記憶装置)の量等)、ならびに/もしくは他の割付可能処理リソースを含んでもよい。いくつかの実施形態では、割り付けられた処理リソースは、分散型コンピュータシステムおよび/またはクラウドベースのコンピュータシステムの処理リソースであってもよい。いくつかの実施形態では、処理リソースが割り付けられる、および/または使用されるときに、費用が負担されてもよい(例えば、料金が、データセンターのリソースを使用するために引き換えにデータセンターのオペレータによって収集されてもよい)。
上記で示されるように、リソース割付スケジュールは、問題になっている予測問題のためのモデル化プロシージャの好適性に基づいて、処理リソースをモデル化プロシージャに割り付けてもよい。例えば、より有望なモデル化プロシージャが、限定された処理リソースのより多くの割合から利益を得るように、リソース割付スケジュールは、より多くの処理リソースを、予測問題のためのより高い予測好適性を伴うモデル化プロシージャに割り付け、より少ない処理リソースを、予測問題のためのより低い予測好適性を伴うモデル化プロシージャに割り付けてもよい。別の実施例として、リソース割付スケジュールは、より大きいデータセットを処理するために十分な処理リソースを、より高い予測好適性を伴うモデル化プロシージャに割り付け、より小さいデータセットを処理するために十分な処理リソースを、より低い予測好適性を伴うモデル化プロシージャに割り付けてもよい。
別の実施例として、リソース割付スケジュールは、より低い予測好適性を伴うモデル化プロシージャの実行に先立って、より高い予測好適性を伴うモデル化プロシージャの実行をスケジュールに入れてもよく、これは、より多くの処理リソースをより有望なモデル化プロシージャに割り付けるという効果も有し得る。いくつかの実施形態では、モデル化プロシージャを実行することの結果は、結果が利用可能になるとユーザインターフェース120を介してユーザに提示されてもよい。そのような実施形態では、より低い予測好適性を伴うモデル化プロシージャの前に実行するように、より高い予測好適性を伴うモデル化プロシージャをスケジュールに入れることにより、評価の初期段階で、検索空間の評価についての付加的重要情報をユーザに提供し、それによって、検索計画への急速なユーザ駆動調節を促進してもよい。例えば、予備結果に基づいて、ユーザは、非常に良好に機能することが予期された1つまたはそれを上回るモデル化プロシージャが、実際には非常に不完全に機能していることを判定してもよい。ユーザは、不良な性能の原因を調査し、例えば、不良な性能がデータセットの調製のエラーによって引き起こされることを判定してもよい。次いで、ユーザは、エラーを修正し、エラーによる影響を受けたモデル化プロシージャの実行を再開することができる。
いくつかの実施形態では、リソース割付スケジュールは、少なくとも部分的に、モデル化プロシージャのリソース利用特性および/または並列性特性に基づいて、処理リソースをモデル化プロシージャに割り付けてもよい。上記で説明されるように、モデル化プロシージャに対応するテンプレートは、どれだけ効率的にモデル化プロシージャが分散型コンピューティングインフラストラクチャ上で実行されるであろうかを推定することに関連するメタデータを含んでもよい。いくつかの実施形態では、本メタデータは、モデル化プロシージャのリソース利用特性(例えば、所与のサイズのデータセット上でモデル化プロシージャを訓練および/または試験するために必要とされる処理リソース)の指標を含む。いくつかの実施形態では、本メタデータは、モデル化プロシージャの並列性特性(例えば、モデル化プロシージャが複数の処理ノード上で並行して実行され得る程度)の指標を含む。リソース割付スケジュールを判定するために、モデル化プロシージャのリソース利用特性および/または並列性特性を使用することにより、モデル化プロシージャへの処理リソースの効率的な割付を促進してもよい。
いくつかの実施形態では、リソース割付スケジュールは、モデル化プロシージャの実行のために規定量の処理リソースを割り付けてもよい。処理リソースの割付可能な量は、ユーザによって提供され、または別の好適なソースから取得され得る、処理リソース予算において規定されてもよい。処理リソース予算は、モデル化プロシージャを実行するために使用される処理リソース(例えば、使用される時間の量、使用される処理ノードの数、データセンターまたはクラウドベースの処理リソースを使用するために負担される費用等)に制限を課してもよい。いくつかの実施形態では、処理リソース予算は、規定予測問題のための予測モデルを生成するプロセスに使用される全処理リソースに制限を課してもよい。
図3に戻って、方法300のステップ340では、リソース割付スケジュールに従って選択されたモデル化プロシージャを実行することの結果が受信されてもよい。これらの結果は、実行されたモデル化プロシージャによって生成される、1つまたはそれを上回る予測モデルを含んでもよい。いくつかの実施形態では、モデル化プロシージャの実行が、予測問題と関連付けられる1つまたはそれを上回るデータセットへの予測モデルの適合を含み得るため、ステップ340で受信される予測モデルは、予測問題と関連付けられるデータセットに適合される。予測モデルを予測問題のデータセットに適合させるステップは、予測モデルを生成する予測モデル化プロシージャの1つまたはそれを上回るハイパーパラメータを調整するステップ、生成された予測モデルの1つまたはそれを上回るパラメータを調整するステップ、および/または他の好適なモデル適合ステップを含んでもよい。
いくつかの実施形態では、ステップ340で受信される結果は、予測問題についてのモデルの性能の評価(例えば、スコア)を含む。これらの評価は、予測問題と関連付けられる試験データセット上で予測モデルを試験することによって取得されてもよい。いくつかの実施形態では、予測モデルを試験するステップは、予測問題と関連付けられる訓練データセットの異なる層を使用して、モデルを交差検証するステップを含む。いくつかの実施形態では、モデル化プロシージャの実行は、生成されたモデルの試験を含む。いくつかの実施形態では、生成されたモデルの試験は、モデル化プロシージャの実行と別個に行われる。
モデルは、好適な試験技法に従って試験され、好適なスコア化測定基準(例えば、目的関数)に従ってスコア化されてもよい。異なるスコア化測定基準が、限定ではないが、モデルの精度(例えば、モデルが予測問題の成果を正しく予測する割合)、誤陽性率(例えば、モデルが「陽性」成果を誤って予測する割合)、誤陰性率(例えば、モデルが「陰性」成果を誤って予測する割合)、陽性予測値、陰性予測値、感受性、特異性等を含む、予測モデルの性能の異なる側面に異なる加重を置いてもよい。ユーザは、ユーザインターフェース120を介して提示されるオプションのセットから標準スコア化測定基準(例えば、適合度、R平方等)、またはユーザインターフェース120を介して具体的カスタムスコア化測定基準(例えば、カスタム目的関数)を選択してもよい。探索エンジン110は、予測モデルの性能をスコア化するために、ユーザ選択またはユーザ規定されたスコア化測定基準を使用してもよい。
図3に戻って、方法300のステップ350では、予測モデルが、生成された予測モデルの評価(例えば、スコア)に基づいて、予測問題のために選択されてもよい。空間検索エンジン110は、予測問題のための予測モデルを選択するために、任意の好適な基準を使用してもよい。いくつかの実施形態では、空間検索エンジン110は、最高スコアを伴うモデル、または閾値スコアを超えるスコアを有する任意のモデル、もしくは最高スコアの規定範囲内のスコアを有する任意のモデルを選択してもよい。いくつかの実施形態では、予測モデルのスコアは、予測問題のための予測モデルを選択する際に空間探索エンジン110によって考慮される1つの要因にすぎなくてもよい。空間探索エンジンによって考慮される他の要因は、限定ではないが、予測モデルの複雑性、予測モデルの計算需要等を含んでもよい。
いくつかの実施形態では、予測問題のための予測モデルを選択するステップは、予測モデルのサブセットを反復して選択するステップと、データセットのより大きい、または異なる部分上で選択された予測モデルを訓練するステップとを含んでもよい。本反復プロセスは、予測モデルが予測問題のために選択されるまで、または予測モデルを生成するために予算を立てられる処理リソースが使い果たされるまで、継続してもよい。
予測モデルのサブセットを選択するステップは、最高スコアを伴う予測モデルの一部を選択するステップ、閾値スコアを超えるスコアを有する、全てのモデルを選択するステップ、最高スコア化モデルのスコアの規定範囲内のスコアを有する、全てのモデルを選択するステップ、またはモデルの任意の他の好適なグループを選択するステップを含んでもよい。いくつかの実施形態では、予測モデルのサブセットを選択するステップは、方法300のステップ320を参照して上記で説明されるように、予測モデル化プロシージャのサブセットを選択するステップに類似し得る。したがって、予測モデルのサブセットを選択するステップの詳細は、ここでは繰り返されない。
選択された予測モデルを訓練するステップは、選択されたモデルの訓練のために処理ノードの処理リソースを割り付ける、リソース割付スケジュールを生成するステップを含んでもよい。処理リソースの割付は、少なくとも部分的に、選択されたモデルを生成するために使用されるモデル化技法の好適性、および/またはデータセットの他のサンプルのための選択されたモデルのスコアに基づいて、判定されてもよい。選択された予測モデルを訓練するステップはさらに、選択された予測モデルをデータセットの規定部分に適合させるように、命令を処理ノードに伝送するステップと、適合モデルおよび/または適合モデルのスコアを含む、訓練プロセスの結果を受信するステップとを含んでもよい。いくつかの実施形態では、選択された予測モデルを訓練するステップは、方法300のステップ320−330を参照して上記に説明されるように、選択された予測モデル化プロシージャを実行するステップに類似し得る。したがって、選択された予測モデルを訓練するステップの詳細は、ここでは繰り返されない。
いくつかの実施形態では、ステップ330および340は、予測モデルが予測問題のために選択されるまで、または予測モデルを生成するために予算を立てられる処理リソースが使い果たされるまで、反復して行われてもよい。各反復の終了時に、予測問題のための予測モデル化プロシージャの好適性が、少なくとも部分的に、モデル化プロシージャを実行することの結果に基づいて再判定されてもよく、予測モデル化プロシージャの新しいセットが、次の反復中に実行のために選択されてもよい。
いくつかの実施形態では、ステップ330および340の反復において実行されるモデル化プロシージャの数は、反復の数が増加すると減少する傾向があってもよく、生成されたモデルを訓練および/または試験するために使用されるデータの量は、反復の数が増加すると増加する傾向があってもよい。したがって、初期の反復は、比較的小さいデータセット上で比較的多数のモデル化プロシージャを実行することによって、「広い範囲を探し」てもよく、以降の反復は、初期の反復中に識別される最も有望なモデル化プロシージャのより厳密な試験を行ってもよい。代替として、または加えて、初期の反復は、検索空間のより粗い粒度の評価を実装してもよく、以降の反復は、最も有望であると判定される検索空間の部分のより細かい粒度の評価を実装してもよい。
いくつかの実施形態では、方法300は、図3に図示されていない、1つまたはそれを上回るステップを含む。方法300の付加的ステップは、限定ではないが、予測問題と関連付けられるデータセットを処理するステップ、混合予測モデルを形成するように2つまたはそれを上回る予測モデルを混合するステップ、および/または予測問題のために選択される予測モデルを調整するステップを含んでもよい。これらのステップのいくつかの実施形態は、以下でさらに詳細に説明される。
方法300は、予測問題と関連付けられるデータセットが処理されるステップを含んでもよい。いくつかの実施形態では、予測問題のデータセットを処理するステップは、データセットを特性化するステップを含む。データセットを特性化するステップは、データ漏出(例えば、データセットが、標的と強く相関する特徴を含むが、特徴の値が、予測問題によって課される条件下で予測モデルへの入力として利用可能とならないであろう、シナリオ)を識別するステップ、欠けている観察を検出するステップ、欠測変数値を検出するステップ、異常変数値を検出するステップ、および/または有意な予測値(「重要変数」)を有する可能性が高い変数を識別するステップを含むが、それらに限定されない、データセットに関連する潜在的問題を識別するステップを含んでもよい。
いくつかの実施形態では、予測問題のデータセットを処理するステップは、特徴工学をデータセットに適用するステップを含む。特徴工学をデータセットに適用するステップは、2つまたはそれを上回る特徴を組み合わせて、構成特徴を組み合わせられた特徴と置換するステップ、日付/時間変数(例えば、時間および季節情報)の異なる側面を別個の変数に抽出するステップ、変数値を正規化するステップ、欠測変数値を埋めるステップ等を含んでもよい。
方法300は、2つまたはそれを上回る予測モデルが、混合予測モデルを形成するように混合させられる、ステップを含んでもよい。混合するステップは、予測モデル化技法を実行し、生成された予測モデルを評価するステップに関連して、反復して行われてもよい。いくつかの実施形態では、混合するステップは、(例えば、複数の有望な予測モデルが生成されたときに、以降の反復において)実行/評価反復のうちのいくつかにおいて行われてもよい。
2つまたはそれを上回るモデルは、構成モデルの出力を組み合わせることによって混合させられてもよい。いくつかの実施形態では、混合モデルは、構成モデルの出力の加重線形結合を含んでもよい。混合予測モデルは、特に、異なる構成モデルが補完的である場合に、構成予測モデルより良好に機能してもよい。例えば、混合モデルは、構成モデルが予測問題のデータセットの異なる部分に良好に機能する傾向があるとき、モデルの混合が他の(例えば、類似)予測問題に良好に機能したとき、モデルを生成するために使用されるモデル化技法が異種である(例えば、一方のモデルが線形モデルであり、他方のモデルがツリーモデルである)とき等に、良好に機能することが予期されてもよい。いくつかの実施形態では、ともに混合させられる構成モデルは、(例えば、ユーザの直感および経験に基づいて)ユーザによって識別される。
方法300は、予測問題のために選択される予測モデルが調整されるステップを含んでもよい。ある場合には、展開エンジン140は、予測モデルを実装するソースコードをユーザに提供し、それによって、ユーザが予測モデルを調整することを可能にする。しかしながら、予測モデルのソースコードを開示することは、ある場合には(例えば、予測モデル化技法または予測モデルが専用能力もしくは情報を含有する場合に)望ましくない場合がある。ユーザがモデルのソースコードを暴露することなく予測モデルを調整することを可能にするために、展開エンジン140は、予測モデルの表現(例えば、数学的表現)に基づいてモデルのパラメータを調整するための人間が読み取れる規則を構築し、人間が読み取れる規則をユーザに提供してもよい。次いで、ユーザは、モデルのソースコードにアクセスすることなくモデルのパラメータを調整するために、人間が読み取れる規則を使用することができる。したがって、予測モデル化システム100は、専用モデル化技法のためのソースコードをエンドユーザに暴露することなく、専用予測モデル化技法の評価および調整をサポートしてもよい。
いくつかの実施形態では、予測モデル化プロシージャに対応する機械実行可能テンプレートは、冗長計算を削減するように、効率増進特徴を含んでもよい。これらの効率増進特徴は、比較的少量の処理リソースが、検索空間を探索し、予測モデルを生成するために予算を立てられる場合に、特に貴重であり得る。上記で説明されるように、機械実行可能テンプレートは、対応するモデル化要素(例えば、技法、タスク、またはサブタスク)の一意のIDを記憶してもよい。加えて、予測モデル化システム100は、一意のIDをデータセットサンプルSに割り当ててもよい。いくつかの実施形態では、機械実行可能テンプレートTがデータセットサンプルS上で実行されるとき、テンプレートは、そのモデル化要素ID、データセット/サンプルID、およびデータサンプル上でテンプレートを実行することの結果を、他のテンプレートにアクセス可能な記憶構造(例えば、テーブル、キャッシュ、ハッシュ等)に記憶する。テンプレートTがデータセットサンプルS上で呼び出されるとき、テンプレートは、そのデータセットサンプル上でそのテンプレートを実行することの結果がすでに記憶されているかどうかを判定するように、記憶構造をチェックする。そうであれば、同一の結果を取得するようにデータセットサンプルを再処理するのではなく、テンプレートは、単純に、記憶構造から対応する結果を読み出し、これらの結果を返し、終了する。記憶構造は、プロシージャ実行ループの複数の反復にわたって、または複数の検索空間探索にわたって、モデル化プロシージャが実行される、ループの個々の反復内で持続してもよい。多くのタスクおよびサブタスクが異なるモデル化技法によって共有され、方法300が、多くの場合、同一のデータセット上で異なるモデル化技法を実行するステップを伴うため、本効率増進特徴を通して達成される計算節約は、相当量であり得る。
図4は、いくつかの実施形態による、予測問題のための予測モデルを選択するための方法400のフローチャートを示す。方法300は、方法400の実施例によって具現化されてもよい。
図4の実施例では、空間検索エンジン110は、予測モデル化問題の解決策について利用可能なモデル化技法の空間を検索するために、モデル化方法ライブラリ212、モデル化技法ライブラリ130、およびモデル化タスクライブラリ232を使用する。最初に、ユーザが、ライブラリ212からモデル化方法を選択してもよく、または空間検索エンジン110が、デフォルトモデル化方法を自動的に選択してもよい。利用可能なモデル化方法は、限定ではないが、演繹的規則の適用に基づくモデル化技法の選択、類似予測問題についての類似モデル化技法の性能に基づくモデル化技法の選択、メタ機械学習モデルの出力に基づくモデル化技法の選択、前述のモデル化技法の任意の組み合わせ、または他の好適なモデル化技法を含んでもよい。
方法400のステップ402では、探索エンジン110は、予測モデル化問題が解決されるためにデータセットを選択するようにユーザを促す。ユーザは、前もってロードされたデータセットから選定し、またはファイルもしくは他の情報システムからデータを読み出すための命令のいずれか一方から、新しいデータセットを作成することができる。ファイルの場合、探索エンジン110は、限定ではないが、コンマで区切った値、タブで区切った拡張マークアップ言語(XML)、JavaScript(登録商標)オブジェクト表記、ネイティブデータベースファイル等を含む、1つまたはそれを上回る形式をサポートしてもよい。命令の場合、ユーザは、情報システムのタイプ、それらのネットワークアドレス、アクセス証明書、各システム内のデータのサブセットの参照、および標的データスキーマを所望のデータスキーマの中へマップするための規則を規定してもよい。そのような情報システムは、限定ではないが、データベース、データウェアハウス、データ統合サービス、分散型アプリケーション、ウェブサービス等を含んでもよい。
方法400のステップ404では、探索エンジン110は、(例えば、規定ファイルを読み取ること、または規定情報システムにアクセスすることによって)データをロードする。内部で、探索エンジン110は、一方の軸上の特徴および他方の軸上の観察を用いて2次元行列を構築してもよい。概念的に、行列の各列は、変数に対応してもよく、行列の各行は、観察に対応してもよい。探索エンジン110は、元のソースから取得されるメタデータ(例えば、明示的に規定されたデータタイプ)および/またはロードするプロセス中に生成されるメタデータ(例えば、変数の明白なデータタイプ、変数が数値、順序、基本的、または解釈タイプであると考えられるかどうか等)を含む、関連メタデータを変数にアタッチしてもよい。
方法400のステップ406では、探索エンジン110は、変数のうちのどれが標的であるか、および/またはどれが特徴であるかを識別するようにユーザを促す。いくつかの実施形態では、探索エンジン110はまた、モデルをスコア化するために使用されるモデル性能の測定基準(例えば、探索エンジン110によって実装される統計的学習アルゴリズムによる、統計的最適化技法という意味で、最適化されるモデル性能の測定基準)を識別するようにユーザを促す。
方法400のステップ408では、探索エンジン110は、データセットを評価する。本評価は、データセットの特性を計算するステップを含んでもよい。いくつかの実施形態では、本評価は、ユーザが予測問題をより理解することに役立ち得る、データセットの分析を行うステップを含む。そのような分析は、問題のある変数(例えば、異常値または正常値を伴うもの)を識別するように1つまたはそれを上回るアルゴリズムを適用するステップと、可変重要性を検出するステップと、可変影響を判定するステップと、影響ホットスポットを識別するステップとを含んでもよい。
データセットの分析は、任意の好適な技法を使用して行われてもよい。各特徴が標的を予測する際に有する有意性の程度を測定する、可変重要性は、「勾配ブーストツリー」、BreimanおよびCutlerの「ランダムフォレスト」、「交互の条件付き期待値」、および/または他の好適な技法を使用して、分析されてもよい。特徴が標的に及ぼす影響の方向およびサイズを測定する、可変影響は、「正規化回帰」、「ロジスティック回帰」、および/または他の好適な技法を使用して、分析されてもよい。特徴が標的を予測する際に最も多くの情報を提供する範囲を識別する、影響ホットスポットは、「RuleFit」アルゴリズムおよび/または他の好適な技法を使用して、分析されてもよい。
いくつかの実施形態では、元のデータセットに含有される特徴の重要性を査定するステップに加えて、方法400のステップ408で行われる評価は、特徴生成を含む。特徴生成技法は、データセットの変数の論理タイプを解釈し、種々の変換を変数に適用することによって、付加的特徴を生成するステップを含んでもよい。変換の実施例は、限定ではないが、数値特徴の多項式および対数変換を含む。解釈変数(例えば、日付、時間、通貨、測定単位、割合、および場所の座標)に関して、変換の実施例は、限定ではないが、予測力について日付の各側面を試験するように、日付文字列を連続時間変数、曜日、月、および季節に解析するステップを含む。
潜在的予測モデル化技法を用いた、それらの系統的試験が後に続く、数値および/または解釈変数の系統的変換は、予測モデル化システム100が、潜在的モデル空間のより多くを検索し、より精密な予測を達成することを可能にし得る。例えば、「日付/時間」の場合、時間および季節情報を別個の特徴に分離することは、これらの別個の特徴が、多くの場合、標的変数との非常に様々な関係を呈するため、非常に有益であり得る。
元の特徴を解釈して変換することによって、導出された特徴を作成することは、元のデータセットの次元を増加させることができる。予測モデル化システム100は、データセットの次元の増加に対抗し得る、次元縮小技法を適用してもよい。しかしながら、いくつかのモデル化技法は、他の技法よりも次元に対して感受性が高い。また、異なる次元縮小技法が、他の技法よりもいくつかのモデル化技法と良好に連動する傾向がある。いくつかの実施形態では、予測モデル化システム100は、これらの相互作用を表すメタデータを維持する。システム100は、次元縮小技法およびモデル化技法の種々の組み合わせを系統的に評価し、成功する可能性が最も高いとメタデータが示す組み合わせを優先してもよい。システム100はさらに、経時的に組み合わせの経験的性能に基づいて本メタデータを更新し、新しい次元縮小技法が発見されると、それらを組み込んでもよい。
方法400のステップ410では、予測モデル化システム100は、データセット評価の結果(例えば、データセット分析の結果、データセットの特性、および/またはデータセット変換の結果)をユーザに提示する。いくつかの実施形態では、データセット評価の結果は、(例えば、グラフおよび/または表を使用して)ユーザインターフェース120を介して提示されてもよい。
方法400のステップ412では、ユーザは、(例えば、データセット評価の結果に基づいて)データセットを精緻化してもよい。そのような精緻化は、1つまたはそれを上回る特徴の欠測値または異常値を取り扱う、解釈変数のタイプを変更する、検討中の変換を変更する、考慮から特徴を排除する、特定の値を直接編集する、関数を使用して特徴を変換する、式を使用して特徴の値を組み合わせる、完全に新しい特徴をデータセットに追加する等のための方法を選択するステップを含んでもよい。
方法400のステップ402−412は、方法300のいくつかの実施形態に関連して上記で説明されるように、予測問題のデータセットを処理するステップの一実施形態を表してもよい。
方法400のステップ414では、検索空間エンジン100は、モデル化技法ライブラリ130から利用可能なモデル化技法をロードしてもよい。どのモデル化技法が利用可能であるかという判定は、選択されたモデル化方法に依存し得る。いくつかの実施形態では、モデル化技法のローディングは、方法400のステップ402−412のうちの1つまたはそれを上回るものと並行して起こってもよい。
方法400のステップ416では、ユーザは、手動モードまたは自動モードのいずれか一方でモデル化ソリューションの検索を開始するように探索エンジン110に命令する。自動モードでは、探索エンジン110は、デフォルトサンプリングアルゴリズムを使用してデータセットを分割し(ステップ418)、デフォルト優先順位決定アルゴリズムを使用してモデル化技法を優先する(ステップ420)。モデル化技法を優先するステップは、予測問題のためのモデル化技法の好適性を判定するステップと、それらの判定された好適性に基づいて、実行のためにモデル化技法の少なくともサブセットを選択するステップとを含んでもよい。
手動モードでは、探索エンジン110は、データパーティションを提案し(ステップ422)、モデル化技法の優先順位決定を提案する(ステップ424)。ユーザは、提案されたデータパーティションを容認し、またはカスタムパーティションを規定してもよい(ステップ426)。同様に、ユーザは、モデル化技法の提案された優先順位決定を容認し、またはモデル化技法のカスタム優先順位決定を規定してもよい(ステップ428)。いくつかの実施形態では、ユーザは、探索エンジン110がモデル化技法を実行し始める前に、(例えば、モデル化技法ビルダ220および/またはモデル化タスクビルダ230を使用して)1つまたはそれを上回るモデル化技法を修正することができる(ステップ430)。
交差検証を促進するために、予測モデル化システム100は、データセットをK個の「層」に分割し(またはデータセットの分割を提案し)てもよい。交差検証は、各適合中に、異なる層が試験セットとしての機能を果たし、残りの層が訓練セットとしての機能を果たすように、予測モデルを分割されたデータセットにK回適合させるステップを含む。交差検証は、どのようにして予測モデルの精度が異なる訓練データとともに変動するかについての有用な情報を生成することができる。ステップ418および422では、予測モデル化システムは、データセットをK個の層に分割し、層の数Kは、デフォルトパラメータである。ステップ426では、ユーザは、層の数Kを変更し、または交差検証の使用を完全に中止してもよい。
予測モデルの厳密な試験を促進するために、予測モデル化システム100は、データセットを訓練セットおよび「ホールドアウト」試験セットに分割し(またはデータセットの分割を提案し)てもよい。いくつかの実施形態では、訓練セットはさらに、交差検証のためのK個の層に分割される。次いで、訓練セットは、予測モデルを訓練して評価するために使用されてもよいが、ホールドアウト試験セットは、予測モデルを試験するために厳密に留保されてもよい。いくつかの実施形態では、予測モデル化システム100は、指定権限および/または証明書を伴うユーザがそれを解放するまで、ホールドアウト試験セットをアクセス不可能にすることによって、(訓練のためではなく)試験のためにホールドアウト試験セットの使用を強力に施行することができる。ステップ418および422では、予測モデル化システム100は、データセットのデフォルト割合がホールドアウトセットのために留保されるように、データセットを分割してもよい。ステップ426では、ユーザは、ホールドアウトセットのために留保されるデータセットの割合を変更し、またはホールドアウトセットの使用を完全に中止してもよい。
いくつかの実施形態では、予測モデル化システム100は、モデル化検索空間の評価中に、計算リソースの効率的な使用を促進するようにデータセットを分割する。例えば、予測モデル化システム100は、データセットの交差検証層をより小さいサンプルに分割してもよい。予測モデルが適合させられるデータサンプルのサイズを縮小することは、異なるモデル化技法の相対的性能を評価するために必要とされる計算リソースの量を削減してもよい。いくつかの実施形態では、より小さいサンプルは、層のデータのランダムなサンプルを採取することによって生成されてもよい。同様に、予測モデルが適合させられるデータサンプルのサイズを縮小することは、予測モデルのパラメータまたはモデル化技法のハイパーパラメータを調整するために必要とされる計算リソースの量を削減してもよい。ハイパーパラメータは、モデル適合プロセスの速度、効率、および/または精度に影響を及ぼし得る、モデル化技法のための可変設定を含む。ハイパーパラメータの実施例は、限定ではないが、弾性ネットモデルの罰則パラメータ、勾配ブーストツリーモデルの中のツリーの数、最近傍モデルの中の近傍の数等を含む。
方法400のステップ432−458では、選択されたモデル化技法は、検索空間を評価するように、分割されたデータを使用して実行されてもよい。これらのステップは、以下でさらに詳細に説明される。便宜上、データ分割に関する検索空間の評価のいくつかの側面は、以下の段落で説明される。
交差検証層の試験セットを含むサンプルデータを使用して、ハイパーパラメータを調整することは、モデル過剰適合につながり、それによって、異なるモデルの性能の比較を信頼できなくし得る。「規定アプローチ」を使用することは、本問題を回避することに役立つことができ、いくつかの他の重要な利点を提供することができる。したがって、探索エンジン110のいくつかの実施形態は、k層交差検証の2つのループが適用される技法である、「ネスト化交差検証」を実装する。外側ループは、所与のモデルを他のモデルと比較するとともに、将来のサンプル上で各モデルの予測を較正するための試験セットを提供する。内側ループは、所与のモデルのハイパーパラメータを調整するための試験セットおよび導出された特徴のための訓練セットの両方を提供する。
また、内側ループにおいて生成される交差検証予測は、複数の異なるモデルを組み合わせる混合技法を促進してもよい。いくつかの実施形態では、ブレンダの中への入力は、サンプル外モデルからの予測である。サンプル内モデルからの予測を使用することは、いくつかの混合アルゴリズムとともに使用された場合に過剰適合をもたらし得る。ネスト化交差検証を一貫して適用するための明確に定義されたプロセスがないと、最も経験豊富なユーザでさえも、ステップを省略し、またはそれらを誤って実装し得る。したがって、k層交差検証の二重ループの適用は、予測モデル化システム100が、同時に5つの重要な目標、すなわち、(1)多くのハイパーパラメータを用いて複雑なモデルを調整すること、(2)情報を与える導出された特徴を作成すること、(3)2つまたはそれを上回るモデルの混合を調整すること、(4)単一および/または混合モデルの予測を較正すること、ならびに(5)異なるモデルの正確な比較を可能にする、純粋な手付かずの試験セットを維持することを達成することを可能にし得る。
方法400のステップ432では、探索エンジン110は、選択されたモデル化技法の初期セットの実行のためにリソース割付スケジュールを生成する。リソース割付スケジュールによって表されるリソースの割付は、モデル化技法の優先順位決定、分割されたデータサンプル、および利用可能な計算リソースに基づいて判定されてもよい。いくつかの実施形態では、探索エンジン110は、リソースを選択されたモデル化技法に貪欲に割り付ける(例えば、計算リソースを、順に、まだ実行されていない最高優先順位のモデル化技法に割り当てる)。
方法400のステップ434では、探索エンジン110は、リソース割付スケジュールに従ってモデル化技法の実行を開始する。いくつかの実施形態では、モデル化技法のセットの実行は、データセットから抽出される同一のデータサンプル上で1つまたはそれを上回るモデルを訓練するステップを含んでもよい。
方法400のステップ436では、探索エンジン110は、モデル化技法の実行の状態を監視する。モデル化技法が実行を終了されるとき、探索エンジン110は、適合モデルおよび/または対応するデータサンプルのためのモデル適合の測定基準を含み得る、結果を収取する(ステップ438)。そのような測定基準は、限定ではないが、ジニ係数、r平方、残存平均平方誤差、それらの任意の変形例等を含む、適合を行う基礎的ソフトウェア構成要素から抽出され得る任意の測定基準を含んでもよい。
方法400のステップ440では、探索エンジン110は、(例えば、モデル適合測定基準に従って生成したモデルの性能に基づいて)考慮から性能が最も悪いモデル化技法を排除する。探索エンジン110は、限定ではないが、モデル適合測定基準の最小閾値を満たすモデルを生成しないものを排除するステップ、生成される全てのモデルの最上位部分の中に現在あるモデルを生成したものを除いて、全てのモデル化技法を排除するステップ、または最上位モデルのある範囲内にあるモデルを生成していない、いかなるモデル化技法も排除するステップを含む、好適な技法を使用して、どのモデル化技法を排除するかを判定してもよい。いくつかの実施形態では、異なるプロシージャが、評価の異なる段階でモデル化技法を排除するために使用されてもよい。いくつかの実施形態では、ユーザは、異なるモデル化問題のための異なる排除技法を規定することを許可されてもよい。いくつかの実施形態では、ユーザは、カスタム排除技法を構築して使用することを許可されてもよい。いくつかの実施形態では、メタ統計的学習技法が、排除技法の間で選定するため、および/またはこれらの技法のパラメータを調節するために使用されてもよい。
探索エンジン110がモデル性能を計算し、考慮からモデル化技法を排除すると、予測モデル化システム100は、ユーザインターフェース120を通して検索空間評価の進行をユーザに提示してもよい(ステップ442)。いくつかの実施形態では、ステップ444で、探索エンジン110は、検索空間評価の進行、ユーザの専門知識、および/または他の好適な情報に基づいて、ユーザが検索空間を評価するプロセスを修正することを可能にする。ユーザが検索空間評価プロセスへの修正を規定する場合、空間評価エンジン110は、それに応じて処理リソースを再び割り付ける(例えば、どのジョブが影響を受けるかを判定し、スケジューリング待ち行列内でそれらを移動させるか、または待ち行列からそれらを削除するかのいずれかである)。他のジョブは、以前の通りに処理を継続する。
ユーザは、多くの異なる方法で検索空間評価プロセスを修正してもよい。例えば、ユーザは、たとえ選択された測定基準で生成したモデルの性能が良好であったとしても、いくつかのモデル化技法の優先順位を低減させ、または考慮からいくつかのモデル化技法を完全に排除してもよい。別の実施例として、ユーザは、たとえ生成したモデルの性能が不良であったとしても、いくつかのモデル化技法の優先順位を増加させ、または考慮からいくつかのモデル化技法を選択してもよい。別の実施例として、ユーザは、付加的データサンプルに対して規定モデルの評価または規定モデル化技法の実行を優先してもよい。別の実施例として、ユーザは、1つまたはそれを上回るモデル化技法を修正し、考慮から修正された技法を選択してもよい。別の実施例として、ユーザは、(例えば、特徴を追加すること、特徴を除去すること、もしくは異なる特徴を選択することによって)モデル化技法を訓練する、またはモデルを適合させるために使用される特徴を変更してもよい。そのような変更は、特徴規模が正規化を必要とする、または特徴のうちのいくつかが「データ漏出」であることを結果が示す場合に、有益であり得る。
いくつかの実施形態では、ステップ432−444は、反復して行われてもよい。(例えば、ステップ440でシステムによって、またはステップ444でユーザによって)排除されないモデル化技法は、別の反復を乗り切る。前の反復(または複数の反復)で生成されたモデルの性能に基づいて、探索エンジン110は、対応するモデル化技法の優先順位を調節し、それに応じて処理リソースをモデル化技法に割り付ける。計算リソースが利用可能になると、エンジンは、更新された優先順位に基づいてモデル技法実行ジョブを立ち上げるために利用可能なリソースを使用する。
いくつかの実施形態では、ステップ432で、探索エンジン110は、新しいモデルを作成するように、異なる数学的組み合わせを使用して(例えば、ブレンダに含むモデルの段階的選択を使用して)複数のモデルを「混合」してもよい。いくつかの実施形態では、予測モデル化システム100は、ユーザが独自の自動混合技法を組み込むことを可能にする、モジュール式フレームワークを提供する。いくつかの実施形態では、予測モデル化システム100は、ユーザが異なるモデルブレンダを手動で規定することを可能にする。
いくつかの実施形態では、予測モデル化システム100は、混合予測モデルを開発する際に1つまたはそれを上回る利点を提供してもよい。第1に、混合は、多種多様な候補モデルが混合するために利用可能であるときに、より良好に機能し得る。また、混合は、候補モデルの間の差異が、単純にアルゴリズムの軽微な変動に対応しないが、むしろ線形モデル、ツリーベースのモデル、サポートベクターマシン、および最近傍分類の間の差異等のアプローチの主要な差異に対応するときに、より良好に機能し得る。予測モデル化システム100は、多種多様なモデルを自動的に生成し、どのように候補モデルが異なるかを表すメタデータを維持することによって、実質的な有利開始を実現してもよい。予測モデル化システム100はまた、例えば、候補モデルにわたって変数の規模を自動的に正規化することによって、任意のモデルが混合モデルに組み込まれることを可能にする、フレームワークを提供してもよい。本フレームワークは、多様性をさらに増加させるように、ユーザが、独自のカスタマイズされた、または独立して生成されたモデルを、自動的に生成されたモデルに容易に追加することを可能にし得る。
混合のために利用可能な候補モデルの多様性を増加させることに加えて、予測モデル化システム100はまた、優れた混合をもたらし得る、いくつかのユーザインターフェース特徴および分析特徴も提供する。第1に、ユーザインターフェース120は、ユーザが混合する正確かつ補完的なモデルを容易に識別することができるように、二重リフトチャート等の候補モデル適合およびグラフィックのいくつかの異なる代替尺度を含む、双方向モデル比較を提供してもよい。第2に、モデル化システム100は、具体的候補モデルおよび混合技法を選定する、または候補モデルのうちのいくつかもしくは全てを使用して、モデル化技法ライブラリの中の混合技法のうちのいくつかまたは全てを自動的に適合させるオプションをユーザに与える。次いで、ネスト化交差検証フレームワークは、各混合モデルをランク付けするために使用されるデータが、ブレンダ自体を調整する際に、またはその構成要素モデルのハイパーパラメータを調整する際に使用されないという条件を施行する。本規律は、代替ブレンダ性能のより正確な比較をユーザに提供してもよい。いくつかの実施形態では、モデル化システム100は、混合モデルのための計算時間が、その最低速構成要素モデルの計算時間に接近するように、並行して混合モデルの処理を実装する。
図4に戻って、方法400のステップ446では、ユーザインターフェース120は、最終結果をユーザに提示する。本提示に基づいて、ユーザは、(例えば、ステップ412に戻ることによって)データセットを精緻化する、(例えば、ステップ444に戻ることによって)実行するモデル化技法へのリソースの割付を調節する、(例えば、ステップ430に戻ることによって)精度を向上させるようにモデル化技法のうちの1つまたはそれを上回るものを修正する、(例えば、ステップ402に戻ることによって)データセットを変更する等してもよい。
方法400のステップ448では、検索空間評価またはその一部を再開するのではなく、ユーザは、1つまたはそれを上回る最上位予測モデル候補を選択してもよい。ステップ450では、予測モデル化システム100は、選択された予測モデル候補のためのホールドアウト試験の結果を提示してもよい。ホールドアウト試験結果は、どのようにしてこれらの候補を比較するかという最終測定尺度を提供してもよい。いくつかの実施形態では、十分な特権を伴うユーザのみが、ホールドアウト試験結果を発表してもよい。候補予測モデルが選択されるまでホールドアウト試験結果の発表を防止することは、性能の公平な評価を促進してもよい。しかしながら、探索エンジン110は、候補予測モデルが選択される後まで結果が隠されたままである限り、モデル化ジョブ実行プロセス(ステップ432−444)中にホールドアウト試験結果を実際に計算してもよい。
ユーザインターフェース
図1に戻って、ユーザインターフェース120は、予測モデル化空間の検索を監視および/または誘導するためのツールを提供してもよい。これらのツールは、(例えば、データセットの中の問題のある変数を強調表示すること、データセットの中の変数の間の関係を識別すること等によって)予測問題のデータセットについての洞察、および/または検索の結果についての洞察を提供してもよい。いくつかの実施形態では、データ分析者は、例えば、モデル化ソリューションを評価して比較するために使用される測定基準を規定することによって、好適なモデル化ソリューションを認識するための基準を特定することによって等、検索を誘導するためにインターフェースを使用してもよい。したがって、ユーザインターフェースは、独自の生産性を向上させるために、および/または探索エンジン110の性能を向上させるために、分析者によって使用されてもよい。いくつかの実施形態では、ユーザインターフェース120は、リアルタイムで検索の結果を提示し、リアルタイムで(例えば、検索の範囲、または異なるモデル化ソリューションの評価の間のリソースの割付を調節するように)ユーザが検索を誘導することを可能にする。いくつかの実施形態では、ユーザインターフェース120は、同一の予測問題および/または関連予測問題に取り組む複数のデータ分析者の労力を調整するためのツールを提供する。
いくつかの実施形態では、ユーザインターフェース120は、モデル化技法のライブラリ130のための機械実行可能テンプレートを開発するためのツールを提供する。システムユーザは、既存のテンプレートを修正するため、新しいテンプレートを作成するため、またはライブラリ130からテンプレートを除去するために、これらのツールを使用してもよい。このようにして、システムユーザは、予測モデル化研究の進歩を反映するように、および/または専用予測モデル化技法を含むように、ライブラリ130を更新してもよい。
ユーザインターフェース120は、ユーザが団体内の複数のモデル化プロジェクトを管理し、モデル化方法階層の要素を作成および修正し、正確な予測モデルの包括的検索を行い、データセットならびにモデル結果についての洞察を獲得し、および/または新しいデータについて予測を生成するように完成したモデルを展開することを可能にする、種々のインターフェース構成要素を含んでもよい。
いくつかの実施形態では、ユーザインターフェース120は、4つのタイプのユーザ、すなわち、管理者、技法開発者、モデルビルダ、および観察者を区別する。管理者は、プロジェクトへの人間および計算リソースの割付を制御してもよい。技法開発者は、モデル化技法およびそれらの構成要素タスクを作成ならびに修正してもよい。モデルビルダは主に、良好なモデルを検索することに集中するが、また、技法およびタスクに軽微な調節を行ってもよい。観察者は、プロジェクト進行およびモデル化結果のある側面を視認してもよいが、データにいかなる変更を行うこと、またはいかなるモデル構築を開始することも禁止され得る。個人が、具体的プロジェクトで、または複数のプロジェクトにわたって、1つより多くの役割を果たしてもよい。
管理者の役割を果たすユーザは、プロジェクトパラメータを設定し、プロジェクト責任をユーザに割り当て、計算リソースをプロジェクトに割り付けるように、ユーザインターフェース120のプロジェクト管理構成要素にアクセスしてもよい。いくつかの実施形態では、管理者は、複数のプロジェクトをグループまたは階層に編成するために、プロジェクト管理構成要素を使用してもよい。グループ内の全てのプロジェクトは、グループの設定を継承してもよい。階層では、プロジェクトの全ての子が、プロジェクトの設定を継承してもよい。いくつかの実施形態では、十分な許可を伴うユーザが、継承された設定を無効にしてもよい。いくつかの実施形態では、十分な許可を伴うユーザはさらに、対応する許可を伴うユーザのみが設定を変更し得るように、それらを異なるセクションに分割してもよい。ある場合には、管理者が、プロジェクトの団体と直交的にあるリソースにアクセスしてもよい。例えば、ある技法およびタスクが、明示的に禁止されない限り、全てのプロジェクトに利用可能にされてもよい。他のものは、明示的に許可されない限り、全てのプロジェクトに禁止されてもよい。また、これらの権利を保有するユーザがその特定のプロジェクトに割り当てられる場合、プロジェクトがリソースにアクセスすることのみできるように、いくつかのリソースがユーザ基準で割り付けられてもよい。
ユーザを管理する際に、管理者は、システムに許可される全てのユーザのグループ、それらの許可された役割、およびシステムレベル許可を制御してもよい。いくつかの実施形態では、管理者は、ユーザを対応するグループに追加し、ある形態のアクセス証明書をユーザに発行することによって、ユーザをシステムに追加してもよい。いくつかの実施形態では、ユーザインターフェース120は、限定ではないが、ユーザ名およびパスワード、統一承認フレームワーク(例えば、OAuth)、ハードウェアトークン(例えば、スマートカード)等を含む、異なる種類の証明書をサポートしてもよい。
いったん承認されると、管理者は、あるユーザが任意のプロジェクトのために引き受けるデフォルト役割を有することを規定してもよい。例えば、特定のユーザが、特定のプロジェクトのために管理者によって別の役割に特異的に承認されない限り、観察者として指定されてもよい。別のユーザが、管理者によって特異的に除外されない限り、全てのプロジェクトのための技法開発者として供給されてもよい一方で、別のユーザは、プロジェクトの特定のグループまたはプロジェクト階層の分岐のみのための技法開発者として供給されてもよい。デフォルト役割に加えて、管理者はさらに、システムレベルで、より具体的な許可をユーザに割り当ててもよい。例えば、一部の管理者は、あるタイプの計算リソースへのアクセスを許可することが可能であり得、一部の技法開発者およびモデルビルダは、ビルダ内のある特徴にアクセスすることが可能であり得、一部のモデルビルダは、新しいプロジェクトを開始し、所与のレベルを上回る計算リソースを消費し、または所有していないプロジェクトに新しいユーザを招待する権限を与えられてもよい。
いくつかの実施形態では、管理者は、プロジェクトレベルで、アクセス、許可、および責任を割り当ててもよい。アクセスは、特定のプロジェクト内の任意の情報にアクセスする能力を含んでもよい。許可は、プロジェクトのための具体的動作を行う能力を含んでもよい。アクセスおよび許可は、システムレベル許可を無効にし、またはより粒度の細かい制御を提供してもよい。前者の実施例として、通常は完全ビルダ許可を有するユーザが、特定のプロジェクトのための部分ビルダ許可に制約されてもよい。後者の実施例として、あるユーザが、既存のプロジェクトに新しいデータをロードすることを制限されてもよい。責任は、ユーザがプロジェクトのために完成させることが予期される、アクションアイテムを含んでもよい。
開発者の役割を果たすユーザは、モデル化方法、技法、およびタスクを作成して修正するように、インターフェースのビルダ領域にアクセスしてもよい。以前に議論されたように、各ビルダは、対応する論理動作を行う異なるタイプのユーザインターフェースを用いて、1つまたはそれを上回るツールを提示してもよい。いくつかの実施形態では、ユーザインターフェース120は、開発者が技法にアタッチされたメタデータを編集するために「プロパティ」シートを使用することを可能にする。技法はまた、特定のタスクの変数に対応する同調パラメータを有してもよい。開発者は、これらの同調パラメータを技法レベルプロパティシートに公開し、デフォルト値、およびモデルビルダがこれらのデフォルトを無効にし得るかどうかを規定してもよい。
いくつかの実施形態では、ユーザインターフェース120は、条件付き論理、出力をフィルタ処理する、出力を変換する、出力を分割する、入力を組み合わせる、サブグラフにわたって反復するため等の任意の内蔵動作とともに、タスクの階層有向グラフを規定するためのグライフィカルフロー図ツールを提供してもよい。いくつかの実施形態では、ユーザインターフェース120は、各タスクのために設定されることができるプロパティを含む、リーフレベルタスクを実装するように、既存のソフトウェアの周囲にラッパを作成するための設備を提供してもよい。
いくつかの実施形態では、ユーザインターフェース120は、リーフレベルタスクを実装するための双方向開発環境(IDE)への内蔵アクセスを上級開発者に提供してもよい。開発者は、代替として、外部環境内で構成要素をコード化し、そのコードをリーフレベルタスクとして包んでもよいが、これらの環境が直接アクセス可能であるならば、より利便的であり得る。そのような実施形態では、IDE自体が、インターフェースに包まれ、タスクビルダに論理的に組み込まれてもよい。ユーザ観点から、IDEは、タスクビルダと同一のインターフェースフレームワーク内で、かつ同一の計算インフラストラクチャ上で作動してもよい。本能力は、上級開発者が技法を開発して修正することをより迅速に反復することを可能にし得る。いくつかの実施形態はさらに、同一のリーフレベルタスクを同時にプログラムする複数の開発者の間の調整を促進する、コード協調特徴を提供してもよい。
モデルビルダは、具体的データセットのための予測モデルを構築するように、開発者によって生成される技法を活用してもよい。異なるモデルビルダが、異なるレベルの経験を有し、したがって、ユーザインターフェースから異なるサポートを要求し得る。比較的新しいユーザに関して、ユーザインターフェース120は、可能な限り自動的なプロセスを提示するが、依然として、オプションを探索し、それによって、予測モデル化についてさらに知る能力をユーザに与えてもよい。中間ユーザに関して、ユーザインターフェース120は、特定の問題を解決することがどれだけ容易であろうかを急速に査定すること、それらの既存の予測モデルが、予測モデル化システム100が自動的に生成することができるものにどれだけ匹敵するかを比較すること、および最終的に実質的な実践同調から利益を得るであろう複雑なプロジェクト上で加速した始動を行うこと促進するように、情報を提示してもよい。上級ユーザに関して、ユーザインターフェース120は、既存の予測モデルのためのいくつかの余剰小数位の精度の抽出、ユーザが取り組んできた問題への新しい技法の適用可能性の高速査定、および団体が直面し得る問題の部類全体のための技法の開発を促進してもよい。上級ユーザの知識を捕捉することによって、いくつかの実施形態は、残りの団体の全体を通したその知識の伝搬を促進する。
ユーザ要件の本幅をサポートするために、ユーザインターフェース120のいくつかの実施形態は、モデル構築プロセスを反映する一連のインターフェースツールを提供する。また、各ツールは、基本から高度まで一連の特徴を提供してもよい。モデル構築プロセスにおける第1のステップは、データセットをロードして調製するステップを伴ってもよい。以前に議論されたように、ユーザは、ファイルをアップロードし、またはオンラインシステムからデータにアクセスする方法を規定してもよい。モデル化プロジェクトグループまたは階層との関連で、ユーザはまた、親データセットのどの部分が現在のプロジェクトに使用されるものであるか、およびどの部品が追加されるものであるかを規定してもよい。
基本ユーザに関して、予測モデル化システム100は、データセットが規定された後に、即時に続けてモデルを構築してもよく、ユーザインターフェース120が、限定ではないが、解析不可能なデータ、観察が少なすぎて良好な結果を期待できない、観察が多すぎて妥当な時間量で実行できない、欠測値が多すぎる、または分布が異常な結果につながり得る変数を含む、厄介な問題にフラグを付ける場合のみ、一時停止する。中間ユーザに関して、ユーザインターフェース120は、データセット特性の表、ならびに可変重要性、可変影響、および影響ホットスポットのグラフを提示することによって、データをさらに詳しく理解することを促進してもよい。ユーザインターフェース120はまた、限定ではないが、相関行列、部分従属プロット、および/またはk平均法ならびに階層的クラスタリング等の監視されていない機械学習アルゴリズムの結果を含む、視覚化ツールを提供することによって、変数の間の関係の理解および視覚化を促進してもよい。いくつかの実施形態では、ユーザインターフェース120は、既存の特徴またはそれらの組み合わせを変換する式を規定することによって、上級ユーザが完全に新しいデータセット特徴を作成することを可能にする。
いったんデータセットがロードされると、ユーザは、最適化されるモデル適合測定基準を規定してもよい。基本ユーザに関して、予測モデル化システム100は、モデル適合測定基準を選定してもよく、ユーザインターフェース120は、選択の説明を提示してもよい。中間ユーザに関して、ユーザインターフェース120は、特定のデータセットのための異なる測定基準を選定することのトレードオフをユーザが理解することに役立つように、情報を提示してもよい。上級ユーザに関して、ユーザインターフェース120は、探索エンジン110によって収集される低レベル性能データに基づいて、式(例えば、目的関数)を書くことによって、またはさらにカスタム測定基準計算コードをアップロードすることによって、ユーザがカスタム測定基準を規定することを可能にしてもよい。
データセットがロードされ、モデル適合測定基準が選択されると、ユーザは、探索エンジンを立ち上げてもよい。基本ユーザに関して、探索エンジン110は、モデル化技法のためのデフォルト優先順位決定設定を使用してもよく、ユーザインターフェース120は、モデル性能、データセットのどこまで実行が進行したか、および計算リソースの一般消費についての高レベル情報を提供してもよい。中間ユーザに関して、ユーザインターフェース120は、ユーザが、初期優先順位のうちのいくつかを考慮してわずかに調節する技法のサブセットを規定することを可能にしてもよい。いくつかの実施形態では、ユーザインターフェース120が、より粒度の細かい性能および進行データを提供するため、中間ユーザは、以前に説明されたように飛行中調節を行うことができる。いくつかの実施形態では、ユーザインターフェース120は、計算リソース消費についてのさらなる洞察および制御を中間ユーザに提供する。いくつかの実施形態では、ユーザインターフェース120は、考慮される技法およびそれらの優先順位の有意な(例えば、完全な)制御、利用可能な全ての性能データ、およびリソース消費の有意な(例えば、完全な)制御を上級ユーザに提供してもよい。明確に異なるインターフェースを異なるレベルのユーザに提供すること、またはデフォルトであまり上級ではないユーザのためにより高度な特徴を「折り畳むこと」のいずれか一方によって、ユーザインターフェース120のいくつかの実施形態は、それらの対応するレベルでユーザをサポートすることができる。
検索空間の探索中または後に、ユーザインターフェースは、1つまたはそれを上回るモデル化技法の性能についての情報を提示してもよい。一部の性能情報が、表形式で表示されてもよい方で、他の性能情報は、グラフ形式で表示されてもよい。例えば、表形式で提示される情報は、限定ではないが、技法によるモデル性能の比較、評価されるデータの部分、技法の性質、または計算リソースの現在の消費を含んでもよい。グラフ形式で提示される情報は、限定ではないが、モデル化プロシージャにおけるタスクの有向グラフ、データセットの異なるパーティションにわたるモデル性能の比較、受信機動作特性およびリフトチャート等のモデル性能の表現、予測値対実際の値、ならびに経時的な計算リソースの消費を含んでもよい。ユーザインターフェース120は、いずれかのタイプの新しい性能情報の容易な包含を可能にする、モジュール式ユーザインターフェースフレームワークを含んでもよい。また、いくつかの実施形態は、各データパーティションのため、および/または各技法のために、いくつかのタイプの情報の表示を可能にしてもよい。
以前に議論されたように、ユーザインターフェース120のいくつかの実施形態は、複数のプロジェクト上で複数のユーザの協調をサポートする。プロジェクトにわたって、ユーザインターフェース120は、ユーザが、データ、モデル化タスク、およびモデル化技法を共有することを可能にしてもよい。プロジェクト内で、ユーザインターフェース120は、ユーザが、データ、モデル、および結果を共有することを可能にしてもよい。いくつかの実施形態では、ユーザインターフェース120は、ユーザがプロジェクトの性質を修正し、プロジェクトに割り付けられたリソースを使用することを可能にしてもよい。いくつかの実施形態では、ユーザインターフェース120は、複数のユーザがプロジェクトデータを修正し、モデルをプロジェクトに追加し、次いで、これらの寄与を比較することを可能にしてもよい。いくつかの実施形態では、ユーザインターフェース120は、どのユーザがプロジェクトに具体的変更を行ったか、変更が行われたとき、およびどのようなプロジェクトリソースをユーザが使用したかを識別してもよい。
モデル展開エンジン
モデル展開エンジン140は、動作環境内で予測モデルを展開するためのツールを提供する。いくつかの実施形態では、モデル展開エンジン140は、展開された予測モデルの性能を監視し、性能データが展開されたモデルの性能を正確に反映するように、展開されたモデルを生成したモデル化技法と関連付けられる性能メタデータを更新する。
ユーザは、適合モデルが現場試験を保証する、または値を追加することが可能であると考えるときに、適合予測モデルを展開してもよい。いくつかの実施形態では、ユーザおよび外部システムは、(例えば、予測モデル化システム100のインターフェースサービス層内の)予測モジュールにアクセスし、使用される1つまたはそれを上回る予測モデルを規定し、新しい観察を供給してもよい。次いで、予測モジュールは、これらのモデルによって提供される予測を返してもよい。いくつかの実施形態では、管理者は、どのユーザおよび外部システムが本予測モジュールへのアクセスを有するかを制御し、および/または単位時間につき許可される予測の数等の使用制限を設定してもよい。
各モデルに関して、探索エンジン110は、モデルを生成するために使用されるモデル化技法の記録、ならびに係数およびハイパーパラメータ値を含む適合後のモデルの状態を記憶してもよい。各技法がすでに機械実行可能であるため、これらの値は、実行エンジンが新しい観察データについて予測を生成するために十分であり得る。いくつかの実施形態では、モデルの予測は、モデル化技法において説明される前処理およびモデル化ステップを新しい入力データの各インスタンスに適用することによって、生成されてもよい。しかしながら、ある場合には、将来の予測計算の速度を増加させることが可能であり得る。例えば、適合モデルは、特定の変数の値のいくつかの独立チェックを行ってもよい。これらのチェックのうちのいくつかまたは全てを組み合わせ、次いで、単純に、利便的であるときにそれらを参照することにより、予測を生成するために使用される計算の総量を減少させてもよい。同様に、混合モデルのいくつかの構成要素モデルが、同一のデータ変換を行なってもよい。したがって、いくつかの実施形態は、重複計算を識別し、それらを1回だけ行い、それらを使用する構成要素モデルにおける計算の結果を参照することによって、計算時間を短縮してもよい。
いくつかの実施形態では、展開エンジン140は、並列処理の機会を識別し、それによって、基礎的ハードウェアが複数の命令を並行して実行することができるときに、各予測を行うことの応答時間を短縮することによって、予測モデルの性能を向上させる。いくつかのモデル化技法は、一連のステップを連続的に説明してもよく、実際に、ステップのうちのいくつかは、論理的に独立し得る。各ステップの間でデータフローを調査することによって、展開エンジン140が、論理独立性の状況を識別し、次いで、予測モデルの実行を再構造化することができるため、独立ステップが並行して実行される。いったん任意の共通データ変換が完了すると、構成予測モデルが並行して実行され得るため、混合モデルは、特別な部類の並列化を提示してもよい。
いくつかの実施形態では、展開エンジン140は、予測モデルの状態をメモリにキャッシュ格納してもよい。本アプローチを用いると、同一のモデルの連続予測要求は、モデル状態をロードする時間を負担しなくてもよい。キャッシングは、比較的少数の観察についての予測の多くの要求がある場合に、特に良好に機能してもよく、したがって、本ローディング時間が、潜在的に全実行時間の大部分である。
いくつかの実施形態では、展開エンジン140は、予測モデルの少なくとも2つの実装、すなわち、サービスベースおよびコードベースの実装を提供してもよい。サービスベースの予測に関して、計算は、以下で説明されるように分散型コンピューティングインフラストラクチャ内で作動する。最終予測モデルは、分散型コンピューティングインフラストラクチャのデータサービス層に記憶されてもよい。ユーザまたは外部システムが予測を要求するとき、どのモデルが使用されるものであり、少なくとも1つの新しい観察を提供するかを示してもよい。次いで、予測モジュールは、データサービス層から、またはモジュールのメモリ内キャッシュから、モデルをロードし、提出された観察が元のデータセットの構造に合致することを検証し、各観察の予測値を計算してもよい。いくつかの実装では、予測モデルは、クラウドワーカの専用プール上で実行され、それによって、低分散応答時間を用いた予測の生成を促進してもよい。
サービスベースの予測は、双方向性に、またはAPIを介してのいずれかで、起こってもよい。双方向性予測に関して、ユーザは、各新しい観察のための特徴の値を入力し、もしくは1つまたはそれを上回る観察のためのデータを含有するファイルをアップロードしてもよい。次いで、ユーザは、ユーザインターフェース120を通して予測を直接受信し、またはそれらをファイルとしてダウンロードしてもよい。API予測に関して、外部システムは、ローカルもしくは遠隔APIを介して予測モジュールにアクセスし、1つまたはそれを上回る観察を提出し、引き換えに対応する計算された予測を受信してもよい。
展開エンジン140のいくつかの実装は、サービスベースの予測を行う目的で、団体が分散型コンピューティングインフラストラクチャの1つまたはそれを上回る小型インスタンスを作成することを可能にし得る。分散型コンピューティングインフラストラクチャのインターフェース層では、各そのようなインスタンスは、ユーザ関連機能にアクセスすることなく、外部システムによってアクセス可能な監視および予測モジュールの部品を使用してもよい。分析サービス層は、技法IDEモジュールを使用しなくてもよく、本層内の残りのモジュールは、余分な装備を取り除かれ、予測要求を果たすために最適化されてもよい。データサービス層は、ユーザまたはモデル構築データ管理を使用しなくてもよい。そのような独立型予測インスタンスは、クラウドリソースの並列プール上で展開され、他の物理的場所に分散され、もしくはさらに「予測アプライアンス」の役割を果たす1つまたはそれを上回る専用マシンにダウンロードされてもよい。
専用予測インスタンスを作成するために、ユーザは、例えば、クラウドインスタンスのセットまたは専用ハードウェアのセットであるかどうかにかかわらず、標的コンピューティングインフラストラクチャを規定してもよい。次いで、対応するモジュールが供給され、標的コンピューティングインフラストラクチャ上にインストールされるか、またはインストールのためにパッケージ化されるかのいずれかであってもよい。ユーザは、予測モデルの初期セットを用いてインスタンスを構成するか、または「ブランク」インスタンスを作成するかのいずれかであってもよい。初期インストール後、ユーザは、新しいものをインストールすること、または主要インストールから既存のものを更新することによって、利用可能な予測モデルを管理してもよい。
コードベースの予測に関して、展開エンジン140は、特定のモデルに基づいて予測を計算するためのソースコードを生成してもよく、ユーザは、ソースコードをソフトウェアに組み込んでもよい。モデルが、リーフレベルタスクが全て、ユーザによって要求されるものと同一のプログラミング言語で実装される、技法に基づくとき、展開エンジン140は、リーフレベルタスクのためのコードを照合することによって、予測モデルのためのソースコードを生成してもよい。モデルが異なる言語からのコードを組み込む、または言語がユーザによって所望されるものと異なるとき、展開エンジン140は、より精巧なアプローチを使用してもよい。
1つのアプローチは、リーフレベルタスクのソースコードを標的言語に翻訳するためのソースツーソースコンパイラを使用することである。別のアプローチは、次いで、元の言語のリンクインオブジェクトコードを呼び出し、またはそのようなオブジェクトコードを実行するエミュレータにアクセスする、標的言語で機能スタブを生成することである。前者のアプローチは、特異的にユーザの標的コンピューティングプラットフォームのためのオブジェクトコードを生成するように、クロスコンパイラの使用を伴ってもよい。後者のアプローチは、ユーザの標的プラットフォーム上で作動するであろうエミュレータの使用を伴ってもよい。
別のアプローチは、特定のモデルの要約記述を生成し、次いで、その説明を標的言語にコンパイルすることである。要約記述を生成するために、展開エンジン140のいくつかの実施形態は、多数の潜在的前処理、モデル適合、および後処理ステップを説明するためのメタデータを使用してもよい。次いで、展開エンジンは、完全なモデルのための特定の動作を抽出し、メタモデルを使用してそれらを符号化してもよい。そのような実施形態では、標的プログラミング言語用のコンパイラが、メタモデルを標的言語に翻訳するために使用されてもよい。したがって、ユーザがサポートされた言語で予測コードを望む場合、コンパイラがそれを生成してもよい。例えば、決定木モデルでは、木における決定は、多種多様なプログラミング言語で直接実装可能である論理if/then/else文に抽象化されてもよい。同様に、共通プログラミング言語でサポートされる数学演算のセットが、線形回帰モデルを実装するために使用されてもよい。
しかしながら、任意の言語で予測モデルのソースコードを開示することは、ある場合には(例えば、予測モデル化技法または予測モデルが専用能力もしくは情報を含有する場合に)望ましくない場合がある。したがって、展開エンジン140は、そのプロシージャ詳細を開示することなく、予測モデルを、予測モデルの予測能力を留保する規則のセットに変換してもよい。1つのアプローチは、仮説的観察に応答して予測モデルが生成するであろう仮説的予測のセットから、そのような規則を生成する、アルゴリズムを適用することである。いくつかのそのようなアルゴリズムは、予測を行うためのif−then規則のセット(例えば、RuleFit)を生成してもよい。これらのアルゴリズムに関して、次いで、展開エンジン140は、元の予測モデルを変換する代わりに、結果として生じるif−then規則を標的言語に変換してもよい。予測モデルをif−then規則のセットに変換することの付加的利点としては、概して、条件付き論理の基本モデルがプログラミング言語にわたってより類似するため、恣意的な制御およびデータフローを伴う予測モデルよりも、if−then規則のセットを標的プログラミング言語に変換することがより容易である。
いったんモデルが新しい観察に予測を行い始めると、展開エンジン140は、これらの予測を追跡し、それらの精度を測定し、予測モデル化システム100を改良するためにこれらの結果を使用してもよい。サービスベースの予測の場合、予測がシステムの他の部分と同一の分散型コンピューティング環境内で起こるため、各観察および予測は、データサービス層を介して保存されてもよい。各予測の識別子を提供することによって、いくつかの実施形態は、実際の値が記録される場合、ユーザまたは外部ソフトウェアシステムがそれらを提出することを可能にしてもよい。コードベースの予測の場合、いくつかの実施形態は、観察および予測をローカルシステムの中に、またはデータサービス層のインスタンスに戻して保存する、コードを含んでもよい。再度、各予測の識別子を提供することにより、実際の標的値が利用可能になるときに、それらに対してモデル性能データの収集を促進してもよい。
予測の精度および/または他のチャネルを通して取得される観察について、展開エンジン140によって直接収集される情報は、予測問題のためのモデルを改良するために(例えば、既存のモデルを「リフレッシュする」ため、または部分的もしくは完全にモデル化検索空間を再探索することによってモデルを生成するために)使用されてもよい。モデルを作成するようにデータが最初に追加された同一の方法で、または予測で以前に使用されたデータの標的値を提出することによって、モデルを改良するように、新しいデータが追加されることができる。
いくつかのモデルが、対応するモデル化技法を新しいデータに適用し、結果として生じる新しいモデルを既存のモデルと組み合わせることによって、リフレッシュ(例えば、際適合)されてもよい一方で、他のモデルは、対応するモデル化技法を元のデータおよび新しいデータの組み合わせに適用することによって、リフレッシュされてもよい。いくつかの実施形態では、モデルをリフレッシュするとき、(例えば、モデルをより迅速にリフレッシュするように、または新しいデータが特定のパラメータに特に関連する情報を提供するため)モデルパラメータのうちのいくつかのみが再計算されてもよい。
代替として、または加えて、新しいモデルが、データセットに含まれる新しいデータを伴って、部分的もしくは完全にモデル化検索空間を探索して生成されてもよい。検索空間の再探索は、検索空間の一部に限定され(例えば、元の検索で良好に機能したモデル化技法に限定され)てもよく、または検索空間全体を網羅してもよい。いずれの場合も、展開されたモデルを生成したモデル化技法のための初期好適性スコアは、予測問題について展開されたモデルの性能を反映するように再計算されてもよい。ユーザは、再計算を行うように前のデータの一部を除外することを選定してもよい。展開エンジン140のいくつかの実施形態は、データのどのサブセットがどのバージョンを訓練するために使用されたかを含む、同一の論理モデルの異なるバージョンを追跡してもよい。
いくつかの実施形態では、本予測データは、経時的に入力パラメータまたは予測自体の動向の要求後分析を行うため、および入力もしくはモデル予測の質に関する潜在的問題についてユーザに警告するために、使用されてもよい。例えば、モデル性能の集約尺度が経時的に劣化し始める場合、本システムは、モデルをリフレッシュすること、または入力自体が偏移しているかどうかを調査することを考慮するようにユーザに警告してもよい。そのような偏移は、特定の変数の時間的変化、または全集団のドリフトによって引き起こされ得る。いくつかの実施形態では、本分析の大部分は、予測応答を減速することを回避するように、予測要求が完了した後に行われる。しかしながら、本システムは、(例えば、入力値が、元の訓練データ、モデル化技法、および最終モデル適合状態の有効な所与の特性として計算した値の範囲外である場合に)特に悪い予測を回避するように、予測時間にある検証を行ってもよい。
事後分析は、ユーザが訓練で使用された集団を十分に超えて外挿を行うようにモデルを展開した場合に、重要であり得る。例えば、モデルは、1つの地理的地域からのデータで訓練されているが、完全に異なる地理的地域内の集団に予測を行うために使用されている。ある時は、新しい集団へのそのような外挿は、予期されるよりも実質的に悪いモデル性能をもたらし得る。これらの場合において、展開エンジン140は、ユーザに警告し、および/または元の訓練データを拡張するように新しい値を使用して、1つまたはそれを上回るモデル化技法を再適合することによって、自動的にモデルをリフレッシュしてもよい。
いくつかの実施形態の利点
予測モデル化システム100は、任意の技能レベルで分析者の生産性を有意に向上させ、および/または所与の量のリソースを用いて達成可能な予測モデルの精度を有意に増加させてもよい。プロシージャを自動化することにより、作業負荷を低減させることができ、プロセスを体系化することにより、一貫性を強化して、分析者が一意の洞察を生成することにより多くの時間を費やすことを可能にすることができる。3つの共通シナリオ、すなわち、成果を予想すること、性質を予測すること、および測定を推論することが、これらの利点を例証する。
成果を予想する
団体が成果を正確に予想することができる場合には、その挙動をより効果的に計画するとともに増進することができる。したがって、機械学習の一般的用途は、予想を生成するアルゴリズムを開発することである。例えば、多くの業界が、大規模で時間のかかるプロジェクトにおける費用を予測するという問題に直面する。
いくつかの実施形態では、本明細書に説明される技法は、費用超過(例えば、ソフトウェア費用超過または構築費用超過)を予想するために使用されることができる。例えば、本明細書に説明される技法は、以下のように、費用超過を予想するという問題に適用されてもよい。
1.応答変数タイプ(例えば、数値または2値、ほぼガウスである、もしくは強力に非ガウスである)に適切なモデル適合測定基準を選択する。予測モデル化システム100は、ユーザによる技能および労力をあまり必要としない、データ特性に基づく測定基準を推奨してもよいが、ユーザが最終選択を行うことを可能にする。
2.異常値および欠測データ値に対処するようにデータを前処理する。予測モデル化システム100は、ユーザがモデル化問題の状況の認識をさらに深め、潜在的モデル化課題をより効果的に査定することを可能にする、データ特性の詳細な概要を提供してもよい。予測モデル化システム100は、ユーザによる技能および労力をあまり必要としない、異常値検出および置換、欠測値補完、ならびに他のデータ異常の検出および処理のための自動プロシージャを含んでもよい。これらの課題に対処するための予測モデル化システムのプロシージャは、系統的であり、方法、データセット、および時間にわたって、その場限りのデータ編集プロシージャよりも一貫したモデル化結果につながり得る。
3.モデル化および評価のためのデータを分割する。予測モデル化システム100は、自動的にデータを訓練、検証、およびホールドアウトセットに分割してもよい。本分割は、一部のデータ分析者によって使用される訓練および試験分割より柔軟であり、機械学習コミュニティからの広く受け入れられている推奨と一致し得る。方法、データセット、および時間にわたる一貫した分割アプローチの使用は、結果をより同等にし、商業的状況で展開リソースのより効果的な割付を可能にすることができる。
4.モデル構造を選択し、導出された特徴を生成し、モデル同調パラメータを選択し、モデルを適合させ、評価する。いくつかの実施形態では、予測モデル化システム100は、限定ではないが、決定木、ニューラルネットワーク、サポートベクターマシンモデル、回帰モデル、ブーストツリー、ランダムフォレスト、深層学習ニューラルネットワーク等を含む、多くの異なるモデルタイプを適合させることができる。予測モデル化システム100は、最良個別性能を呈するこれらの構成要素モデルからアンサンブルを自動的に構築するというオプションを提供してもよい。潜在的モデルのより大きい空間を探索することにより、精度を向上させることができる。予測モデル化システムは、異なるデータタイプ(例えば、ボックス・コックス変換、テキスト前処理、主要構成要素等)に適切である、種々の導出された特徴を自動的に生成してもよい。潜在的変換のより大きい空間を探索することにより、精度を向上させることができる。予測モデル化システム100は、モデル構築プロセスの一部として、これらの同調パラメータの最良値を選択するために、交差検証を使用してもよく、それによって、同調パラメータの選択を向上させ、パラメータの選択が結果にどのように影響を及ぼすかという監査証跡を作成する。予測モデル化システム100は、本自動プロセスの一部と見なされる、異なるモデル構造を適合させて評価し、検証セット性能に関して結果をランク付けしてもよい。
5.最終モデルを選択する。最終モデルの選択は、予測モデル化システム100によって、またはユーザによって行われることができる。後者の場合、予測モデル化システムは、ユーザが、例えば、モデルのランク付けされた検証セット性能査定、性能を比較し、適合プロセスで使用されるもの以外の品質尺度によってランク付けするというオプション、および/または最良個別性能を呈するこれらの構成要素モデルからアンサンブルモデルを構築する機会を含む、本決定を行うことに役立つように、サポートを提供してもよい。
予測モデル化システムのモデル開発プロセスの1つの重要な実用的側面は、いったんデータセットが組み立てられると、全ての後続の計算が同一のソフトウェア環境内で起こり得ることである。本側面は、多くの場合、異なるソフトウェア環境の組み合わせを伴う、従来のモデル構築労力からの重要な差異を表す。そのようなマルチプラットフォーム分析アプローチの重要な実用的不利点は、結果を異なるソフトウェア環境の間で共有され得る共通データ形式に変換する必要性である。多くの場合、本変換は、手動で、またはカスタム「単発」再フォーマットスクリプトを用いてのいずれかで、行われる。本プロセスのエラーは、極めて重篤なデータ歪曲につながり得る。予測モデル化システム100は、1つのソフトウェア環境内で全ての計算を行うことによって、そのような再フォーマットおよびデータ転送エラーを回避してもよい。より一般的に、高度に自動であるため、多くの異なるモデル構造を適合させて最適化し、予測モデル化システム100は、最終モデルへの実質的により高速で系統的であり、したがって、より容易に説明可能で反復可能なルートを提供することができる。また、予測モデル化システム100が、より多くの異なるモデル化方法を探索し、より多くの可能な予測因子を含むことの結果として、結果として生じるモデルは、従来の方法によって取得されるものより正確であり得る。
性質を予測する
多くの分野で、団体は、生産プロセスの成果の不確実性に直面し、所与の一式の条件が出力の最終性質にどのように影響を及ぼすであろうかを予測したい。したがって、機械学習の一般的用途は、これらの性質を予測するアルゴリズムを開発することである。例えば、コンクリートは、最終構造性質が状況によって劇的に変動し得る、一般的な建築材料である。時間に伴うコンクリート性質の有意な変動およびその高度可変組成へのそれらの依存性により、第1の原則から開発されるモデルも従来の回帰モデルも、十分な予測精度を提供しない。
いくつかの実施形態では、本明細書に説明される技法は、生産プロセスの成果の性質(例えば、コンクリートの性質)を予測するために使用されることができる。例えば、本明細書に説明される技法は、以下のように、コンクリートの性質を予測するという問題に適用されてもよい。
1.データセットを訓練、検証、および試験サブセットに分割する。
2.モデル化データセットを一掃する。予測モデル化システム100は、欠けているデータ、異常値、および他の重要データ異常を自動的にチェックし、処理方略を推奨し、それらを容認または拒否するオプションをユーザに提供してもよい。本アプローチは、ユーザによる技能および労力をあまり必要としなくてもよく、ならびに/または方法、データセット、および時間にわたって、より一貫した結果を提供してもよい。
3.応答変数を選択し、一次適合測定基準を選定する。ユーザは、モデル化データセットで利用可能なものから予測される応答変数を選択してもよい。いったん応答変数が選定されると、予測モデル化システム100は、ユーザが容認し、または無効にし得る、互換性のある適合測定基準を推奨してもよい。本アプローチは、ユーザによる技能および労力をあまり必要としなくてもよい。応答変数タイプおよび選択される適合測定基準に基づいて、予測モデル化システムは、従来の回帰モデル、ニューラルネットワーク、および他の機械学習モデル(例えば、ランダムフォレスト、ブーストツリー、サポートベクターマシン)を含む、予測モデルのセットを提供してもよい。可能なモデル化アプローチの空間の間で自動的に検索することによって、予測モデル化システム100は、最終モデルの予期される精度を増加させてもよい。モデル選択のデフォルトセットは、考慮からあるモデルタイプを除外するように、デフォルトリストの一部ではなく予測モデル化システムによってサポートされる他のモデルタイプを追加するように、または(例えば、RもしくはPythonで実装される)ユーザの独自のカスタムモデルタイプを追加するように、無効にされてもよい。
4.入力特徴を生成し、モデルを適合させ、モデル特有の同調パラメータを最適化し、性能を評価する。いくつかの実施形態では、特徴生成は、数値共変量、ボックス・コックス変換、主要構成要素等のためのスケーリングを含んでもよい。モデルの同調パラメータは、交差検証を介して最適化されてもよい。検証セット性能尺度は、他の概要特性(例えば、回帰モデルのモデルパラメータ、ブーストツリーまたはランダムフォレストの可変重要性尺度)とともに、各モデルについて計算されて提示されてもよい。
5.最終モデルを選択する。最終モデルの選択は、予測モデル化システム100によって、またはユーザによって行われることができる。後者の場合、予測モデル化システムは、ユーザが、例えば、モデルのランク付けされた検証セット性能査定、性能を比較し、適合プロセスで使用されるもの以外の品質尺度によってランク付けするというオプション、および/または最良個別性能を呈するこれらの構成要素モデルからアンサンブルモデルを構築する機会を含む、本決定を行うことに役立つように、サポートを提供してもよい。
測定を推論する
いくつかの測定は、他のものより行うことがはるかに高価であるため、団体は、より安価な測定基準をより高価なものの代わりに使うことを望み得る。したがって、機械学習の一般的用途は、より安価な測定の公知の出力から高価な測定の起こり得る出力を推論することである。例えば、「カール」は、紙製品がどのようにして平坦な形状から逸脱する傾向があるかを捕捉する性質であるが、典型的には、製品が完成した後のみ判断されることができる。したがって、製造中に容易に測定される機械的性質から紙のカールを推論できることは、所与のレベルの品質を達成する際に莫大な費用節約をもたらし得る。典型的な最終用途性質に関して、これらの性質と製造プロセス条件との間の関係は、よく理解されていない。
いくつかの実施形態では、本明細書に説明される技法は、測定を推論するために使用されることができる。例えば、本明細書に説明される技法は、以下のように、測定を推論するという問題に適用されてもよい。
1.モデル化データセットを特性化する。予測モデル化システム100は、主要概要特性を提供し、ユーザがそれについてさらなる情報を自由に容認、拒否、または要求することができる、重要なデータ異常の処理の推奨を提供してもよい。例えば、変数の主要特性が計算されて表示されてもよく、欠けているデータの普及が表示されてもよく、処理方略が推奨されてもよく、数値変数の異常値が検出されてもよく、見つかった場合、処理方略が推奨されてもよく、および/または他のデータ異常が自動的に検出されてもよく(例えば、正常値、値が決して変化しない、情報を与えない変数)、推奨された処理がユーザに利用可能にされてもよい。
2.データセットを訓練/検証/ホールドアウトサブセットに分割する。
3.特徴生成/モデル構造選択/モデル適合。予測モデル化システム100は、これらのステップを組み合わせて自動化し、広範な内部反復を可能にしてもよい。複数の特徴が、主要構成要素のような従来の技法およびブーストツリーのようなより新しい方法を両方とも使用して、自動的に生成されて評価されてもよい。回帰モデル、ニューラルネットワーク、サポートベクターマシン、ランダムフォレスト、ブーストツリー、およびその他を含む、多くの異なるモデルタイプが適合されて比較されてもよい。加えて、ユーザは、本デフォルト収集の一部ではない、他のモデル構造を含むというオプションを有してもよい。モデルサブ構造選択(例えば、ニューラルネットワーク内の隠されたユニットの数の選択、他のモデル特有の同調パラメータの仕様等)が、本モデル適合および評価プロセスの一部として、広範な交差検証によって自動的に行われてもよい。
4.最終モデルを選択する。最終モデルの選択は、予測モデル化システム100によって、またはユーザによって行われることができる。後者の場合、予測モデル化システムは、ユーザが、例えば、モデルのランク付けされた検証セット性能査定、性能を比較し、適合プロセスで使用されるもの以外の品質尺度によってランク付けするというオプション、および/または最良個別性能を呈するこれらの構成要素モデルからアンサンブルモデルを構築する機会を含む、本決定を行うことに役立つように、サポートを提供してもよい。
いくつかの実施形態では、予測モデル化システム100が、データ前処理(例えば、異常検出)、データ分割、多重特徴生成、モデル適合、およびモデル評価を自動化し、効率的に実装するため、モデルを開発するために必要とされる時間は、従来の開発サイクルにおける時間よりもはるかに短くあり得る。さらに、いくつかの実施形態では、予測モデル化システムが、自動的に、欠けているデータおよび異常値のような周知のデータ異常、ならびに正常値(データ分布と一致するが誤っていない繰り返しの観察)および事後決定因子(すなわち、情報漏出から生じる極めて予測的な共変量)のようなあまり広く認識されていない異常を両方とも取り扱うデータ前処理プロシージャを含むため、結果として生じるモデルは、より正確で、より有用であり得る。いくつかの実施形態では、予測モデル化システム100は、従来的に実行可能であるよりも、非常に広範囲のモデルタイプおよび各タイプの多くのより具体的なモデルを探索することができる。本モデル多様性は、低下した品質のデータセットに適用されたときでさえも不十分な結果の可能性を大いに低減させ得る。
予測モデル化システムの実装
図5を参照すると、いくつかの実施形態では、予測モデル化システム500(例えば、予測モデル化システム100の実施形態)は、少なくとも1つのクライアントコンピュータ510と、少なくとも1つのサーバ550と、1つまたはそれを上回る処理ノード570とを含む。例証的構成は、例示的目的のためにすぎず、任意の数のクライアント510および/またはサーバ550があり得ることが意図される。
いくつかの実施形態では、予測モデル化システム500は、方法300の1つまたはそれを上回る(例えば、全ての)ステップを行なってもよい。いくつかの実施形態では、クライアント510は、ユーザインターフェース120を実装してもよく、サーバ550の予測モデル化モジュール552は、予測モデル化システム100の他の構成要素(例えば、モデル化空間探索エンジン110、モデル化技法130のライブラリ、予測問題のライブラリ、および/またはモデル化展開エンジン140)を実装してもよい。いくつかの実施形態では、モデル化検索空間の探索のために探索エンジン110によって割り付けられる計算リソースは、1つまたはそれを上回る処理ノード570のリソースであってもよく、1つまたはそれを上回る処理ノード570は、リソース割付スケジュールに従ってモデル化技法を実行してもよい。しかしながら、実施形態は、予測モデル化システム100もしくは予測モデル化方法300の構成要素が、クライアント510、サーバ550、および1つまたはそれを上回る処理ノード570の間で分散される、様式によって限定されない。さらに、いくつかの実施形態では、予測モデル化システム100の全ての構成要素は、(クライアント510、サーバ550、および処理ノード570の間に分散される代わりに)単一のコンピュータ上に実装され、または2つのコンピュータ(例えば、クライアント510およびサーバ550)上に実装されてもよい。
1つまたはそれを上回る通信ネットワーク530は、クライアント510をサーバ550と接続し、1つまたはそれを上回る通信ネットワーク580は、サーバ550を処理ノード570と接続する。通信は、独立型電話線、LANまたはWANリンク(例えば、T1、T3、56kb、X.25)、広帯域接続(ISDN、フレームリレー、ATM)、および/または無線リンク(IEEE 802.11、Bluetooth(登録商標))等の任意の媒体を介して行われてもよい。好ましくは、ネットワーク530/580は、TCP/IPプロトコル通信を搬送することができ、クライアント510、サーバ550、および処理ノード570によって伝送されるデータ(例えば、HTTP/HTTPS要求等)は、そのようなTCP/IPネットワークを経由して伝達されることができる。ネットワークのタイプは、制限ではないが、任意の好適なネットワークが使用されてもよい。通信ネットワーク530/580としての機能を果たす、またはその一部であり得る、ネットワークの非限定的実施例は、多くの異なる通信媒体およびプロトコルに適応し得る、無線または有線イーサネット(登録商標)ベースのイントラネット、ローカルもしくは広域ネットワーク(LANまたはWAN)、および/またはインターネットとして公知のグローバル通信ネットワークを含む。
クライアント510は、好ましくは、ハードウェア上で作動するソフトウェア512を伴って実装される。いくつかの実施形態では、ハードウェアは、Microsoft Corporation(Redmond, Washington)からのMICROSOFT WINDOWS(登録商標)族のオペレーティングシステム、Apple Computer(Cupertino, California)からのMACINTOSHオペレーティングシステム、および/またはSUN MICRO SYSTEMSからのSUN SOLARIS等の種々の種類のUnix(登録商標)、ならびにRED HAT, INC.(Durham,North Carolina)からのGNU/Linux(登録商標)等のオペレーティングシステムを実行することが可能なパーソナルコンピュータ(例えば、INTELプロセッサを伴うPCまたはAPPLE MACINTOSH)を含んでもよい。クライアント510はまた、スマートまたはダム端末、ネットワークコンピュータ、無線デバイス、無線電話、情報アプライアンス、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、携帯情報端末、タブレット、スマートフォン、または汎用コンピュータとして操作される他のコンピュータデバイス、もしくはクライアント510としての機能を果たすためのみに使用される特殊用途ハードウェアデバイス等のハードウェア上で実装されてもよい。
概して、いくつかの実施形態では、クライアント510は、電子メールおよび/またはインスタントメッセージを送受信すること、ワールドワイドウェブを経由して利用可能なコンテンツを要求して閲覧すること、チャットルームに参加すること、もしくはコンピュータ、ハンドヘルドデバイス、または携帯電話を使用して一般的に行われる他のタスクを行うことを含む、種々の活動のために操作され、使用されることができる。クライアント510はまた、雇用の一部としてクライアント510をユーザに提供する従業員等の他者の代わりに、ユーザによって操作されることもできる。
種々の実施形態では、クライアントコンピュータ510のソフトウェア512は、クライアントソフトウェア514および/またはウェブブラウザ516を含む。ウェブブラウザ514は、クライアント510が、ウェブページ要求を用いて(例えば、サーバ550から)ウェブページまたは他のダウンロード可能プログラム、アプレット、もしくはドキュメントを要求することを可能にする。ウェブページの一実施例は、表示、実行、再生、処理、ストリーム配信、および/または記憶されることができ、かつ他のウェブページへのリンクもしくはポインタを含有することができる、コンピュータ実行可能または解釈可能情報、グラフィックス、音声、テキスト、および/またはビデオを含む、データファイルである。市販のウェブブラウザソフトウェア516の実施例は、Microsoft Corporationによって提供されるINTERNET EXPLORER、AOL/Time Warnerによって提供されるNETSCAPE NAVIGATOR、Mozilla Foundationによって提供されるFIREFOX、またはGoogleによって提供されるCHROMEである。
いくつかの実施形態では、ソフトウェア512は、クライアントソフトウェア514を含む。クライアントソフトウェア514は、例えば、ユーザが電子メール、インスタントメッセージ、電話の呼び出し、ビデオメッセージ、ストリーミングオーディオまたはビデオ、もしくは他のコンテンツを送受信することを可能にする、機能性をクライアント510に提供する。クライアントソフトウェア514の実施例は、Microsoft Corporationによって提供されるOUTLOOKおよびOUTLOOK EXPRESS、Mozilla Foundationによって提供されるTHUNDERBIRD、およびAOL/Time Warnerによって提供されるINSTANT MESSENGERを含むが、それらに限定されない。中央処理装置、揮発性および不揮発性記憶装置、入出力デバイス、およびディスプレイを含む、クライアントコンピュータと関連付けられる標準構成要素は、示されていない。
いくつかの実施形態では、ウェブブラウザソフトウェア516および/またはクライアントソフトウェア514は、クライアントが予測モデル化システム100のためのユーザインターフェース120にアクセスすることを可能にしてもよい。
サーバ550は、クライアント510と相互作用する。サーバ550は、好ましくは、十分なメモリ、データ記憶、および処理能力を有し、かつサーバクラスオペレーティングシステム(例えば、SUN Solaris、GNU/Linux(登録商標)、およびMICROSOFT WINDOWS(登録商標)族のオペレーティングシステム)を実行する、1つまたはそれを上回るサーバクラスコンピュータ上で実装される。デバイスの容量およびユーザベースのサイズに応じて、本明細書に具体的に説明されるもの以外のシステムハードウェアおよびソフトウェアもまた、使用されてもよい。例えば、サーバ550は、サーバファームもしくはサーバネットワーク等の1つまたはそれを上回るサーバの論理グループであってもよく、またはその一部であってもよい。別の実施例として、相互と関連付けられる、または接続される複数のサーバ550があってもよく、もしくは複数のサーバが、共有データを用いるが独立して動作してもよい。さらなる実施形態では、大規模システムで典型的であるように、異なるサーバコンピュータ上、同一のサーバ上、またはある組み合わせで作動する、異なる構成要素を伴って、アプリケーションソフトウェアが構成要素で実装されることができる。
いくつかの実施形態では、サーバ550は、予測モデル化モジュール552、通信モジュール556、および/またはデータ記憶モジュール554を含む。いくつかの実施形態では、予測モデル化モジュール552は、モデル化空間探索エンジン110、モデル化技法130のライブラリ、予測問題のライブラリ、および/またはモデル化展開エンジン140を実装してもよい。いくつかの実施形態では、サーバ550は、予測モデル化モジュール552の出力をクライアント510に伝達するため、および/または処理ノード570上のモデル化技法の実行を監督するために、通信モジュール556を使用してもよい。本明細書の全体を通して説明されるモジュールは、1つまたは複数の任意の好適なプログラミング言語(C++、C#、java(登録商標)、LISP、BASIC、PERL等)を使用して、全体的もしくは部分的にソフトウェアプログラムとして、および/またはハードウェアデバイス(例えば、ASIC、FPGA、プロセッサ、メモリ、記憶装置、および同等物)として、実装されることができる。
データ記憶モジュール554は、例えば、予測モデル化ライブラリ130および/または予測問題のライブラリを記憶してもよい。データ記憶モジュール554は、例えば、MySQL AB(Uppsala, Sweden)によるMySQLデータベースサーバ、PostgreSQL Global Development Group(Berkeley,CA)によるPostgreSQLデータベースサーバ、またはORACLE Corp.(Redwood Shores,CA)によって提供されるORACLEデータベースサーバを使用して、実装されてもよい。
図6−8は、予測モデル化システム100の1つの可能な実装を図示する。図6−8の議論は、いくつかの実施形態の一例として挙げられ、決して限定的ではない。
前述のプロシージャを実行するために、予測モデル化システム100は、種々のクライアントおよびサーバコンピュータ上で作動する分散型ソフトウェアアーキテクチャ600を使用してもよい。ソフトウェアアーキテクチャ600の目標は、豊富なユーザ経験および計算集約的処理を同時に実現することである。ソフトウェアアーキテクチャ600は、基本4層インターネットアーキテクチャの変形例を実装してもよい。図6に図示されるように、これは、アプリケーションおよびデータ層を介して調整される、クラウドベースの計算を活用するように、本基盤を拡張する。
アーキテクチャ600と基本4層インターネットアーキテクチャとの間の類似性および差異は、以下を含んでもよい。
(1)クライアント610。アーキテクチャ600は、クライアント610について任意の他のインターネットアプリケーションと本質的に同一の仮定を立てる。主要な使用事例は、複雑なタスクを行うための長い時間周期にわたる頻繁なアクセスを含む。したがって、標的プラットフォームは、ラップトップまたはデスクトップ上で作動する豊富なウェブクライアントを含む。しかしながら、ユーザは、モバイルデバイスを介してアーキテクチャにアクセスしてもよい。したがって、アーキテクチャは、比較的薄いクライアント側ライブラリを使用して、インターフェースサービスAPIに直接アクセスする、ネイティブクライアント612に適応するように設計される。当然ながら、Java(登録商標)およびFlash等の任意のクロスプラットフォームGUI層が、同様にこれらのAPIにアクセスすることができる。
(2)インターフェースサービス620。アーキテクチャの本層は、基本インターネット表現層の拡張バージョンである。機械学習を指図するために使用され得る精巧なユーザ相互作用により、代替実装は、本層を介して、スタティックHTML、ダイナミックHTML、SVG視覚化、実行可能Javascript(登録商標)コード、および内蔵IDEさえも含む、多種多様なコンテンツをサポートしてもよい。また、新しいインターネット技術が進化するにつれて、実装は、新しい形態のクライアントに適応し、またはユーザ相互作用論理を実行するためのクライアント、提示、およびアプリケーション層の間の作業の分担を変更する必要があり得る。したがって、それらのインターフェースサービス層620は、認証、アクセス制御、および入力検証等の共通サポート設備を加えて、様々な豊富度の複数のコンテンツ配信機構を統合するための柔軟なフレームワークを提供してもよい。
(3)分析サービス630。アーキテクチャが、予測分析論ソリューションを生成するために使用されてもよいため、そのアプリケーション層は、分析サービスを配信することに集中する。機械学習の計算強度は、標準アプリケーション層への主要な増進、すなわち、クラウド環境で作動する多数の仮想「ワーカ」への機械学習タスクの動的割付を駆動する。実行エンジンによって生成される、あらゆる種類の論理計算要求に関して、分析サービス層630は、要求を容認し、要求をジョブに分け、ジョブをワーカに割り当て、ジョブ実行のために必要なデータを提供し、実行結果を照合するように、他の層と連携する。また、標準アプリケーション層からの関連差異もある。予測モデル化システム100は、ユーザが独自の機械学習技法を開発することを可能にしてもよく、したがって、いくつかの実装は、それらの能力がクライアント、インターフェースサービス、および分析サービス層にわたって分割された、1つまたはそれを上回る完全IDEを提供してもよい。次いで、実行エンジンは、これらのIDEを介して作成される新しい改良型技法を将来の機械学習計算に組み込む。
(4)ワーカクラウド640。モデル化計算を効率的に行うために、予測モデル化システム100は、それらをより小さいジョブに分けてもよく、クラウド環境で作動する仮想ワーカインスタンスにそれらを割り付ける。アーキテクチャ600は、異なるタイプのワーカおよび異なるタイプのクラウドを可能にする。各ワーカタイプは、具体的仮想マシン構成に対応する。例えば、デフォルトワーカタイプは、信頼されたモデル化コードのための一般的機械学習能力を提供する。しかし、別のタイプは、ユーザ開発コードのための付加的なセキュリティ「サンドボクシング」を施行する。代替タイプは、具体的機械学習技法のために最適化される構成を提供し得る。分析サービス層630が各ワーカタイプの目的を理解する限り、適切にジョブを割り付けることができる。同様に、分析サービス層630は、異なるタイプのクラウド内のワーカを管理することができる。団体は、そのプライベートクラウド内のインスタンスのプールを維持するとともに、公開クラウド内のインスタンスを実行するオプションを有し得る。これはまた、異なる種類の商業クラウドサービスまたは専用内部サービス上でさえも作動する、インスタンスの異なるプールさえも有し得る。分析サービス層630が能力および費用のトレードオフを理解する限り、適切にジョブを割り付けることができる。
(5)データサービス650。アーキテクチャ600は、種々の層内で作動する種々のサービスが、対応する種々の記憶オプションから利益を享受し得ることを仮定する。したがって、これは、データサービス650の豊富なアレイを配信するためのフレームワーク、例えば、任意のタイプの恒久的データのためのファイル記憶装置、キャッシング等の目的のための一時的データベース、および長期記録管理のための恒久的データベースを提供する。そのようなサービスは、クラウドワーカおよびIDEサーバのために使用される仮想マシンイメージファイル等の特定のタイプのコンテンツのために特殊化さえされてもよい。ある場合には、データサービス層650の実装は、他の層が円滑に連動することができるように、具体的タイプのデータ上で特定のアクセスイディオムを施行してもよい。例えば、データセットおよびモデル結果のための形式を標準化することは、ジョブをワーカに割り当てるときに、分析サービス層630が単純にユーザのデータセットの参照をパスし得ることを意味する。次いで、ワーカは、データサービス層650から本データセットにアクセスし、順に、データサービス650を介して記憶した、モデル結果の参照を返すことができる。
(6)外部システム660。任意の他のインターネットアプリケーションのように、APIの使用は、外部システムがアーキテクチャ600の任意の層において予測モデル化システム100と統合することを可能にしてもよい。例えば、ビジネスダッシュボードアプリケーションは、インターフェースサービス層620を通して、グラフィック視覚化およびモデル化結果にアクセスすることができる。外部データウェアハウスまたはライブビジネスアプリケーションさえも、データ統合プラットフォームを通してモデル化データセットを分析サービス層630に提供することができる。報告アプリケーションは、データサービス層650を通して、特定の時間周期からの全てのモデル化結果にアクセスすることができる。しかしながら、殆どの状況下で、外部システムは、ワーカクラウド640に直接アクセスすることができず、分析サービス層630を介してそれらを利用するであろう。
多層アーキテクチャと同様に、アーキテクチャ600の層は、論理的である。物理的に、異なる層からのサービスが、同一のマシン上で作動することができ、同一層内の異なるモジュールが、別個のマシン上で作動することができ、同一のモジュールの複数のインスタンスが、いくつかのマシンにわたって作動することができる。同様に、1つの層内のサービスは、複数のネットワークセグメントにわたって作動することができ、異なる層からのサービスは、異なるネットワークセグメント上で作動する場合もあり、作動しない場合もある。しかし、論理構造は、異なるモジュールが相互作用するであろう方法についての開発者およびオペレータの期待を調整することに役立つとともに、拡張可能性、信頼性、およびセキュリティ等のサービスレベル実装の平衡を保つために必要な融通性をオペレータに与える。
高レベル層は、典型的なインターネットアプリケーションのものに合理的に類似すると考えられるが、クラウドベースの計算の追加は、情報がどのようにしてシステムを通って流れるかを実質的に変更してもよい。
インターネットアプリケーションは、通常、2つの明確に異なるタイプ、すなわち、同期または非同期ユーザ相互作用を提供する。航空路線のフライトを見つけることおよび予約すること等の概念的に同期的な動作では、ユーザは、要求を行い、次の要求を行う前に応答を待つ。ある基準を満たすオンライン取引のためのアラートを設定すること等の概念的に非同期的な動作では、ユーザは、要求を行い、システムがある以降の時間にユーザに結果を通知することを期待する。(典型的には、本システムは、初期要求「チケット」をユーザに提供し、指定通信チャネルを通して通知を提供する。)
対照的に、機械学習モデルを構築して精緻化することは、中間のどこかで相互作用パターンを伴ってもよい。モデル化問題を設定することは、初期の一連の概念的に同期的なステップを伴ってもよい。しかし、ユーザが代替ソリューションを計算し始めるようにシステムに命令するとき、対応する計算の規模を理解するユーザは、即時応答を期待する可能性が低い。具体的には、遅延した結果の本期待は、相互作用の本段階を非同期的に見えさせる。
しかしながら、予測モデル化システム100は、「ファイア・アンド・フォーゲット」をユーザに強制せず、すなわち、通知を受信するまで問題への独自の従事を停止する。実際、これは、データセットを探索し続け、予備結果が到着するとすぐにそれらを精査するようにユーザを促してもよい。そのような付加的探索または初期洞察は、ユーザに「飛行中に」モデル構築パラメータを変更する気を起こさせる。次いで、本システムは、要求された変更を処理し、処理タスクを再び割り付けてもよい。予測モデル化システム100は、ユーザのセッションの全体を通して連続的に本要求・改訂動態を可能にしてもよい。
したがって、分析サービスおよびデータサービス層は、一方でのユーザからの要求・応答ループと他方でのワーカクラウドへの要求・応答ループとの間で仲介してもよい。図7は、本観点を図示する。
図7は、予測モデル化システム100が必ずしも層状モデルの中へきれいに適合しないことを強調し、各層が大部分はその直下の層のみに依拠することを仮定する。むしろ、分析サービス630およびデータサービス650は、ユーザおよび計算を強調的に調整する。本観点を考慮して、情報フローの3つの「列」がある。
(1)Interface<−>Analytic+Data。フロー710の最左列は、最初に、ユーザの未加工データセットおよびモデル化要件を、計算ジョブの精緻化されたデータセットおよびリストに変換し、次いで、結果を融合し、容易に把握することができる形式でユーザに配信する。したがって、目標および制約が、インターフェースサービス620から分析サービス630まで流れる一方で、進行および期待は、後方に流れる。並行して、未加工データセットおよびユーザ注釈が、インターフェースサービス620からデータサービス650まで流れる一方で、訓練されたモデルおよびそれらの性能測定基準は、後方に流れる。任意の時点で、ユーザは、変更を開始し、分析サービス630およびデータサービス650層による調節を施行することができる。本動的循環フローに加えて、(例えば、インターフェースサービス620が、分析サービス640からシステム状態、またはデータサービス650から静的コンテンツを読み出すときに)より従来的な線形相互作用もあることに留意されたい。
(2)Analytic+Data<−>Worker。フロー730の最右列は、ワーカを供給し、計算ジョブを割り当て、これらのジョブのためにデータを提供する。したがって、ジョブ割り当て、それらのパラメータ、およびデータ参照が、分析サービス630からワーカクラウド640まで流れる一方で、進行および期待は、後方に流れる。精緻化されたデータセットが、データサービス650からワーカクラウド640まで流れる一方で、モデル化結果は、後方に流れる。ユーザからの更新された指図は、強制的に分析サービス層630に、飛行中にワーカを中断させ、更新されたモデル化ジョブを割当させるとともに、データサービス層650からのデータセットのリフレッシュを強制することができる。順に、更新された割当およびデータセットは、ワーカから戻る結果のフローを変化させる。
(3)Analytic<−>Data。中間の2つの層は、左および右の列の間を仲介するように、それらの間で連動することができる。本トラフィック720の大部分は、クラウドワーカの実行進行および中間計算を追跡することに関与する。しかし、フローは、モデル構築命令への上述の飛行中変更に応答するときに、特に複雑になり得る。分析およびデータサービスは、計算の現在の状態を査定し、どの中間計算が依然として有効であるかを判定し、新しい計算ジョブを正しく構築する。当然ながら、(例えば、分析サービスがデータサービスからクラウドワーカのための規則および構成を読み出すときに)より従来的な線形相互作用もある。
情報フローの本概念モデルは、層内の機能的モジュールの配列のためのコンテキストを提供する。それらは、単純に、アプリケーションプログラミングインターフェース(API)をより高いレベルのブロックに提供し、より低いレベルのブロックからAPIを消費する、状態のないブロックではない。むしろ、それらは、ユーザ間の協調および計算への動的参加者である。図8は、これらの機能的モジュールの配列を提示する。ユーザの観点から、インターフェースサービス層は、機能性のいくつかの明確に異なる領域を提供する。
(1)ユーザ/プロジェクト管理802。各機械学習プロジェクトは、プロジェクトレベルパラメータ、責任、およびリソースを管理するために、インターフェースのプロジェクト管理構成要素を使用することができる、少なくとも1人の割り当てられた管理者を有する。本機能的構成要素はまた、システムレベル管理機能もサポートする。
(2)監視810。本モジュールは、コンピューティングインフラストラクチャ上で診断を提供する。これは、各ワーカインスタンスのためにリアルタイムおよび各計算ジョブのために全体の両方で、計算リソース使用量を追跡するように分析サービス層内の対応するモジュール818と協働する。
(3)技法設計者804。本モジュールは、前述の方法、技法、およびタスクビルダを使用するためのグラフィカルインターフェースをサポートする。本グラフィカルインターフェースがどのようにして実装され得るかという実施例は、Javascript(登録商標)がクライアント610内で作動し、AJAX要求を介して技法設計者804と通信し、ユーザ用のグラフを図式的にレンダリングし、変更をサーバにプッシュ配信して戻すことである。
(4)技法IDE812。以前に説明されたように、予測モデル化システム100のいくつかの実装は、リーフレベルタスクを実装するためのIDEへの内蔵アクセスを技法開発者に提供してもよい。そのようなIDEは、Python等の機械学習に使用される汎用プログラミング言語、またはR等の特殊化科学コンピューティング環境をサポートすることができる。本機能性は、クライアント610、インターフェースサービス620、および分析サービス630層にわたって実行してもよい。クライアント構成要素610は、最初にAJAXを介したインターフェースサービス構成要素とのセッションを登録する、IDE環境用のJavascript(登録商標)コンテナをダウンロードして実行することができる。登録要求を認証して有効性を検証した後、インターフェースサービス構成要素は、ユーザのプロジェクトデータをクライアント610にダウンロードし、分析サービス層内で作動する専用IDEサーバインスタンスにセッションを引き渡す。次いで、本サーバインスタンスは、ウェブソケットを介してクライアント610と直接通信する。
(5)データツール806。本モジュールは、モデルビルダがデータセットを規定し、それを理解し、モデル構築のためのそれを準備することを可能にする。
(6)モデル化ダッシュボード814。各プロジェクトは、独自のモデル化ダッシュボードを有する。本モジュールのインスタンスは、プロジェクトのためのモデル化プロセスを立ち上げ、結果が到着するとそれらを測定し、飛行中調節を行うように、制御機器および計測機器をモデルビルダに提供する。これは、どのモデル化技法がどのデータセットに対して作動するかを計算し、これらの要件を分析サービス層にパスする。いったん実行エンジンがモデルを構築し始めると、本モジュールは、実行状態および制御を提供する。
(7)洞察808。いったん機械学習プロセスが実質的な結果を生成し始めると、本モジュールは、より深い洞察をモデルビルダに提供する。実施例は、テキストマイニング概要、予測因子重要性、および各予測因子と標的との間の一方向関係を含む。これらの洞察の大部分は、理解することが容易であり、統計学の深い知識を必要としない。
(8)予測816。いったん実行エンジンが少なくとも1つのモデルを構築すると、本モジュールは、新しいデータに基づいて予測を行うためのインターフェースを提供する。
インターフェースサービス層内の活動は、分析サービス層内の活動をトリガする。上記で議論されるように、技法IDEおよび監視モジュールは、部分的に分析サービス層内で実行されるように分割される(監視モジュール818および技法IDEモジュール820を参照)。本層内の他のモジュールは、以下を含む。
(1)ジョブ待ち行列822。各プロジェクトは、対応するモデル化ダッシュボードインスタンスからのモデル計算要求を果たす、独自のジョブ待ち行列インスタンスを有してもよい。ジョブは、プロジェクトのデータセットのパーティションの参照と、モデル化技法と、プロジェクト内の優先順位とを含む。次いで、本モジュールは、ジョブの優先順位リストを構築して維持する。計算リソースが利用可能であるとき、ブローカ824は、ジョブ待ち行列から次のジョブを要求する。十分な許可を伴うユーザは、任意の時間に待ち行列の中のモデル化ジョブを追加、除去、または優先することができる。待ち行列は、バックエンド記憶装置が極めて速い応答時間を提供する、一時的DBモジュール826を介して持続される。
(2)ブローカ824。これらのモジュールは、ワーカをインスタンス化し、それらにジョブを割り当て、それらの健全性を監視する。1つのブローカが、各ワーカクラウドのために作動してもよい。ブローカは、安全なバッファを加えて、開放ジョブ待ち行列からの現在のレベルの要求を果たすように、動的にワーカを供給し、終了させる。立ち上げると、各ワーカは、そのクラウド環境のためのブローカに自動的に登録し、その計算能力についての情報を提供する。ブローカおよびワーカは、数秒毎にハードビートメッセージを相互に送信する。ワーカは、クラッシュする、またはそのブローカとの接触を失う場合に、自動的に再起動し、再登録するであろう。ブローカは、利用可能なリソースのそのプールからワーカを破棄し、過剰に多くのハートビートメッセージを見逃した場合に警告を記録するであろう。新しいジョブがジョブ待ち行列から到着し、ワーカが既存のジョブを完了すると、ブローカは、ワーカの数およびこれらのワーカへのジョブの割付を継続的に再計算する。
(3)ワーカクラウド640。これらのモジュールは、ワーカのプールを含む。各ワーカは、作動している仮想マシンインスタンス、またはそのクラウド環境内の内蔵計算リソースの他のユニットであり、対応するブローカからジョブを受信する。ワーカの観点から、ジョブは、プロジェクトの参照と、プロジェクトのデータセットのパーティションと、モデル化技法とを含む。割り当てられたモデル化技法の中の各タスクに関して、ワーカは、最初に、モデル化結果のための特別なディレクトリサブツリーを有する、ファイル記憶モジュール830にクエリを行うことによって、任意の他のワーカがプロジェクトのそのデータセットパーティションのためにそれを完了したかどうかを確認するようにチェックしてもよい。第1のワーカがステップを処理する場合、計算を行い、それをファイル記憶装置830に保存するため、他のワーカがそれを再利用することができる。モデル化技法が共通モデル化タスクライブラリの中のタスクから組み立てられるため、モデル化技法にわたってタスク実行の実質的なレベルの共通性があってもよい。タスク実行の結果をキャッシュに格納することは、消費される計算リソースの量を有意に削減する実装を可能にし得る。
データサービス層650は、他の層内のモジュールをサポートするように、種々の異なる記憶機構を提供する。
(1)一時的DB826。本モジュールは、極めて速いアクセスから利益を享受する、および/または一過性であるデータのための記憶機構へのインターフェースを提供し、記憶機構を維持する。いくつかの実装では、これは、自動フェイルオーバーを伴うマスタ・スレーブ構成で展開されるメモリ内DBMSを使用する。本モジュールは、キー値ペアとしてオブジェクトを記憶するためのインターフェースを提供する。キーは、具体的ユーザおよびプロジェクトにリンクされるが、依然として非常に小さい。値は、文字列、リスト、またはセットであり得る。
(2)持続的DB828。本モジュールは、持続的であるデータのための記憶機構へのインターフェースを提供し、記憶機構を維持する。いくつかの実装では、本モジュールによって取り扱われるデータの主要なタイプは、JSONオブジェクトを含み、高い可用性および高い性能の両方ために自動フェイルオーバーを伴うクラスタで展開される、高度に拡張可能な非SQLデータベースを使用してもよい。本モジュールを介して記憶されるオブジェクトは、典型的には、サイズが数メガバイトまで及ぶ。
(3)ファイル記憶装置830。本モジュールは、ファイルのための記憶機構へのインターフェースを提供し、記憶機構を維持する。本モジュールを介して記憶されるデータのタイプは、アップロードされたデータセット、導出されたデータ、モデル計算、および予測を含む。本モジュールは、クラウド記憶装置の上でファイルディレクトリおよび命名規則を層状にしてもよい。加えて、クラウドワーカが本モジュールにアクセスするとき、それらはまた、記憶されたファイルをそれらのローカル記憶装置に一時的にキャッシュ格納してもよい。
(4)VMイメージ記憶装置832。本モジュールは、IDEおよびワーカインスタンスを実行するために使用されるVMイメージのための記憶装置へのインターフェースを提供し、記憶装置を維持する。これは、自給自足VMコンテナ形式でイメージを記憶する。IDEインスタンスに関して、これは、セッションにわたってユーザの状態を留保する一方で、そのワーカタイプのテンプレートからのブランクコピーとして、新しいワーカインスタンスをロードする。
ともに、これらのサービスは、以下を含む、多種多様な情報を管理する。
(1)UIセッション834:アクティブなユーザセッションの現在の状態をレンダリングし、単純な要求認証およびアクセス制御を行うためのデータ。
(2)UIオブジェクト836:UIによって表示されるコンテンツ。
(3)キャッシュ838:キャッシュ格納されたアプリケーションコンテンツ。
(4)システム構成840:コンピューティングインフラストラクチャを立ち上げ、モデル検索サービスを実行するための構成パラメータ。
(5)システム健全性842:システム600のモジュールから収集されるリアルタイムデータ。
(6)ユーザ/プロジェクト管理844:各プロジェクトの設定およびユーザ特権、ならびに個々のユーザ設定。
(7)データセット846:プロジェクトのためにユーザによってアップロードされるデータファイル。
(8)モデル化計算848:中間モデル化結果、最終適合モデル、および計算された予測。
(9)VMイメージ850:新しいIDEサーバを立ち上げるために使用されるイメージ。
再度、上記で説明される具体的モジュール802−850は、論理構築物である。各モジュールは、多くの異なるソースファイルからの実行コードを含んでもよく、所与のソースファイルは、機能性を多くの異なるモジュールに提供してもよい。
時間外予測
いくつかの実施形態では、予測モデル化システム100は、tの前の時間におけるXの観察、随意に、tの前の時間における他の予測因子変数Pの観察を考慮すると、時間t、随意に、t+1、…、t+iにおける標的Xの値を予測し得る、時系列モデルを含む。いくつかの実施形態では、予測モデル化システム100は、過去の観察を分割して、監視下の学習モデルを訓練し、その性能を測定し、精度を改良する。いくつかの実施形態では、時系列モデルは、有用な時間関連予測特徴を提供し、例えば、異なる遅延における標的の前の値を予測する。いくつかの実施形態では、予測モデル化システム100は、時間が前進し、新しい観察が到着すると、そのような観察の中の新しい情報の量およびモデルを再適合させることの費用を考慮して、時系列モデルをリフレッシュする。
ここで、時系列モデルの有益な使用を図示する実施例が、説明される。本実施例では、スーパーマーケットのチェーンが、スーパーマーケットの場所毎に次の6週間の毎日の売上を予測することを所望する。利用可能なデータは、他の変数(例えば、各場所を中心とした人口および経済成長、休日ならびに主要な社交行事の履歴的および計画的日付、ならびにチェーンの販売促進の履歴的および計画的日付)を加えた、10,000箇所からの3年の以前の毎日の売上データを含む。いくつかの実施形態では、履歴データで訓練された時系列モデルは、スーパーマーケットの場所毎に次の6週間の毎日の売上を正確に予測することができる。
ここで、時系列モデルを生成および使用するための技法のいくつかの実施形態が、説明される。データ科学者がモデル化技法ビルダ220を用いた予測モデル化技法を開発するとき、データ科学者は、モデル化技法が時系列予測問題に特有であることを示してもよい。モデル化技法ビルダ220は、次いで、モデル化技法のメタデータ内の本特性を符号化する。データセット自体はまた、時系列特有のメタデータ(例えば、データが発生した日付範囲、観察の時間分解能、すでに起こっている任意のダウンサンプリング等)を有してもよい。
探索エンジン110が(例えば、図4に図示される方法400のステップ404において)データセットをロードするとき、データセットが時系列データを含有すると考えられるかどうか、および該当する場合、時間インデックスであると考えられるものを自動的に検出してもよい。時間インデックスは、時間分解能と、時間ステップ(「時間間隔」)とを含んでもよい。時間分解能は、時間が保持される単位(例えば、秒または日)である。例えば、日付(例えば、全ての日付)が標準日形式(例えば、月/日/年)で符号化される場合、エンジン110は、日を分解能として使用してもよい。別の実施例として、日付(例えば、全ての日付)が、時間、分、および秒を含む場合、エンジン110は、秒を時間分解能として使用してもよい。同様に、エンジン110は、任意の好適な時間測定基準(例えば、1,000年、世紀、10年、年、四半期、季節、月、週、日、時間、分、秒、ミリ秒、マイクロ秒、ナノ秒等)を共通時間分解能として使用することができる。時間ステップは、連続観察(例えば、毎日、毎月、または毎年のデータ)の間の時間周期(例えば、最小時間周期、最も典型的な時間周期、ユーザ規定時間周期等)である。
データセットが時間分解能の混合物を伴う時系列データを含有する場合において、エンジン110は、最も一般的な分解能を時間インデックスの一部として使用する、または全ての時間データを共通分解能に変換した後の「最低共通分解能」を使用してもよい。いくつかの実施形態では、エンジン110は、潜在的インデックスの頻度および相違に加重する内部目的関数を使用し、インデックス(例えば、最適なインデックス)を選定する。例えば、日付変数の90%が日の分解能にあり、10%が秒の分解能にある場合、目的関数は、日の分解能が最良の選択であることを判定してもよい。逆の混合物(90%の秒の分解能、10%の日の分解能)は、秒の分解能が最良の選択であるという判定を生じさせてもよい。50%混合において、目的関数は、日と秒との間の分解能(例えば、時間(hours))について妥協することが最適であることを判定してもよい。目的関数の選択はさらに、以前に使用された目的関数の空間についてのメタ機械学習および種々の特性を伴う予測問題に関するそれらの精度によって判定されてもよい。
いくつかの実施形態では、ユーザは、(例えば、方法400のステップ406において)時系列データセットとしてのデータセットの扱いの阻止または強制のいずれかを行い、データセットが時系列データセットである、または時系列データセットではないという探索エンジンの判定をオーバーライドしてもよい。ユーザが時系列データセットとしてのデータセットの扱いを強制することを選定する場合、ユーザは、時間ベースである変数、それらのデータフォーマットを解釈する方法、および/または時間インデックスを規定してもよい。ある場合には、ユーザは、変数を変換して所与の時間インデックスを使用する方法についての情報を供給してもよい。
自動的に検出された時系列データセットに関して、ユーザは、提案された時間インデックスを容認する、任意の自動的に検出された代替物から選択する、または変数を変換してカスタム時間インデックスを使用する方法を規定することも要求し得る、カスタム時間インデックスを規定してもよい。いったん時間インデックスが容認、選択、または規定されると、他の時間変数は、相互からのオフセットに変換され、予測特徴として使用されてもよい。例えば、データセットが時間インデックスとして月/日/年を使用しており、変数のうちの1つが「生年月日」である場合、エンジン110は、他のイベント(例えば、「結婚」、「子供の生年月日」等)に関して、「生年月日」(「年齢」としても公知である)からのオフセットを算出してもよい。
ユーザが、時系列データセットを確認し、または示し、時間インデックスを確認、選択、または規定した後、エンジン110は、(例えば、方法400のステップ408において)データセットを評価し、(例えば、方法400のステップ410において)本評価をユーザに提示する。本提示は、個別に、または群のいずれかで、経時的に標的および予測因子変数値を示す、略図を含んでもよい。いくつかの実施形態では、提示は、1つまたはそれを上回る時間遅延において過去の値への各時系列変数の現在の値の依存性を図示する。データセットが、時系列およびクロスセクショナルな変数の混合物を含有する、パネルデータセットである場合において、提示は、同一の周期において、または相互からの異なる遅延においてのいずれかで、クロスセクショナルな変数の間の依存性を図示してもよい。
ユーザは、訓練ウィンドウ(例えば、訓練に使用されるデータの時間範囲)の終了と検証ウィンドウ(例えば、検証に使用されるデータの時間範囲)またはホールドアウトウィンドウ(例えば、ホールドアウト試験に使用されるデータの時間範囲)の開始との間のギャップである、データ内の「スキップ範囲」を示してもよい。ある場合には、最後の履歴的観察と最初の予想との間の遅延の運営およびロジスティック上の理由が存在する。スーパーマーケットの実施例では、前の週のデータは、日曜日に本部に到着し、完全にクリーンであり得る。しかし、運営上、予測モデルが完成した後でさえも、予測を全ての店舗場所に通信すること、および店舗が予測に応答してその運営に調節を行うことの両方に、数日かかり得る。同様に、履歴的データを受信または一掃することの遅延が存在し得る。いずれの場合においても、実用的な目標は、最後の利用可能な履歴的観察からのあるギャップ後に予測を開始することであってもよい。スキップ範囲は、エンジン110が、定位置に本ギャップを伴って候補予測モデルを評価することを可能にする。
ユーザは、所望の予想範囲(例えば、モデルによって予測される将来の時間周期の数、またはモデルによって予測される明確に異なる将来のイベントの数)を示してもよい。ある場合には、本範囲は、1つの観察のみ、例えば、次の四半期の売上であってもよい。他の場合には、スーパーマーケットチェーンの実施例のように、範囲は、その実施例では42日である、いくつかの将来の周期を含んでもよい。
ある場合には、エンジン110は、データの頻度および/またはデータ内の周期の総数に基づいて、予想範囲を提案してもよい。例えば、毎日のデータおよび比較的少数の時間周期を用いると、エンジン110は、7日間予想を提案してもよい一方で、比較的多数の時間周期を用いると、30日間予想を提案してもよい。月間データを用いると、エンジン110は、時間周期の数に応じて、3、6、または12ヶ月間予想を提案してもよい。四半期データを用いると、エンジン110は、4、8、または12四半期予想を提案してもよい。年間データに関して、エンジン110は、5、10、または20年間予想を提案してもよい。
ある場合には、エンジン110は、予想範囲または(例えば、ユーザが異常に短い予想範囲を規定した場合)予想範囲の倍数(例えば、論理倍数)に等しい検証範囲を使用する。
時系列データに関して、エンジン110は、(例えば、方法400のステップ418および422において)訓練範囲のセット、スキップ範囲によってオフセットされた対応する検証範囲のセット、およびホールドアウト範囲を伴って、交差検証ならびにホールドアウトを実装してもよい。エンジン110は、それが利用可能なデータの量に応じて調節し得る、デフォルト標的数の訓練および検証範囲を有してもよい。比較的少ない時間周期を伴うデータセットが、より少ない訓練および検証範囲に分割されてもよい一方で、比較的多くの時間周期を伴うデータセットは、より多くの訓練および検証範囲に分割されてもよい。
データのサイズ、データの頻度、スキップ範囲の長さ、および/または予想範囲に応じて、エンジン110は、訓練範囲の長さを選択してもよい。例えば、毎日の観察ならびにスキップおよび予想範囲が、週、月、または年(もしくは7、30、および365等の対応する日の倍数)で表されると、エンジンは、整数の週、月、または年の訓練範囲を選択してもよい。これらの訓練ウィンドウの長さは、観察の総数、データの総量、経時的な標的および予測因子変数の変動の総量、変数によって呈される季節変動の量、異なる時間ウィンドウにわたるこれらの変数の変動の一貫性、および/または予想周期の標的長さに依存し得る。エンジン110は、これらの因子に加重する内部目的関数を使用し、訓練ウィンドウの長さ(例えば、最適な長さ)を選定してもよい。例えば、デフォルトは、全データセットにわたって均等に分割される、5つの訓練および検証範囲であってもよい。しかしながら、より長い時間周期にわたる変動の量が低い場合、エンジン110は、時間ウィンドウを短縮してもよい。または、データに年間季節性がある場合、エンジン110は、3つだけのウィンドウを使用し、それによって、数年のデータを各範囲の中へ設置する。または、高い変動を呈する、データセット内のいくつかの具体的周期がある場合、エンジン110は、各ウィンドウがこれらの周期のうちの1つを含むように、データを分割してもよい。目的関数の選択は、以前に使用された目的関数の空間についてのメタ機械学習および種々の特性を伴う予測問題に関するそれらの精度によって判定されてもよい。
所望の数の訓練および検証範囲、ならびにスキップ範囲を加えたこれらの範囲の長さを用いると、エンジン110は、データセットを一貫した一連の訓練および検証範囲に分割することができる。パネルデータに関して、各訓練および検証対はさらに、(例えば、区分観察を層に無作為に割り当てることによって)無作為に層に分割され得る。スーパーマーケットの実施例では、訓練範囲は、30週間であってもよく、スキップ範囲は、1週間であってもよく、検証範囲は、6週間であってもよく、3年にわたって約4つの訓練セットを生じさせる。しかしながら、10,000軒の店舗が存在するため、これらの店舗はさらに、性能を改良するように、下記に説明されるように「ダウンサンプリング」され得る。エンジンはまた、モデルハイパーパラメータならびに混合モデルを調整するために使用する訓練および検証ウィンドウ内のサブウィンドウを逆転させられてもよい。
いくつかの実施形態では、ホールドアウトデータは、最後の時間ウィンドウ内のみにある。しかしながら、データセットがパネルデータであり、ダウンサンプリングされた場合、ホールドアウトデータは、他のデータと同一の時間周期に由来するが、異なる非重複サンプルに由来してもよい。
クロスセクショナルモデル(例えば、上記の方法300のステップ350の説明を参照)と同様に、エンジン110は、データセットを通して反復し、訓練ウィンドウのわずかな部分で各モデルを訓練し、その部分についてその性能を評価し、次いで、その性能に基づいて付加的データにモデルを試験し続けるかどうかを決定してもよい。時系列データの場合、各部分は、訓練ウィンドウ内の最後の観察上で終了してもよく、初期部分は、その部分訓練ウィンドウが検証ウィンドウの論理倍数であるように開始してもよく、より大きい部分は、より大きい倍数を使用してもよい。例えば、週で測定される検証ウィンドウは、訓練ウィンドウの終了の4週間前に開始する第1の部分、8週間前に開始する第2の部分、12週間前に開始する第3の部分等を使用してもよい。月で測定される検証ウィンドウは、訓練ウィンドウの終了の3ヶ月前に開始する第1の部分、6ヶ月前に開始する第2の部分、9ヶ月前に開始する第3の部分、12ヶ月前に開始する第4の部分等を使用してもよい。年で測定される検証ウィンドウは、訓練ウィンドウの終了の4年前に開始する第1の部分、8年前に開始する第2の部分、12年前に開始する第3の部分を使用してもよい。代替として、部分周期は、訓練ウィンドウの終了の5、10、および15年前であってもよい。部分は、線形に(例えば、3、6、9、12周期または4、8、12、16周期)、または幾何学的に(例えば、3、6、12、24周期または4、8、16、32周期)増加してもよい。問題領域および/またはデータの分析に基づく、特異的なスケジュールのように、部分の指数関数的増加も可能である(例えば、3、6、24、192周期または4、8、32、256周期)。
実行速度を改良し、リソース消費を削減するために、エンジン110は、デフォルトダウンサンプリングを提案し得る。2つのタイプのダウンサンプリング、すなわち、経時的およびクロスセクショナルなものが存在する。経時的ダウンサンプリングでは、各パーティション内の観察の総数は、固定割合だけ削減される、またはより長い時間間隔分解能に集約されてもよい。例えば、100億個の観察を含有する時間ウィンドウは、1,000万個の観察に削減されるであろう。または、1ミリ秒毎の観察を伴うデータのウィンドウは、これらの観察を毎分に集約させてもよい。この場合、ダウンサンプリングウィンドウ内の観察の値の全ては、集約観察に関して単一の値に収められてもよい。本集約値は、例えば、開始値、終了値、最も極端な値、平均値、または変動のいくつかの特性を考慮するように重み関数を通して算出される値であってもよい。エンジン110は、対応する時間ウィンドウ内の標的および予測因子の変動性による観察の潜在的削減に加重する、目的関数を使用してもよい。例えば、観察の1,000倍削減は、変動性の5%削減を正当化し得る。目的関数の選択はさらに、以前に使用された目的関数の空間についてのメタ機械学習および種々の特性を伴う予測問題に関するそれらの精度によって判定されてもよい。
経時的ダウンサンプリングは、例えば、データの変動がデータの頻度よりも低い、極めて高頻度のデータに使用されてもよい。クロスセクショナルなダウンサンプリングは、概して、経時的にそれらの挙動があまり変動しない、非常に多数の区分が存在し得るため、より一般的である。スーパーマーケットチェーンの実施例に関して、店舗場所に1つずつ、10,000個の区分が存在する。変動の大部分は、店舗を横断して比較的低いクロスセクショナルな変動を伴って、経時的因子に起因し得る。例えば、類似店舗は、実際に、はるかに少数の代表的な群に分類されてもよい。したがって、エンジン110は、単純に、区分、この場合は、店舗場所の無作為なサブサンプルを構築し、1つまたはそれを上回るサブサンプルで予測モデルを訓練してもよい。例えば、10,000軒全ての店舗を使用する代わりに、エンジン110は、1,000軒の店舗の無作為な選択で訓練し得る。また、エンジン110は、交差検証がクロスセクショナルな寸法に沿って使用される場合において、本ダウンサンプリングを適用し得る。例えば、5層交差検証の場合、エンジンは、2,000軒の店舗の5層の代わりに、400軒の店舗の5層を使用してもよい。ダウンサンプリングの割合は、区分の数の関数によって判定される、サンプルの複数の特性の平衡を保つ目的関数によって判定される、またはユーザによって規定されてもよい。ある場合には、ダウンサンプリング割合の選択は、多くの異なる予測問題についてのメタ機械学習によって精緻化されてもよい。
時系列モデルから正確な予測を生成する際の1つの課題は、それらが訓練および検証時間ウィンドウの選択に敏感であり得ることである。いくつかの実施形態では、エンジンは、本感度を自動的に評価する。例えば、エンジン110は、それが実行するにつれて、全モデル化技法に関して時間ウィンドウ選択への感度を評価してもよい。別の実施例として、エンジン110は、モデルが予測精度のある閾値を超えた後に、本感度を評価してもよい。第3のオプションは、それらの相対予測精度に基づいて、上部モデルの感度を評価することである。第4のオプションは、ユーザがそれを要求するときに、要求に応じて感度分析を起動することである。感度分析は、モデルをスライド訓練および検証ウィンドウと適合させ、ウィンドウに含まれるポイントともにモデル精度が変動する方法を測定するステップを含んでもよい。例えば、グラフは、垂直軸上のモデル精度および水平上の訓練ウィンドウの開始観察をプロットし得る。
いったんエンジンが(例えば、方法400のステップ446において)時系列モデルを適合させることを完了し、それらをユーザに提示すると、ユーザはさらに、モデル性能への異なる訓練データウィンドウの効果を探索してもよい。ユーザインターフェースは、ユーザが、特定の適合モデルまたは適合モデル群を選び、それらがホールドアウトウィンドウの中にない任意の観察を含むように、訓練および検証ウィンドウを調節してもよい。エンジンがハイパーパラメータを調整するためのサブウィンドウを使用していない場合において、モデルの元の適合中に計算される最適なハイパーパラメータは、モデルを新しいウィンドウと再適合させるときに使用されてもよい。ネスト化訓練および検証ウィンドウが利用可能である場合において、エンジンは、逆転されたウィンドウ上で最適なハイパーパラメータを自動的に再計算し、および/または最適なハイパーパラメータを再計算する、もしくは最初に計算されたものを使用するかどうかの選択肢をユーザに許容してもよい。
ユーザが(例えば、方法400のステップ450において)ホールドアウト結果を精査した後、ユーザは、訓練、検証、およびホールドアウトウィンドウからのデータの任意の組み合わせを使用して、モデルの任意のサブセットを最適合してもよい。ホールドアウトウィンドウからのデータが、典型的には、直近のデータであるため、モデルの適合にそれを含むことは、将来の値を予測する際のそのモデルの精度を改良し得る。したがって、新しい予測を行うためのモデルを展開する前に、ユーザは、その最後の観察がホールドアウトウィンドウの最後の観察である、訓練データ上にモデルを再適合させてもよい。本再適合で使用する第1の観察の選択は、感度分析中に計算される訓練ウィンドウのサイズ(例えば、最適なサイズ)に依存し得る。ユーザは、予測問題の感度および/または領域知識の分析に基づいて、計算された開始点をオーバーライドしてもよい。
時系列モデル化技法のいくつかの実施形態
図9を参照すると、時系列予測モデル化のための方法900は、ステップ910−980を含んでもよい。ステップ910では、時系列データが、取得される。時系列データは、1つまたはそれを上回るデータセットを含んでもよい。各データセットは、複数の観察を含んでもよい。各観察は、(1)観察と関連付けられる時間のインジケーションと、(2)1つまたはそれを上回る変数の値とを含んでもよい。ステップ920では、時系列データの時間間隔が、判定される。ステップ930では、時系列データの1つまたはそれを上回る変数が、標的として識別される。随意に、時系列データの1つまたはそれを上回る変数はまた、特徴として識別されてもよい。ステップ940では、時系列データによって表される予測問題と関連付けられる「予想範囲」および「スキップ範囲」が、判定される。予想範囲は、標的の値が予測される、時間周期の持続時間を示してもよい。スキップ範囲は、予想範囲内の最古の予測と関連付けられる時間と、予想範囲内の予測が基づく最新の観察と関連付けられる時間との間の時間的遅延を示してもよい。
ステップ950では、訓練データが、時系列データから生成される。訓練データは、データセットのうちの少なくとも1つの観察の第1のサブセットを含む。観察の第1のサブセットは、観察の訓練入力および訓練出力集合を含む。訓練入力および訓練出力集合内の観察と関連付けられる時間は、それぞれ、訓練入力時間範囲および訓練出力時間範囲に対応する。スキップ範囲は、訓練出力時間範囲の開始から訓練入力時間範囲の終了を分離する。訓練出力時間範囲の持続時間は、少なくとも予想範囲と同程度に長い。ステップ960では、試験データが、時系列データから生成される。試験データは、データセットのうちの少なくとも1つの観察の第2のサブセットを含む。観察の第2のサブセットは、観察の試験入力および試験検証集合を含む。試験入力および試験検証集合内の観察と関連付けられる時間は、それぞれ、試験入力時間範囲および試験検証時間範囲に対応する。スキップ範囲は、試験検証時間範囲の開始から試験入力時間範囲の終了を分離する。試験検証時間範囲の持続時間は、少なくとも予想範囲と同程度に長い。ステップ970では、予測モデルが、訓練データに適合される。ステップ980では、適合モデルが、試験データで試験される。
ステップ910では、時系列データが、取得される。時系列データは、任意の好適な技法を使用して、任意の好適なソースから取得されてもよい(センサを使用して測定される、通信ネットワークを介して受信される、コンピュータ可読媒体からロードされる等)。時系列データは、それぞれが、1つまたはそれを上回る観察を含み得る、1つまたはそれを上回るデータセットを含んでもよい。データセットは、上記で説明されるように、データの個別の「区分」に対応してもよい。データセット内の各観察は、観察と関連付けられる時間のインジケーション(例えば、タイムスタンプ)を含んでもよい。観察と関連付けられる時間は、観察の値が測定、報告、受信される等の時間であってもよい。観察と関連付けられる「時間」は、日付および/または時刻、もしくは任意の他の好適な時間データを含んでもよい。
ステップ920では、時系列データの時間間隔が、判定される。いくつかの実施形態では、データの時間間隔は、データと関連付けられるメタデータによって明示的に示される。いくつかの実施形態では、データの時間間隔は、(例えば、観察と関連付けられる時間インジケータの時間分解能に基づいて、および/または連続観察と関連付けられる時間の間の間隔に基づいて)データを分析することによって、判定される。
データセット内の観察の間の時間間隔は、一様または非一様であり得る。データセット内の観察の間の時間間隔が一様である場合、その一様な間隔は、データセットの時間間隔であってもよい。データセット内の観察の間の時間間隔が非一様である場合、データセットは、修正されたデータセット内の観察の間の時間間隔が一様であるように修正されてもよい。修正されたデータセットの時間間隔は、例えば、目的関数(例えば、加重目的関数)を元のデータセットに適用することによって、判定されてもよい。目的関数は、例えば、(1)非一様な持続時間のそれぞれを呈する複数対の連続観察の個別の割合、および/または(2)非一様な時間間隔の持続時間に基づいて、修正された時間間隔を判定してもよい。いくつかの実施形態では、修正された時間間隔は、最短共通時間周期(例えば、非一様な時間周期のそれぞれの整数の倍数である最短時間周期)である。
非一様な時間間隔を伴う元のデータセットは、元のデータセットの観察をサンプリング(例えば、ダウンサンプリング)および/または集約することによって、修正された一様な時間間隔を伴う修正されたデータセットに変換されてもよい。元のデータセットの観察をダウンサンプリングするステップは、元のデータセット内の観察によって網羅される時間周期内の修正された時間間隔のインスタンス毎に、時系列データの時間間隔のインスタンスに対応する時間と関連付けられる、元のデータセット内の全ての観察を識別するステップと、識別された観察を集約し、集約観察を生成するステップと、集約観察を修正されたデータセットの中に挿入するステップとを伴ってもよい。識別された観察のセットを集約するステップは、集約観察の中の各変数の値を、(1)識別された観察のうちの最古のものに含まれる、対応する変数値、(2)識別された観察のうちの最新のものに含まれる、対応する変数値、(3)識別された観察に含まれる、対応する変数値の最大値、(4)識別された観察に含まれる、対応する変数値の最小値、(5)識別された観察に含まれる、対応する変数値の平均、または(6)識別された観察に含まれる、対応する変数値の関数の値に設定することによって、実施されてもよい。
時系列データ内のデータセットの間の時間間隔は、一様または非一様であり得る。データセット間の時間間隔が一様である場合、その一様な間隔は、時系列データの時間間隔であってもよい。データセット間の時間間隔が非一様である場合、データセットのうちの1つまたはそれを上回るものは、修正されたデータセット間の時間間隔が一様であるように修正されてもよい。時系列データの修正された時間間隔は、データセットの間隔から選択される、または任意の他の好適な技法を使用して判定されてもよい。例えば、時系列データの修正された時間間隔は、(1)非一様な時間間隔のそれぞれを呈するデータセットに含まれる観察の個別の割合、および/または(2)データセットの非一様な時間間隔の持続時間に基づいて、目的関数(例えば、加重目的関数)を使用して計算されてもよい。いくつかの実施形態では、時系列データの修正された時間間隔は、最短共通時間周期(例えば、データセットの非一様な時間間隔のそれぞれの整数の倍数である最短時間周期)である。データセットの時間間隔を修正するための技法のいくつかの実施形態が、上記に説明される。
方法900のいくつかの実施形態では、特徴工学が、時系列データに実施されてもよい。そのような特徴工学は、例えば、時系列データの時間間隔が判定される前または後に実施されてもよい。いくつかの実施形態では、時系列データに特徴工学を実施するステップは、時間を表す値を有する、時系列データ内の第1の変数を識別するステップと、第2の変数の値を生成するステップであって、第2の変数の各値は、第1の変数の時間値と参照時間値との間のオフセットである、ステップと、第2の変数を時系列データに追加するステップ(例えば、第2の変数の各値を、第2の変数の値が導出された第1の変数の値を含む、観察に追加するステップ)とを含んでもよい。いくつかの実施形態では、第1の変数は、時系列データから除去されてもよい。いくつかの実施形態では、参照時間は、イベント(例えば、出生、結婚、学校からの卒業、雇用主に対する雇用の開始、特定の地位での仕事の開始等)の日付である。本特徴工学技法は、絶対時間値を相対時間値に変換するために使用されてもよく、これは、異なる時間周期に及ぶ異なるデータセットからのデータ内のパターン(例えば、エンティティの年齢に関連するパターン)の識別を大いに促進し得、したがって、そのようなパターンに関連する値の正確な予測を大いに促進し得る。
いくつかの実施形態では、特徴工学を実施するステップは、時系列データを時間的にダウンサンプリングするステップを含む。時系列データを時間的にダウンサンプリングするためのいくつかの技法が、上記に説明される。時系列データを時間的にダウンサンプリングするステップは、時系列データに基づいて時系列モデル化技法の効率を増進してもよい(例えば、計算リソース使用を削減する)。
方法900のいくつかの実施形態では、グラフィック情報(例えば、グラフまたはチャート)が、ユーザインターフェースを介して提示(例えば、表示)されてもよい。グラフィック情報は、1つの変数の値の変化と別の変数の値の相関変化との間の時間的遅延を示してもよい。そのような相関は、任意の好適な技法を使用して検出されてもよい。
ステップ930では、時系列データの1つまたはそれを上回る変数が、標的として識別される。標的は、例えば、時系列データと関連付けられるメタデータに基づいて、予測問題の説明に基づいて、および/またはユーザ入力に基づいて、識別されてもよい。随意に、時系列データの1つまたはそれを上回る変数はまた、特徴として識別されてもよい。特徴は、例えば、時系列データと関連付けられるメタデータに基づいて、予測問題の説明に基づいて、および/またはユーザ入力に基づいて、識別されてもよい。
ステップ940では、時系列データによって表される予測問題と関連付けられる予想範囲が、判定される。予想範囲は、標的の値が予測される、時間周期の持続時間を示してもよい。予想範囲は、(1)時系列データの時間間隔、(2)時系列データに含まれる観察の数、(3)時系列データに含まれる観察によって網羅される時間周期、(4)マイクロ秒、ミリ秒、秒、分、時間、日、週、月、四半期、季節、年、10年、世紀、および1,000年から成る群から選択される、自然時間周期、(5)ユーザ入力等に基づいて、判定されてもよい。いくつかの実施形態では、予想範囲は、時系列データの時間間隔の整数の倍数である。一般に、予想範囲は、時系列データ内の観察の数が増加すると増加してもよい。
ステップ940では、時系列データによって表される予測問題と関連付けられるスキップ範囲が、判定される。スキップ範囲は、予想範囲内の最古の予測と関連付けられる時間と、予想範囲内の予測が基づく最新の観察と関連付けられる時間との間の時間的遅延を示してもよい。スキップ範囲は、少なくとも部分的に、時系列データの収集における待ち時間、時系列データの通信における待ち時間、時系列データを分析する際の待ち時間、時系列データの分析の通信における待ち時間、および/または時系列データの分析に基づいてアクションを実装することの待ち時間に基づいて、判定されてもよい。そのような待ち時間は、例えば、ユーザ入力および/または時系列データと関連付けられるメタデータに基づいて、判定されてもよい。いくつかの実施形態では、スキップ範囲は、時系列データと関連付けられるメタデータに基づいて判定される、またはユーザ規定される。
ステップ950では、訓練データが、時系列データから生成される。訓練データは、データセットのうちの少なくとも1つの観察の第1のサブセットを含む。観察の第1のサブセットは、観察の訓練入力および訓練出力集合を含む。訓練入力および訓練出力集合内の観察と関連付けられる時間は、それぞれ、訓練入力時間範囲および訓練出力時間範囲に対応する。スキップ範囲は、訓練出力時間範囲の開始から訓練入力時間範囲の終了を分離する。訓練出力時間範囲の持続時間は、少なくとも予想範囲と同程度に長い。
いくつかの実施形態では、訓練入力時間範囲の持続時間は、時系列データ内の観察の総数、変数のうちの少なくとも1つの値の経時的な変動の量、変数のうちの少なくとも1つの値の季節変動の量、複数の時間周期にわたる変数のうちの少なくとも1つの値の変動の一貫性、および/または予想範囲の持続時間に基づいて、判定される。
いくつかの実施形態では、訓練データのサブセットが、全ての訓練データでモデルを訓練するのではなく、サブセットで予測モデルを訓練する目的のために識別される。訓練データのサブセットに基づくモデルを訓練するステップは、全ての訓練データに基づくモデルを訓練するよりも少ない計算リソース(および時間)を使用してもよい。いくつかの実施形態では、訓練データの各サブセットは、訓練入力時間範囲の終了時間に終了する。訓練データサブセットは、訓練入力時間範囲内の異なる時間に開始してもよい、および/または異なるサンプルレートで訓練入力時間範囲内の観察をサンプリングしてもよい。訓練データサブセットの持続時間は、予想範囲の持続時間の整数の倍数であってもよい。
いくつかの実施形態では、訓練データは、ダウンサンプリング(例えば、時間的にダウンサンプリングまたはクロスセクショナルにダウンサンプリング)されてもよい。訓練データは、ダウンサンプリングされた時間間隔を選択し、ダウンサンプリングされた時間間隔に従って(例えば、上記に説明される技法を使用して)訓練データ内のデータセットのそれぞれをダウンサンプリングすることによって、時間的にダウンサンプリングされてもよい。訓練データは、訓練データからデータセットのうちの1つまたはそれを上回るものを除去することによって、クロスセクショナルにダウンサンプリングされてもよい。いくつかの実施形態では、訓練データは、時間的ダウンサンプリングおよびクロスセクショナルなダウンサンプリングの両方を行われてもよい。
ステップ960では、試験データが、時系列データから生成される。試験データは、データセットのうちの少なくとも1つの観察の第2のサブセットを含む。観察の第2のサブセットは、観察の試験入力および試験検証集合を含む。試験入力および試験検証集合内の観察と関連付けられる時間は、それぞれ、試験入力時間範囲および試験検証時間範囲に対応する。スキップ範囲は、試験検証時間範囲の開始から試験入力時間範囲の終了を分離する。試験検証時間範囲の持続時間は、少なくとも予想範囲と同程度に長い。
いくつかの実施形態では、試験入力時間範囲の持続時間は、時系列データ内の観察の総数、変数のうちの少なくとも1つの値の経時的な変動の量、変数のうちの少なくとも1つの値の季節変動の量、複数の時間周期にわたる変数のうちの少なくとも1つの値の変動の一貫性、および/または予想範囲の持続時間に基づいて、判定される。
いくつかの実施形態では、試験データのサブセットが、全ての訓練データでモデルを訓練するのではなく、サブセットで予測モデルを試験する目的のために識別される。試験データのサブセットに基づくモデルを訓練するステップは、全ての訓練データに基づくモデルを訓練するよりも少ない計算リソース(および時間)を使用してもよい。いくつかの実施形態では、訓練データの各サブセットは、訓練入力時間範囲の終了時間に終了する。試験データサブセットは、訓練入力時間範囲内の異なる時間に開始してもよい、および/または異なるサンプルレートで試験入力時間範囲内の観察をサンプリングしてもよい。試験データサブセットの持続時間は、予想範囲の持続時間の整数の倍数であってもよい。
いくつかの実施形態では、試験データは、ダウンサンプリング(例えば、時間的にダウンサンプリングまたはクロスセクショナルにダウンサンプリング)されてもよい。時間的およびクロスセクショナルなダウンサンプリングのためのいくつかの技法が、上記に説明される。
ステップ970では、予測モデルが、訓練データに適合される。ステップ980では、適合モデルが、試験データで試験される。交差検証(限定されないが、ネスト化交差検証を含む)およびホールドアウト技法が、予測モデルを適合および/または試験するために使用されてもよい。交差検証の目的のために、時系列データは、クロスセクショナルおよび/または時間的に分割されてもよい。
予測問題のための予測モデルを選択するための方法300のいくつかの実施形態が、時系列予測問題のための時系列予測モデルを選択するために使用されてもよい。いくつかの実施形態では、時系列データの特徴のうちの1つまたはそれを上回るもののモデル特有の予測値が、(例えば、下記に説明される方法1000の実施形態を使用して)判定されてもよい。いくつかの実施形態では、時系列予測モデルは、(例えば、本明細書に説明される技法を使用して)混合されてもよい。いくつかの実施形態では、時系列予測モデルは、(例えば、本明細書に説明される技法および/または性能増進を使用して)展開ならびに/もしくはリフレッシュされてもよい。いくつかの実施形態では、時系列データ内の2つまたはそれを上回る変数(例えば、特徴)の間の相互作用強度が、(例えば、本明細書に説明される技法を使用して)判定されてもよい。
普遍的特徴重要性
監視下の機械学習問題に取り組むとき、主要な課題は、多くの場合、標的の最予測値を有する特徴を測定することである。そのような特徴重要性を測定することは、予測モデル化における2つの別個の段階、すなわち、(1)一般に予測問題を理解すること、および(2)具体的適合モデルが予測結果を生成する方法を理解することにおいて有用であり得る。
目的(1)のために、特徴重要性の測定基準は、データセットの評価(例えば、方法400のステップ408)、(例えば、方法400のステップ410における)ユーザへの評価の提示、(例えば、方法400のステップ412における)ユーザがデータセットを精緻化する方法、および/または(例えば、ステップ422ならびに424における)試行する、もしくは試行を提案するモデル化技法を知らせてもよい。目的(2)のために、特徴重要性の測定基準は、(例えば、方法400のステップ432において)混合モデルの自動開発を知らせ、(例えば、方法400のステップ446において)代替的モデルの相対性能を理解する際にユーザを支援してもよい。
実践では、第1の目的のための特徴重要性を判定するステップは、概して、特定のモデルまたはモデル族(例えば、ランダムフォレスト)の文脈内で起こる。当然ながら、各モデルは、特徴重要性を測定するためのデバイスとしての利益および欠点を有することができる。したがって、いくつかの異なるタイプのモデルを使用し、特徴重要性を計算するステップは、向上した理解を実現し得る。例えば、ランダムフォレスト、一般化付加モデル、およびサポートベクターマシンは、機械学習のための根本的に異なるタイプのモデルであり、同一のデータセットのための同一の特徴の重要性の異なる測定値を生成してもよい。そのような差異は、予測問題の構造へのより深い洞察を提供し、将来の探索の手段を提案してもよい。目的(2)のために、特徴重要性は、概して、検討中のモデルに特有である。
恣意的モデルのための特徴重要性を計算するための技法のいくつかの実施形態が、ここで説明される。
データセット(またはその任意のサンプル)およびモデル化技法を考慮すると、探索エンジン110は、普遍的な部分的依存性を使用して、任意の特徴の重要性を計算してもよい。第1に、エンジン110は、モデル化技法を使用して、サンプルに適合された予測モデルに関して精度測定基準を取得する。エンジン110は、最初から本適合を実装するか、または前の適合を使用するのかいずれかを行うことができる。次いで、所与の特徴に関して、エンジン110は、全ての観察を横断して全てのその値をとり、それらをシャッフルし、それらを観察に再び割り当てる(例えば、それらを無作為に再び割り当てる)。本無作為シャッフルは、その特徴の任意の予測値を低減させ得る(例えば、破壊する)。エンジンは、次いで、シャッフルされた特徴値を伴うデータセット上でモデルを再スコア化し、精度測定基準の新しい値を生成してもよい。(随意に、シャッフルされたデータセット上の適合モデルの再スコア化の前に、エンジンは、モデルをシャッフルされたデータセットに再適合させてもよい。)モデルの精度の減少は、予測値が失われた量、したがって、モデルにとって、および/またはモデル化技法の範囲内の特徴の重要性を示す。
1つのモデルおよび/またはモデル化技法のための1つの特徴の重要性を計算するための上記で説明される技法を使用して、エンジンは、特徴にわたって反復し、モデルおよび/またはモデル化技法内の特徴の相対重要性を判定する、モデルおよび/またはモデル化技法にわたって反復し、モデルならびに/もしくはモデル化技法を横断して特徴の相対重要性を判定する、または両方を行うことができる。
目的(1)を満たすために、エンジン110は、概して、特徴重要性の例証的結果を生成する、モデル化技法のリストを維持してもよい。データセットを評価するとき、エンジン110は、これらのモデル化技法の全てまたはいくつかを自動的に起動してもよい。エンジンは、データセットの優先順位に基づいて、起動するモデル化技法を選定してもよい。ユーザインターフェースは、使用されるモデル化技法毎に個別に、または使用される全てのモデル化技法を横断して比較的に、特徴重要性値を表示してもよい。エンジン110はまた、ユーザが、特徴重要性を測定するために使用するモデル化技法ライブラリ130から恣意的モデル化技法を選択することを可能にしてもよい。
予測問題を理解する際にユーザを支援することに加えて、エンジン110は、特徴重要性の本適用から結果を使用し、付加的自動分析を誘導してもよい。例えば、ボードを横断して重要性において高くスコア化する特徴に関して、エンジンは、より多くのリソースを、これらの特徴の相互作用を探索することに割り付けてもよい。ボードを横断して重要性において低くスコア化する特徴に関して、エンジンは、データセットからこれらの特徴を完全にドロップしてもよい。いくつかの特徴が、いくつかのモデルまたはモデル化技法のために高い重要性、および他のモデルまたはモデル化技法のために低い重要性を有する場合において、エンジンは、より多くのモデル化技法を試行し、モデル空間探索プロセスの早期に、より多くのデータを使用する、予測モデルのより深い検索を指図してもよい。
目的(2)を満たすために、エンジンは、自動的に、または要求に応じて、適合モデルの特徴重要性値を計算してもよい。自動的の場合、エンジン110は、全てのモデルまたはその一部のいずれかの特徴重要性値を計算してもよい。一部は、任意の好適な方法で計算されてもよい。例えば、一部は、N個の最高性能モデル、ある性能測定基準に関して少なくともあるレベルの性能の閾値を満たす全てのモデル、またはその性能測定基準が最上位モデルの性能の所与の部分内である全てのモデルを含んでもよい。いくつかの実施形態では、エンジンは、利用可能な計算リソースを考慮し、これらのリソースに比例してより大きく、または小さくなるように一部を調節してもよい。
いくつかの実施形態では、ユーザは、要求に応じて特徴重要性計算を要求し得る。ある場合には、ユーザは、所与のモデルのためのいくつかまたは全ての特徴の重要性を確認することを所望し得る。他の場合では、ユーザは、異なるモデルを横断していくつかまたは全ての特徴の重要性を確認することを所望し得る。
上記で説明される技法を使用し、一般に予測問題または特定のモデルのいずれかの特徴重要性値を提供することは、多数の利益を有し得る。例えば、
(1)特徴が、一般に、または少なくとも全ての正確なモデルにおいて、情報を与えない場合、その特徴に対応するデータの収集は、停止されてもよい。ある場合には、そのソース場所から特徴を抽出する、またはベンダにデータの代金を支払うという労働等の特徴を利用可能にするための実際の費用が存在する。
(2)特徴重要性のユーザの期待および測定された特徴重要性の差は、さらなる調査の正当な理由になり得る。相違を構成するデータセットの誤差が存在することが判明し得る、または差異が本物であり、予測問題への新しい洞察を提供することが判明し得る。
(3)ある場合には、可能な限り少ない特徴を使用し、予測を行うモデルを生成することが望ましくあり得る。これらの場合において、ユーザは、最大重要性のN個の特徴のみ、または規定閾値を超える重要性値を有する特徴のみを用いて、具体的モデル化技法もしくは全てのモデル化技法の間の検索を再起動し得る。
(4)重要である特徴を把握することは、最も重要な特徴を変換して組み合わせる異なる方法を用いて実験することによって、ユーザが予測モデルを改良することに役立ち得る。
データセットの1つまたはそれを上回る特徴の予測値を判定するための技法のいくつかの実施形態
図10は、初期予測問題を表す初期データセットの1つまたはそれを上回る特徴の予測値(例えば、「重要性」)を判定するための方法1000を示す。いくつかの実施形態では、予測モデル化システム100は、(例えば、方法400のステップ408における)データセットの評価中に、および/または(例えば、方法300を参照して上記で説明されるように)データセットを処理するときに、方法1000(もしくはその部分)を実施してもよい。いくつかの実施形態では、方法1000は、任意の予測モデルまたは予測モデル化技法への任意のデータセット特徴の予測値を判定するために使用されることができる。
ステップ1010では、システム100は、複数の予測モデル化プロシージャを実施する。予測モデル化プロシージャはそれぞれ、予測モデルと関連付けられる。各モデル化プロシージャを実施するステップは、関連付けられる予測モデルを、初期予測問題を表す初期データセットの少なくとも一部に適合させるステップを含む。初期データセットは、以前の観察を含み、各観察は、概して、初期データセットの特徴のうちの少なくともいくつかの値を含む。
ステップ1020では、システム100は、適合予測モデルのそれぞれの第1の精度スコアを判定する。適合モデルの第1の精度スコアは、適合モデルが初期予測問題の1つまたはそれを上回る成果を予測する精度を表す。限定ではないが、初期データセットのホールドアウト部分にモデルを試験するステップを含む、モデルの精度を判定するための任意の好適な測定基準および/または技法が、使用されてもよい。
ステップ1030では、システム100は、初期データセット内の観察を横断して特定の特徴Fの値を「シャッフル」し、それによって、修正された予測問題を表す、修正されたデータセットを生成する。いくつかの実施形態では、シャッフルは、それらの元の観察からの特徴Fの値を異なる観察に(例えば、無作為に)再び割り当てることによって実施される。本シャッフル動作は、特徴Fの任意の予測値を低減させ得る(例えば、破壊する)。限定ではないが、データセットから特徴Fを除去するステップ、または特徴Fの同一の値を各観察に再び割り当てるステップを含む、データセット内の特徴Fの予測値を低減させる(例えば、破壊する)ための他の技法が、可能である。いくつかの実施形態では、閾値を下回って特徴Fの予測値を低減させる任意の技法が、使用されてもよい。
ステップ1040では、システム100は、修正された予測問題のための適合予測モデルの第2の精度スコアを判定する。第2の精度スコアは、適合モデルが修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す。限定ではないが、修正されたデータセットのホールドアウト部分にモデルを試験するステップを含む、モデルの精度を判定するための任意の好適な測定基準および/または技法が、使用されてもよい。いくつかの実施形態では、適合モデルは、第2の精度スコアを判定することに先立って、修正されたデータセットに再適合される。
ステップ1050では、予測モデル化プロシージャ(または適合モデル)毎に、システム100は、特徴Fの予測値を計算する。いくつかの実施形態では、モデル化プロシージャまたはモデルのための特徴Fの予測値は、精度の変化に基づいて(例えば、モデルのための第1の精度スコアと第2の精度スコアとの間の差異に基づいて)計算される。いくつかの実施形態では、予測値が、概して、第1の精度スコアと第2の精度スコアとの間の差異が増加すると増加するように、第1および第2の精度スコアに基づいて、モデル化プロシージャまたはモデルのための特徴の予測値を判定するために、関数が使用される。ステップ1050において判定される予測値は、個々の予測値が特定のモデル化プロシージャまたはモデルに特有であり得るため、本明細書では「モデル特有の予測値」と称され得る。
ステップ1060では、システム100は、別の特徴の予測値を分析するかどうかを判定する。いくつかの実施形態では、本判定は、ユーザ入力に基づいて行われる(例えば、本システムは、ユーザによって規定される全ての特徴が分析されるまで、特徴の予測値を分析し続ける)。いくつかの実施形態では、本システムは、データセット内の全ての特徴を分析する。いくつかの実施形態では、本システムは、データセット内の特徴のサブセットのみを分析する。そのような特徴は、任意の好適な基準に基づいて選択されることができる。本システムが、分析する別の特徴が存在することをステップ1060において判定する場合、本システムは、次いで、その特徴に関してステップ1030−1050を繰り返す。
いくつかの実施形態では、方法1000は、ステップ1010において実施される予測モデル化プロシージャを選択する付加的ステップ(図示せず)を含む。システム100は、例えば、予測モデル化技法のライブラリ130から、モデル化プロシージャを選択してもよい。いくつかの実施形態では、システム100は、2つまたはそれを上回る異なる予測モデル化族から2つまたはそれを上回るモデル化プロシージャを選択する。予測モデル化族の実施例は、線形回帰技法(例えば、一般化付加モデル)、ツリーベースの技法(例えば、ランダムフォレスト)、サポートベクターマシン、ニューラルネットワーク(例えば、多層感知)等を含むことができる。例えば、システム100は、ツリー族からのモデル化プロシージャ(例えば、ランダムフォレストモデル化プロシージャ)、線形回帰族からの別のモデル化プロシージャ(例えば、一般化付加モデル)、およびサポートベクターマシンモデル化プロシージャを選択してもよい。
システム100は、限定ではないが、(1)モデル特有の予測値に基づいてデータセットを処理するステップと、(2)データセットの評価をユーザに提示するステップ、(3)モデル特有の予測値に基づいて混合のための予測モデルを選定するステップと、(4)評価されたモデルおよびそれらの関連付けられるモデル特有の予測値をユーザに提示するステップと、(5)モデル特有の予測値に基づいて、予測問題のための潜在的予測モデル化ソリューションの空間を評価するプロセス中にリソースを割り付けるステップと、(6)特徴のモデル特有の予測値に基づいて、特徴のモデル非依存性予測値(特徴重要性値)を計算するステップとを含む、方法1000を通して判定される、モデル特有の予測値(特徴重要性値)のうちの1つまたはそれを上回るものを使用して、任意の好適なタスク(例えば、予測モデル化タスク)を実施してもよい。いくつかの実施形態では、モデル非依存性特徴重要性値を計算した後、システム100は、モデル非依存性特徴重要性値を使用して、任意の好適なタスク(例えば、前の文に説明されるようなタスク(1)−(5))を実施してもよい。
いくつかの実施形態では、予測モデル化プロシージャの一部として、(例えば、方法400のステップ408における)データセットの評価中に、および/または(例えば、方法300を参照して上記で説明されるように)データセットを処理するときに、システム100は、モデル特有の予測値に基づいて、特徴生成ならびに/もしくは特徴工学を実施する。例えば、システム100は、データセットから「あまり重要ではない」特徴を取り除いてもよい。本文脈では、特徴は、特徴の予測値が閾値未満である場合、特徴がデータセット内の特徴の間でM個の最低予測値のうちの1つを有する場合、特徴がデータセット内の特徴の間でN個の最高予測値のうちの1つを有していない場合等に、「あまり重要ではない」として分類されてもよい。別の実施例として、本システムは、データセット内の「より重要な」特徴から導出された特徴を作成してもよい。本文脈では、特徴は、特徴の予測値が閾値を上回る場合、特徴がデータセット内の特徴の間でN個の最高予測値のうちの1つを有する場合、特徴がデータセット内の特徴の間でM個の最低予測値のうちの1つを有していない場合等に、「より重要」として分類されてもよい。いくつかの実施形態では、システム100は、方法1000を使用して、導出された特徴の予測値を計算してもよい。
いくつかの実施形態では、本システム100は、(例えば、方法400のステップ410において)データセットの評価をユーザに提示(例えば、表示)してもよく、提示された評価は、データセットの特徴の予測値および/またはそこから導出される情報を含んでもよい。例えば、1つまたはそれを上回るモデル化プロシージャもしくはモデルに関して、システム100は、(1)「より重要な」および/または「あまり重要ではない特徴」を識別し、(2)特徴の予測値を表示し、(3)それらの予測値によって特徴をランク付けし、ならびに/もしくは(4)あまり重要ではない特徴の収集が停止されること、および/またはあまり重要ではない特徴がデータセットから除去されることを推奨してもよい。データセットの評価をユーザに提示することに応答して、システム100は、(例えば、方法400のステップ412において)データセットの精緻化を規定するユーザ入力を受信してもよい。
いくつかの実施形態では、システム100は、モデル特有の予測値に基づいて、混合のための予測モデルを選択し、(例えば、方法400のステップ432において)選択されたモデルを混合する。システム100は、任意の好適な技法を使用し、混合のための予測モデルを選択してもよい。例えば、システム100は、混合のための「補完的最上位モデル」を選択してもよい。本文脈では、「補完的最上位モデル」は、異なる機構を通してそれらの高い精度を達成する、正確なモデルを含んでもよい。システム100は、モデルの精度が閾値精度を上回る場合、モデルが適合モデルの間でN個の最高精度値のうちの1つを有する場合、モデルが適合モデルの間でM個の最低精度値のうちの1つを有していない場合等に、モデルを「最上位」モデルとして分類してもよい。本システムは、(1)モデルのための最も重要な特徴(例えば、モデルの最高予測値を有する特徴)が異なる、または(2)第1のモデルにとって重要である特徴が第2のモデルにとって重要ではなく、第1のモデルにとって重要ではない特徴が第2のモデルにとって重要である場合に、2つのモデルを「補完的モデル」として分類してもよい。本文脈では、特徴は、特徴がモデルの高い予測値(例えば、最高予測値、N個の最高予測値のうちの1つ、閾値を上回る予測値等)を有する場合に、モデルにとって「重要」であり得る。本文脈では、特徴は、特徴がモデルの低い予測値(例えば、最低予測値、N個の最低予測値のうちの1つ、閾値よりも低い予測値等)を有する場合に、モデルにとって「重要ではなく」であり得る。いくつかの実施形態では、システム100は、上記で説明される分類技法を使用し、混合のための2つまたはそれを上回る補完的最上位モデルを選択してもよい。
ある場合には、補完的最上位モデルを混合するステップは、構成要素モデルに対して、非常に高い精度を伴う混合モデルを生じさせてもよい。対照的に、非補完的モデルを混合するステップは、構成要素モデルよりも有意に高い精度を伴う混合モデルを生じさせない場合がある。
いくつかの実施形態では、システム100は、(例えば、方法400のステップ446において)評価された予測モデルおよびそれらの関連付けられるモデル特有の予測値をユーザに提示してもよい。いくつかの実施形態では、システム100は、予測モデルのサブセット(例えば、最上位モデル)のみの特徴重要性値を計算および/または表示する。特徴重要性値をユーザに提示するステップは、評価されたモデルの相対性能を理解する際にユーザを支援してもよい。例えば、提示された特徴重要性値に基づいて、ユーザ(またはシステム100)は、他の最上位モデルよりも優れている最上位モデルM、およびモデルMにとって重要であるが、他の最上位モデルにとって重要ではない、1つまたはそれを上回る特徴Fを識別してもよい。ユーザは、他の最上位モデルに対して、モデルMが特徴Fによって表される情報をより良好に利用していることを結論付けてもよい(またはシステム100は、それを示してもよい)。本発見に基づいて、モデルMによって予想される成果に関心を持つ関係者は、特徴Fを測定または制御するためのシステムに投資してもよく、これは、モデルが予測している成果を改良し得る。
いくつかの実施形態では、(例えば、方法300を実施している間に)予測問題のための潜在的予測モデル化ソリューションの空間を評価するプロセス中に、システム100は、予測問題を表すデータセット内の特徴の予測値に基づいて、モデル化プロシージャの評価のためのリソースを割り付けてもよい。例えば、システム100は、(例えば、方法300のステップ310において、または方法400のステップ424において)評価する予測モデル化プロシージャを選択もしくは提案してもよい。上記で説明されるように、システム100は、データセットのために好適または高度に好適であると予測される、予測モデル化プロシージャを選択もしくは提案してもよい。規定特性を有するデータセットのためのモデル化プロシージャの好適性を判定するためのいくつかの技法が、上記に説明される。予測問題の特性に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定するとき、システム100は、データセットのより重要な特徴の特性を予測問題の特性として扱ってもよい。このようにして、システム100によって生成される好適性スコアは、データセットのより重要な特徴に合わせられてもよい。システム100が好適性スコアに基づいてリソースを割り付けるため、好適性スコアをデータセットのより重要な特徴に合わせるステップは、部分的に特徴重要性に基づいて、リソースを予測モデル化プロシージャの評価に割り付けさせてもよい。
加えて、または代替として、システム100は、(例えば、データセットの評価中に、および/または方法300もしくは方法400のステップ408を参照して上記で説明されるようにデータセットを処理するときに)より多くのリソースを、データセットのより重要な特徴を伴う特徴生成タスクに割り付け、ならびに/もしくは(例えば、方法400のステップ432において)より多くのリソースを補完的最上位モデルのリソースの混合に割り付けてもよい。
いくつかの実施形態では、システム100は、特徴のモデル特有の予測値に基づいて、特徴Fのモデル非依存性予測値を計算してもよい。システム100は、限定ではないが、(1)モデル特有の予測値の統計的測定値(例えば、平均値、中央値、標準偏差等)を計算するステップ、または(2)モデル特有の予測値の組み合わせを判定するステップを含む、任意の好適な技法を使用して、モデル非依存性予測値を計算してもよい。後者の場合、組み合わせは、加重組み合わせであってもよい。加重組み合わせでは、より正確なモデルのモデル特有の特徴値は、あまり正確ではないモデルのモデル特有の特徴値よりも重く加重されてもよい。いくつかの実施形態では、最も正確ではないモデル化プロシージャのモデル特有の特徴値は、本段落に説明される計算および/または組み合わせから除外されてもよい。
二次モデル
(例えば、「モデル展開エンジン」と題された節において)上記で議論されるように、好適な二次モデル化技法(例えば、RuleFit)を使用してモデルのうちのモデル(「二次モデル」を作成し、予測コードを生成するタスクを単純化する、および/またはモデルを作成するために使用されるモデル化技法の専用詳細の開示を防止することが望ましくあり得る。また、人々は、元のモデルよりも容易に二次モデルを解釈することが可能であり得、二次モデルは、別様に「ブラックボックス」モデルへの洞察を提供してもよい。
しかしながら、二次モデルがソースモデルよりも予測のために系統的にあまり正確ではない場合があるという懸念が存在する。ソースモデルから二次モデルに移行するステップと関連付けられる精度のいかなる損失も低減させる(例えば、最小限にする)ための(ある場合には、それらのソースモデルよりも高い精度を伴う二次モデルを生成するための)技法のいくつかの実施形態が、下記に説明される。
いくつかの実施形態では、ユーザが(例えば、方法400のステップ446において)適合モデルおよび/または(例えば、方法400のステップ450において)最上位モデルに関するホールドアウト試験の結果を提示した後、ユーザは、(a)モデルを解釈して、それが特徴を使用し、正確な予測を生成する方法を理解する、および/または(b)展開エンジン140を使用してモデルを展開することを所望し得る。あるモデル化技法は、モデルを構築するための不透明および/または複雑な方法を使用し、それによって、モデルを理解しにくくし、少なくともある場合には、予測コードを生成することの困難を増加させ得る。専用モデル構築技法の開示を防止するステップは、モデルを理解可能にし、モデルのための予測コードを生成するという課題をさらに複雑化し得る。
いくつかの実施形態では、予測モデル化システム100は、ソースモデルの二次モデルを構築することによって、これらの問題に対処する。いくつかの実施形態では、予測モデル化システム100は、概して、解釈することが比較的容易であるモデルを生成し、予測コードが比較的容易に生成され得る、1つまたはそれを上回るモデル化技法(例えば、RuleFit、一般化付加モデル等)を使用して、二次モデルを構築する。そのような技法は、本明細書では「二次モデル化技法」と称される。エンジン110が適合「一次」モデル(例えば、ユーザがより良く理解することを所望する一次モデル、ユーザが予測コードを生成することを所望する一次モデル、および/または専用特徴を有する一次モデル)を生成した後、システム100は、二次モデル化技法を使用して、一次モデルの二次モデルを作成することができる。
一次モデル内の特徴毎に、元のデータセットから、または元のデータセットから導出される、特徴値の対応するセットが存在する。二次モデル化技法は、一次モデルと同一の特徴を使用してもよく、したがって、二次モデル化技法の訓練および試験データに、そのような特徴の元の値またはそのサブセットを使用してもよい。いくつかの実施形態では、データセットからの標的の実際の値を使用する代わりに、二次モデル化技法は、一次モデルからの標的の予測値を使用する。
ある場合には、二次モデル化技法は、代替的もしくは補助的訓練および/または試験データを使用してもよい。そのような代替物は、同一もしくは異なるデータソースのいずれかからの他の現実世界データ、(例えば、内挿および外挿を介した)(例えば、現実世界サンプルに存在するよりも広い範囲の可能性を網羅する目的のための)機械生成データと組み合わせられた現実世界データ、または機械ベースの確率モデルによって完全に生成されるデータを含んでもよい。いくつかの実施形態では、二次モデルを訓練するために使用される標的変数の値は、一次モデルからの予測値である。
1つの懸念は、一次モデルにおける任意の誤差が、二次モデルを構築するときに複雑化または拡大され得、それによって、二次モデルの精度を系統的に低減させることである。第1に、本発明者らは、これが経験的に真実であるかどうかという疑問が存在することを認識および理解している。第2に、ある場合には、これが真実である場合、本発明者らは、より正確な一次モデルを使用することが、精度の損失を低減させる可能性が高いことを認識および理解している。例えば、混合モデル(例えば、「モデル化空間探索エンジン」と題された節の終わりに向かって説明されるような)が、ある時は、任意の単一のモデルよりも正確であるため、二次モデルを一次モデルの混合に適合させるステップは、二次モデル化と関連付けられる精度のいかなる損失も低減させ得る。
本発明者らは、二次モデルの精度についての懸念が大部分は見当外れであることを経験的に判定している。1195個の分類および1849個の回帰一次モデルをもたらす、381個のデータセットについてのシステムの試験が、実施された。試験された分類モデルに関して、二次モデルの43%は、対応する一次モデルほど正確ではなかったが、わずか10%は、精度の対数損失測定値によると、より悪かった。二次モデルの30パーセントは、実際に、一次モデルよりも正確であった。事例の27%のみでは、10%を上回る二次モデルは、一次モデルほど正確ではなかった。これらの場合の約3分の1(全集団のほぼ9%)は、データセットが非常に小さいときに発生した。これらの事例のさらに3分の1(再度、全集団のほぼ9%)は、一次モデルが0.1未満の対数損失において非常に正確であり、二次モデルもまた、依然として、0.1未満の対数損失において非常に正確であったときに発生した。したがって、十分に大きいデータセットを伴う事例の90%超では、二次モデルは、一次モデルの10%以内であった、または二次モデルは、絶対標準によって非常に正確であったかのいずれかである。事例の41%において、最良二次モデルが、一次モデルの混合から導出された。
試験された回帰モデルに関して、二次モデルの39%は、対応する一次モデルほど正確ではなかったが、わずか10%は、精度の残差平均平方誤差測定値によると、より悪かった。二次モデルの47パーセントは、実際に、一次モデルよりも正確であった。事例の14%のみでは、10%を上回る二次モデルは、一次モデルほど正確ではなかった。これらの事例の約10%(全集団のほぼ1.5%)は、データセットが非常に小さいときに発生した。全ての事例の35%では、最良二次モデルが、一次モデルの混合から導出された。
本経験的データに基づいて、本発明者らは、元のデータセットが十分に大きい場合に、二次モデルが、概して、比較的に正確または絶対的に正確のいずれかであることを認識および理解している。多くの場合、二次モデルは、実際には、一次モデルよりも正確である。最終的に、試験される全ての分類および回帰問題の3分の1を上回るものにおいて、最も正確な二次モデルが、一次モデルの混合から導出された。
本発明者らは、二次モデルが、(a)複雑な一次モデルを理解するため、(b)予測モデルのための予測コードを生成するタスクを単純化するため、および(c)専用モデル構築技法を保護するために有益であり得ることを認識および理解している。一次モデルの混合は、多くの場合、これらの利益を改良する。混合モデルは、大抵の時間に最良の予測結果を生成するが、それらはまた、混合に含まれる全てのモデルの全ての構成要素の複雑性を組み合わせるため、概して、より複雑である。また、混合モデルのための予測コードを生成するステップは、概して、混合に含まれる全ての構成要素モデルのための予測コードを生成するという課題も組み合わせる。これらの構成要素課題に加えて、混合モデルの全てが、概して、各予測を生成するように算出されるため、混合モデルは、概して、予測を生成することがより遅い(および/または予測を生成するためにより多くの計算リソースを要求する)。二次モデルは、概して、本時間(および/または計算リソースの使用)を単一のモデルを算出する時間まで短縮する。また、混合モデルは、各構成要素モデルの専用特徴を含有する。したがって、二次モデルおよび混合モデルは、高度に補完的な様式で動作する。
また、システム100が、データセットを、訓練、試験、およびホールドアウトパーティションに自動的に分離することができるため、本システムは、任意の特定の二次モデルが一次モデルと比較して十分に機能するかどうかを容易に判定することができる。
二次モデル化技法のいくつかの実施形態
図11Aを参照すると、二次予測モデルを生成するための方法1100は、ステップ1110および1120を含んでもよい。ステップ1110では、適合一次予測モデルが、取得される。一次予測モデルは、1つまたはそれを上回る第1の入力変数の値に基づいて、予測問題の1つまたはそれを上回る出力変数の値を予測するように構成される。一次モデルは、任意の好適な技法(例えば、予測モデル化プロシージャを実装する機械実行可能モジュールを実行するステップ、予測モデル化方法300の実施形態を実施するステップ、2つまたはそれを上回る予測モデルを混合するステップ等)を使用して、取得されてもよく、任意の好適なタイプの予測モデル(例えば、時系列モデル等)であってもよい。ステップ1120では、二次予測モデル化プロシージャが、適合一次モデルに実施される。二次モデル化プロシージャは、二次予測モデル(例えば、RuleFitモデル、一般化付加モデル、条件付き規則のセットとして編成される任意のモデル、前述のタイプのモデルのうちの2つまたはそれを上回るものの混合等)と関連付けられる。
図11Bを参照すると、二次予測モデル化プロシージャを実施するための方法1120は、ステップ1122、1124、1126、および1128を含んでもよい。ステップ1122では、二次入力データが、生成される。二次入力データは、複数の二次観察を含む。各二次観察は、1つまたはそれを上回る第2の入力変数の観察値と、第2の入力変数の値に対応する第1の入力変数の値に基づいて一次モデルによって予測される出力変数の値とを含む。二次入力データを生成するステップは、二次観察毎に、第2の入力変数の観察値および第1の入力変数の対応する観察値を取得するステップと、第1の入力変数の対応する観察値に一次予測モデルを適用し、出力変数の予測値を生成するステップとを含んでもよい。
一次モデルおよび二次モデルは、入力変数の同一のセットを使用してもよい。代替として、二次モデルは、一次モデルの入力変数のうちの1つまたはそれを上回るもの(例えば、全て)を使用してもよく、また、1つまたはそれを上回る他の入力変数を使用してもよい。代替として、二次モデルは、一次モデルの入力変数のうちのいずれも使用しなくてもよく、1つまたはそれを上回る他の入力変数を使用してもよい。
ステップ1124では、二次訓練データおよび二次試験データが、二次入力データから生成される。入力データセットから訓練データおよび試験データを生成するための技法のいくつかの実施形態が、本明細書に説明される。
ステップ1126では、適合一次モデルの適合二次予測モデルが、二次予測モデルを二次訓練データに適合させることによって生成される。ステップ1128では、適合一次モデルの適合二次予測モデルが、二次試験データで試験される。交差検証(限定されないが、ネスト化交差検証を含む)およびホールドアウト技法が、予測モデルを適合および/または試験するために使用されてもよい。
いくつかの実施形態では、一次および二次適合モデルは、比較されてもよい。例えば、適合モデル毎の精度スコアが、判定されてもよい。各適合モデルの精度スコアは、適合モデルが1つまたはそれを上回る予測問題の成果を予測する精度を表してもよい。(いくつかの実施形態では、二次モデルの精度スコアは、適合モデルが一次モデルによって予測される標的変数値を予測する精度ではなく、適合モデルが標的変数の観察を予測する精度を表す。他の実施形態では、二次モデルの精度スコアは、適合モデルが一次モデルによって予測される標的変数値を予測する精度を表す。)ある場合には、適合二次モデルの精度スコアは、適合一次モデルの精度スコアを超える。別の実施例として、計算リソースの量は、1つまたはそれを上回る予測問題の成果を予測するために適合予測モデルのそれぞれによって使用される。いくつかの実施形態では、適合二次モデルによって使用される計算リソースの量は、適合一次モデルによって使用される計算リソースの量未満である。
いくつかの実施形態では、複数の二次モデル化プロシージャが、実施され、一次モデルの複数の二次モデルが、生成される。いくつかの実施形態では、二次モデルの精度スコアおよび/または計算リソース使用が、判定ならびに比較される。二次モデルのうちの1つまたはそれを上回るものは、少なくとも部分的に、モデルの精度スコアおよび/または計算リソース使用に基づいて、展開のために選択されてもよい。
予測問題のための予測モデルを選択するための方法300のいくつかの実施形態が、予測問題のための二次予測モデルを選択するために使用されてもよい。いくつかの実施形態では、入力データの特徴のうちの1つまたはそれを上回るもののモデル特有の予測値が、(例えば、下記に説明される方法1000の実施形態を使用して)二次モデルに関して判定されてもよい。いくつかの実施形態では、二次予測モデルは、(例えば、本明細書に説明される技法を使用して)混合されてもよい。いくつかの実施形態では、二次予測モデルは、(例えば、本明細書に説明される技法および/または性能増進を使用して)展開ならびに/もしくはリフレッシュされてもよい。
予測問題のための予測モデルを選択するための方法300のいくつかの実施形態が、予測問題のための二次予測モデルを選択するために使用されてもよい。
テキスト言語条件付け
データセットのいくつかの特徴は、非構造化テキストブロックを含んでもよい。異なる言語が異なる特性を有するため、最良の予測モデル化ステップは、非構造化テキスト特徴の中に存在する1つまたは複数の言語に依存し得る。
いくつかの実施形態では、システム100は、テキスト文字列の中の言語を検出する、またはより一般的には、文字列が所与の言語の中にある可能性を計算する。システム100は、条件付きテキスト処理を通して、テキスト言語の知識を予測モデル化プロセスに組み込んでもよい。例えば、モデル化技法は、テキストから構造化特徴を抽出するステップを含む、前処理ステップを含んでもよい。特徴抽出プロシージャは、言語に基づいて変動してもよい。別の実施例として、いくつかのモデル化技法は、特定の言語に具体的であるか、または異なる言語に関して異なるように機能するかのいずれかであってもよい。
例えば、文字nグラムは、中国語テキストでうまく稼働する。それらは、多くの場合、英語テキストで良好な結果を生成するが、あまり一貫していないため、ワードnグラムが、通常、英語テキストの処理のために好ましい。また、ドイツ語およびフィンランド語等の多くの形態素から単一の言葉を形成する、「総合的」言語も存在する。ワードnグラムが、本構造の中の情報の多くを失い得るため、これらの言語の中のこれらの処理テキストは、概して、言葉から形態素を抽出するために付加的特殊トークン化を要求する。さらに、異なる言語からのテキストの処理は、ストップワード、語幹解釈、および見出語認定の除去のための異なる処置から利益を享受し得る。
いくつかの実施形態では、個々のモデル化技法は、検出された言語に依存する、テキスト処理のための条件付き論理を有してもよい。例えば、モデル化技法は、ヨーロッパ言語にワードnグラム、および中国語に文字nグラムを使用してもよい。エンジン110は、実行のために発送されるときに、1つまたは複数の検出された言語をモデル化技法にパスしてもよい。
いくつかの実施形態では、エンジン110は、言語に基づいて、評価からモデル化技法もしくはモデル化技法族を除外する、または言語に基づいて、それらのリソース割付(例えば、処理優先順位)を改変してもよい。いくつかの実施形態では、モデル化技法は、技法が好適である1つまたは複数の言語を規定する、関連付けられるメタデータを有してもよい。いくつかの実施形態では、モデル化技法は、技法が言語のセットに関して機能する可能性の程度を示す、関連付けられるメタデータを有してもよい。本性能推定値は、モデル化技法についての以前の情報に基づく、または異なるモデル化技法が異なる言語を用いて機能する程度に基づいてメタ機械学習を介して計算されてもよい。
相互作用強度
予測モデルでは、ともにとられる2つまたはそれを上回る予測因子変数(例えば、特徴)は、別個にとられるこれらの変数に加えて、もしくはその代わりに、標的変数に影響を及ぼし得る。いくつかの実施形態では、本システムは、多種多様な予測問題を横断してそのような相互作用を示す、測定基準の値または測定基準のセットを判定する。いくつかの実施形態では、エンジン110は、適切な相互作用モデル化技法を自動的に適用するプロセスに測定基準を組み込む。いくつかの実施形態では、エンジン110は、ユーザが、代替的な事前パッケージ化された相互作用モデル化技法の間で選択する、またはそれらの独自のカスタム技法を適用することを可能にする。
例えば、自動車保険との関連で、「年齢」と「性別」特徴との間の相互作用が存在し得る。いくつかの年齢において、女性は、男性よりも安全な運転者である。他の年齢において、男性および女性は、同等に安全である。そしてさらに他の年齢において、男性が、より安全である。別の実施例として、地理的分析との関連で、緯度と経度との間の相互作用が存在し得る。いかなる相互作用も伴わずに緯度および経度特徴のみを使用して、モデルは、シンガポールが、1人あたりのその非常に高いGDPの代わりに、1人あたりの低いGDPを有することを予測し得るが、相互作用情報を使用して、モデルは、シンガポールが1人あたりの高いGDPを有することを正しく予測し得る。
一般に、相互作用を検出するステップは、2つまたはそれを上回る特徴の間の統計的に有意な相互作用を検出するための方法を実施するステップを伴う。いくつかの実施形態では、エンジン110は、(例えば、方法400のステップ408において)データセットを評価することに応じて、相互作用を検出してもよい。いくつかの実施形態では、個々のモデル化技法は、(例えば、モデル化技法ビルダ220によって)相互作用に関して個別に試験するように構築されてもよい。前者のアプローチは、一般的ソリューションを提供してもよく、後者のアプローチは、具体的状況に対処するためのさらなる融通性を提供してもよい。
一般的な場合において、エンジン110は、(a)相互作用のための候補である特徴のサブセット、(b)試験する相互作用の順序、および(c)試験する具体的な特徴の組み合わせを判定してもよい。決定毎に、エンジン100は、発見的問題解決法または過去の予測問題についてのメタ機械学習の結果のいずれかを使用してもよい。例えば、いくつかの研究は、3方向または高次相互作用に関する試験が、殆ど改良された予測精度につながらないことを示す。したがって、いくつかの実施形態では、エンジン110は、ユーザによって具体的にオーバーライドされない、または特定の問題を示すメタ機械学習アルゴリズムが、高次相互作用をモデル化することが精度を改良するであろう例外的な事例であるという合理的な確率を有していない限り、2方向相互作用のみに関して試験する、もしくはデフォルトで2方向相互作用のみに関して試験してもよい。
潜在的相互作用のセットを判定した後、エンジン110は、相互作用検出方法を選定してもよい。ある場合には、エンジン110は、全ての可能性として考えられる相互作用に同一の相互作用検出方法を使用してもよい。他の場合には、エンジン110は、特徴の特性に基づいて、特徴の異なる組み合わせのための異なる相互作用検出方法を選択してもよい。相互作用方法のいくつかの実施例は、ANOVA, Partial Dependence Functions (J.H. Friedman and B.E. Popescu, Predictive learning via rule ensembles, 2005)、GUIDE (W. Loh, Regression trees with unbiased variable selection and interaction detection, Statistica Sinica 12(2), 2002)、Grove (D. Sorokina et al., Detecting statistical interactions with additive groves of trees, in ICML, 2008)、およびFAST (Yin Lou et al, Accurate intelligible models with pairwise interactions, in KDD, 2013)を含む。
いくつかの実施形態では、システム100は、他の機械学習技法を実行するための上記に説明される同一の機構を使用して、相互作用を検出するためのそのような技法を実施する。エンジン110が相互作用検出結果を取得した後、エンジンは、(1)有意であるこれらの相互作用に基づいて、新しい特徴を構築して、それらをデータセットに追加し、および/または(2)モデル化技法が相互作用を直接取り扱う能力を有する場合において、パラメータとしての有意なパラメータのリストをモデル化技法にパスしてもよい。モデル化技法の実行は、次いで、上記に説明される方法で継続することができる。
予測性能増進
ユーザは、潜在的に、展開エンジンを使用して(例えば、モデル展開エンジン140を使用して)、モデルを独立予測サービスに適合させてもよい。ある場合には、特定のモデルを使用し、特徴の観察値から予測標的を計算するステップは、有意な計算リソースを要求し得る。いくつかの実施形態では、エンジン110は、特に、予測サービスが多くのモデルに対する要求ならびに/もしくは1つまたはそれを上回るモデルへの頻繁な要求を取り扱うときに、リソース消費を限定(例えば、最小限化)しながら、適時な応答を提供するように構成される。
実施例が、ここで説明される。オンラインゲームでは、ゲームプロバイダは、各タイプのゲームの多くのインスタンス、および各インスタンスにおいてプレーする多くのユーザを伴って、多くの異なるタイプのゲームをサポートし得る。ユーザ満足度およびゲームからの収入を増加させる(例えば、最適化する)ために、そのようなプロバイダは、ユーザがプレーするゲームの成果に基づいて、ユーザ挙動を予測することを所望し得る。そのようなプロバイダは、そのような予測を使用し、提案をプレーヤに提供する、またはその将来のゲーム体験を調節してもよい。したがって、そのようなプロバイダは、それぞれが、例えば、1日あたり数千から数百万もの予測を行うために使用され得る、数十から数百の異なるモデルに依拠し得る。また、モデルを横断する相対予測要求は、人口統計的効果、推移する人気、平均ゲーム完了時間の差異等に起因して、経時的に大いに変動し得る。
動作予測を行うために、ユーザは、モデル構築コンピューティングインフラストラクチャから完全に分離している、独立予測サービスを所望し得る。独立予測サービスは、異なるコンピューティング環境内で起動する、または共有コンピューティング環境内で明確に異なる構成要素として管理されてもよい。いったんインスタンス化されると、サービスの実行、セキュリティ、および監視は、モデル構築環境から完全に分離され、ユーザが独立してそれを展開および管理することを可能にし得る。
サービスをインスタンス化した後、展開エンジンは、ユーザが適合モデルをサービスにインストールすることを可能にし得る。性能を増進する(例えば、最適化する)ために、モデルを適合するために好適なモデル化技法の実装は、予測を行うために準最適であり得る。例えば、モデルを適合するステップは、同一のアルゴリズムを繰り返し起動することを要求するため、多くの場合、アルゴリズムの高速並列実行を可能にすることに有意量の間接費を投資する価値がある。しかしながら、予測要求の期待率があまり高くない場合、その同一の間接費は、独立予測サービスのために価値がない場合がある。ある場合には、モデル化技法開発者は、予測環境内でより良好な性能特性を提供する、その構成要素実行タスクのうちの1つまたはそれを上回るものの特殊バージョンさえも提供してもよい。特に、高度並列実行または特殊プロセッサ上の実行のために設計される実装は、予測性能のために有利であり得る。同様に、モデル化技法がプログラミング言語で規定されるタスクを含む場合において、サービス始動またはそのモデルからの予測に対する初期要求まで待機するのではなく、サービスインスタンス化の時間にタスクを事前コンパイルするステップが、性能改良を提供し得る。
また、モデル適合タスクは、概して、予測サービスと異なるコンピューティングインフラストラクチャを使用する。モデル化技法実行中にエラーからクラウドインフラストラクチャを保護するため、およびクラウド内の他のユーザからのモデル化技法へのアクセスを防止するために、モデル化技法は、モデル適合中にセキュアなコンピューティングコンテナ内で実行してもよい。しかしながら、予測サービスは、多くの場合、専用マシンまたはクラスタ上で起動してもよい。セキュアなコンテナ層を除去することは、したがって、いかなる実用的不利点も伴わずに間接費を削減し得る。
したがって、モデルのモデル化技法によって実行される具体的タスク、期待負荷、および予測のための標的コンピューティング環境の特性に基づいて、展開エンジンは、モデルをパッケージ化および展開するための規則のセットを使用してもよい。これらの規則は、実行を最適化してもよい。
所与の予測サービスが複数のモデルを実行し得るため、サービスは、モデル毎に予測要求を横断して計算リソースを割り付けてもよい。2つの基本的事例、すなわち、1つまたはそれを上回るサーバマシンへの展開、およびコンピューティングクラスタへの展開が存在する。
サーバへの展開の場合において、課題は、複数のサーバの間で要求を割り付ける方法である。予測サービスは、いくつかのタイプの先験的情報を有してもよい。そのような情報は、(a)構成されたモデル毎に予測を実行するために要する時間の推定値、(b)異なる時間における構成されたモデル毎の要求の期待頻度、および(c)モデル実行の所望の優先順位を含んでもよい。実行時間の推定値は、1つまたはそれを上回る条件下でモデル毎に予測コードの実際の実行速度を測定することに基づいて、計算されてもよい。モデル実行の所望の優先順位は、サービス管理者によって規定されてもよい。要求の期待頻度は、そのモデルの履歴データから算出される、メタ機械学習モデルに基づいて予想される、または管理者によって提供され得る。
サービスは、これらの因子のうちのいくつかまたは全てを組み合わせ、各モデルに最初に割り付けられ得る、全ての利用可能なサーバの集約計算能力の一部を算出する、目的関数を含んでもよい。サービスが要求を受信および実行すると、実行時間および要求の期待頻度の推定値についての更新された情報を自然に取得する。したがって、サービスは、これらの部分を再計算し、それに応じて、モデルをサーバに再び割り付けてもよい。
展開された予測サービスは、2つの異なるタイプのサーバプロセス、すなわち、ルータおよびワーカを有してもよい。1つまたはそれを上回るルータは、予測に対する要求を容認し、それらをワーカに割り付けるルーティングサービスを形成してもよい。着信要求は、使用する予測モデルを示すモデル識別子と、要求を行っているユーザもしくはソフトウェアシステムを示すユーザまたはクライアント識別子と、そのモデルのための予測因子変数の1つまたはそれを上回るベクトルとを有してもよい。
要求が専用予測サービスの中に入るとき、そのルーティングサービスは、モデル識別子、ユーザまたはクライアント識別子、および予測因子変数のベクターの数のある組み合わせを点検してもよい。ルーティングサービスは、次いで、要求をワーカに割り付け、(1)所与のモデルを実行する際に、および/または(2)所与のユーザもしくはクライアントに使用される、命令ならびにデータのためのサーバキャッシュヒットを増加(例えば、最大限化)させてもよい。ルーティングサービスはまた、予測因子変数のベクターの数も考慮し、待ち時間およびスループットの平衡を保つ各ワーカに提出される、バッチサイズの混合物を達成してもよい。
ワーカを横断してモデルに対する要求を割り付けるためのアルゴリズムの実施例は、ラウンドロビン、モデル計算強度および/またはワーカの計算能力に基づく加重ラウンドロビン、ならびに報告された負荷に基づく動的割付を含んでもよい。指定サーバへの要求の迅速なルーティングを促進するために、ルーティングサービスは、観察された特性(例えば、モデル識別子)の同一のセットを考慮すると、同一のサーバを選定する、ハッシュ関数を使用してもよい。ハッシュ関数は、単純なハッシュ関数または一貫したハッシュ関数であってもよい。一貫したハッシュ関数は、(この場合は、ワーカに対応する)ノードの数が変化するときに、より少ないオーバーヘッドを要求する。したがって、ワーカがダウンする、または新しいワーカが追加される場合、一貫したハッシュ関数は、再算出されなければならないハッシュキーの数を削減することができる。
利用可能なサービスの間で予測要求を知的に分配することによって、性能を増進する(例えば、最適化する)ことに加えて、予測サービスは、各ワーカが各モデルを実行する方法を知的に構成することによって、個々のモデルの性能を増進(例えば、最適化)してもよい。例えば、所与のサーバがいくつかの異なるモデルに対する要求の混合を受信する場合、要求毎にモデルをロードおよびアンロードするステップは、大幅なオーバーヘッドを被り得る。しかしながら、バッチ処理のために要求を集約するステップは、大幅な待ち時間を被り得る。いくつかの実施形態では、サービスは、管理者がモデルのための待ち時間公差を規定する場合、本トレードオフを知的に行うことができる。例えば、緊急要求は、100ミリ秒のみの待ち時間公差を有し得、その場合、サーバは、1つだけ、または最大でもいくつかの要求を処理し得る。対照的に、2秒の待ち時間公差は、百単位でバッチサイズを可能にし得る。オーバーヘッドに起因して、待ち時間公差を2倍増加させるステップは、スループットを10倍〜100倍増加させ得る。
同様に、オペレーティングシステムスレッドを使用するステップは、スレッド設定および初期化オーバーヘッドに起因して、待ち時間を増加させながら、スループットを改良し得る。ある場合には、予測は、極めて待ち時間に敏感であり得る。所与のモデルへの全ての要求が、待ち時間に敏感である可能性が高い場合には、サービスは、シングルスレッドモードで動作するように、これらの要求を取り扱うサーバを構成してもよい。また、要求のサブセットのみが、待ち時間に敏感である可能性が高い場合、サービスは、リクエスタが所与の要求を敏感としてフラグを付けることを可能にしてもよい。この場合、サーバは、具体的要求を果たしながら、シングルスレッドモードのみで動作してもよい。
ある場合には、ユーザの団体は、団体が分散型コンピューティングクラスタを使用し、可能な限り急速に計算することを所望するという予測のバッチを有してもよい。分散型コンピューティングフレームワーク(例えば、Apache Spark)は、概して、団体がフレームワークを起動するクラスタを設定することを可能にし、フレークワークと連動するように設計される任意のプログラムは、次いで、データおよび実行可能命令を備えるジョブを提出することができる。
モデル上の1つの予測の実行が、そのモデル上の別の予測の結果、またはいかなる他のモデルの結果にも影響を及ぼさないため、予測は、クラスタコンピューティングとの関連でステートレス動作であり、したがって、概して、並列にすることが非常に容易である。したがって、データおよび実行可能命令のバッチを考慮すると、フレームワークの分割および割付アルゴリズムの正常な挙動は、線形スケーリングをもたらし得る。
ある場合には、予測を行うステップは、データが多くのステップで生成および消費される、大規模ワークフローの一部であってもよい。そのような場合において、予測ジョブは、Apache Kafkaのようなパブリッシュ・サブスクライブ機構を通して他の動作と統合されてもよい。予測サービスは、予測を要求する新しい観察を生成する、チャネルにサブスクライブする。サービスが予測を行った後、他のプログラムが消費し得る、1つまたはそれを上回るチャネルにそれらをパブリッシュする。
性能増進
適合モデル化技法および/または多数の代替的技法の間の検索は、計算集約的であり得る。計算リソースは、高価であり得る。予測モデルを生成するためのシステム100のいくつかの実施形態は、リソース消費を削減する機会を識別する。
ユーザ選好に基づいて、エンジン110は、モデルが実行時間および計算リソースの消費を削減するために、その検索を調節してもよい。ある場合には、予測問題は、多くの訓練データを含んでもよい。そのような場合において、交差検証の利益は、通常、モデルバイアスを削減する観点から、より低い。したがって、5〜10倍のデータの量上の1回の起動の計算時間が、典型的には、5分の1〜10分の1のデータの量上の5〜10回の起動よりもはるかに少ないため、ユーザは、各交差検証層上ではなく、一度に全ての訓練データ上でモデルを適合させることを好み得る。
ユーザが比較的大きい訓練セットを有していない場合でさえも、ユーザは、依然として、時間およびリソースを節約することを所望し得る。そのような場合において、エンジン110は、いくつかのより積極的な検索アプローチを使用する、「より貪欲な」オプションを提供してもよい。第1に、エンジン110は、可能性として考えられるモデル化技法のより小さいサブセット(例えば、その期待性能が比較的高いもののみ)を試行することができる。第2に、エンジン110は、各回の訓練および評価において低性能モデルをより積極的に取り除いてもよい。第3に、エンジン110は、モデル毎に最適なハイパーパラメータを検索するときに、より大きいステップをとってもよい。
一般に、より良好な(例えば、最適な)ハイパーパラメータを検索するステップは、高価であり得る。したがって、たとえユーザが、エンジン110が広範囲の潜在的モデルを評価し、それらを積極的に取り除かないことを所望しても、エンジンは、依然として、ハイパーパラメータ検索を限定(例えば、最適化)することによって、リソースを節約することができる。本検索の費用は、概して、データセットのサイズに比例する。1つの方略は、データセットのわずかな部分上でハイパーパラメータを調整し、次いで、これらのパラメータをデータセット全体に外挿することである。ある場合には、調節が、大量のデータを考慮するように行われる。いくつかの実施形態では、エンジン110は、2つの方略のうちの1つを使用することができる。第1に、エンジン110は、そのモデル化技法のための発見的問題解決に基づいて、調節を実施することができる。第2に、エンジン110は、メタ機械学習に従事し、各モデル化技法のハイパーパラメータがデータセットサイズとともに変動する方法を追跡し、これらのハイパーパラメータのメタ予測モデルを構築し、次いで、ユーザがトレードオフを行うことを所望する場合において、そのメタモデルを適用することができる。
カテゴリ予測問題と連動するとき、少数クラスおよび多数クラスが存在し得る。少数クラスは、不正検出の場合のように、はるかに小さいが比較的より重要であり得る。いくつかの実施形態では、エンジン110は、多数クラスのための訓練観察の数が、少数クラスのためのものにより類似するように、多数クラスを「ダウンサンプリング」する。ある場合には、モデル化技法は、モデル適合中に直接、そのような加重に自動的に適応してもよい。モデル化技法が、そのような加重に適応しない場合、エンジン110は、ダウンサンプリングの量に比例する適合後調節を行うことができる。本アプローチは、はるかに短い実行時間および低いリソース消費のために、ある程度の精度を犠牲にし得る。
いくつかのモデル化技法は、他のものよりも効率的に実行してもよい。例えば、いくつかのモデル化技法は、並列コンピューティングクラスタ上または特殊プロセッサを伴うサーバ上で起動するように最適化されてもよい。各モデル化技法のメタデータは、任意のそのような性能利点を示してもよい。エンジン110がコンピューティングジョブを割り当てているとき、その利点が現在利用可能なコンピューティング環境内で適用される、モデル化技法のためのジョブを検出してもよい。次いで、各回の検索中に、エンジン110は、これらのジョブに、より大量のデータセットを使用してもよい。これらのモデル化技法は、次いで、より速く完了してもよい。また、それらの精度が十分に高い場合、比較的不良に機能している他のモデル化技法を試験する必要さえない場合がある。
ユーザインターフェース(UI)増進
エンジン110は、モデル構築の前にユーザからさらなる情報を抽出することによって、ユーザがより良好な予測モデルを生成することに役立ち得、モデル適合後にモデル性能のさらなる理解をユーザに提供し得る。
ある場合には、ユーザは、正確な予測モデルの検索をより良好に指図するために好適である、データセットについての付加的情報を有してもよい。例えば、ユーザは、ある観察が特別な意味を有することを把握し、その意味を示すことを所望し得る。エンジン110は、ユーザが本目的のために新しい変数を容易に作成することを可能にし得る。例えば、1つの合成変数は、エンジンが、特定の観察をそのようなパーティションに無作為に割り当てる代わりに、訓練、検証、またはホールドアウトデータパーティションの一部として特定の観察を使用するはずであることを示してもよい。本能力は、ある値が低頻度で発生し、対応する観察が異なるパーティションに慎重に割り付けられるはずである状況で、有用であり得る。本能力は、ユーザが、異なる機械学習システムを使用してモデルを訓練しており、訓練、検証、およびホールドアウトパーティションが同一である、比較を実施することを所望する状況で、有用であり得る。
同様に、ある観察は、ユーザが付加的加重を割り当てることを所望する、特に重要なイベントを表してもよい。したがって、データセットの中に挿入される付加的変数は、各観察の相対加重を示してもよい。エンジン110は、次いで、モデルを訓練し、それらの精度を計算するときに、本加重を使用してもよく、目標は、より高い加重の条件下でより正確な予測を生成することである。
他の場合では、ユーザは、ある特徴がモデルにおいて挙動するはずである方法についての先験的情報を有してもよい。例えば、ユーザは、ある特徴が、ある範囲にわたって予測標的に単調な影響を及ぼすはずであることを把握し得る。自動車保険では、概して、事故の可能性が、30歳を過ぎると年齢とともに単調に増加すると考えられる。別の実施例は、別様に連続的な変数のための帯域を作成することである。個人所得は、連続的であるが、$10Kインクリメントから$100Kまでの帯域、次いで、$25K帯域から$250Kまで、および$250Kを上回る任意の所得に値を割り当てるための分析慣例が存在する。次いで、データセットへの制限が具体的特徴への制約を要求する場合が存在する。ある時は、カテゴリ変数は、データセットのサイズに対して非常に多数の値を有し得る。ユーザは、エンジン110が、ある数を上回る可能性として考えられるカテゴリを有するカテゴリ特徴を無視するはずであるか、またはカテゴリの数を最も頻繁なXに限定し、全ての他の値を「その他」カテゴリに割り当てるはずであるかのいずれかを示すことを所望し得る。これら全ての状況では、ユーザインターフェースは、(例えば、方法400のステップ412において)検出される特徴毎に本情報を規定するというオプションをユーザに提示してもよい。
ユーザインターフェースは、特徴を変換することの誘導支援を提供してもよい。例えば、ユーザは、連続変数をカテゴリ変数に変換することを所望し得るが、その変数のための標準慣例が存在しない場合がある。分布の形状を分析することによって、エンジン110は、最適な数のカテゴリ帯域、および各帯域の間の境界を画定する「節点」を分布の中に設置する点を選定してもよい。随意に、ユーザは、節点を追加または削除すること、ならびに節点の場所を移動させることによって、ユーザインターフェース内でこれらのデフォルトをオーバーライドしてもよい。
同様に、すでにカテゴリ別である特徴に関して、エンジン110は、1つまたはそれを上回るカテゴリを単一のカテゴリに合体させることによって、それらの表現を単純化してもよい。各観察されたカテゴリの相対頻度および他の特徴の値に対するそれらが出現する頻度に基づいて、エンジン110は、カテゴリを組み合わせる最適な方法を計算してもよい。随意に、ユーザは、組み合わせられたカテゴリから元のカテゴリを除去すること、および/または既存のカテゴリを組み合わせられたカテゴリの中に入れることによって、これらの計算をオーバーライドしてもよい。
ある場合において、予測問題は、不規則な間隔で起こるイベントを含んでもよい。そのような場合において、特定の時間枠内で起こったこれらのイベントの数を捕捉する、新しい特徴を自動的に作成することが有用であり得る。例えば、保険予測問題では、データセットは、保険契約者が請求を行った各時間の記録を有してもよい。しかしながら、将来のリスクを予測するためのモデルを構築する際に、保険契約者が過去X年間に行った請求の数を考慮することが、より有用であり得る。エンジンは、エンティティに対応する記録とイベントに対応する他の記録との間のデータ構造関係を検出することによって、データセットを評価するときに(例えば、方法400のステップ408)、そのような状況を検出してもよい。(例えば、ステップ410において)データセットをユーザに提示するとき、ユーザインターフェースは、そのような特徴を自動的に作成する、または作成することを提案してもよい。これはまた、本変数と将来のイベントの発生との間の統計的依存性を最大限にするように計算される、イベントが起こる頻度に基づいて、またはある他の発見的問題解決を使用して、時間枠閾値を提案してもよい。ユーザインターフェースはまた、ユーザが、そのような特徴の作成をオーバーライドする、そのような特徴の作成を強制する、および提案された時間枠閾値をオーバーライドすることも可能にしてもよい。
本システムがモデルに基づいて予測を行うとき、ユーザは、これらの予測を精査し、異常なものを探索することを所望し得る。例えば、ユーザインターフェースは、モデルのための予測の全てまたはサブセットのリストを提供し、予測因子の値の規模またはその値を有することのその低い確率のいずれかの観点から、極端であったものを示してもよい。また、極値の理由への洞察を提供することも可能である。例えば、自動車保険リスクモデルでは、特定の高い値は、「年齢<25および結婚歴=独身」という理由を有してもよい。
いくつかの実施形態のさらなる説明
本明細書で提供される実施例は、別個のコンピュータ上に常駐するものとしてモジュール、または別個のコンピュータによって行われるものとして動作を説明した場合があるが、これらの構成要素の機能性は、単一のコンピュータ上で、または分散型様式において任意の多数のコンピュータ上で実装され得ることを理解されたい。
上記の実施形態は、多数の方法のうちのいずれかで実装されてもよい。例えば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実装されてもよい。ソフトウェアで実装されるとき、ソフトウェアコードは、単一のコンピュータの中で提供されるか、または複数のコンピュータの間で分散されるかどうかに関わらず、任意の好適なプロセッサもしくはプロセッサの集合の上で実行されることができる。さらに、コンピュータは、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータ等のいくつかの形態のうちのいずれかで具現化され得ることを理解されたい。加えて、コンピュータは、携帯情報端末(PDA)、スマートフォン、または任意の好適な携帯用もしくは固定電子デバイスを含む、概してコンピュータと見なされないが好適な処理能力を伴う、デバイスで具現化されてもよい。
そのようなコンピュータは、企業ネットワークまたはインターネットとして等、ローカルエリアネットワークもしくは広域ネットワークとしての形態を含む、任意の好適な形態の1つまたはそれを上回るネットワークによって相互接続されてもよい。そのようなネットワークは、任意の好適な技術に基づいてもよく、任意の好適なプロトコルに従って動作してもよく、無線ネットワーク、有線ネットワーク、または光ファイバネットワークを含んでもよい。
また、本明細書で概説される種々の方法およびプロセスは、種々のオペレーティングシステムもしくはプラットフォームのうちのいずれか1つを採用する、1つまたはそれを上回るプロセッサ上で実行可能である、ソフトウェアとしてコード化されてもよい。加えて、そのようなソフトウェアは、いくつかの好適なプログラミング言語および/またはプログラミングもしくはスクリプト作成ツールのうちのいずれかを使用して、書き込まれてもよく、また、フレームワークまたは仮想マシン上で実行される実行可能機械言語コードもしくは中間コードとしてコンパイルされてもよい。
本側面では、いくつかの実施形態は、1つまたはそれを上回るコンピュータもしくは他のプロセッサ上で実行されるときに、上記で議論される種々の実施形態を実装する方法を行う、1つまたはそれを上回るプログラムで符号化される、コンピュータ可読媒体(または複数のコンピュータ可読媒体)(例えば、コンピュータメモリ、1つまたはそれを上回るフロッピー(登録商標)ディスク、コンパクトディスク、光学ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイもしくは他の半導体デバイス内の回路構成、または他の有形コンピュータ記憶媒体)として具現化されてもよい。1つまたは複数のコンピュータ可読媒体は、一過性であり得る。1つまたは複数のコンピュータ可読媒体は、その上に記憶される1つまたは複数のプログラムが、上記で議論されるように予測モデル化の種々の側面を実装するように1つまたはそれを上回る異なるコンピュータもしくは他のプロセッサ上にロードされ得るように、可搬性であり得る。用語「プログラム」または「ソフトウェア」は、本開示に説明される種々の側面を実装するようにコンピュータもしくは他のプロセッサをプログラムするために採用され得る、任意のタイプのコンピュータコードまたはコンピュータ実行可能命令のセットを指すために、一般的意味において本明細書で使用される。加えて、本開示の一側面によると、実行されたときに予測モデル化方法を行う1つまたはそれを上回るコンピュータプログラムは、単一のコンピュータもしくはプロセッサ上に常駐する必要はないが、予測モデル化の種々の側面を実装するように、いくつかの異なるコンピュータまたはプロセッサの間でモジュール様式において分散され得ることを理解されたい。
コンピュータ実行可能命令は、1つまたはそれを上回るコンピュータもしくは他のデバイスによって実行される、プログラムモジュール等の多くの形態であってもよい。概して、プログラムモジュールは、特定のタスクを行う、または特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。典型的には、プログラムモジュールの機能性は、種々の実施形態では、所望に応じて、組み合わせられる、または分散されてもよい。
また、データ構造は、任意の好適な形態でコンピュータ可読媒体に記憶されてもよい。例証を簡単にするために、データ構造は、データ構造内の場所を通して関係付けられるフィールドを有することが示されてもよい。そのような関係は、同様に、フィールド間の関係を伝えるコンピュータ可読媒体内の場所を伴うフィールドのために記憶装置を割り当てることによって、達成されてもよい。しかしながら、ポインタ、タグ、またはデータ要素間の関係を確立する他の機構の使用を通すことを含む、任意の好適な機構が、データ構造のフィールド内の情報の間の関係を確立するために使用されてもよい。
また、予測モデル化技法は、その実施例が提供されている、方法として具現化されてもよい。方法の一部として行われる作用は、任意の好適な方法で順序付けられてもよい。故に、例証的実施形態では、連続作用として示されるが、いくつかの作用を同時に行うことを含み得る、作用が図示されるものと異なる順序で行われる、実施形態が構築されてもよい。
いくつかの実施形態では、本方法は、上記で説明されるプロセスに影響を及ぼす制御論理を提供するように、コンピュータのランダムアクセスメモリの部分に記憶されたコンピュータ命令として実装されてもよい。そのような実施形態では、プログラムは、FORTRAN、PASCAL、C、C++、C#、Java(登録商標)、javascript(登録商標)、Tcl、またはBASIC等のいくつかの高レベル言語のうちのいずれか1つで書かれてもよい。さらに、プログラムは、スクリプト、マクロ、またはEXCELもしくはVISUAL BASIC等の市販のソフトウェアに組み込まれた機能性で書かれてもよい。加えて、ソフトウェアは、コンピュータ上に常駐するマイクロプロセッサを対象としたアセンブリ言語で実装されてもよい。例えば、ソフトウェアは、IBM PCまたはPCクローン上で作動するように構成される場合、Intel 80x86アセンブリ言語で実装されてもよい。ソフトウェアは、フロッピー(登録商標)ディスク、ハードディスク、光学ディスク、磁気テープ、PROM、EPROM、またはCD−ROM等の「コンピュータ可読プログラム手段」を含むが、それらに限定されない、製造品上に組み込まれてもよい。
本開示の種々の側面は、単独で、組み合わせて、または前述で具体的に説明されていない種々の配列で使用されてもよく、したがって、本発明は、その適用が、前述の説明に記載される、または図面に図示される構成要素の詳細および配列に限定されない。例えば、一実施形態で説明される側面は、任意の様式で他の実施形態で説明される側面と組み合わせられてもよい。
用語
本明細書で使用される表現法および用語は、説明の目的のためであり、限定的と見なされるべきではない。
明細書および請求項で使用されるような「a」および「an」という不定冠詞は、明確にそれとは反対に示されない限り、「少なくとも1つの」を意味すると理解されたい。明細書および請求項で使用されるような「および/または」という語句は、そのように結合された要素の「いずれか一方または両方」、すなわち、ある場合には接合的に存在し、他の場合においては離接的に存在する要素を意味すると理解されるべきである。「および/または」で記載される複数の要素は、同じように、すなわち、そのように結合された要素のうちの「1つまたはそれを上回る」と解釈されるべきである。「および/または」節によって具体的に識別される要素以外に、具体的に識別される要素に関係しようと、無関係であろうと、他の要素が随意的に存在してもよい。したがって、非限定的実施例として、「Aおよび/またはB」への言及は、「〜を備える」等の制約のない用語と併せて使用されると、一実施形態ではAのみ(随意でB以外の要素を含む)、別の実施形態ではBのみ(随意でA以外の要素を含む)、さらに別の実施形態ではAおよびBの両方(随意で他の要素を含む)等を指すことができる。
明細書および請求項で使用されるように、「または」は、上記で定義されるような「および/または」と同一の意味を有すると理解されたい。例えば、リスト内の項目を分離するとき、「または」もしくは「および/または」は、包括的である、すなわち、少なくとも1つの包含であるが、また、いくつかの要素または要素のリストのうちの1つより多く、随意に、付加的な記載されていない項目を含むと解釈されるものとする。対照的に明確に示される、「〜のうちの1つのみ」または「〜のうちの正確に1つ」等の「のみ」の用語、もしくは請求項で使用されるときに、「〜から成る」は、いくつかの要素または要素のリストのうちの正確に1つの要素の包含を指すであろう。一般に、使用されるような用語「または」は、「いずれか一方」、「〜のうちの1つ」、「〜のうちの1つのみ」、または「〜のうちの正確に1つ」等の排他性の用語が先行するときに、排他的代替(すなわち、「両方ではなく一方または他方」)を示すとしてのみ解釈されるものとする。「本質的に〜から成る」は、請求項で使用されるとき、特許法の分野で使用されるようなその通常の意味を有するものとする。
明細書および請求項で使用されるように、「少なくとも1つ」という語句は、1つまたはそれを上回る要素のリストを参照して、要素のリストの中の要素のうちのいずれか1つまたはそれを上回るものから選択される少なくとも1つの要素を意味するが、要素のリスト内に具体的に記載されたあらゆる要素のうちの少なくとも1つを必ずしも含まず、要素のリストの中の要素の任意の組み合わせを排除しないと理解されるべきである。この定義はまた、具体的に識別される要素に関係しようと、無関係であろうと、「少なくとも1つ」という語句が指す、要素のリスト内で具体的に識別される要素以外に、要素が随意で存在してもよいことを許容する。したがって、非限定的実施例として、「AおよびBのうちの少なくとも1つ」(もしくは同等に「AまたはBのうちの少なくとも1つ」、もしくは同等に「Aおよび/またはBのうちの少なくとも1つ」)は、一実施形態では、いずれのBも存在しない、随意で1つより多くを含む、少なくとも1つのA(および随意でB以外の要素を含む)、別の実施形態では、いずれのAも存在しない、随意で1つより多くを含む、少なくとも1つのB(および随意でA以外の要素を含む)、さらに別の実施形態では、随意で1つより多くを含む、少なくとも1つのA、および随意で1つより多くを含む、少なくとも1つのB(および随意で他の要素を含む)等を指すことができる。
「〜を含む」、「〜を備える」、「〜を有する」、「〜を含有する」、「〜を伴う」、およびそれらの変形例の使用は、その後に記載される項目および付加的項目を包含するように意図されている。
請求項要素を修飾するための請求項における「第1の」、「第2の」、「第3の」等の順序の用語の使用は、単独では、別の要素と比べた1つの請求項要素のいかなる優先順位、先行、または順序、もしくは方法の行為が行われる時間順序も含意しない。順序の用語は、請求項要素を区別するために、(順序の用語の使用のためであるが)ある名前を有する1つの請求項要素と、同一の名前を有する別の要素を区別する標識としてのみ使用される。
均等物
このようにして、本発明の少なくとも1つの実施形態のいくつかの側面を説明したが、種々の変更、修正、および改良が、当業者に容易に想起されるであろうことを理解されたい。そのような変更、修正、および改良は、本開示の一部であることを意図し、かつ本発明の精神および範囲内であることを意図している。したがって、前述の説明および図面は、一例にすぎない。


Claims (131)

  1. 予測モデル化方法であって、前記予測モデル化方法は、
    予測モデル化プロシージャを実施することを含み、前記予測モデル化プロシージャを実施することは、
    (a)1つまたは複数のデータセットを含む時系列データを取得することであって、各データセットは、複数の観察を含み、各観察は、(1)前記観察と関連付けられる時間のインジケーションと、(2)1つまたは複数の変数の個別の値とを含む、ことと、
    (b)前記時系列データの時間間隔を判定することと、
    (c)前記変数のうちの1つまたは複数のものを標的として識別し、ゼロまたはそれよりも多い他の変数を特徴として識別することと、
    (d)前記時系列データによって表される予測問題と関連付けられる予想範囲およびスキップ範囲を判定することであって、前記予想範囲は、前記標的の値が予測される周期の持続時間を示し、前記スキップ範囲は、前記予想範囲内の最古の予測と関連付けられる時間と、前記予想範囲内の予測が基づく最新の観察と関連付けられる時間との間の時間的遅延を示す、ことと、
    (e)前記時系列データから訓練データを生成することであって、前記訓練データは、前記データセットのうちの少なくとも1つの観察の第1のサブセットを含み、前記観察の第1のサブセットは、前記観察の訓練入力および訓練出力集合を含み、前記訓練入力および訓練出力集合内の前記観察と関連付けられる時間は、それぞれ、訓練入力時間範囲および訓練出力時間範囲に対応し、前記スキップ範囲は、前記訓練出力時間範囲の開始から前記訓練入力時間範囲の終了を分離し、前記訓練出力時間範囲の持続時間は、少なくとも前記予想範囲と同程度に長い、ことと、
    (f)前記時系列データから試験データを生成することであって、前記試験データは、前記データセットのうちの少なくとも1つの観察の第2のサブセットを含み、前記観察の第2のサブセットは、前記観察の試験入力および試験検証集合を含み、前記試験入力および試験検証集合内の前記観察と関連付けられる時間は、それぞれ、試験入力時間範囲および試験検証時間範囲に対応し、前記スキップ範囲は、前記試験検証時間範囲の開始から前記試験入力時間範囲の終了を分離し、前記試験検証時間範囲の持続時間は、少なくとも前記予想範囲と同程度に長い、ことと、
    (g)予測モデルを前記訓練データに適合させることと、
    (h)前記試験データに前記適合モデルを試験することと
    を含む、予測モデル化方法。
  2. 前記時系列データの時間間隔は、少なくとも部分的に、前記データセットのうちの少なくとも1つに含まれる前記観察の少なくともサブセットと関連付けられる時間に基づいて判定される、請求項1に記載の方法。
  3. 前記時系列データの時間間隔を判定することは、
    前記データセット毎に、前記データセットの個別の時間間隔を判定することと、
    前記データセットの時間間隔が一様であることを判定することと、
    前記時系列データの時間間隔を前記データセットの時間間隔に設定することと
    を含む、請求項2に記載の方法。
  4. 前記データセットの時間間隔を判定することは、
    前記データセットに含まれる一対またはそれよりも多い連続観察に関して、前記連続観察の間の個別の時間周期を判定することと、
    前記連続対の観察の間の時間周期が一様であることを判定することと、
    前記データセットの時間間隔を前記連続対の観察の間の時間周期に設定することと
    を含む、請求項3に記載の方法。
  5. 前記時系列データの時間間隔を判定することは、
    前記データセット毎に、前記データセットの個別の時間間隔を判定することと、
    前記データセットのうちの少なくとも2つの時間間隔が異なることを判定することと
    を含み、
    前記時系列データの時間間隔は、少なくとも部分的に、(1)前記データセットのそれぞれに含まれる前記観察の個別の割合、および/または(2)前記データセットのそれぞれの個別の時間間隔に基づいて、判定される、請求項2に記載の方法。
  6. 前記データセットの個別の時間間隔を判定することは、
    前記データセットに含まれる各対の連続観察の間の個別の時間周期を判定すること
    を含み、
    複数対の連続観察の間の前記時間周期が複数の非一様な持続時間を呈する場合、前記データセットの時間間隔は、少なくとも部分的に、(1)前記非一様な持続時間のそれぞれを呈する前記複数対の連続観察の個別の割合、および/または(2)前記時間周期の持続時間に基づいて、判定され、
    前記複数対の連続観察の間の前記時間周期が一様な持続時間である場合、前記データセットの時間間隔は、前記時間周期のそれぞれの持続時間である、請求項5に記載の方法。
  7. 前記時系列データの時間間隔は、前記データセットのそれぞれの個別の時間間隔の整数の倍数である最短の時間間隔である、請求項5に記載の方法。
  8. データセット毎に、前記データセットの時間間隔が前記時系列データの時間間隔よりも短い場合、前記データセットの観察をダウンサンプリングし、それによって、前記データセットの時間間隔を前記時系列データの時間間隔に変換することをさらに含む、請求項7に記載の方法。
  9. 前記データセットの観察をダウンサンプリングすることは、前記データセットに対応する時間周期内の前記時系列データの時間間隔のインスタンス毎に、
    前記時系列データの時間間隔の個別のインスタンスに対応する時間と関連付けられる前記データセット内の全ての観察を識別することと、
    前記識別された観察を集約し、集約観察を生成することと、
    前記データセット内の前記識別された観察を前記集約観察と置換することと
    を含む、請求項8に記載の方法。
  10. 前記時系列データの時間間隔のインスタンスに対応する前記識別された観察の数は、前記時系列データの時間間隔と前記データセットの時間間隔との間の比率に等しい、請求項9に記載の方法。
  11. 前記識別された観察を集約することは、(1)前記識別された観察のうちの最古のものに含まれる対応する変数値、(2)前記識別された観察のうちの最新のものに含まれる対応する変数値、(3)前記識別された観察に含まれる対応する変数値の最大値、(4)前記識別された観察に含まれる対応する変数値の最小値、(5)前記識別された観察に含まれる対応する変数値の平均、または(6)前記識別された観察に含まれる対応する変数値の関数の値に、前記集約観察の中の各変数の値を設定することを含む、請求項9に記載の方法。
  12. 前記時系列データの時間間隔は、前記データセットの時間間隔から成る群から選択される、請求項5に記載の方法。
  13. 前記データセットは、第1の時間間隔を呈する第1のデータセットと、前記第1の時間間隔を上回る第2の時間間隔を呈する第2のデータセットとを含み、前記第2の時間間隔は、前記時系列データの時間間隔として選択され、前記方法はさらに、
    前記第1のデータセットの観察をダウンサンプリングし、それによって、前記第1のデータセットの時間間隔を前記時系列データの時間間隔に変換すること
    を含む、請求項12に記載の方法。
  14. 前記時系列データの時間間隔は、前記データセットの時間間隔のそれぞれと異なる、請求項5に記載の方法。
  15. 少なくとも前記時系列データの観察の群は、第1の変数の個別の値を含み、前記方法はさらに、前記予測モデルを前記訓練データに適合させ、前記試験データに前記適合モデルを試験することに先立って、
    前記第1の変数の値が時間値を備えることを判定することと、
    前記群の中の観察毎に、第2の変数の個別の値を生成することであって、前記第2の変数の値は、前記第1の変数の時間値と参照時間値との間のオフセットを備える、ことと、
    前記第2の変数の値を前記群の中の個別の観察に追加することと
    を含む、請求項1に記載の方法。
  16. 前記群の中の前記観察から前記第1の変数の値を除去することをさらに含む、請求項15に記載の方法。
  17. 前記参照時間は、イベントの日付を備える、請求項15に記載の方法。
  18. 前記イベントは、出生、結婚、学校からの卒業、雇用主に対する雇用の開始、または特定の地位での仕事の開始を備える、請求項17に記載の方法。
  19. 前記変数は、第1の変数と、第2の変数とを含み、前記方法はさらに、
    前記第1および第2の変数の値の変化が、前記第1の変数の値の変化と前記第2の変数の値の相関変化との間の時間的遅延を伴って、相関することを判定することと、
    グラフィカルユーザインターフェースを介して、前記第1の変数の値の変化と前記第2の変数の値の相関変化との間の前記時間的遅延の持続時間を示す、グラフィカルコンテンツを表示することと
    を含む、請求項1に記載の方法。
  20. 前記予想範囲は、少なくとも部分的に、(1)前記時系列データの時間間隔、(2)前記時系列データ内の観察の数、(3)前記時系列データに対応する時間周期、および/または(4)マイクロ秒、ミリ秒、秒、分、時間、日、週、月、四半期、季節、年、10年、世紀、および1,000年から成る群から選択される、自然時間周期に基づいて、判定される、請求項1に記載の方法。
  21. 前記予想範囲は、前記時系列データの時間間隔の整数の倍数である、請求項20に記載の方法。
  22. 前記予想範囲内の連続予測と関連付けられる時間の間の時間周期は、前記時系列データの時間間隔に等しい、請求項21に記載の方法。
  23. 前記スキップ範囲は、少なくとも部分的に、前記時系列データの収集における待ち時間、前記時系列データの通信における待ち時間、前記時系列データを分析する際の待ち時間、前記時系列データの分析の通信における待ち時間、および/または前記時系列データの分析に基づいてアクションを実装することの待ち時間に基づいて判定される、請求項1に記載の方法。
  24. 少なくとも部分的に、前記時系列データに含まれる観察の総数、経時的な前記変数のうちの少なくとも1つの値の変動の量、前記変数のうちの少なくとも1つの値の季節変動の量、複数の時間周期にわたる前記変数のうちの少なくとも1つの値の変動の一貫性、および/または前記予想範囲の持続時間に基づいて、前記訓練入力時間範囲の持続時間を判定することをさらに含む、請求項1に記載の方法。
  25. 前記予測モデルを前記訓練データに適合させることは、前記予測モデルを、前記訓練入力時間範囲の一部に対応する前記訓練データのサブセットに適合させることを含み、前記訓練入力時間範囲の一部は、前記訓練入力時間範囲の開始時間に続く時間に開始し、前記訓練入力時間範囲の終了時間に終了する、請求項24に記載の方法。
  26. 前記訓練入力時間範囲の一部の持続時間は、前記予想範囲の持続時間の整数の倍数である、請求項25に記載の方法。
  27. 前記予測モデルを前記訓練データに適合させることに先立って、前記訓練データをダウンサンプリングすることをさらに含む、請求項1に記載の方法。
  28. 前記訓練データをダウンサンプリングすることは、前記訓練データから、前記データセットのうちの少なくとも1つから取得される全ての観察を除去することを含む、請求項27に記載の方法。
  29. 前記訓練データをダウンサンプリングすることは、
    前記訓練データのダウンサンプリングされた時間間隔を前記時系列データの時間間隔の整数の倍数に設定することと、
    前記訓練データのダウンサンプリングされた時間間隔のインスタンス毎に、
    前記訓練データのダウンサンプリングされた時間間隔の個別のインスタンスに対応する時間と関連付けられる、前記訓練データ内の全ての観察を識別することと、
    前記識別された観察を集約し、集約観察を生成することと、
    前記訓練データ内の前記識別された観察を前記集約観察と置換することと
    を含む、請求項27に記載の方法。
  30. 前記試験データに前記適合モデルを試験することに先立って、前記試験データをダウンサンプリングすることをさらに含む、請求項1に記載の方法。
  31. 前記予測モデルの交差検証を実施することをさらに含む、請求項1に記載の方法。
  32. 前記訓練データは、第1の訓練データであり、前記試験データは、第1の試験データであり、前記適合モデルは、第1の適合モデルであり、前記予測モデルの交差検証を実施することは、
    (i)前記時系列データから第2の訓練データおよび第2の試験データを生成することであって、前記第2の訓練データは、前記データセットのうちの少なくとも1つの観察の第3のサブセットを含み、前記第2の試験データは、前記データセットのうちの少なくとも1つの観察の第4のサブセットを含む、ことと、
    (j)前記予測モデルを前記第2の訓練データに適合させ、第2の適合モデルを取得することと、
    (k)前記第2の試験データに前記第2の適合モデルを試験することと
    を含む、請求項31に記載の方法。
  33. 前記観察の第1のサブセットは、訓練時間の第1の範囲を網羅するスライド訓練ウィンドウに対応し、前記第1のサブセットに含まれる各観察は、前記訓練時間の第1の範囲内の時間と関連付けられ、前記観察の第3のサブセットは、訓練時間の第2の範囲を網羅する前記スライド訓練ウィンドウに対応し、前記第3のサブセットに含まれる各観察は、前記訓練時間の第2の範囲内の時間と関連付けられ、前記訓練時間の第1の範囲内の最早時間は、前記訓練時間の第2の範囲内の最早時間よりも早い、請求項32に記載の方法。
  34. 前記観察の第2のサブセットは、試験時間の第1の範囲を網羅するスライド試験ウィンドウに対応し、前記第2のサブセットに含まれる各観察は、前記試験時間の第1の範囲内の時間と関連付けられ、前記観察の第4のサブセットは、試験時間の第2の範囲を網羅する前記スライド試験ウィンドウに対応し、前記第4のサブセットに含まれる各観察は、前記試験時間の第2の範囲内の時間と関連付けられ、前記試験時間の第1の範囲内の最早時間は、前記試験時間の第2の範囲内の最早時間よりも早い、請求項33に記載の方法。
  35. 前記第1の試験時間範囲は、前記第2の訓練時間範囲に部分的に重複する、請求項34に記載の方法。
  36. 前記第2の試験時間範囲は、前記第1の訓練時間範囲のいかなる部分にも重複せず、前記第2の訓練時間範囲のいかなる部分にも重複しない、請求項35に記載の方法。
  37. 少なくとも第1のパーティションと第2のパーティションとを含む複数のパーティションに前記時系列データを分割することをさらに含む、請求項32に記載の方法。
  38. 複数のパーティションに前記時系列データを分割することは、前記データセットのそれぞれを対応するパーティションに割り当てることを含む、請求項37に記載の方法。
  39. 複数のパーティションに前記時系列データを分割することは、前記時系列データを時間的に分割することを含む、請求項37に記載の方法。
  40. 前記パーティションはそれぞれ、前記時系列データと関連付けられる時間周期の個別の部分に対応し、前記時系列データに含まれる各観察は、前記観察と関連付けられる時間に合致する前記時間周期の一部に対応する、前記パーティションに割り当てられる、請求項39に記載の方法。
  41. 前記第1の訓練データは、前記時系列データの第1のパーティションに含まれる前記観察のサブセットを備え、
    前記第1の試験データは、前記第1のパーティションを除く前記時系列データの全てのパーティションに含まれる前記観察の個別のサブセットを備え、
    前記第2の訓練データは、前記時系列データの第2のパーティションに含まれる前記観察のサブセットを備え、
    前記第2の試験データは、前記第2のパーティションを除く前記時系列データの全てのパーティションに含まれる前記観察の個別のサブセットを備える、
    請求項37に記載の方法。
  42. 前記時系列データの第1のパーティションは、前記第1および第2の訓練データと、前記第1および第2の試験データとを含み、前記時系列データの第2のパーティションは、ホールドアウトデータを含み、前記方法はさらに、
    前記ホールドアウトデータに前記第1および第2の適合モデルを試験すること
    を含む、請求項32に記載の方法。
  43. いかなる予測モデルも前記ホールドアウトデータに適合されない、請求項42に記載の方法。
  44. 前記予測モデルのネスト化交差検証を実施することをさらに含む、請求項1に記載の方法。
  45. 前記予測モデルのネスト化交差検証を実施することは、
    少なくとも前記時系列データの第1のパーティションと前記時系列データの第2のパーティションとを含む第1の複数のパーティションに前記時系列データを分割することと、
    少なくとも前記時系列データの第1のパーティションの第1のパーティションと前記時系列データの第1のパーティションの第2のパーティションとを含む前記時系列データの第1のパーティションの複数のパーティションに前記時系列データの第1のパーティションを分割することと
    を含み、
    前記訓練データは、前記時系列データの第1のパーティションの第1のパーティションを備え、前記試験データは、少なくとも、前記時系列データの第1のパーティションの第1のパーティション以外の前記時系列データの第1のパーティションの複数のパーティションを備える、
    請求項44に記載の方法。
  46. 前記訓練データは、第1の訓練データであり、前記試験データは、第1の試験データであり、前記適合モデルは、第1の適合モデルであり、前記予測モデルのネスト化交差検証を実施することはさらに、
    (i)前記時系列データの第1のパーティションから、第2の訓練データおよび第2の試験データを生成することであって、前記第2の訓練データは、前記時系列データの第1のパーティションの第2のパーティションを備え、前記第2の試験データは、少なくとも、前記時系列データの第1のパーティションの第2のパーティション以外の前記データセットの第1のパーティションの複数のパーティションを備える、ことと、
    (j)前記予測モデルを前記第2の訓練データに適合させ、第2の適合モデルを取得することと、
    (k)前記第2の試験データに前記第2の適合モデルを試験することと
    を含む、請求項45に記載の方法。
  47. 前記ネスト化交差検証を実施することはさらに、
    前記時系列データの第2のパーティションに前記第1の適合モデルおよび前記第2の適合モデルを試験することと、
    前記時系列データの第2のパーティションに前記第1および第2の適合モデルを試験することの結果に基づいて、前記第1の適合モデルを前記第2の適合モデルと比較することと
    を含む、請求項46に記載の方法。
  48. 前記適合モデルに関して、前記時系列データの前記特徴のうちの1つまたは複数のもののモデル特有の予測値を判定することをさらに含む、請求項1に記載の方法。
  49. 少なくとも部分的に前記特徴のモデル特有の予測値に基づいて、前記時系列データから特徴を取り除くこと、前記時系列データ内の2つまたはそれよりも多い特徴から導出された特徴を作成し、前記導出された特徴を前記時系列データに追加すること、前記予測モデルを別の予測モデルと混合すること、および/または前記予測問題のための予測モデル化プロシージャの好適性を評価するプロセス中にリソースを割り付けることから成る群から選択される、少なくとも1つのアクションを実施することをさらに含む、請求項48に記載の方法。
  50. 少なくとも部分的に、前記予測問題の特性および/または前記個別の予測モデル化プロシージャの属性に基づいて、前記予測問題のための複数の予測モデル化プロシージャの好適性を判定することと、
    前記予測問題のための選択されたモデル化プロシージャの判定された好適性に基づいて、前記複数の予測モデル化プロシージャから1つまたは複数の予測モデル化プロシージャを選択することと、
    前記1つまたは複数の予測モデル化プロシージャを実施することと
    をさらに含む、請求項1に記載の方法。
  51. 前記1つまたは複数の予測モデル化プロシージャを実施することは、
    命令を複数の処理ノードに伝送することであって、前記命令は、前記選択されたモデル化プロシージャの実行のために前記処理ノードのリソースを割り付けるリソース割付スケジュールを備え、前記リソース割付スケジュールは、少なくとも部分的に、前記予測問題のための前記選択されたモデル化プロシージャの好適性に基づく、ことと、
    前記リソース割付スケジュールに従った前記複数の処理ノードによる前記選択されたモデル化プロシージャの実行の結果を受信することであって、前記結果は、前記選択されたモデル化プロシージャによって生成される予測モデル、および/または前記予測問題と関連付けられる時系列データのための生成されたモデルのスコアを含む、ことと、
    前記生成されたモデルから、少なくとも部分的に前記選択された予測モデルのスコアに基づいて、前記予測問題のための予測モデルを選択することと
    を含む、請求項50に記載の方法。
  52. 前記適合モデルを別の適合モデルと混合することによって、混合予測モデルを生成することをさらに含む、請求項1に記載の方法。
  53. 前記方法はさらに、前記適合モデルを展開することを含む、請求項1に記載の方法。
  54. 前記時系列データは、第1の時系列データであり、前記適合モデルを展開することは、前記予測問題の1つまたは複数のインスタンスを表す第2の時系列データに前記適合モデルを適用することによって、1つまたは複数の予測を生成することを含み、前記第1の時系列データは、前記第2の時系列データを含まない、請求項53に記載の方法。
  55. 前記時系列データは、第1の時系列データであり、前記適合モデルを展開することは、少なくとも部分的に第2の時系列データに基づいて、前記適合モデルをリフレッシュすることを含む、請求項53に記載の方法。
  56. 前記適合モデルは、第1の適合モデルであり、少なくとも部分的に前記第2の時系列データに基づいて、前記適合モデルをリフレッシュすることは、
    前記第2の時系列データに前記予測モデル化プロシージャを実施し、第2の適合モデルを生成することと、
    前記第1の適合モデルおよび前記第2の適合モデルを混合し、リフレッシュされた予測モデルを生成することと
    を含む、請求項55に記載の方法。
  57. 少なくとも部分的に前記第2の時系列データに基づいて、前記適合モデルをリフレッシュすることは、前記第1の時系列データの少なくとも一部と、前記第2の時系列データの少なくとも一部とを備える第3の時系列データに前記予測モデル化プロシージャを実施し、リフレッシュされた予測モデルを生成することを含む、請求項55に記載の方法。
  58. 前記適合モデルは、1つまたは複数のサーバに展開され、他の適合モデルもまた、前記1つまたは複数のサーバに展開され、前記適合モデルおよび前記他の適合モデルへの予測要求は、少なくとも部分的に、(1)予測を生成するために前記適合モデルのそれぞれによって使用される時間量の推定値、および/または(2)前記適合モデル毎の予測要求が受信される頻度の推定値に基づいて、前記サーバの間に割り付けられる、請求項53に記載の方法。
  59. 各予測要求は、個別のスレッドに割り当てられ、各予測要求は、関連付けられる待ち時間感度値を有し、特定のサーバ上で実行するスレッドの数は、少なくとも部分的に、前記特定のサーバ上で実行するスレッドの待ち時間感度値に基づいて、判定される、請求項58に記載の方法。
  60. 前記時系列データに含まれる前記特徴のうちの2つまたはそれよりも多いものの相互作用強度を示す、測定基準の値を判定することと、
    前記測定基準の値が閾値を超える場合、前記2つまたはそれよりも多い特徴の値に基づいて、新しい特徴の時系列値を生成し、前記新しい特徴を前記時系列データに追加することと
    をさらに含む、請求項1に記載の方法。
  61. 前記時系列データの時間分解能を判定することをさらに含む、請求項1に記載の方法。
  62. 前記標的は、ユーザ入力に基づいて識別される、請求項1に記載の方法。
  63. 予測モデル化装置であって、
    予測モデル化プロシージャを符号化する機械実行可能モジュールを記憶するように構成されるメモリであって、前記予測モデル化プロシージャは、少なくとも1つの前処理タスクと、少なくとも1つのモデル適合タスクとを含む、複数のタスクを含む、メモリと、
    前記機械実行可能モジュールを実行するように構成される少なくとも1つのプロセッサであって、前記機械実行可能モジュールを実行することは、前記装置に、前記予測モデル化プロシージャを実施させ、前記予測モデル化プロシージャを実施させることは、
    前記前処理タスクを実施することであって、前記前処理タスクを実施することは、
    (a)1つまたは複数のデータセットを含む時系列データを取得することであって、各データセットは、複数の観察を含み、各観察は、(1)前記観察と関連付けられる時間のインジケーションと、(2)1つまたは複数の変数の個別の値とを含む、ことと、
    (b)前記時系列データの時間間隔を判定することと、
    (c)前記変数のうちの1つまたは複数のものを標的として識別し、ゼロまたはそれよりも多い他の変数を特徴として識別することと、
    (d)前記時系列データによって表される予測問題と関連付けられる予想範囲およびスキップ範囲を判定することであって、前記予想範囲は、前記標的の値が予測される周期の持続時間を示し、前記スキップ範囲は、前記予想範囲内の最古の予測と関連付けられる時間と、前記予想範囲内の予測が基づく最新の観察と関連付けられる時間との間の時間的遅延を示す、ことと
    を含む、ことと、
    前記モデル適合タスクを実施することであって、前記モデル適合タスクを実施することは、
    (e)前記時系列データから訓練データを生成することであって、前記訓練データは、前記データセットのうちの少なくとも1つの観察の第1のサブセットを含み、前記観察の第1のサブセットは、前記観察の訓練入力および訓練出力集合を含み、前記訓練入力および訓練出力集合内の前記観察と関連付けられる時間は、それぞれ、訓練入力時間範囲および訓練出力時間範囲に対応し、前記スキップ範囲は、前記訓練出力時間範囲の開始から前記訓練入力時間範囲の終了を分離し、前記訓練出力時間範囲の持続時間は、少なくとも前記予想範囲と同程度に長い、ことと、
    (f)前記時系列データから試験データを生成することであって、前記試験データは、前記データセットのうちの少なくとも1つの観察の第2のサブセットを含み、前記観察の第2のサブセットは、前記観察の試験入力および試験検証集合を含み、前記試験入力および試験検証集合内の前記観察と関連付けられる時間は、それぞれ、試験入力時間範囲および試験検証時間範囲に対応し、前記スキップ範囲は、前記試験検証時間範囲の開始から前記試験入力時間範囲の終了を分離し、前記試験検証時間範囲の持続時間は、少なくとも前記予想範囲と同程度に長い、ことと、
    (g)予測モデルを前記訓練データに適合させることと、
    (h)前記試験データに前記適合モデルを試験することと
    を含む、ことと
    を含む、プロセッサと
    を備える、装置。
  64. 前記機械実行可能モジュールは、前記タスク間の依存性を表す有向グラフを含む、請求項63に記載の方法。
  65. コンピュータ実装予測モデル化方法であって、前記コンピュータ実装予測モデル化方法は、
    (a)複数の予測モデル化プロシージャを実施することであって、前記予測モデル化プロシージャはそれぞれ、予測モデルと関連付けられ、各モデル化プロシージャを実施することは、前記関連付けられる予測モデルを、初期予測問題を表す初期データセットに適合させることを含む、ことと、
    (b)前記適合予測モデルのそれぞれの第1の個別の精度スコアを判定することであって、各適合モデルの前記第1の精度スコアは、前記適合モデルが前記初期予測問題の1つまたは複数の成果を予測する精度を表す、ことと、
    (c)前記初期データセットに含まれる個別の観察を横断して特徴の値をシャッフルし、それによって、修正された予測問題を表す修正されたデータセットを生成することと、
    (d)前記適合予測モデルのそれぞれの第2の個別の精度スコアを判定することであって、各適合モデルの前記第2の精度スコアは、前記適合モデルが前記修正された予測問題の1つまたは複数の成果を予測する精度を表す、ことと、
    (e)前記適合モデル毎に前記特徴の個別のモデル特有の予測値を判定することであって、前記適合モデル毎の前記特徴のモデル特有の予測値は、前記適合モデルの第1および第2の精度スコアに基づく、ことと
    を含む、コンピュータ実装予測モデル化方法。
  66. 前記複数の予測モデル化プロシージャを実施することに先立って、前記初期データセットの特性、前記初期予測問題の特性、および/または前記特徴の特性に基づいて、前記予測問題のための前記複数の予測モデル化プロシージャを選択することをさらに含む、請求項65に記載の方法。
  67. 前記複数の予測モデル化プロシージャは、ランダムフォレストモデル化プロシージャ、一般化付加モデル化プロシージャ、およびサポートベクターマシンモデル化プロシージャから成る群から選択される、2つまたはそれよりも多いモデル化プロシージャを備える、請求項65に記載の方法。
  68. 前記複数の予測モデル化プロシージャは、第1のモデル化プロシージャ族から選択される第1のモデル化プロシージャと、第2のモデル化プロシージャ族から選択される第2のモデル化プロシージャとを備える、請求項65に記載の方法。
  69. 前記予測モデルの第2の精度スコアを判定することに先立って、前記修正された予測問題を表す前記修正されたデータセットに前記予測モデルを再適合させることをさらに含む、請求項65に記載の方法。
  70. 特定の適合モデルのための前記特徴の判定されたモデル特有の予測値は、前記特定の適合モデルの第1の精度スコアと第2の精度スコアとの間の差異が増加すると増加する、請求項65に記載の方法。
  71. 特定の適合モデルのための前記特徴の判定されたモデル特有の予測値は、前記特定の適合モデルの第1の精度スコアに対する前記特定の適合モデルの第1の精度スコアと第2の精度スコアとの間の割合差を備える、請求項65に記載の方法。
  72. 前記特徴のモデル特有の予測値に基づいて、前記特徴のモデル非依存性予測値を判定することをさらに含む、請求項65に記載の方法。
  73. 前記特徴のモデル非依存性予測値を判定することは、前記特徴のモデル特有の予測値の中心および/または拡散の統計的測定値を計算することを含む、請求項72に記載の方法。
  74. 前記特徴のモデル非依存性予測値を判定することは、前記モデル特有の予測値の中心の統計的測定値を計算することを含み、前記中心の統計的測定値は、前記モデル特有の予測値の平均値、中央値、および最頻値から成る群から選択される、請求項72に記載の方法。
  75. 前記特徴のモデル非依存性予測値を判定することは、前記モデル特有の予測値の拡散の統計的測定値を計算することを含み、前記拡散の統計的測定値は、前記モデル特有の予測値の範囲、分散、および標準偏差から成る群から選択される、請求項72に記載の方法。
  76. 前記特徴のモデル非依存性予測値を判定することは、前記特徴のモデル特有の予測値の組み合せを計算することを含む、請求項72に記載の方法。
  77. 前記モデル特有の予測値の組み合せを計算することは、前記モデル特有の予測値の加重組み合せを計算することを含む、請求項76に記載の方法。
  78. 前記モデル特有の予測値の加重組み合せを計算することは、個別の加重を前記モデル特有の予測値に割り当てることを含み、特定の適合予測モデルに対応する特定のモデル特有の予測値に割り当てられる前記加重は、前記適合予測モデルの第1の精度スコアが増加すると増加する、請求項77に記載の方法。
  79. 前記特徴は、第1の特徴であり、前記方法はさらに、
    (c1)前記初期データセットに含まれる個別の観察を横断して第2の特徴の値をシャッフルし、それによって、第2の修正された予測問題を表す、第2の修正されたデータセットを生成することと、
    (d1)前記適合予測モデルのそれぞれの第3の個別の精度スコアを判定することであって、各適合モデルの前記第3の精度スコアは、前記適合モデルが前記第2の修正された予測問題の1つまたは複数の成果を予測する精度を表す、ことと、
    (e1)前記適合モデル毎に前記第2の特徴の個別のモデル特有の予測値を判定することであって、前記適合モデル毎の前記第2の特徴のモデル特有の予測値は、前記適合モデルの第1および第3の精度スコアに基づく、ことと
    を含む、請求項65に記載の方法。
  80. 前記特徴は、第1の特徴であり、前記初期データセットは、前記第1の特徴と、複数の第2の特徴とを含み、前記方法はさらに、前記第2の特徴毎にステップ(c)、(d)、および(e)を実施することによって、前記初期データセットの第2の特徴のモデル特有の予測値を判定することを含む、請求項65に記載の方法。
  81. グラフィカルユーザインターフェースを介して、前記初期データセットの第1および第2の特徴、ならびに前記第1および第2の特徴のモデル特有の予測値を識別する、グラフィカルコンテンツを表示することをさらに含む、請求項80に記載の方法。
  82. 前記モデル化プロシージャは、特定の予測モデルと関連付けられる特定のモデル化プロシージャを含む第1のモデル化プロシージャであり、前記第1および第2の特徴のモデル特有の予測値は、前記特定の予測モデルに特有である前記第1および第2の特徴の特定のモデル特有の予測値を含み、前記方法はさらに、(a1)前記特定の予測モデルと関連付けられる前記特定のモデル化プロシージャを含む複数の第2の予測モデル化プロシージャを実施することを含む、請求項80に記載の方法。
  83. 前記特定の予測モデル化プロシージャを実施することは、前記第1の特徴および前記第2の特徴の特定のモデル特有の予測値に基づいて、前記初期データセットに特徴工学を実施することを含む、請求項82に記載の方法。
  84. 特徴工学を実施することは、低いモデル特有の予測値を有する前記特定の特徴に基づいて、前記初期データセットから特定の特徴を除去することを含む、請求項83に記載の方法。
  85. 閾値よりも低い前記特定の特徴のモデル特有の予測値に基づいて、および/または前記初期データセットの前記第1ならびに第2の特徴の特定のモデル特有の予測値の規定パーセンタイル内である前記特定の特徴のモデル特有の予測値に基づいて、前記特定の特徴のモデル特有の予測値が低いことを判定することをさらに含む、請求項84に記載の方法。
  86. 特徴工学を実施することは、
    高いモデル特有の予測値を有する前記初期データセットの2つまたはそれよりも多い特定の特徴に基づいて、導出された特徴を生成することと、
    前記導出された特徴を前記初期データセットに追加し、それによって、第2の初期データセットを生成することと
    を含む、請求項83に記載の方法。
  87. 閾値よりも高い前記特定の特徴のモデル特有の予測値に基づいて、および/または前記初期データセットの前記第1ならびに第2の特徴の特定のモデル特有の予測値の規定パーセンタイル内である前記特定の特徴のモデル特有の予測値に基づいて、前記特定の特徴のモデル特有の予測値が高いことを判定することをさらに含む、請求項86に記載の方法。
  88. 前記特定の予測モデル化プロシージャを実施することはさらに、前記特定の予測モデルを前記第2の初期データセットに適合させることを含み、前記方法はさらに、
    前記適合された特定の予測モデルの第1の精度スコアを判定することであって、前記適合された特定のモデルの第1の精度スコアは、前記適合された特定のモデルが前記初期予測問題の1つまたは複数の成果を予測する精度を表す、ことと、
    前記第2の初期データセットに含まれる個別の観察を横断して前記第1の特徴の値をシャッフルし、それによって、第2の修正された予測問題を表す、第2の修正されたデータセットを生成することと、
    前記適合された特定の予測モデルの第2の精度スコアを判定することであって、前記適合された特定のモデルの第2の精度スコアは、前記適合モデルが前記第2の修正された予測問題の1つまたは複数の成果を予測する精度を表す、ことと、
    前記適合された特定のモデルのための前記第1の特徴の第2のモデル特有の予測値を判定することであって、前記適合された特定のモデルのための前記第1の特徴の第2のモデル特有の予測値は、前記適合された特定のモデルの第1および第2の精度スコアに基づく、ことと
    を含む、請求項86に記載の方法。
  89. 前記複数の第2のモデル化プロシージャを実施することに先立って、
    前記初期予測問題のための前記選択されたモデル化プロシージャの好適性に基づいて、前記第2のモデル化プロシージャを選択すること
    をさらに含み、
    前記初期予測問題のための前記特定の予測モデル化プロシージャの好適性は、少なくとも部分的に、前記特定の予測モデル化プロシージャのための高いモデル特有の予測値を有する前記初期データセットの1つまたは複数の特定の特徴の特性に基づいて、判定される、
    請求項82に記載の方法。
  90. 命令を複数の処理ノードに伝送することであって、前記命令は、前記第2のモデル化プロシージャの実行のために前記処理ノードのリソースを割り付けるリソース割付スケジュールを備え、前記リソース割付スケジュールは、少なくとも部分的に、前記初期予測問題のための前記第2のモデル化プロシージャの好適性に基づく、ことと、
    前記リソース割付スケジュールに従った前記複数の処理ノードによる前記第2のモデル化プロシージャの実行の結果を受信することであって、前記結果は、前記第2のモデル化プロシージャによって生成される予測モデル、および/または前記初期予測問題と関連付けられるデータのための生成されたモデルのスコアを含む、ことと、
    前記生成されたモデルから、少なくとも部分的に前記選択された予測モデルのスコアに基づいて、前記初期予測問題のための予測モデルを選択することと
    をさらに含む、請求項89に記載の方法。
  91. 前記生成された予測モデルのうちの2つまたはそれよりも多いものを組み合わせることによって、混合予測モデルを生成することと、
    前記混合予測モデルを評価することと
    をさらに含む、請求項89に記載の方法。
  92. 前記修正された予測問題のための前記特徴の予測値は、閾値予測値未満である、請求項65に記載の方法。
  93. 予測モデル化装置であって、
    プロセッサ実行可能命令を記憶するように構成されるメモリと、
    前記プロセッサ実行可能命令を実行するように構成されるプロセッサであって、前記プロセッサ実行可能命令を実行することは、前記装置に、
    (a)複数の予測モデル化プロシージャを実施することであって、前記予測モデル化プロシージャはそれぞれ、予測モデルと関連付けられ、各モデル化プロシージャを実施することは、前記関連付けられる予測モデルを、初期予測問題を表す初期データセットに適合させることを含む、ことと、
    (b)前記適合予測モデルのそれぞれの第1の個別の精度スコアを判定することであって、各適合モデルの前記第1の精度スコアは、前記適合モデルが前記初期予測問題の1つまたは複数の成果を予測する精度を表す、ことと、
    (c)前記初期データセットに含まれる個別の観察を横断して特徴の値をシャッフルし、それによって、修正された予測問題を表す、修正されたデータセットを生成することと、
    (d)前記適合予測モデルのそれぞれの第2の個別の精度スコアを判定することであって、各適合モデルの前記第2の精度スコアは、前記適合モデルが前記修正された予測問題の1つまたは複数の成果を予測する精度を表す、ことと、
    (e)前記適合モデル毎に前記特徴の個別のモデル特有の予測値を判定することであって、前記適合モデル毎の前記特徴のモデル特有の予測値は、前記適合モデルの第1および第2の精度スコアに基づく、ことと
    を含むステップを実施させる、プロセッサと
    を備える、装置。
  94. 製造品であって、前記製造品は、その上に記憶されたコンピュータ可読命令を有し、前記コンピュータ可読命令は、プロセッサによって実行されると、前記プロセッサに、
    (a)複数の予測モデル化プロシージャを実施することであって、前記予測モデル化プロシージャはそれぞれ、予測モデルと関連付けられ、各モデル化プロシージャを実施することは、初期予測問題を表す初期データセットに前記関連付けられる予測モデルを適合させることを含む、ことと、
    (b)前記適合予測モデルのそれぞれの第1の個別の精度スコアを判定することであって、各適合モデルの前記第1の精度スコアは、前記適合モデルが前記初期予測問題の1つまたは複数の成果を予測する精度を表す、ことと、
    (c)前記初期データセットに含まれる個別の観察を横断して特徴の値をシャッフルし、それによって、修正された予測問題を表す修正されたデータセットを生成することと、
    (d)前記適合予測モデルのそれぞれの第2の個別の精度スコアを判定することであって、各適合モデルの前記第2の精度スコアは、前記適合モデルが前記修正された予測問題の1つまたは複数の成果を予測する精度を表す、ことと、
    (e)前記適合モデル毎に前記特徴の個別のモデル特有の予測値を判定することであって、前記適合モデル毎の前記特徴のモデル特有の予測値は、前記適合モデルの第1および第2の精度スコアに基づく、ことと
    を含む動作を実施させる、製造品。
  95. 予測モデル化方法であって、前記予測モデル化方法は、
    適合一次予測モデルを取得することであって、前記一次予測モデルは、1つまたは複数の第1の入力変数の値に基づいて、予測問題の1つまたは複数の出力変数の値を予測するように構成される、ことと、
    前記適合一次モデルに二次予測モデル化プロシージャを実施することであって、前記二次モデル化プロシージャは、二次予測モデルと関連付けられ、前記適合一次モデルに前記二次予測モデル化プロシージャを実施することは、
    複数の二次観察を含む、二次入力データを生成することであって、各二次観察は、1つまたは複数の第2の入力変数の個別の観察値と、前記出力変数の予測値とを含み、前記二次入力データを生成することは、二次観察毎に、前記第2の入力変数の個別の観察値および前記第1の入力変数の対応する観察値を取得することと、前記第1の入力変数の対応する観察値に前記一次予測モデルを適用し、前記出力変数の個別の予測値を生成することとを含む、ことと、
    前記二次入力データから二次訓練データおよび二次試験データを生成することと、
    前記二次予測モデルを前記二次訓練データに適合させることによって、前記適合一次モデルの適合二次予測モデルを生成することと、
    前記二次試験データに前記適合一次モデルの適合二次予測モデルを試験することと
    を含む、ことと
    を含む、予測モデル化方法。
  96. 前記適合一次モデルを取得することは、前記一次予測モデルと関連付けられる一次予測モデル化プロシージャを実施することを含み、前記一次予測モデル化プロシージャを実施することは、
    複数の一次観察を含む一次入力データを取得することであって、各一次観察は、前記第1の入力変数の個別の観察値と、前記出力変数の対応する観察値とを含む、ことと、
    前記一次入力データから、一次訓練データおよび一次試験データを生成することと、
    前記一次予測モデルを前記一次訓練データに適合させることと、
    前記試験データに前記適合一次予測モデルを試験することと
    を含む、請求項95に記載の方法。
  97. 前記適合一次モデルを取得することは、2つの適合予測モデルを混合することを含む、請求項95に記載の方法。
  98. 前記適合一次モデルを取得することは、
    少なくとも部分的に、前記予測問題の特性および/または前記個別の一次予測モデル化プロシージャの属性に基づいて、前記予測問題のための複数の一次予測モデル化プロシージャの好適性を判定することと、
    前記予測問題のための選択されたモデル化プロシージャの判定された好適性に基づいて、前記複数の一次予測モデル化プロシージャから1つまたは複数の予測モデル化プロシージャを選択することと、
    前記1つまたは複数の予測モデル化プロシージャを実施することと
    を含む、請求項95に記載の方法。
  99. 前記1つまたは複数の予測モデル化プロシージャを実施することは、
    命令を複数の処理ノードに伝送することであって、前記命令は、前記選択されたモデル化プロシージャの実行のために前記処理ノードのリソースを割り付けるリソース割付スケジュールを備え、前記リソース割付スケジュールは、少なくとも部分的に、前記予測問題のための前記選択されたモデル化プロシージャの好適性に基づく、ことと、
    前記リソース割付スケジュールに従った前記複数の処理ノードによる前記選択されたモデル化プロシージャの実行の結果を受信することであって、前記結果は、前記選択されたモデル化プロシージャによって生成される予測モデルを含む、ことと、
    前記生成されたモデルから前記適合一次モデルを選択することと
    を含む、請求項98に記載の方法。
  100. 前記二次予測モデルは、RuleFitモデルおよび一般化付加モデルから成る群から選択される、請求項95に記載の方法。
  101. 前記二次モデルの交差検証を実施することをさらに含み、前記二次入力データは、少なくとも1つのデータセットを備え、前記二次訓練データを生成することは、前記データセットの第1のサブセットを取得することを含み、前記二次試験データを生成することは、前記データセットの第2のサブセットを取得することを含む、請求項95に記載の方法。
  102. 前記二次訓練データは、第1の二次訓練データであり、前記二次試験データは、第1の二次試験データであり、前記適合二次モデルは、第1の適合二次モデルであり、前記二次モデルの交差検証を実施することは、
    (a)前記二次入力データから第2の二次訓練データおよび第2の二次試験データを生成することであって、前記第2の二次訓練データは、前記データセットの第3のサブセットを含み、前記第2の二次試験データは、前記データセットの第4のサブセットを含む、ことと、
    (b)前記二次予測モデルを前記第2の二次訓練データに適合させ、第2の適合二次予測モデルを取得することと、
    (c)前記第2の二次試験データに前記第2の適合二次予測モデルを試験することと
    を含む、請求項101に記載の方法。
  103. 少なくとも第1のパーティションと第2のパーティションとを含む複数のパーティションに前記データセットを分割することをさらに含む、請求項102に記載の方法。
  104. 複数のパーティションに前記データセットを分割することは、前記データセット内の各観察を個別のパーティションに無作為に割り当てることを含む、請求項103に記載の方法。
  105. 前記第1の二次訓練データは、前記データセットの第1のパーティションを備え、
    前記第1の二次試験データは、前記第1のパーティションを除く前記データセットの全てのパーティションを備え、
    前記第2の二次訓練データは、前記データセットの第2のパーティションを備え、
    前記第2の二次試験データは、前記第2のパーティションを除く前記データセットの全てのパーティションを備える、
    請求項104に記載の方法。
  106. 前記第1の二次訓練データは、前記データセットの第1のパーティションのサブセットを備え、
    前記第1の二次試験データは、前記第1のパーティションを除く前記データセットの全てのパーティションの個別のサブセットを備え、
    前記第2の二次訓練データは、前記データセットの第2のパーティションのサブセットを備え、
    前記第2の二次試験データは、前記第2のパーティションを除く前記データセットの全てのパーティションの個別のサブセットを備える、
    請求項104に記載の方法。
  107. 前記二次入力データは、第1のパーティションと、第2のパーティションとを備え、
    前記データセットは、前記二次入力データの第1のパーティションを備え、
    前記方法はさらに、前記二次入力データの第2のパーティションを備えるホールドアウトデータに、前記第1および第2の適合二次モデルを試験することを含む、
    請求項102に記載の方法。
  108. いかなる予測モデルも前記ホールドアウトデータに適合されない、請求項107に記載の方法。
  109. 前記二次予測モデル化プロシージャを実施することはさらに、前記二次予測モデルのネスト化交差検証を実施することを含む、請求項95に記載の方法。
  110. 前記二次入力データは、少なくとも1つのデータセットを備え、
    前記二次予測モデルのネスト化交差検証を実施することは、
    少なくとも前記データセットの第1のパーティションと前記データセットの第2のパーティションとを含む前記データセットの第1の複数のパーティションに前記データセットを分割することと、
    少なくとも前記データセットの第1のパーティションの第1のパーティションと前記データセットの第1のパーティションの第2のパーティションとを含む前記データセットの第1のパーティションの複数のパーティションに前記データセットの第1のパーティションを分割することと
    を含み、
    前記二次訓練データは、前記データセットの第1のパーティションの第1のパーティションを備え、
    前記二次試験データは、前記データセットの第1のパーティションの第1のパーティションを除く前記データセットの第1のパーティションの全てのパーティションを備える、
    請求項109に記載の方法。
  111. 前記二次訓練データは、第1の二次訓練データであり、前記二次試験データは、第1の二次試験データであり、前記適合二次モデルは、第1の適合二次モデルであり、前記二次予測モデルのネスト化交差検証を実施することはさらに、
    (a)前記データセットの第1のパーティションから、第2の二次訓練データおよび第2の二次試験データを生成することであって、前記第2の二次訓練データは、前記データセットの第1のパーティションの第2のパーティションを備え、前記第2の二次試験データは、前記データセットの第1のパーティションの第2のパーティション以外の前記データセットの第1のパーティションの複数のパーティションを備える、ことと、
    (b)前記二次予測モデルを前記第2の二次訓練データに適合させ、第2の二次適合予測モデルを取得することと、
    (c)前記第2の二次試験データに前記第2の二次適合モデルを試験することと
    を含む、請求項110に記載の方法。
  112. 前記ネスト化交差検証を実施することはさらに、
    前記データセットの第2のパーティションに前記第1の適合二次モデルおよび前記第2の適合二次モデルを試験することと、
    前記データセットの第2のパーティションに前記第1および第2の適合二次モデルを試験することの結果に基づいて、前記第1の適合二次モデルを前記第2の適合二次モデルと比較することと
    を含む、請求項111に記載の方法。
  113. 前記適合予測モデルのそれぞれの精度スコアを判定することをさらに含み、各適合モデルの前記精度スコアは、前記適合モデルが1つまたは複数の予測問題の成果を予測する精度を表す、請求項95に記載の方法。
  114. 前記適合一次モデルの精度スコアと前記適合二次モデルの精度スコアとの間の相違を判定することをさらに含む、請求項113に記載の方法。
  115. 前記適合二次モデルの精度スコアは、前記適合一次モデルの精度スコアを超える、請求項114に記載の方法。
  116. 1つまたは複数の予測問題の成果を予測するために前記適合予測モデルのそれぞれによって使用される、計算リソースの量を判定することをさらに含む、請求項95に記載の方法。
  117. 前記適合一次モデルによって使用される前記計算リソースの量と前記適合二次モデルによって使用される前記計算リソースの量との間の相違を判定することをさらに含む、請求項116に記載の方法。
  118. 前記適合二次モデルによって使用される前記計算リソースの量は、前記適合一次モデルによって使用される前記計算リソースの量未満である、請求項117に記載の方法。
  119. 前記適合二次モデルを展開することをさらに含む、請求項95に記載の方法。
  120. 前記適合二次モデルを展開することは、前記予測問題のインスタンスを表す他のデータに前記適合二次モデルを適用することによって、複数の予測を生成することを含み、前記二次入力データは、前記他のデータを含まない、請求項119に記載の方法。
  121. 前記適合二次モデルは、1つまたは複数の条件付き規則のセットを備え、前記1つまたは複数の条件付き規則のセットは、1つまたは複数の機械実行可能if−then文のセットを備える、請求項119に記載の方法。
  122. 前記二次入力データは、第1の二次入力データであり、前記適合二次モデルを展開することはさらに、少なくとも部分的に第2の二次入力データに基づいて、前記適合二次モデルをリフレッシュすることを含む、請求項119に記載の方法。
  123. 前記適合二次モデルは、第1の適合二次モデルであり、少なくとも部分的に前記第2の二次入力データに基づいて、前記適合二次モデルをリフレッシュすることは、
    前記第2の二次入力データから、第2の二次訓練データおよび第2の二次試験データを生成することと、
    前記二次予測モデルを前記第2の二次訓練データに適合させることによって、前記適合一次モデルの第2の適合二次モデルを生成することと、
    前記第2の二次試験データに前記一次モデルの前記第2の適合二次モデルを試験することと、
    前記第1の適合二次モデルおよび前記第2の適合二次モデルを混合し、リフレッシュされた二次予測モデルを生成することと
    を含む、請求項122に記載の方法。
  124. 前記適合二次モデルは、第1の適合二次モデルであり、少なくとも部分的に前記第2の二次入力データに基づいて、前記適合二次モデルをリフレッシュすることは、
    前記第1の二次入力データの少なくとも一部と、前記第2の二次入力データの少なくとも一部とを備える、第3の二次入力データを生成することと、
    前記第3の二次入力データから、第3の二次訓練データおよび第3の二次試験データを生成することと、
    前記二次予測モデルを前記第3の二次訓練データに適合させることによって、前記適合一次モデルの第2の適合二次モデルを生成することと、
    前記第3の二次試験データに前記一次モデルの前記第2の適合二次モデルを試験することと
    を含む、請求項122に記載の方法。
  125. 前記第1の入力変数は、前記第2の入力変数である、請求項95に記載の方法。
  126. 前記第1の入力変数および前記第2の入力変数は両方とも、特定の入力変数を含む、請求項95に記載の方法。
  127. 前記第1の入力変数のうちのいずれも、前記第2の入力変数に含まれない、請求項95に記載の方法。
  128. 前記二次モデル化プロシージャは、複数の二次モデル化プロシージャのうちの1つであり、前記二次予測モデルは、複数の第2の予測モデルのうちの1つであり、前記方法は、前記適合一次モデルに前記複数の二次モデル化プロシージャを実施し、それによって、前記適合一次モデルの複数の適合二次モデルを生成することを含む、請求項95に記載の方法。
  129. 前記適合二次予測モデルのそれぞれの精度スコアを判定することをさらに含み、各適合二次モデルの前記精度スコアは、前記適合二次モデルが1つまたは複数の予測問題の成果を予測する精度を表す、請求項128に記載の方法。
  130. 前記精度スコアのうちのいずれが最高であるかを判定することと、
    前記最高精度スコアを伴う前記適合二次モデルを展開することと
    をさらに含む、請求項129に記載の方法。
  131. 予測モデル化装置であって、
    二次予測モデルと関連付けられる二次予測モデル化プロシージャを符号化する機械実行可能モジュールを記憶するように構成されるメモリであって、前記二次予測モデル化プロシージャは、少なくとも1つの前処理タスクと、少なくとも1つのモデル適合タスクとを含む、複数のタスクを含む、メモリと、
    前記機械実行可能モジュールを実行するように構成される少なくとも1つのプロセッサであって、前記機械実行可能モジュールを実行することは、前記装置に、前記二次予測モデル化プロシージャを適合一次予測モデルに実施させ、前記二次予測モデル化プロシージャを適合一次予測モデルに実施させることは、
    前記適合一次予測モデルを取得することを含む前記前処理タスクを実施することであって、前記一次予測モデルは、1つまたは複数の第1の入力変数の値に基づいて、予測問題の1つまたは複数の出力変数の値を予測するように構成される、ことと、
    前記モデル適合タスクを実施することであって、前記モデル適合タスクを実施することは、
    複数の二次観察を含む二次入力データを生成することであって、各二次観察は、1つまたは複数の第2の入力変数の個別の観察値と、前記出力変数の予測値とを含み、前記二次入力データを生成することは、二次観察毎に、前記第2の入力変数の個別の観察値および前記第1の入力変数の対応する観察値を取得することと、前記第1の入力変数の対応する観察値に前記一次予測モデルを適用し、前記出力変数の個別の予測値を生成することとを含む、ことと、
    前記二次入力データから二次訓練データおよび二次試験データを生成することと、
    前記二次予測モデルを前記二次訓練データに適合させることによって、前記適合一次モデルの適合二次予測モデルを生成することと、
    前記二次試験データに前記適合一次モデルの適合二次予測モデルを試験することと
    を含む、ことと
    を含む、プロセッサと
    を備える、装置。

JP2019520991A 2016-10-21 2017-10-21 予測データ分析のためのシステムおよび関連する方法および装置 Active JP7107926B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662411526P 2016-10-21 2016-10-21
US15/331,797 2016-10-21
US15/331,797 US10366346B2 (en) 2014-05-23 2016-10-21 Systems and techniques for determining the predictive value of a feature
US62/411,526 2016-10-21
PCT/US2017/057763 WO2018075995A1 (en) 2016-10-21 2017-10-21 Systems for predictive data analytics, and related methods and apparatus

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020176551A Division JP2021012734A (ja) 2016-10-21 2020-10-21 予測データ分析のためのシステムおよび関連する方法および装置

Publications (3)

Publication Number Publication Date
JP2019537125A true JP2019537125A (ja) 2019-12-19
JP2019537125A5 JP2019537125A5 (ja) 2020-12-03
JP7107926B2 JP7107926B2 (ja) 2022-07-27

Family

ID=60421839

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019520991A Active JP7107926B2 (ja) 2016-10-21 2017-10-21 予測データ分析のためのシステムおよび関連する方法および装置
JP2020176551A Pending JP2021012734A (ja) 2016-10-21 2020-10-21 予測データ分析のためのシステムおよび関連する方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020176551A Pending JP2021012734A (ja) 2016-10-21 2020-10-21 予測データ分析のためのシステムおよび関連する方法および装置

Country Status (7)

Country Link
EP (1) EP3529755A1 (ja)
JP (2) JP7107926B2 (ja)
KR (1) KR102448694B1 (ja)
AU (1) AU2017345796A1 (ja)
GB (2) GB2571651B (ja)
SG (1) SG10202104185UA (ja)
WO (1) WO2018075995A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102235588B1 (ko) * 2019-12-09 2021-04-02 한국로봇융합연구원 다중 계층을 포함하는 인공지능 모델의 계층별 추론 분류 성능 평가 방법 및 평가 장치
US11159283B2 (en) 2017-04-03 2021-10-26 Telefonaktiebolaget Lm Ericsson (Publ) HARQ handling for nodes with variable processing times
WO2021260981A1 (ja) * 2020-06-22 2021-12-30 株式会社Yamato 情報処理装置及び情報処理方法
KR20220025342A (ko) * 2020-08-24 2022-03-03 강원대학교산학협력단 로지스틱 회귀를 이용한 아크신호 검출방법
US11568286B2 (en) * 2019-01-31 2023-01-31 Fair Isaac Corporation Providing insights about a dynamic machine learning model
US11568187B2 (en) 2019-08-16 2023-01-31 Fair Isaac Corporation Managing missing values in datasets for machine learning models
US11568367B2 (en) * 2019-11-07 2023-01-31 Zebel Group, Inc. Automated parameterized modeling and scoring intelligence system

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10990067B2 (en) 2016-07-07 2021-04-27 Aspen Technology, Inc. Computer system and method for the dynamic construction and online deployment of an operation-centric first-principles process model for predictive analytics
US10425353B1 (en) 2017-01-27 2019-09-24 Triangle Ip, Inc. Machine learning temporal allocator
WO2019182590A1 (en) * 2018-03-21 2019-09-26 Visa International Service Association Automated machine learning systems and methods
US11157837B2 (en) 2018-08-02 2021-10-26 Sas Institute Inc. Advanced detection of rare events and corresponding interactive graphical user interface
US11816686B2 (en) * 2018-10-02 2023-11-14 Mercari, Inc. Determining sellability score and cancellability score
US11068942B2 (en) * 2018-10-19 2021-07-20 Cerebri AI Inc. Customer journey management engine
US20200161002A1 (en) * 2018-11-21 2020-05-21 International Business Machines Corporation Predicting an occurrence of a symptom in a patient
US20200184366A1 (en) * 2018-12-06 2020-06-11 Fujitsu Limited Scheduling task graph operations
US11429873B2 (en) * 2019-03-15 2022-08-30 International Business Machines Corporation System for automatic deduction and use of prediction model structure for a sequential process dataset
EP3966641A1 (en) 2019-05-09 2022-03-16 Aspen Technology, Inc. Combining machine learning with domain knowledge and first principles for modeling in the process industries
US20200387818A1 (en) * 2019-06-07 2020-12-10 Aspen Technology, Inc. Asset Optimization Using Integrated Modeling, Optimization, and Artificial Intelligence
CN110310048B (zh) * 2019-07-10 2023-07-04 云南电网有限责任公司电力科学研究院 一种配网规划全过程评估方法及装置
US11782401B2 (en) 2019-08-02 2023-10-10 Aspentech Corporation Apparatus and methods to build deep learning controller using non-invasive closed loop exploration
CN110443420B (zh) * 2019-08-05 2023-05-09 山东农业大学 一种基于机器学习的作物产量预测方法
US11068758B1 (en) * 2019-08-14 2021-07-20 Compellon Incorporated Polarity semantics engine analytics platform
KR102634916B1 (ko) 2019-08-29 2024-02-06 주식회사 엘지에너지솔루션 온도 추정 모델 결정 방법 및 장치, 온도 추정 모델이 적용된 배터리 관리 시스템
WO2021054905A1 (en) * 2019-09-19 2021-03-25 Bi̇lkav Eği̇ti̇m Danişmanlik Anoni̇m Şi̇rketi̇ A machine learning based prediction system and method
EP3828706A4 (en) * 2019-09-30 2022-04-27 Hitachi Information & Telecommunication Engineering, Ltd. STATE PREDICTION SYSTEM
WO2021075954A1 (en) * 2019-10-14 2021-04-22 Malayan Banking Berhad Due-diligence for risk mitigation
KR102152957B1 (ko) * 2019-10-18 2020-09-07 (의료)길의료재단 심박 변이도(hrv)에 기초한 기타 불안장애로부터 공황장애 감별 방법 및 그 장치
WO2021076760A1 (en) 2019-10-18 2021-04-22 Aspen Technology, Inc. System and methods for automated model development from plant historical data for advanced process control
KR102204958B1 (ko) * 2019-10-28 2021-01-20 삼성에스디에스 주식회사 의료 검사 결과 데이터의 처리 방법
CN112783890B (zh) * 2019-11-08 2024-05-07 珠海金山办公软件有限公司 一种生成数据透视表行的方法及装置
KR102153834B1 (ko) * 2019-11-25 2020-09-09 티아이테크놀로지 주식회사 확정치 및 추정치 기반의 데이터 정량화 방법
CN111008705B (zh) * 2019-12-06 2024-02-13 东软集团股份有限公司 一种搜索方法、装置及设备
KR102328640B1 (ko) * 2019-12-17 2021-11-18 충북대학교 산학협력단 교육종단연구 데이터를 처리하는 장치 및 방법
CN113052582B (zh) * 2019-12-27 2024-03-22 中移动信息技术有限公司 一种账单校验的方法、装置、设备及计算机存储介质
US20210217514A1 (en) * 2020-01-13 2021-07-15 Skygen USA, LLC Systems, methods, and media for generating peer group driven operational recommendations
CN113535829B (zh) * 2020-04-17 2022-04-29 阿里巴巴集团控股有限公司 排序模型的训练方法、装置、电子设备及存储介质
US11231967B2 (en) * 2020-04-20 2022-01-25 Stratum, Llc Dynamically allocating and managing cloud workers
KR102352036B1 (ko) * 2020-04-28 2022-01-18 이진행 확률적 경사 하강법을 이용한 변수 선택 장치 및 방법
US11494285B1 (en) * 2020-09-30 2022-11-08 Amazon Technologies, Inc. Static code analysis tool and configuration selection via codebase analysis
CN114372569A (zh) * 2020-10-14 2022-04-19 新智数字科技有限公司 数据测量方法、装置、电子设备和计算机可读介质
CN112395336B (zh) * 2020-11-27 2024-03-19 北京卫星环境工程研究所 一种长时间序列数据管理和可视化方法
CN112699113B (zh) * 2021-01-12 2022-08-05 上海交通大学 时序数据流驱动的工业制造流程运行监测系统
CN112765891B (zh) * 2021-01-27 2023-11-10 辽宁工程技术大学 一种矿井火灾致灾因子最大值的预测方法
KR102560263B1 (ko) * 2021-02-03 2023-07-28 주식회사 크로커스 모드 분해와 신경망을 이용한 전력 예측 장치
US11630446B2 (en) 2021-02-16 2023-04-18 Aspentech Corporation Reluctant first principles models
KR102290494B1 (ko) * 2021-03-10 2021-08-17 주식회사 코루제약 히알루론산을 함유하여 피부의 볼륨과 탄력성 유지에 적합한 효과를 나타내는 필러 조성물을 제조하는 방법
CN113076339A (zh) * 2021-03-18 2021-07-06 北京沃东天骏信息技术有限公司 一种数据缓存方法、装置、设备及存储介质
US20230064692A1 (en) * 2021-08-20 2023-03-02 Mediatek Inc. Network Space Search for Pareto-Efficient Spaces
KR102414821B1 (ko) * 2021-11-02 2022-06-30 주식회사 에이젠글로벌 금융 서비스를 위한 인공지능 모델 생성 방법 및 이러한 방법을 수행하는 장치
KR102413588B1 (ko) * 2021-11-15 2022-06-27 주식회사 테스트웍스 학습 데이터에 따른 객체 인식 모델 추천 방법, 시스템 및 컴퓨터 프로그램
KR102635894B1 (ko) * 2021-12-29 2024-02-08 한국남동발전 주식회사 스마트 발전 연료 가격 예측 시스템 및 방법
CN114677022B (zh) * 2022-03-31 2023-09-15 南通电力设计院有限公司 一种多元融合能源分布式管理的方法及系统
GB2622606A (en) * 2022-09-22 2024-03-27 Nokia Technologies Oy Capability reporting for multi-model artificial intelligence/machine learning user equipment features
KR102481814B1 (ko) * 2022-09-23 2022-12-28 전남대학교산학협력단 샘플 크기가 작고 불균형한 분포를 가진 임상 데이터에서 예측을 위한 통계적학습 프레임워크
CN116582702B (zh) * 2023-07-11 2023-09-15 成都工业职业技术学院 一种基于大数据的网络视频播放量预测方法、系统及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581228A (ja) * 1991-09-19 1993-04-02 Hitachi Ltd ニユーラルネツトワークの構成方法および学習/想起システム
WO2015179778A1 (en) * 2014-05-23 2015-11-26 Datarobot Systems and techniques for predictive data analytics

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7448037B2 (en) * 2004-01-13 2008-11-04 International Business Machines Corporation Method and data processing system having dynamic profile-directed feedback at runtime
US20050192937A1 (en) * 2004-02-26 2005-09-01 International Business Machines Corporation Dynamic query optimization
KR101279343B1 (ko) * 2005-09-13 2013-07-04 프리스케일 세미컨덕터, 인크. 멀티-스레딩된 프로세서 구조
CN100547553C (zh) * 2007-12-07 2009-10-07 华中科技大学 基于仿真网格的仿真场景自动部署方法
US8656404B2 (en) * 2008-10-16 2014-02-18 Palo Alto Research Center Incorporated Statistical packing of resource requirements in data centers
US8498887B2 (en) * 2008-11-24 2013-07-30 International Business Machines Corporation Estimating project size
JP5382436B2 (ja) * 2009-08-03 2014-01-08 ソニー株式会社 データ処理装置、データ処理方法、およびプログラム
US9037717B2 (en) * 2009-09-21 2015-05-19 International Business Machines Corporation Virtual machine demand estimation
US8443376B2 (en) * 2010-06-01 2013-05-14 Microsoft Corporation Hypervisor scheduler
US20120151479A1 (en) * 2010-12-10 2012-06-14 Salesforce.Com, Inc. Horizontal splitting of tasks within a homogenous pool of virtual machines
JP5421949B2 (ja) * 2011-03-23 2014-02-19 株式会社デンソーアイティーラボラトリ 交通量予測装置、交通量予測方法およびプログラム
US8370280B1 (en) * 2011-07-14 2013-02-05 Google Inc. Combining predictive models in predictive analytical modeling
TWI451336B (zh) * 2011-12-20 2014-09-01 Univ Nat Cheng Kung 預測模型之建模樣本的篩選方法及其電腦程式產品
KR101369261B1 (ko) * 2012-02-10 2014-03-06 서울대학교산학협력단 스마트 단말을 이용한 사용자의 이동 경로 실시간 예측 방법 및 그 시스템
US8943252B2 (en) * 2012-08-16 2015-01-27 Microsoft Corporation Latency sensitive software interrupt and thread scheduling
CN104281492A (zh) * 2013-07-08 2015-01-14 无锡南理工科技发展有限公司 一种异构环境下的Hadoop任务公平调度方法
US9697469B2 (en) * 2014-08-13 2017-07-04 Andrew McMahon Method and system for generating and aggregating models based on disparate data from insurance, financial services, and public industries

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581228A (ja) * 1991-09-19 1993-04-02 Hitachi Ltd ニユーラルネツトワークの構成方法および学習/想起システム
WO2015179778A1 (en) * 2014-05-23 2015-11-26 Datarobot Systems and techniques for predictive data analytics

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11159283B2 (en) 2017-04-03 2021-10-26 Telefonaktiebolaget Lm Ericsson (Publ) HARQ handling for nodes with variable processing times
US11374703B2 (en) 2017-04-03 2022-06-28 Telefonaktiebolaget Lm Ericsson (Publ) HARQ handling for nodes with variable processing times
US11568286B2 (en) * 2019-01-31 2023-01-31 Fair Isaac Corporation Providing insights about a dynamic machine learning model
US11568187B2 (en) 2019-08-16 2023-01-31 Fair Isaac Corporation Managing missing values in datasets for machine learning models
US11875239B2 (en) 2019-08-16 2024-01-16 Fair Isaac Corporation Managing missing values in datasets for machine learning models
US11568367B2 (en) * 2019-11-07 2023-01-31 Zebel Group, Inc. Automated parameterized modeling and scoring intelligence system
KR102235588B1 (ko) * 2019-12-09 2021-04-02 한국로봇융합연구원 다중 계층을 포함하는 인공지능 모델의 계층별 추론 분류 성능 평가 방법 및 평가 장치
WO2021260981A1 (ja) * 2020-06-22 2021-12-30 株式会社Yamato 情報処理装置及び情報処理方法
KR20220025342A (ko) * 2020-08-24 2022-03-03 강원대학교산학협력단 로지스틱 회귀를 이용한 아크신호 검출방법
KR102386782B1 (ko) 2020-08-24 2022-04-14 강원대학교산학협력단 로지스틱 회귀를 이용한 아크신호 검출방법

Also Published As

Publication number Publication date
GB2571651A (en) 2019-09-04
JP2021012734A (ja) 2021-02-04
WO2018075995A1 (en) 2018-04-26
KR20190108559A (ko) 2019-09-24
GB2606674B (en) 2023-06-28
SG10202104185UA (en) 2021-06-29
GB201907147D0 (en) 2019-07-03
EP3529755A1 (en) 2019-08-28
JP7107926B2 (ja) 2022-07-27
AU2017345796A1 (en) 2019-05-23
GB2606674A (en) 2022-11-16
GB202211852D0 (en) 2022-09-28
GB2571651B (en) 2022-09-21
KR102448694B1 (ko) 2022-09-28

Similar Documents

Publication Publication Date Title
US11922329B2 (en) Systems for second-order predictive data analytics, and related methods and apparatus
JP7107926B2 (ja) 予測データ分析のためのシステムおよび関連する方法および装置
US10496927B2 (en) Systems for time-series predictive data analytics, and related methods and apparatus
US20210326782A1 (en) Systems and techniques for predictive data analytics
US10366346B2 (en) Systems and techniques for determining the predictive value of a feature
US20220076164A1 (en) Automated feature engineering for machine learning models
US20220199266A1 (en) Systems and methods for using machine learning with epidemiological modeling
US9798788B1 (en) Holistic methodology for big data analytics
US20230083891A1 (en) Methods and systems for integrated design and execution of machine learning models
US20230091610A1 (en) Systems and methods of generating and validating time-series features using machine learning
US20230051833A1 (en) Systems and methods for using machine learning with epidemiological modeling
Strickland Data analytics using open-source tools
US20230065870A1 (en) Systems and methods of multimodal clustering using machine learning
US20230206610A1 (en) Methods and systems for visual representation of model performance
WO2022240860A1 (en) Methods and systems for identification and visualization of bias and fairness for machine learning models
Prabhu et al. Intelligent Systems
Xue To Make Right Decisions, Let The Data Speak--Analysis Of Opportunities Offered By" Data Science".
da Silva Costa Advancing the Design and Implementation of Big Data Warehousing Systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210531

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220411

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220411

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220426

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220427

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220714

R150 Certificate of patent or registration of utility model

Ref document number: 7107926

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150