JP2021012734A - System for analyzing prediction data, and method and device related thereto - Google Patents

System for analyzing prediction data, and method and device related thereto Download PDF

Info

Publication number
JP2021012734A
JP2021012734A JP2020176551A JP2020176551A JP2021012734A JP 2021012734 A JP2021012734 A JP 2021012734A JP 2020176551 A JP2020176551 A JP 2020176551A JP 2020176551 A JP2020176551 A JP 2020176551A JP 2021012734 A JP2021012734 A JP 2021012734A
Authority
JP
Japan
Prior art keywords
model
modeling
predictive
data
prediction
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.)
Pending
Application number
JP2020176551A
Other languages
Japanese (ja)
Inventor
アチン ジェレミー
Achin Jeremy
アチン ジェレミー
デゴドイ トーマス
Degodoy Thomas
デゴドイ トーマス
コノート シャビエル
Conort Xavier
コノート シャビエル
ユルゲンソン セルゲイ
Yurgenson Sergey
ユルゲンソン セルゲイ
エル. ステッドマン マーク
L Steadman Mark
エル. ステッドマン マーク
コウンドリー グレン
Koundry Glen
コウンドリー グレン
プレッテンホーファー ペーター
Prettenhofer Peter
プレッテンホーファー ペーター
ニアン チュア ホン
Hon Nian Chua
ニアン チュア ホン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datarobot Inc
Original Assignee
Datarobot Inc
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 Datarobot Inc filed Critical Datarobot Inc
Publication of JP2021012734A publication Critical patent/JP2021012734A/en
Pending legal-status Critical Current

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

To provide a system for analyzing prediction data, and a method and a device related to the system.SOLUTION: A technique for analyzing prediction data uses a statistical learning method to develop, select, and/or understand a prediction model for a prediction problem. The technique for analyzing predicted data may include a technique improved to generate a prediction model for a time-series prediction problem, a technique improved to determine a prediction value of an input variable ("feature"), and a technique improved to generate a secondary model of a primary prediction model.SELECTED DRAWING: Figure 1

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)に関連しており、これらの各々は、特許法によって許容される最大限の範囲で本明細書中に参照により援用される。 (Mutual Reference of Related Applications) This application was filed on October 21, 2016, and is entitled "Systems and Technologies for Determining the Presidentive Value of a Feature", US Patent Application No. 15 / 331,797 (agent). Control No. DRB-001C1CP), US Provisional Patent Application No. 62 / 411,526 (Agent Control No. DRB-002PR), filed October 21, 2016, entitled "Systems and Technologies for Predictive Data Analytics". In connection with, each of these is incorporated herein by reference to the maximum extent permitted by patent law.

本開示は、概して、データ分析のためのシステムおよび技法に関する。いくつかの実施形態は、具体的には、予測問題のための予測モデルを開発、選択、および/または理解するために統計的学習方法を使用するためのシステムならびに技法に関する。 The present disclosure generally relates to systems and techniques for data analysis. Some embodiments specifically relate to systems and techniques for using statistical learning methods to develop, select, and / or understand predictive models for predictive problems.

多くの団体および個人は、それらの運営を向上させるために、またはそれらの意思決定を補助するために、電子データを使用する。例えば、多くの企業は、取引を実行すること、入力および出力を追跡すること、または製品を市場に出すこと等の種々のビジネスプロセスの効率を増進するために、データ管理技術を使用する。別の実施例として、多くの事業は、ビジネスプロセスの業績を評価するため、プロセスを向上させる労力の有効性を測定するため、またはプロセスを調節する方法を決定するために、運営データを使用する。 Many organizations and individuals use electronic data to improve their operations or to assist in their decision making. For example, many companies use data management techniques to improve the efficiency of various business processes, such as executing transactions, tracking inputs and outputs, or bringing products to market. As another example, many businesses use operational data to assess the performance of a business process, to measure the effectiveness of efforts to improve the process, or to determine how to adjust the process. ..

ある場合には、問題または機会を予測するために、電子データが使用されることができる。いくつかの団体は、過去に起こったことを表す運営データを、予測モデルを構築するための業績測定基準の後続の値を表す評価と組み合わせる。予測モデルによって予測される成果に基づいて、団体は、決定を行い、プロセスを調節し、または他の措置を講じることができる。例えば、保険会社は、将来の請求をより正確に予想する予測モデル、または保険契約者が競合保険業者に切り替えることを考慮しているときを予測する予測モデルを構築しようとし得る。自動車製造業者は、新しい車のモデルの需要をより正確に予想する予測モデルを構築しようとし得る。消防署は、火事の危険性が高い日を予想する、または火事の危険に曝されている構造物を予想する、予測モデルを構築しようとし得る。 In some cases, electronic data can be used to predict problems or opportunities. Some organizations combine operational data that represents what happened in the past with assessments that represent subsequent values of performance metrics for building forecast models. Based on the outcomes predicted by the forecasting model, organizations can make decisions, regulate processes, or take other steps. For example, an insurer may attempt to build a predictive model that more accurately predicts future claims, or a predictive model that predicts when policyholders are considering switching to competing insurers. Automakers may try to build predictive models that more accurately predict the demand for new car models. Fire departments may attempt to build predictive models that predict high-risk days or structures at risk of fire.

機械学習技法(例えば、監視下の統計的学習技法)が、少なくとも2つの変数の前もって記録された観察を含むデータセットから、予測モデルを生成するために使用されてもよい。予測される変数は、「標的」、「応答」、または「従属変数」と称され得る。予測を行うために使用されることができる、残りの変数は、「特徴」、「予測因子」、または「独立変数」と称され得る。観察は、概して、少なくとも1つの「訓練」データセットおよび少なくとも1つの「試験」データセットに分割される。次いで、データ分析者は、統計的学習プロシージャを選択し、予測モデルを生成するように、そのプロシージャを訓練データセット上で実行する。次いで、分析者は、標的の実際の観察に対して、モデルの標的の値の予測良好度を判定するように、試験データセット上で生成されたモデルを試験する。 Machine learning techniques (eg, monitored statistical learning techniques) may be used to generate predictive models from datasets containing pre-recorded observations of at least two variables. The predicted variable can be referred to as the "target," "response," or "dependent variable." The remaining variables that can be used to make predictions can be referred to as "features," "predictors," or "independent variables." Observations are generally divided into at least one "training" dataset and at least one "test" dataset. The data analyst then selects a statistical learning procedure and runs it on the training dataset to generate a predictive model. The analyst then tests the model generated on the test dataset to determine the predictive goodness of the model's target values against actual observations of the target.

いくつかの実施形態の動機 Motivation for some embodiments

データ分析者は、運営および評価データを含む、電子データから予測モデルを構築するために、分析技法および計算インフラストラクチャを使用することができる。データ分析者は、概して、予測モデルを構築するために、2つのアプローチのうちの1つを使用する。第1のアプローチを用いると、予測問題を取り扱う団体は、単純に、同一予測問題または類似予測問題のためにすでに開発されている、パッケージ化された予測モデル化ソリューションを使用する。本「大量生産」アプローチは、安価であるが、概して、比較的多数の団体に共通する少数の予測問題(例えば、不正検出、回転売買管理、市場応答等)のためのみに実行可能である。第2のアプローチを用いると、データ分析者のチームが、予測問題のためのカスタマイズされた予測モデル化ソリューションを構築する。本「専門家」アプローチは、概して、高価で時間がかかり、したがって、少数の高額予測問題に使用される傾向がある。 Data analysts can use analytical techniques and computational infrastructure to build predictive models from electronic data, including operational and evaluation data. Data analysts generally use one of two approaches to build predictive models. Using the first approach, organizations dealing with predictive problems simply use packaged predictive modeling solutions that have already been developed for identical or similar predictive problems. This "mass production" approach is inexpensive, but generally feasible only for a small number of forecasting problems common to a relatively large number of organizations (eg, fraud detection, revolving trading management, market response, etc.). Using the second approach, a team of data analysts builds a customized predictive modeling solution for predictive problems. This "expert" approach is generally expensive and time consuming, and therefore tends to be used for a small number of high-value forecasting problems.

予測問題のための潜在的予測モデル化ソリューションの空間は、概して、大きくて複雑である。統計的学習技法は、多くの学問的伝統(例えば、数学、統計学、物理学、工学、経済学、社会学、生物学、医学、人工知能、データマイニング等)による、および多くの商業分野における用途(例えば、財政、保険、小売、製造、医療等)による影響を受ける。その結果として、多くの変異形および/または調整パラメータを有し得る、多くの異なる予測モデル化アルゴリズム、ならびにそれらの独自の変異形および/またはパラメータを用いた異なる前処理ならびに後処理ステップがある。潜在的予測モデル化ソリューションの量(例えば、前処理ステップ、モデル化アルゴリズム、および後処理ステップの組み合わせ)は、すでに極めて大きく、研究者が新しい技法を開発するにつれて急速に増加している。 The space for potential predictive modeling solutions for predictive problems is generally large and complex. Statistical learning techniques are based on many academic traditions (eg, mathematics, statistics, physics, engineering, economics, sociology, biology, medicine, artificial intelligence, data mining, etc.) and in many commercial disciplines. Affected by use (eg, finance, insurance, retail, manufacturing, medical, etc.). As a result, there are many different predictive modeling algorithms that can have many variants and / or adjustment parameters, as well as different pre- and post-treatment steps using their own variants and / or parameters. The amount of potential predictive modeling solutions (eg, combinations of pre-processing steps, modeling algorithms, and post-processing steps) is already quite large and is growing rapidly as researchers develop new techniques.

予測モデル化技法のこの広大な空間を考慮すると、予測モデルを生成することへの専門家アプローチは、時間がかかり、モデル化検索空間の大部分を未探索のままにする傾向がある。分析者は、自分の直感または以前の経験、および広範な試行錯誤試験に基づいて、その場限りの様式でモデル化空間を探索する傾向がある。彼らは、いくつかの潜在的に有用な探索手段を追求しない、または最初の労力の結果に応答して適切に検索を調節しない場合がある。さらに、試行錯誤試験の範囲は、専門家アプローチが、概して、モデル化検索空間のわずかな部分のみを探索するように、分析者の時間に対する制約によって制限される傾向がある。 Given this vast space of predictive modeling techniques, expert approaches to generating predictive models tend to be time consuming and leave most of the modeled search space unexplored. Analysts tend to explore the modeled space in an ad hoc manner, based on their intuition or previous experience, and extensive trial and error testing. They may not pursue some potentially useful search tools, or may not adjust their search appropriately in response to the results of the initial effort. Moreover, the scope of trial and error testing tends to be limited by the analyst's time constraints, such that the expert approach generally explores only a small portion of the modeled search space.

専門家アプローチはまた、非常に高価であり得る。専門家アプローチを介して予測モデルを開発することは、多くの場合、計算リソースおよび高賃金のデータ分析者への多額の投資を伴う。これらの多額の費用を考慮すると、団体は、多くの場合、安価であり得るが、本広大な予測モデル化空間のわずかな部分のみ(例えば、規定予測問題への容認可能なソリューションを含有することが先験的に予期される、モデル化空間の一部)を探索する傾向がある、大量生産アプローチを支持して、専門家アプローチを控える。大量生産アプローチは、未探索オプションに対して不完全に機能する予測モデルを生成し得る。 The expert approach can also be very expensive. Developing forecast models through an expert approach often involves a large investment in computational resources and high-paying data analysts. Given these high costs, organizations can often be cheap, but include only a small portion of this vast forecast modeling space (eg, an acceptable solution to a defined forecast problem). In favor of mass production approaches, which tend to explore a priori (part of the modeling space), refrain from expert approaches. The mass production approach can generate predictive models that work imperfectly for unexplored options.

予測問題のための潜在的予測モデル化技法の空間を系統的かつ費用効果的に評価する、ツールの必要性がある。多くの点で、予測モデルを生成することへの従来のアプローチは、貴重な資源(例えば、石油、金、鉱物、宝石等)を探査することに類似する。探査は、いくつかの貴重な発見につながり得るが、以前の結果の広範なライブラリに基づく、慎重に計画された探索的採掘または掘削と組み合わせた地質調査よりはるかに効率が低い。本発明者らは、予測問題のための潜在的予測モデル化ソリューションの空間を統計的かつ費用効果的に評価するために、統計的学習技法が使用され得ることを認識および理解している。 There is a need for tools to systematically and cost-effectively evaluate the space of potential predictive modeling techniques for predictive problems. In many respects, the traditional approach to generating predictive models is similar to exploring valuable resources (eg, oil, gold, minerals, gems, etc.). Exploration can lead to some valuable discoveries, but is far less efficient than geological surveys combined with carefully planned exploratory mining or drilling based on an extensive library of previous results. We recognize and understand that statistical learning techniques can be used to statistically and cost-effectively evaluate the space of potential predictive modeling solutions for predictive problems.

時系列予測モデル化 Time series forecast modeling

多くの予測問題は、1つまたはそれを上回る過去の時間における1つまたはそれを上回る入力変数(「特徴」)の値に基づいて、1つまたはそれを上回る将来の時間における1つまたはそれを上回る出力変数(「標的」)の値を予測することの問題を提起する。そのような予測問題は、「時系列予測問題」と称され得、そのような問題をモデル化する予測モデルは、「時系列予測モデル」または「時系列モデル」と称され得る。 Many prediction problems are based on the value of one or more input variables (“features”) in one or more past times, and one or more in future times one or more. It raises the question of predicting the value of an output variable (“target”) that exceeds it. Such a prediction problem may be referred to as a "time series prediction problem", and a prediction model that models such a problem may be referred to as a "time series prediction model" or a "time series model".

技法が、時系列モデルに関してモデル化検索空間を厳密かつ効率的に探索するために必要とされる。本発明者らは、時系列モデル化検索空間の厳密かつ効率的な探索(時系列モデルの効率的な訓練、試験、および比較を含む)が、時系列モデル化プロシージャのある側面、例えば、モデルを訓練するために使用される訓練データの量、入力変数の観察の間の時間間隔、訓練データによって網羅される時間周期の長さ、訓練データによって網羅される時間周期の最近性、モデルに提供される特徴値と関連付けられる時間とモデルによって予測される標的値と関連付けられる時間との間の時間周期(「スキップ範囲」)、およびモデルが標的の値を予測する時間周期(「予想範囲」)を明示的にパラメータ化することによって、促進され得ることを認識および理解している。 Techniques are needed to rigorously and efficiently search the modeled search space for time series models. We find that rigorous and efficient exploration of time-series modeling search spaces, including efficient training, testing, and comparison of time-series models, is one aspect of time-series modeling procedures, such as models. The amount of training data used to train, the time interval between observations of input variables, the length of the time cycle covered by the training data, the recentity of the time cycle covered by the training data, provided to the model The time cycle between the time associated with the feature value to be associated with the target value predicted by the model and the time associated with it (“skip range”), and the time cycle in which the model predicts the target value (“expected range”). Recognizes and understands that can be facilitated by explicitly parameterizing.

一般に、本明細書に説明される主題の1つの革新的側面は、(a)1つまたはそれを上回るデータセットを含む、時系列データを取得するステップであって、各データセットは、複数の観察を含み、各観察は、(1)観察と関連付けられる時間のインジケーションと、(2)1つまたはそれを上回る変数の個別の値とを含む、ステップと、(b)時系列データの時間間隔を判定するステップと、(c)変数のうちの1つまたはそれを上回るものを標的として識別し、ゼロまたはそれを上回る他の変数を特徴として識別するステップと、(d)時系列データによって表される予測問題と関連付けられる予想範囲およびスキップ範囲を判定するステップであって、予想範囲は、標的の値が予測される、周期の持続時間を示し、スキップ範囲は、予想範囲内の最古の予測と関連付けられる時間と、予想範囲内の予測が基づく最新の観察と関連付けられる時間との間の時間的遅延を示す、ステップと、(e)時系列データから訓練データを生成するステップであって、訓練データは、データセットのうちの少なくとも1つの観察の第1のサブセットを含み、観察の第1のサブセットは、観察の訓練入力および訓練出力集合を含み、訓練入力および訓練出力集合内の観察と関連付けられる時間は、それぞれ、訓練入力時間範囲および訓練出力時間範囲に対応し、スキップ範囲は、訓練出力時間範囲の開始から訓練入力時間範囲の終了を分離し、訓練出力時間範囲の持続時間は、少なくとも予想範囲と同程度に長い、ステップと、(f)時系列データから試験データを生成するステップであって、試験データは、データセットのうちの少なくとも1つの観察の第2のサブセットを含み、観察の第2のサブセットは、観察の試験入力および試験検証集合を含み、試験入力および試験検証集合内の観察と関連付けられる時間は、それぞれ、試験入力時間範囲および試験検証時間範囲に対応し、スキップ範囲は、試験検証時間範囲の開始から試験入力時間範囲の終了を分離し、試験検証時間範囲の持続時間は、少なくとも予想範囲と同程度に長い、ステップと、(g)予測モデルを訓練データに適合させるステップと、(h)試験データに適合モデルを試験するステップとを含む、予測モデル化プロシージャを実施するステップを含む、予測モデル化方法で具現化されることができる。 In general, one innovative aspect of the subject matter described herein is (a) the step of retrieving time-series data, including one or more datasets, where each dataset is plural. Each observation, including observations, includes (1) an indication of the time associated with the observation and (2) a step and (b) the time of the time-series data, including the individual values of one or more variables. By (d) time-series data, a step of determining the interval, (c) identifying one or more of the variables as targets and identifying other variables of zero or more as features. The step of determining the expected and skip ranges associated with the predicted problem represented, where the predicted range indicates the duration of the cycle in which the target value is predicted, and the skip range is the oldest within the predicted range. A step that shows the time delay between the time associated with the prediction of and the time associated with the latest observation based on the prediction within the prediction range, and (e) the step of generating training data from the time series data. The training data includes a first subset of observations of at least one of the datasets, the first subset of observations containing training inputs and training output sets of observations, and within the training inputs and training output sets. The time associated with the observation corresponds to the training input time range and the training output time range, respectively, and the skip range separates the beginning of the training output time range from the end of the training input time range and the duration of the training output time range. Is a step that is at least as long as the expected range and (f) a step of generating test data from time series data, where the test data is a second subset of observations of at least one of the datasets. The second subset of inclusions and observations includes the test inputs and test validation sets of the observations, and the time associated with the observations within the test inputs and test validation sets corresponds to the test entry time range and the test validation time range, respectively. The skip range separates the start of the test validation time range from the end of the test input time range, and the duration of the test validation time range is at least as long as the expected range, steps and (g) training the predictive model. It can be embodied in a predictive modeling method that includes performing a predictive modeling procedure, including a step of fitting the data and (h) a step of testing the fit model on the test data.

本側面の他の実施形態は、それぞれ、方法のアクションを実施するように構成される、対応するコンピュータシステム、装置、および1つまたはそれを上回るコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。1つまたはそれを上回るコンピュータのシステムは、動作時に、アクションを生じさせる、またはシステムにアクションを実施させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することにより、特定のアクションを実施するように構成されることができる。1つまたはそれを上回るコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実施させる命令を含むことにより、特定のアクションを実施するように構成されることができる。 Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices, each configured to perform a method action. One or more computer systems are identified by having software, firmware, hardware, or a combination thereof installed on the system that causes or causes the system to take action during operation. Can be configured to perform the actions of. One or more computer programs, when executed by a data processing device, can be configured to perform a particular action by including instructions that cause the device to perform the action.

前述および他の実施形態はそれぞれ、随意に、単独で、もしくは組み合わせて、以下の特徴のうちの1つまたはそれを上回るものを含むことができる。いくつかの実施形態では、時系列データの時間間隔は、少なくとも部分的に、データセットのうちの少なくとも1つに含まれる観察の少なくともサブセットと関連付けられる時間に基づいて判定される。いくつかの実施形態では、時系列データの時間間隔を判定するステップは、データセット毎に、データセットの個別の時間間隔を判定するステップと、データセットの時間間隔が一様であることを判定するステップと、時系列データの時間間隔をデータセットの時間間隔に設定するステップとを含む。いくつかの実施形態では、データセットの時間間隔を判定するステップは、データセットに含まれる一対またはそれを上回る連続観察に関して、連続観察の間の個別の時間周期を判定するステップと、連続対の観察の間の時間周期が一様であることを判定するステップと、データセットの時間間隔を連続対の観察の間の時間周期に設定するステップとを含む。 The aforementioned and other embodiments may optionally include one or more of the following features, alone or in combination. In some embodiments, the time interval of time series data is determined, at least in part, based on the time associated with at least a subset of observations contained in at least one of the datasets. In some embodiments, the step of determining the time interval of time-series data is, for each dataset, the step of determining the individual time interval of the dataset and the step of determining that the time interval of the dataset is uniform. And the step of setting the time interval of the time series data to the time interval of the dataset. In some embodiments, the step of determining the time interval of a dataset is a step of determining the individual time period between continuous observations and a continuous pair of continuous observations for a pair or more of the continuous observations contained in the dataset. It includes a step of determining that the time cycle between observations is uniform and a step of setting the time interval of the dataset to the time cycle between continuous pairs of observations.

いくつかの実施形態では、時系列データの時間間隔を判定するステップは、データセット毎に、データセットの個別の時間間隔を判定するステップと、データセットのうちの少なくとも2つの時間間隔が異なることを判定するステップとを含み、時系列データの時間間隔は、少なくとも部分的に、(1)データセットのそれぞれに含まれる観察の個別の割合、および/または(2)データセットのそれぞれの個別の時間間隔に基づいて、判定される。いくつかの実施形態では、データセットの個別の時間間隔を判定するステップは、データセットに含まれる各対の連続観察の間の個別の時間周期を判定するステップを含み、複数対の連続観察の間の時間周期が複数の非一様な持続時間を呈する場合、データセットの時間間隔は、少なくとも部分的に、(1)非一様な持続時間のそれぞれを呈する複数対の連続観察の個別の割合、および/または(2)時間周期の持続時間に基づいて、判定され、複数対の連続観察の間の時間周期が一様な持続時間である場合、データセットの時間間隔は、時間周期のそれぞれの持続時間である。いくつかの実施形態では、時系列データの時間間隔は、データセットのそれぞれの個別の時間間隔の整数の倍数である、最短の時間間隔である。 In some embodiments, the step of determining the time interval of time series data is different for each dataset from the step of determining the individual time interval of the dataset and at least two time intervals of the dataset. The time interval of the time series data includes, at least in part, the individual proportions of observations contained in each of the datasets, and / or (2) each individual of the dataset. Judgment is based on the time interval. In some embodiments, the step of determining the individual time intervals of a dataset comprises determining the individual time period between each pair of continuous observations contained in the dataset, and the step of determining a plurality of pairs of continuous observations. If the time period between them exhibits multiple non-uniform durations, then the time intervals in the dataset are, at least in part, (1) individual pairs of continuous observations exhibiting each non-uniform duration. If the time cycle between multiple pairs of continuous observations is a uniform duration, then the time interval of the data set is the time cycle, as determined based on the percentage and / or (2) duration of the time cycle. The duration of each. In some embodiments, the time interval of the time series data is the shortest time interval, which is a multiple of an integer of each individual time interval in the dataset.

いくつかの実施形態では、本方法のアクションはさらに、データセット毎に、データセットの時間間隔が時系列データの時間間隔よりも短い場合、データセットの観察をダウンサンプリングし、それによって、データセットの時間間隔を時系列データの時間間隔に変換するステップを含む。いくつかの実施形態では、データセットの観察をダウンサンプリングするステップは、データセットに対応する時間周期内の時系列データの時間間隔のインスタンス毎に、時系列データの時間間隔の個別のインスタンスに対応する時間と関連付けられる、データセット内の全ての観察を識別するステップと、識別された観察を集約し、集約観察を生成するステップと、データセット内の識別された観察を集約観察と置換するステップとを含む。いくつかの実施形態では、時系列データの時間間隔のインスタンスに対応する識別された観察の数は、時系列データの時間間隔とデータセットの時間間隔との間の比率に等しい。いくつかの実施形態では、識別された観察を集約するステップは、集約観察の中の各変数の値を、(1)識別された観察のうちの最古のものに含まれる、対応する変数値、(2)識別された観察のうちの最新のものに含まれる、対応する変数値、(3)識別された観察に含まれる、対応する変数値の最大値、(4)識別された観察に含まれる、対応する変数値の最小値、(5)識別された観察に含まれる、対応する変数値の平均、または(6)識別された観察に含まれる、対応する変数値の関数の値に設定するステップを含む。 In some embodiments, the action of the method further downsamples the observations of the dataset, for each dataset, if the time interval of the dataset is shorter than the time interval of the time series data. Includes the step of converting the time interval of the time interval to the time interval of time series data. In some embodiments, the step of downsampling an observation of a dataset corresponds to a separate instance of the time interval of the time series data, for each instance of the time interval of the time series data within the time cycle corresponding to the dataset. A step that identifies all observations in a dataset, a step that aggregates the identified observations to generate an aggregated observation, and a step that replaces the identified observations in the dataset with an aggregated observation. And include. In some embodiments, the number of identified observations corresponding to an instance of the time interval of the time series data is equal to the ratio between the time interval of the time series data and the time interval of the dataset. In some embodiments, the step of aggregating the identified observations sets the value of each variable in the aggregated observation to (1) the corresponding variable value contained in the oldest of the identified observations. , (2) Corresponding variable values included in the latest of the identified observations, (3) Maximum values of the corresponding variable values included in the identified observations, (4) For identified observations To the minimum value of the corresponding variable value included, (5) the average of the corresponding variable values contained in the identified observation, or (6) the value of the function of the corresponding variable value contained in the identified observation. Includes steps to set.

いくつかの実施形態では、時系列データの時間間隔は、データセットの時間間隔から成る群から選択される。いくつかの実施形態では、データセットは、第1の時間間隔を呈する第1のデータセットと、第1の時間間隔を上回る第2の時間間隔を呈する第2のデータセットとを含み、第2の時間間隔は、時系列データの時間間隔として選択され、本方法のアクションはさらに、第1のデータセットの観察をダウンサンプリングし、それによって、第1のデータセットの時間間隔を時系列データの時間間隔に変換するステップを含む。いくつかの実施形態では、時系列データの時間間隔は、データセットの時間間隔のそれぞれと異なる。 In some embodiments, the time interval of the time series data is selected from the group consisting of the time intervals of the dataset. In some embodiments, the dataset comprises a first dataset exhibiting a first time interval and a second dataset exhibiting a second time interval that exceeds the first time interval. The time interval of is selected as the time interval of the time series data, and the action of this method further downsamples the observations of the first data set, thereby setting the time interval of the first data set to the time interval of the time series data. Includes steps to convert to time intervals. In some embodiments, the time interval of the time series data is different from each of the time intervals of the dataset.

いくつかの実施形態では、少なくとも時系列データの観察の群は、第1の変数の個別の値を含み、本方法のアクションはさらに、予測モデルを訓練データに適合させ、試験データに適合モデルを試験するステップに先立って、第1の変数の値が時間値を含むことを判定するステップと、群の中の観察毎に、第2の変数の個別の値を生成するステップであって、第2の変数の値は、第1の変数の時間値と参照時間値との間のオフセットを備える、ステップと、第2の変数の値を群の中の個別の観察に追加するステップとを含む。いくつかの実施形態では、本方法のアクションはさらに、群の中の観察から第1の変数の値を除去するステップを含む。いくつかの実施形態では、参照時間は、イベントの日付を含む。いくつかの実施形態では、イベントは、出生、結婚、学校からの卒業、雇用主に対する雇用の開始、または特定の地位での仕事の開始を含む。 In some embodiments, at least a group of observations of time-series data includes the individual values of the first variable, and the actions of the method further adapt the predictive model to the training data and the model to fit the test data. Prior to the step of testing, a step of determining that the value of the first variable contains a time value and a step of generating an individual value of the second variable for each observation in the group. The value of the second variable includes a step with an offset between the time value of the first variable and the reference time value, and a step of adding the value of the second variable to individual observations in the group. .. In some embodiments, the action of the method further comprises removing the value of the first variable from the observations in the group. In some embodiments, the reference time includes the date of the event. In some embodiments, the event involves birth, marriage, graduation from school, the start of employment for an employer, or the start of work in a particular position.

いくつかの実施形態では、変数は、第1の変数と、第2の変数とを含み、本方法のアクションはさらに、第1および第2の変数の値の変化が、第1の変数の値の変化と第2の変数の値の相関変化との間の時間的遅延を伴って、相関することを判定するステップと、グラフィカルユーザインターフェースを介して、第1の変数の値の変化と第2の変数の値の相関変化との間の時間的遅延の持続時間を示す、グラフィカルコンテンツを表示するステップとを含む。 In some embodiments, the variables include a first variable and a second variable, and the actions of the method further include changes in the values of the first and second variables, which are the values of the first variable. With a time delay between the change in the value of the first variable and the correlation change in the value of the second variable, the step of determining the correlation, and the change in the value of the first variable and the second through the graphical user interface. Includes a step of displaying graphical content that indicates the duration of the time delay between the value of a variable and its correlation change.

いくつかの実施形態では、予想範囲は、少なくとも部分的に、(1)時系列データの時間間隔、(2)時系列データに含まれる観察の数、(3)時系列データに対応する時間周期、および/または(4)マイクロ秒、ミリ秒、秒、分、時間、日、週、月、四半期、季節、年、10年、世紀、および1,000年から成る群から選択される、自然時間周期に基づいて、判定される。いくつかの実施形態では、予想範囲は、時系列データの時間間隔の整数の倍数である。いくつかの実施形態では、予想範囲内の連続予測と関連付けられる時間の間の時間周期は、時系列データの時間間隔に等しい。 In some embodiments, the expected range is, at least in part, (1) the time interval of the time series data, (2) the number of observations contained in the time series data, and (3) the time period corresponding to the time series data. , And / or (4) Nature selected from the group consisting of microseconds, milliseconds, seconds, minutes, hours, days, weeks, months, quarters, seasons, years, 10 years, centuries, and 1,000 years. Judgment is made based on the time cycle. In some embodiments, the expected range is an integer multiple of the time interval of the time series data. In some embodiments, the time period between the time associated with the continuous prediction within the prediction range is equal to the time interval of the time series data.

いくつかの実施形態では、スキップ範囲は、少なくとも部分的に、時系列データの収集における待ち時間、時系列データの通信における待ち時間、時系列データを分析する際の待ち時間、時系列データの分析の通信における待ち時間、および/または時系列データの分析に基づいてアクションを実装することの待ち時間に基づいて判定される。 In some embodiments, the skip range is, at least in part, the latency in collecting time series data, the latency in communicating time series data, the latency in analyzing time series data, the analysis of time series data. Judgment is based on the latency in communication and / or the latency of implementing an action based on the analysis of time series data.

いくつかの実施形態では、本方法のアクションはさらに、少なくとも部分的に、時系列データに含まれる観察の総数、経時的な変数のうちの少なくとも1つの値の変動の量、変数のうちの少なくとも1つの値の季節変動の量、複数の時間周期にわたる変数のうちの少なくとも1つの値の変動の一貫性、および/または予想範囲の持続時間に基づいて、訓練入力時間範囲の持続時間を判定するステップを含む。いくつかの実施形態では、予測モデルを訓練データに適合させるステップは、予測モデルを、訓練入力時間範囲の一部に対応する訓練データのサブセットに適合させるステップを含み、訓練入力時間範囲の一部は、訓練入力時間範囲の開始時間に続く時間に開始し、訓練入力時間範囲の終了時間に終了する。いくつかの実施形態では、訓練入力時間範囲の一部の持続時間は、予想範囲の持続時間の整数の倍数である。 In some embodiments, the actions of the method further include, at least in part, the total number of observations contained in the time series data, the amount of variation in the value of at least one of the variables over time, at least of the variables. Determine the duration of the training input time range based on the amount of seasonal variation of one value, the consistency of variation of at least one of the variables over multiple time periods, and / or the duration of the expected range. Including steps. In some embodiments, the step of fitting the predictive model to the training data includes a step of fitting the predictive model to a subset of the training data corresponding to a part of the training input time range and is part of the training input time range. Starts at the time following the start time of the training input time range and ends at the end time of the training input time range. In some embodiments, the duration of part of the training input time range is a multiple of an integer of the duration of the expected range.

いくつかの実施形態では、本方法のアクションはさらに、予測モデルを訓練データに適合させるステップに先立って、訓練データをダウンサンプリングするステップを含む。いくつかの実施形態では、訓練データをダウンサンプリングするステップは、訓練データから、データセットのうちの少なくとも1つから取得される全ての観察を除去するステップを含む。いくつかの実施形態では、訓練データをダウンサンプリングするステップは、訓練データのダウンサンプリングされた時間間隔を時系列データの時間間隔の整数の倍数に設定するステップと、訓練データのダウンサンプリングされた時間間隔のインスタンス毎に、訓練データのダウンサンプリングされた時間間隔の個別のインスタンスに対応する時間と関連付けられる、訓練データ内の全ての観察を識別するステップと、識別された観察を集約し、集約観察を生成するステップと、訓練データ内の識別された観察を集約観察と置換するステップとを含む。いくつかの実施形態では、本方法のアクションはさらに、試験データに適合モデルを試験するステップに先立って、試験データをダウンサンプリングするステップを含む。 In some embodiments, the actions of the method further include downsampling the training data prior to fitting the predictive model to the training data. In some embodiments, the step of downsampling the training data includes removing from the training data all observations obtained from at least one of the datasets. In some embodiments, the steps of downsampling the training data include setting the downsampled time interval of the training data to be an integral multiple of the time interval of the time series data and the downsampled time of the training data. For each instance of the interval, the step of identifying all observations in the training data associated with the time corresponding to the individual instance of the downsampled time interval of the training data, and the aggregated observations of the identified observations. Includes a step to generate and replace the identified observations in the training data with aggregated observations. In some embodiments, the actions of the method further include downsampling the test data prior to testing the conforming model to the test data.

いくつかの実施形態では、本方法のアクションはさらに、予測モデルの交差検証を実施するステップを含む。いくつかの実施形態では、訓練データは、第1の訓練データであり、試験データは、第1の試験データであり、適合モデルは、第1の適合モデルであり、予測モデルの交差検証を実施するステップは、(i)時系列データから第2の訓練データおよび第2の試験データを生成するステップであって、第2の訓練データは、データセットのうちの少なくとも1つの観察の第3のサブセットを含み、第2の試験データは、データセットのうちの少なくとも1つの観察の第4のサブセットを含む、ステップと、(j)予測モデルを第2の訓練データに適合させ、第2の適合モデルを取得するステップと、(k)第2の試験データに第2の適合モデルを試験するステップとを含む。 In some embodiments, the actions of the method further include performing cross-validation of the predictive model. In some embodiments, the training data is the first training data, the test data is the first test data, the fit model is the first fit model, and cross-validation of the predictive model is performed. The steps to be performed are (i) generating a second training data and a second test data from the time series data, the second training data being the third of the observations of at least one of the datasets. The second fit, which comprises a subset, the second test data contains a fourth subset of observations of at least one of the datasets, and (j) the predictive model is fitted to the second training data and the second fit. It includes a step of acquiring a model and (k) a step of testing a second conforming model in the second test data.

いくつかの実施形態では、観察の第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の訓練時間範囲のいかなる部分にも重複しない。 In some embodiments, the first subset of observations corresponds to a slide training window that covers the first range of training time, and each observation contained in the first subset corresponds to the first range of training time. A third subset of observations, associated with time within, corresponds to a slide training window covering a second range of training time, and each observation contained within the third subset corresponds to a second range of training time. The earliest time within the first range of training time, associated with the time within, is earlier than the earliest time within the second range of training time. In some embodiments, the second subset of observations corresponds to a slide test window that covers the first range of test time, and each observation contained in the second subset corresponds to the first range of test time. A fourth subset of observations, associated with time within, corresponds to a slide test window covering a second range of test times, and each observation contained within the fourth subset corresponds to a second range of test times. The earliest time within the first range of test time, associated with the time within, is earlier than the earliest time within the second range of test time. In some embodiments, the first test time range partially overlaps the second training time range. In some embodiments, the second test time range does not overlap any part of the first training time range and does not overlap any part of the second training time range.

いくつかの実施形態では、本方法のアクションはさらに、時系列データを、少なくとも、第1のパーティションと、第2のパーティションとを含む、複数のパーティションに分割するステップを含む。いくつかの実施形態では、時系列データを複数のパーティションに分割するステップは、データセットのそれぞれを対応するパーティションに割り当てるステップを含む。いくつかの実施形態では、時系列データを複数のパーティションに分割するステップは、時系列データを時間的に分割するステップを含み、パーティションはそれぞれ、時系列データと関連付けられる時間周期の個別の部分に対応し、時系列データに含まれる各観察は、観察と関連付けられる時間に合致する時間周期の一部に対応する、パーティションに割り当てられる。 In some embodiments, the actions of the method further include dividing the time series data into a plurality of partitions, including at least a first partition and a second partition. In some embodiments, the step of dividing the time series data into a plurality of partitions includes assigning each of the datasets to the corresponding partition. In some embodiments, the step of dividing the time series data into a plurality of partitions includes the step of dividing the time series data in time, each partition being in a separate part of the time cycle associated with the time series data. Corresponding, each observation contained in the time series data is assigned to a partition that corresponds to a part of the time cycle that matches the time associated with the observation.

いくつかの実施形態では、第1の訓練データは、時系列データの第1のパーティションに含まれる、観察のサブセットを含み、第1の試験データは、第1のパーティションを除く時系列データの全てのパーティションに含まれる観察の個別のサブセットを含み、第2の訓練データは、時系列データの第2のパーティションに含まれる、観察のサブセットを含み、第2の試験データは、第2のパーティションを除く時系列データの全てのパーティションに含まれる観察の個別のサブセットを含む。いくつかの実施形態では、時系列データの第1のパーティションは、第1および第2の訓練データと、第1および第2の試験データとを含み、時系列データの第2のパーティションは、ホールドアウトデータを含み、本方法のアクションはさらに、ホールドアウトデータに第1および第2の適合モデルを試験するステップを含む。いくつかの実施形態では、いかなる予測モデルもホールドアウトデータに適合されない。 In some embodiments, the first training data includes a subset of observations contained in the first partition of the time series data, and the first test data is all of the time series data except the first partition. The second training data contains a subset of the observations contained in the second partition of the time series data, the second test data contains the second partition, and the second test data contains a separate subset of the observations contained in the partition. Contains a separate subset of observations contained in all partitions of time series data except. In some embodiments, the first partition of the time series data contains the first and second training data and the first and second test data, and the second partition of the time series data holds. Including out data, the actions of the method further include the step of testing the holdout data with the first and second fit models. In some embodiments, no predictive model fits the holdout data.

いくつかの実施形態では、本方法のアクションはさらに、予測モデルのネスト化交差検証を実施するステップを含む。いくつかの実施形態では、予測モデルのネスト化交差検証を実施するステップは、時系列データを、少なくとも、時系列データの第1のパーティションと、時系列データの第2のパーティションとを含む、第1の複数のパーティションに分割するステップと、時系列データの第1のパーティションを、少なくとも、時系列データの第1のパーティションの第1のパーティションと、時系列データの第1のパーティションの第2のパーティションとを含む、時系列データの第1のパーティションの複数のパーティションに分割するステップとを含み、訓練データは、時系列データの第1のパーティションの第1のパーティションを含み、試験データは、少なくとも、時系列データの第1のパーティションの第1のパーティション以外の時系列データの第1のパーティションの複数のパーティションを含む。 In some embodiments, the actions of the method further include performing nested cross-validation of the predictive model. In some embodiments, the step of performing nested cross-validation of the predictive model includes the time series data, at least a first partition of the time series data and a second partition of the time series data. The step of dividing into a plurality of partitions of 1 and the first partition of the time series data, at least the first partition of the first partition of the time series data and the second partition of the first partition of the time series data. The training data includes the first partition of the first partition of the time series data, and the test data includes at least the steps of dividing the first partition of the time series data into multiple partitions, including a partition. , Includes multiple partitions of the first partition of time series data other than the first partition of the first partition of time series data.

いくつかの実施形態では、訓練データは、第1の訓練データであり、試験データは、第1の試験データであり、適合モデルは、第1の適合モデルであり、予測モデルのネスト化交差検証を実施するステップはさらに、(i)時系列データの第1のパーティションから、第2の訓練データおよび第2の試験データを生成するステップであって、第2の訓練データは、時系列データの第1のパーティションの第2のパーティションを含み、第2の試験データは、少なくとも、時系列データの第1のパーティションの第2のパーティション以外のデータセットの第1のパーティションの複数のパーティションを備える、ステップと、(j)予測モデルを第2の訓練データに適合させ、第2の適合モデルを取得するステップと、(k)第2の試験データに第2の適合モデルを試験するステップとを含む。 In some embodiments, the training data is the first training data, the test data is the first test data, the fit model is the first fit model, and the predicted model is nested cross-validation. Further, the step of carrying out (i) is a step of generating a second training data and a second test data from the first partition of the time series data, and the second training data is of the time series data. The second test data includes at least a plurality of partitions of the first partition of the data set other than the second partition of the first partition of the time series data, including the second partition of the first partition. It includes (j) a step of fitting the predictive model to the second training data and obtaining a second fit model, and (k) a step of testing the second fit model on the second test data. ..

いくつかの実施形態では、ネスト化交差検証を実施するステップはさらに、時系列データの第2のパーティションに第1の適合モデルおよび第2の適合モデルを試験するステップと、時系列データの第2のパーティションに第1および第2の適合モデルを試験するステップの結果に基づいて、第1の適合モデルを第2の適合モデルと比較するステップとを含む。 In some embodiments, the steps of performing nested cross-validation further include testing the first and second conformance models in the second partition of the time series data, and a second of the time series data. Includes a step of comparing the first conforming model with the second conforming model based on the results of the step of testing the first and second conforming models on the partition of.

いくつかの実施形態では、本方法のアクションはさらに、適合モデルに関して、時系列データの特徴のうちの1つまたはそれを上回るもののモデル特有の予測値を判定するステップを含む。いくつかの実施形態では、本方法のアクションはさらに、少なくとも部分的に特徴のモデル特有の予測値に基づいて、時系列データから特徴を取り除くステップ、時系列データ内の2つまたはそれを上回る特徴から導出された特徴を作成し、導出された特徴を時系列データに追加するステップ、予測モデルを別の予測モデルと混合するステップ、および/または予測問題のための予測モデル化プロシージャの好適性を評価するプロセス中にリソースを割り付けるステップから成る群から選択される、少なくとも1つのアクションを実施するステップを含む。 In some embodiments, the actions of the method further include determining model-specific predictions for one or more of the features of the time series data with respect to the fitted model. In some embodiments, the action of the method further removes features from the time series data, at least in part, based on model-specific predictions of the features, two or more features in the time series data. The steps of creating features derived from and adding the derived features to time series data, mixing a predictive model with another predictive model, and / or the suitability of a predictive modeling procedure for a predictive problem. Includes the step of performing at least one action selected from the group consisting of steps of allocating resources during the evaluation process.

いくつかの実施形態では、本方法のアクションはさらに、少なくとも部分的に、予測問題の特性および/または個別の予測モデル化プロシージャの属性に基づいて、予測問題のための複数の予測モデル化プロシージャの好適性を判定するステップと、予測問題のための選択されたモデル化プロシージャの判定された好適性に基づいて、複数の予測モデル化プロシージャから1つまたはそれを上回る予測モデル化プロシージャを選択するステップと、1つまたはそれを上回る予測モデル化プロシージャを実施するステップとを含む。 In some embodiments, the actions of the method further include, at least in part, the characteristics of the predictive problem and / or the attributes of the individual predictive modeling procedures of the multiple predictive modeling procedures for the predictive problem. The step of determining suitability and the step of selecting one or more predictive modeling procedures from multiple predictive modeling procedures based on the determined suitability of the selected modeling procedure for the predictive problem. And the step of performing one or more predictive modeling procedures.

いくつかの実施形態では、1つまたはそれを上回る予測モデル化プロシージャを実施するステップは、命令を複数の処理ノードに伝送するステップであって、命令は、選択されたモデル化プロシージャの実行のために処理ノードのリソースを割り付けるリソース割付スケジュールを含み、リソース割付スケジュールは、少なくとも部分的に、予測問題のための選択されたモデル化プロシージャの好適性に基づく、ステップと、リソース割付スケジュールに従った複数の処理ノードによる選択されたモデル化プロシージャの実行の結果を受信するステップであって、結果は、選択されたモデル化プロシージャによって生成される予測モデル、および/または予測問題と関連付けられる時系列データのための生成されたモデルのスコアを含む、ステップと、生成されたモデルから、少なくとも部分的に選択された予測モデルのスコアに基づいて、予測問題のための予測モデルを選択するステップとを含む。 In some embodiments, the step of performing one or more predictive modeling procedures is the step of transmitting the instruction to multiple processing nodes, where the instruction is for executing the selected modeling procedure. Contains a resource allocation schedule that allocates resources for processing nodes to, and the resource allocation schedule is, at least in part, based on the suitability of the selected modeling procedure for the prediction problem, with multiple steps and according to the resource allocation schedule. The step of receiving the results of the execution of the selected modeling procedure by the processing node of, the result of which is the predictive model generated by the selected modeling procedure and / or the time series data associated with the predictive problem. Includes a step that includes the score of the generated model for, and a step that selects a predictive model for the predictive problem from the generated model, at least based on the score of the partially selected predictive model.

いくつかの実施形態では、本方法のアクションはさらに、適合モデルを別の適合モデルと混合することによって、混合予測モデルを生成するステップを含む。 In some embodiments, the actions of the method further include the step of generating a mixed prediction model by mixing the fitted model with another fitted model.

いくつかの実施形態では、本方法のアクションはさらに、適合モデルを展開するステップを含む。いくつかの実施形態では、時系列データは、第1の時系列データであり、適合モデルを展開するステップは、予測問題の1つまたはそれを上回るインスタンスを表す第2の時系列データに適合モデルを適用することによって、1つまたはそれを上回る予測を生成するステップを含み、第1の時系列データは、第2の時系列データを含まない。いくつかの実施形態では、時系列データは、第1の時系列データであり、適合モデルを展開するステップは、少なくとも部分的に第2の時系列データに基づいて、適合モデルをリフレッシュするステップを含む。いくつかの実施形態では、適合モデルは、第1の適合モデルであり、少なくとも部分的に第2の時系列データに基づいて、適合モデルをリフレッシュするステップは、第2の時系列データに予測モデル化プロシージャを実施し、第2の適合モデルを生成するステップと、第1の適合モデルおよび第2の適合モデルを混合し、リフレッシュされた予測モデルを生成するステップとを含む。いくつかの実施形態では、少なくとも部分的に第2の時系列データに基づいて、適合モデルをリフレッシュするステップは、第1の時系列データの少なくとも一部と、第2の時系列データの少なくとも一部とを含む、第3の時系列データに予測モデル化プロシージャを実施し、リフレッシュされた予測モデルを生成するステップを含む。 In some embodiments, the actions of the method further include the step of developing a conforming model. In some embodiments, the time series data is the first time series data, and the step of developing the fit model fits the second time series data representing one or more instances of the prediction problem. The first time series data does not include the second time series data, including the step of generating one or more predictions by applying. In some embodiments, the time series data is the first time series data, and the step of developing the fit model is to refresh the fit model, at least in part, based on the second time series data. Including. In some embodiments, the fit model is the first fit model, and the step of refreshing the fit model, at least partially based on the second time series data, is a predictive model to the second time series data. It involves performing a transformation procedure and generating a second fit model, and mixing the first fit model and the second fit model to generate a refreshed predictive model. In some embodiments, the step of refreshing the fit model, at least partially based on the second time series data, is at least a portion of the first time series data and at least one of the second time series data. Includes a step of performing a predictive modeling procedure on a third time series data, including parts, to generate a refreshed predictive model.

いくつかの実施形態では、適合モデルは、1つまたはそれを上回るサーバに展開され、他の適合モデルもまた、1つまたはそれを上回るサーバに展開され、適合モデルおよび他の適合モデルへの予測要求は、少なくとも部分的に、(1)予測を生成するために適合モデルのそれぞれによって使用される時間量の推定値、および/または(2)適合モデル毎の予測要求が受信される頻度の推定値に基づいて、サーバの間に割り付けられる。いくつかの実施形態では、各予測要求は、個別のスレッドに割り当てられ、各予測要求は、関連付けられる待ち時間感度値を有し、特定のサーバ上で実行するスレッドの数は、少なくとも部分的に、特定のサーバ上で実行するスレッドの待ち時間感度値に基づいて、判定される。 In some embodiments, the conformance model is deployed on one or more servers, and other conformance models are also deployed on one or more servers, predicting conformance models and other conformance models. The requests are, at least in part, (1) an estimate of the amount of time used by each of the fitted models to generate the prediction, and / or (2) an estimate of how often the prediction request for each fitted model is received. It is allocated between servers based on the value. In some embodiments, each predictive request is assigned to a separate thread, each predictive request has an associated latency sensitivity value, and the number of threads running on a particular server is at least partially , Judgment is based on the latency sensitivity value of the thread running on a particular server.

いくつかの実施形態では、本方法のアクションはさらに、時系列データに含まれる特徴のうちの2つまたはそれを上回るものの相互作用強度を示す、測定基準の値を判定するステップと、測定基準の値が閾値を超える場合、2つまたはそれを上回る特徴の値に基づいて、新しい特徴の時系列値を生成し、新しい特徴を時系列データに追加するステップとを含む。 In some embodiments, the actions of the method further include a step of determining the value of the metric, which indicates the interaction strength of two or more of the features contained in the time series data, and the metric. If the value exceeds a threshold, it includes a step of generating a time series value of a new feature based on the value of two or more features and adding the new feature to the time series data.

いくつかの実施形態では、本方法のアクションはさらに、時系列データの時間分解能を判定するステップを含む。いくつかの実施形態では、標的は、ユーザ入力に基づいて識別される。 In some embodiments, the actions of the method further include determining the time resolution of the time series data. In some embodiments, the target is identified based on user input.

本側面の他の実施形態は、予測モデル化プロシージャを符号化する機械実行可能モジュールを記憶するように構成される、メモリであって、予測モデル化プロシージャは、少なくとも1つの前処理タスクと、少なくとも1つのモデル適合タスクとを含む、複数のタスクを含む、メモリと、機械実行可能モジュールを実行するように構成される、少なくとも1つのプロセッサであって、機械実行可能モジュールを実行するステップは、装置に予測モデル化プロシージャを実施させる、プロセッサとを含む、予測モデル化装置を含む。予測モデル化プロシージャを実施するステップは、(a)1つまたはそれを上回るデータセットを含む、時系列データを取得するステップであって、各データセットは、複数の観察を含み、各観察は、(1)観察と関連付けられる時間のインジケーションと、(2)1つまたはそれを上回る変数の個別の値とを含む、ステップと、(b)時系列データの時間間隔を判定するステップと、(c)変数のうちの1つまたはそれを上回るものを標的として識別し、ゼロまたはそれを上回る他の変数を特徴として識別するステップと、(d)時系列データによって表される予測問題と関連付けられる予想範囲およびスキップ範囲を判定するステップであって、予想範囲は、標的の値が予測される、周期の持続時間を示し、スキップ範囲は、予想範囲内の最古の予測と関連付けられる時間と、予想範囲内の予測が基づく最新の観察と関連付けられる時間との間の時間的遅延を示す、ステップとを含む、前処理タスクを実施するステップを含んでもよい。予測モデル化プロシージャを実施するステップは、(e)時系列データから訓練データを生成するステップであって、訓練データは、データセットのうちの少なくとも1つの観察の第1のサブセットを含み、観察の第1のサブセットは、観察の訓練入力および訓練出力集合を含み、訓練入力および訓練出力集合内の観察と関連付けられる時間は、それぞれ、訓練入力時間範囲および訓練出力時間範囲に対応し、スキップ範囲は、訓練出力時間範囲の開始から訓練入力時間範囲の終了を分離し、訓練出力時間範囲の持続時間は、少なくとも予想範囲と同程度に長い、ステップと、(f)時系列データから試験データを生成するステップであって、試験データは、データセットのうちの少なくとも1つの観察の第2のサブセットを含み、観察の第2のサブセットは、観察の試験入力および試験検証集合を含み、試験入力および試験検証集合内の観察と関連付けられる時間は、それぞれ、試験入力時間範囲および試験検証時間範囲に対応し、スキップ範囲は、試験検証時間範囲の開始から試験入力時間範囲の終了を分離し、試験検証時間範囲の持続時間は、少なくとも予想範囲と同程度に長い、ステップと、(g)予測モデルを訓練データに適合させるステップと、(h)試験データに適合モデルを試験するステップとを含む、モデル適合タスクを実施するステップを含んでもよい。機械実行可能モジュールは、タスク間の依存性を表す、有向グラフを含んでもよい。 Another embodiment of this aspect is a memory configured to store a machine-executable module that encodes a predictive modeling procedure, wherein the predictive modeling procedure has at least one preprocessing task and at least one preprocessing task. A memory and at least one processor configured to execute a machine-executable module, including a plurality of tasks, including one model-fitting task, the step of executing the machine-executable module is an apparatus. Includes a predictive modeling device, including a processor, which allows the device to perform a predictive modeling procedure. The steps to carry out the predictive modeling procedure are (a) the step of retrieving time series data, including one or more datasets, where each dataset contains multiple observations, each observation. A step that includes (1) an indication of the time associated with the observation, (2) an individual value of one or more variables, and (b) a step of determining the time interval of the time series data, and ( c) The step of identifying one or more of the variables as targets and identifying other variables of zero or more as features is associated with (d) the prediction problem represented by the time series data. The step of determining the prediction range and the skip range, where the prediction range indicates the duration of the cycle in which the target value is predicted, and the skip range is the time associated with the oldest prediction within the prediction range. It may include steps to perform a pretreatment task, including steps that indicate a time delay between the latest observations based on predictions within the prediction range and the associated time. The step of performing the predictive modeling procedure is (e) the step of generating training data from time series data, the training data containing a first subset of observations of at least one of the datasets of the observations. The first subset contains the training inputs and training output sets of the observations, the time associated with the observations in the training inputs and training output sets corresponds to the training input time range and the training output time range, respectively, and the skip range Separate the end of the training input time range from the start of the training output time range and generate test data from the steps and (f) time series data, the duration of the training output time range is at least as long as the expected range. The test data includes a second subset of observations of at least one of the datasets, the second subset of observations containing test inputs and test validation sets of observations, test inputs and tests. The time associated with the observation in the validation set corresponds to the test entry time range and the test validation time range, respectively, and the skip range separates the start of the test validation time range from the end of the test entry time range and the test validation time. The duration of the range is at least as long as the expected range, including (g) the step of fitting the predicted model to the training data and (h) the step of testing the fitted model to the test data. It may include steps to perform the task. The machine executable module may include a directed graph showing the dependencies between tasks.

特徴の予測値を判定する Judge the predicted value of the feature

予測問題のための正確な予測モデルが利用可能であるときでさえも、(1)予測問題自体および(2)具体的予測モデルが正確な予測結果を生じる方法を理解することは、困難であり得る。「特徴重要性」の測定基準は、そのような理解を促進することができる。一般に、特徴重要性測定基準は、データセットによって表される予測問題の成果を予想する目的のために、データセットの特徴の予測値を示す。特徴重要性を測定するための従来の技法は、概して、特定のタイプの予測モデルのみに適用可能であり、概して、他のタイプの予測モデルと併用するためにあまり適していない。したがって、恣意的な予測モデルに関して、または予測モデルの多様なセットに関して特徴重要性を測定し得る、ツールの必要性がある。加えて、特徴重要性測定基準を使用し、予測モデル化プロシージャの評価へ、特徴工学タスクへ、および予測モデルの混合へのリソースの割付を誘導し、それによって、予測問題のための潜在的予測モデル化技法の空間の費用効果的評価を促進し得る、ツールの必要性がある。 It is difficult to understand (1) the prediction problem itself and (2) how the concrete prediction model produces accurate prediction results, even when an accurate prediction model for the prediction problem is available. obtain. A measure of "feature importance" can facilitate such understanding. In general, a feature importance metric indicates a predicted value of a feature of a dataset for the purpose of predicting the outcome of the prediction problem represented by the dataset. Traditional techniques for measuring feature importance are generally applicable only to certain types of predictive models and are generally not well suited for use with other types of predictive models. Therefore, there is a need for tools that can measure feature importance with respect to arbitrary predictive models or with respect to various sets of predictive models. In addition, feature importance metrics are used to guide the allocation of resources to the evaluation of predictive modeling procedures, to feature engineering tasks, and to the mix of predictive models, thereby demonstrating potential predictions for predictive problems. There is a need for tools that can facilitate a cost-effective assessment of the space of modeling techniques.

一般に、本明細書に説明される主題の別の革新的側面は、(a)複数の予測モデル化プロシージャを実施するステップであって、予測モデル化プロシージャはそれぞれ、予測モデルと関連付けられ、各モデル化プロシージャを実施するステップは、関連付けられる予測モデルを、初期予測問題を表す初期データセットに適合させるステップを含む、ステップと、(b)適合予測モデルのそれぞれの第1の個別の精度スコアを判定するステップであって、各適合モデルの第1の精度スコアは、適合モデルが初期予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(c)初期データセットに含まれる個別の観察を横断して特徴の値をシャッフルし、それによって、修正された予測問題を表す、修正されたデータセットを生成するステップと、(d)適合予測モデルのそれぞれの第2の個別の精度スコアを判定するステップであって、各適合モデルの第2の精度スコアは、適合モデルが修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(e)適合モデル毎に特徴の個別のモデル特有の予測値を判定するステップであって、適合モデル毎の特徴のモデル特有の予測値は、適合モデルの第1および第2の精度スコアに基づく、ステップとを含む、方法で具現化されることができる。 In general, another innovative aspect of the subject matter described herein is (a) the step of implementing multiple predictive modeling procedures, each of which is associated with a predictive model and each model. The step of performing the transformation procedure determines the step and (b) the first individual accuracy score of each of the fit prediction models, including the step of fitting the associated prediction model to the initial data set representing the initial prediction problem. The first accuracy score of each conforming model is included in the step and (c) the initial data set, which represents the accuracy with which the conforming model predicts the outcome of one or more of the initial prediction problems. A step of shuffling feature values across individual observations to generate a modified dataset that represents a modified prediction problem, and (d) a second individual of each of the fitted prediction models. A step of determining the accuracy score, where the second accuracy score of each conforming model represents the accuracy with which the conforming model predicts the outcome of one or more of the modified prediction problems, and (e). The step of determining the individual model-specific prediction value of the feature for each fitting model, and the model-specific prediction value of the feature for each fitting model is based on the first and second accuracy scores of the fitting model. Can be embodied in methods, including.

本側面の他の実施形態は、それぞれ、方法のアクションを実施するように構成される、対応するコンピュータシステム、装置、および1つまたはそれを上回るコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。1つまたはそれを上回るコンピュータのシステムは、動作時に、アクションを生じさせる、またはシステムにアクションを実施させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することにより、特定のアクションを実施するように構成されることができる。1つまたはそれを上回るコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実施させる命令を含むことにより、特定のアクションを実施するように構成されることができる。 Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices, each configured to perform a method action. One or more computer systems are identified by having software, firmware, hardware, or a combination thereof installed on the system that causes or causes the system to take action during operation. Can be configured to perform the actions of. One or more computer programs, when executed by a data processing device, can be configured to perform a particular action by including instructions that cause the device to perform the action.

前述および他の実施形態はそれぞれ、随意に、単独で、もしくは組み合わせて、以下の特徴のうちの1つまたはそれを上回るものを含むことができる。いくつかの実施形態では、本方法のアクションはさらに、複数の予測モデル化プロシージャを実施するステップに先立って、初期データセットの特性、初期予測問題の特性、および/または特徴の特性に基づいて、予測問題のための複数の予測モデル化プロシージャを選択するステップを含む。いくつかの実施形態では、複数の予測モデル化プロシージャは、ランダムフォレストモデル化プロシージャ、一般化付加モデル化プロシージャ、およびサポートベクターマシンモデル化プロシージャから成る群から選択される、2つまたはそれを上回るモデル化プロシージャを含む。いくつかの実施形態では、複数の予測モデル化プロシージャは、第1のモデル化プロシージャ族から選択される第1のモデル化プロシージャと、第2のモデル化プロシージャ族から選択される第2のモデル化プロシージャとを含む。 The aforementioned and other embodiments may optionally include one or more of the following features, alone or in combination. In some embodiments, the actions of the method are further based on the characteristics of the initial dataset, the characteristics of the initial prediction problem, and / or the characteristics of the characteristics, prior to the step of performing multiple predictive modeling procedures. Includes steps to select multiple predictive modeling procedures for predictive problems. In some embodiments, the plurality of predictive modeling procedures is selected from the group consisting of random forest modeling procedures, generalized addition modeling procedures, and support vector machine modeling procedures, two or more models. Includes a conversion procedure. In some embodiments, the plurality of predictive modeling procedures are a first modeling procedure selected from a first modeling procedure family and a second modeling procedure selected from a second modeling procedure family. Includes procedures.

いくつかの実施形態では、本方法のアクションはさらに、予測モデルの第2の精度スコアを判定するステップに先立って、予測モデルを、修正された予測問題を表す修正されたデータセットに再適合させるステップを含む。いくつかの実施形態では、特定の適合モデルのための特徴の判定されたモデル特有の予測値は、特定の適合モデルの第1の精度スコアと第2の精度スコアとの間の差異が増加すると増加する。いくつかの実施形態では、特定の適合モデルのための特徴の判定されたモデル特有の予測値は、特定の適合モデルの第1の精度スコアに対する特定の適合モデルの第1の精度スコアと第2の精度スコアとの間の割合差を含む。 In some embodiments, the actions of the method further refit the predictive model to a modified data set representing a modified predictive problem prior to determining the second accuracy score of the predictive model. Including steps. In some embodiments, the determined model-specific predictions of features for a particular fit model increase the difference between the first and second accuracy scores of the particular fit model. To increase. In some embodiments, the determined model-specific predictions of the features for a particular fit model are the first accuracy score and the second accuracy score of the particular fit model relative to the first accuracy score of the particular fit model. Includes the percentage difference from the accuracy score of.

いくつかの実施形態では、本方法のアクションはさらに、特徴のモデル特有の予測値に基づいて、特徴のモデル非依存性予測値を判定するステップを含む。いくつかの実施形態では、特徴のモデル非依存性予測値を判定するステップは、特徴のモデル特有の予測値の中心および/または拡散の統計的測定値を計算するステップを含む。いくつかの実施形態では、特徴のモデル非依存性予測値を判定するステップは、モデル特有の予測値の中心の統計的測定値を計算するステップを含み、中心の統計的測定値は、モデル特有の予測値の平均値、中央値、および最頻値から成る群から選択される。いくつかの実施形態では、特徴のモデル非依存性予測値を判定するステップは、モデル特有の予測値の拡散の統計的測定値を計算するステップを含み、拡散の統計的測定値は、モデル特有の予測値の範囲、分散、および標準偏差から成る群から選択される。いくつかの実施形態では、特徴のモデル非依存性予測値を判定するステップは、特徴のモデル特有の予測値の組み合せを計算するステップを含む。いくつかの実施形態では、モデル特有の予測値の組み合せを計算するステップは、モデル特有の予測値の加重組み合せを計算するステップを含む。いくつかの実施形態では、モデル特有の予測値の加重組み合せを計算するステップは、個別の加重をモデル特有の予測値に割り当てるステップを含み、特定の適合予測モデルに対応する特定のモデル特有の予測値に割り当てられる加重は、適合予測モデルの第1の精度スコアが増加すると増加する。 In some embodiments, the actions of the method further include determining the model-independent predictions of the features based on the model-specific predictions of the features. In some embodiments, the step of determining the model-independent predictor of a feature comprises calculating a statistical measure of the center and / or diffusion of the feature's model-specific predictor. In some embodiments, the step of determining the model-independent predictor of a feature comprises calculating the statistical measure of the center of the model-specific predictor, where the central statistical measure is model-specific. It is selected from the group consisting of the mean, median, and mode of the predicted values of. In some embodiments, the step of determining the model-independent predictor of a feature comprises calculating a statistical measure of the spread of the model-specific predictor, and the statistical measure of the spread is model-specific. It is selected from the group consisting of the range, variance, and standard deviation of the predicted values of. In some embodiments, the step of determining the model-independent predictors of a feature comprises calculating a model-specific combination of predictors of the feature. In some embodiments, the step of calculating the model-specific prediction value combination includes the step of calculating the model-specific prediction value weighted combination. In some embodiments, the step of calculating a weighted combination of model-specific forecast values includes assigning individual weights to model-specific forecast values, including a particular model-specific forecast corresponding to a particular fit prediction model. The weight assigned to the value increases as the first accuracy score of the fit prediction model increases.

いくつかの実施形態では、特徴は、第1の特徴であり、本方法のアクションはさらに、(c1)初期データセットに含まれる個別の観察を横断して第2の特徴の値をシャッフルし、それによって、第2の修正された予測問題を表す、第2の修正されたデータセットを生成するステップと、(d1)適合予測モデルのそれぞれの第3の個別の精度スコアを判定するステップであって、各適合モデルの第3の精度スコアは、適合モデルが第2の修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(e1)適合モデル毎に第2の特徴の個別のモデル特有の予測値を判定するステップであって、適合モデル毎の第2の特徴のモデル特有の予測値は、適合モデルの第1および第3の精度スコアに基づく、ステップとを含む。 In some embodiments, the feature is the first feature, and the actions of the method further (c1) shuffle the values of the second feature across the individual observations contained in the initial dataset. Thereby, a step of generating a second modified data set representing a second modified prediction problem and a step of determining (d1) a third individual accuracy score of each of the fitted prediction models. The third accuracy score of each conforming model represents the accuracy with which the conforming model predicts the outcome of one or more of the second modified prediction problems, step by step, and (e1) for each conforming model. The step of determining the individual model-specific predicted values of the two features, the model-specific predicted values of the second feature for each fitted model, is based on the first and third accuracy scores of the fitted model. And include.

いくつかの実施形態では、特徴は、第1の特徴であり、初期データセットは、第1の特徴と、複数の第2の特徴とを含み、本方法のアクションはさらに、第2の特徴毎にステップ(c)、(d)、および(e)を実施することによって、初期データセットの第2の特徴のモデル特有の予測値を判定するステップを含む。 In some embodiments, the feature is a first feature, the initial dataset comprises a first feature and a plurality of second features, and the actions of the method are further feature-by-second. Includes a step of determining model-specific predictions of the second feature of the initial dataset by performing steps (c), (d), and (e).

いくつかの実施形態では、本方法のアクションはさらに、グラフィカルユーザインターフェースを介して、初期データセットの第1および第2の特徴、ならびに第1および第2の特徴のモデル特有の予測値を識別する、グラフィカルコンテンツを表示するステップを含む。いくつかの実施形態では、モデル化プロシージャは、特定の予測モデルと関連付けられる特定のモデル化プロシージャを含む、第1のモデル化プロシージャであり、第1および第2の特徴のモデル特有の予測値は、特定の予測モデルに特有である第1および第2の特徴の特定のモデル特有の予測値を含み、本方法のアクションはさらに、(a1)特定の予測モデルと関連付けられる特定のモデル化プロシージャを含む、複数の第2の予測モデル化プロシージャを実施するステップを含む。いくつかの実施形態では、特定の予測モデル化プロシージャを実施するステップは、第1の特徴および第2の特徴の特定のモデル特有の予測値に基づいて、初期データセットに特徴工学を実施するステップを含む。 In some embodiments, the actions of the method further identify model-specific predictions of the first and second features of the initial dataset, as well as the first and second features, through a graphical user interface. Includes steps to display graphical content. In some embodiments, the modeling procedure is a first modeling procedure that includes a particular modeling procedure associated with a particular prediction model, and the model-specific predictions of the first and second features are The actions of the method further include (a1) specific modeling procedures associated with the specific predictive model, including specific model-specific predictive values of the first and second features that are specific to the particular predictive model. Includes steps to perform a plurality of second predictive modeling procedures, including. In some embodiments, the step of performing a particular predictive modeling procedure is to perform feature engineering on the initial dataset based on the particular model-specific predictions of the first feature and the second feature. including.

いくつかの実施形態では、特徴工学を実施するステップは、低いモデル特有の予測値を有する特定の特徴に基づいて、初期データセットから特定の特徴を除去するステップを含む。いくつかの実施形態では、本方法のアクションはさらに、閾値よりも低い特定の特徴のモデル特有の予測値に基づいて、および/または初期データセットの第1ならびに第2の特徴の特定のモデル特有の予測値の規定パーセンタイル内である特定の特徴のモデル特有の予測値に基づいて、特定の特徴のモデル特有の予測値が低いことを判定するステップを含む。 In some embodiments, the steps of performing feature engineering include removing specific features from the initial dataset based on the particular features with low model-specific predictions. In some embodiments, the actions of the method are further based on model-specific predictions of specific features below the threshold and / or specific model-specific of the first and second features of the initial dataset. Includes a step of determining that the model-specific predictions for a particular feature are low, based on the model-specific predictions for a particular feature within the specified percentile.

いくつかの実施形態では、特徴工学を実施するステップは、高いモデル特有の予測値を有する、初期データセットの2つまたはそれを上回る特定の特徴に基づいて、導出された特徴を生成するステップと、導出された特徴を初期データセットに追加し、それによって、第2の初期データセットを生成するステップとを含む。いくつかの実施形態では、本方法のアクションはさらに、閾値よりも高い特定の特徴のモデル特有の予測値に基づいて、および/または初期データセットの第1ならびに第2の特徴の特定のモデル特有の予測値の規定パーセンタイル内である特定の特徴のモデル特有の予測値に基づいて、特定の特徴のモデル特有の予測値が高いことを判定するステップを含む。 In some embodiments, the step of performing feature engineering is to generate derived features based on two or more specific features in the initial dataset with high model-specific predictions. Includes a step of adding the derived features to the initial dataset, thereby generating a second initial dataset. In some embodiments, the actions of the method are further based on model-specific predictions of specific features above the threshold and / or specific model-specific of the first and second features of the initial dataset. Includes a step of determining that the model-specific predictive value of a particular feature is high, based on the model-specific predictive value of a particular feature within the prescriptive percentile of.

いくつかの実施形態では、特定の予測モデル化プロシージャを実施するステップはさらに、特定の予測モデルを第2の初期データセットに適合させるステップを含み、本方法のアクションはさらに、適合された特定の予測モデルの第1の精度スコアを判定するステップであって、適合された特定のモデルの第1の精度スコアは、適合された特定のモデルが初期予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、第2の初期データセットに含まれる個別の観察を横断して第1の特徴の値をシャッフルし、それによって、第2の修正された予測問題を表す、第2の修正されたデータセットを生成するステップと、適合された特定の予測モデルの第2の精度スコアを判定するステップであって、適合された特定のモデルの第2の精度スコアは、適合モデルが第2の修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、適合された特定のモデルのための第1の特徴の第2のモデル特有の予測値を判定するステップであって、適合された特定のモデルのための第1の特徴の第2のモデル特有の予測値は、適合された特定のモデルの第1および第2の精度スコアに基づく、ステップとを含む。 In some embodiments, the step of performing a particular predictive modeling procedure further includes the step of fitting the particular predictive model to a second initial dataset, and the actions of the method are further adapted to the specific. A step of determining the first accuracy score of a predictive model, the first accuracy score of a particular fitted model predicts the outcome of the particular fit model to one or more of the initial prediction problems. Shuffle the values of the first feature across the steps and the individual observations contained in the second initial dataset, representing the accuracy of the second, thereby representing the second modified prediction problem. The step of generating the modified data set and the step of determining the second accuracy score of the specific predicted model that was adapted, and the second accuracy score of the specific model that was adapted is determined by the conforming model. Determine the second model-specific predictions of the steps and the first feature for a particular model fitted, which represent the accuracy of predicting the outcome of one or more of the second modified prediction problems. The second model-specific predictions of the first feature for a particular fitted model are based on the first and second accuracy scores of the particular fitter model. including.

いくつかの実施形態では、本方法のアクションはさらに、複数の第2のモデル化プロシージャを実施するステップに先立って、初期予測問題のための選択されたモデル化プロシージャの好適性に基づいて、第2のモデル化プロシージャを選択するステップを含み、初期予測問題のための特定の予測モデル化プロシージャの好適性は、少なくとも部分的に、特定の予測モデル化プロシージャのための高いモデル特有の予測値を有する初期データセットの1つまたはそれを上回る特定の特徴の特性に基づいて、判定される。 In some embodiments, the actions of the method are further based on the suitability of the selected modeling procedure for the initial prediction problem prior to the step of performing the plurality of second modeling procedures. The suitability of a particular predictive modeling procedure for an initial prediction problem, including the step of selecting two modeling procedures, is at least in part a high model-specific predictive value for the particular predictive modeling procedure. The determination is based on the characteristics of a particular feature that is one or more of the initial data sets it has.

いくつかの実施形態では、本方法のアクションはさらに、命令を複数の処理ノードに伝送するステップであって、命令は、第2のモデル化プロシージャの実行のために処理ノードのリソースを割り付けるリソース割付スケジュールを含み、リソース割付スケジュールは、少なくとも部分的に、初期予測問題のための第2のモデル化プロシージャの好適性に基づく、ステップと、リソース割付スケジュールに従った複数の処理ノードによる第2のモデル化プロシージャの実行の結果を受信するステップであって、結果は、第2のモデル化プロシージャによって生成される予測モデル、および/または初期予測問題と関連付けられるデータのための生成されたモデルのスコアを含む、ステップと、生成されたモデルから、少なくとも部分的に選択された予測モデルのスコアに基づいて、初期予測問題のための予測モデルを選択するステップとを含む。いくつかの実施形態では、本方法のアクションはさらに、生成された予測モデルのうちの2つまたはそれを上回るものを組み合わせることによって、混合予測モデルを生成するステップと、混合予測モデルを評価するステップとを含む。 In some embodiments, the action of the method is further a step of transmitting the instruction to multiple processing nodes, the instruction allocating resources for the processing node for execution of the second modeling procedure. The resource allocation schedule, including the schedule, is a second model with steps and multiple processing nodes according to the resource allocation schedule, at least in part, based on the suitability of the second modeling procedure for the initial prediction problem. The step of receiving the result of the execution of the transformation procedure, which results in the score of the prediction model generated by the second modeling procedure and / or the generated model for the data associated with the initial prediction problem. Includes a step to select a prediction model for the initial prediction problem from the generated model, at least based on the score of the partially selected prediction model. In some embodiments, the actions of the method further include a step of generating a mixed prediction model and a step of evaluating the mixed prediction model by combining two or more of the generated prediction models. And include.

いくつかの実施形態では、修正された予測問題のための特徴の予測値は、閾値予測値未満である。 In some embodiments, the predicted value of the feature for the modified prediction problem is less than the threshold predicted value.

いくつかの実施形態では、初期データセットは、初期時系列データセットであり、初期予測問題は、初期時系列予測問題であり、修正されたデータセットは、修正された時系列データセットであり、修正された予測問題は、修正された時系列予測問題である。いくつかの実施形態では、適合予測モデルは、1つまたはそれを上回る時系列予測モデルを含む。 In some embodiments, the initial data set is an initial time series data set, the initial prediction problem is an initial time series prediction problem, and the modified data set is a modified time series data set. The modified prediction problem is a modified time series prediction problem. In some embodiments, the fit prediction model includes one or more time series prediction models.

本側面の他の実施形態は、プロセッサ実行可能命令を記憶するように構成される、メモリと、プロセッサ実行可能命令を実行するように構成される、プロセッサであって、プロセッサ実行可能命令を実行するステップは、装置に、(a)複数の予測モデル化プロシージャを実施するステップであって、予測モデル化プロシージャはそれぞれ、予測モデルと関連付けられ、各モデル化プロシージャを実施するステップは、関連付けられる予測モデルを、初期予測問題を表す初期データセットに適合させるステップを含む、ステップと、(b)適合予測モデルのそれぞれの第1の個別の精度スコアを判定するステップであって、各適合モデルの第1の精度スコアは、適合モデルが初期予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(c)初期データセットに含まれる個別の観察を横断して特徴の値をシャッフルし、それによって、修正された予測問題を表す、修正されたデータセットを生成するステップと、(d)適合予測モデルのそれぞれの第2の個別の精度スコアを判定するステップであって、各適合モデルの第2の精度スコアは、適合モデルが修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(e)適合モデル毎に特徴の個別のモデル特有の予測値を判定するステップであって、適合モデル毎の特徴のモデル特有の予測値は、適合モデルの第1および第2の精度スコアに基づく、ステップとを含む、ステップを実施させる、プロセッサとを含む、予測モデル化装置を含む。 Another embodiment of this aspect is a processor that is configured to store processor executable instructions and is configured to execute processor executable instructions and executes processor executable instructions. The step is (a) a step of executing a plurality of predictive modeling procedures on the device, each of the predictive modeling procedures is associated with a predictive model, and the step of executing each modeling procedure is an associated predictive model. Is a step that includes a step of fitting to an initial data set representing an initial prediction problem, and (b) a step of determining the first individual accuracy score of each of the fit prediction models, the first of each fit model. The accuracy score of is a shuffle of feature values across steps and (c) individual observations contained in the initial data set, representing the accuracy with which the fitted model predicts the outcome of one or more of the initial prediction problems. Then, a step of generating a modified data set representing a modified prediction problem and (d) a step of determining each second individual accuracy score of the conformity prediction model, each conformity. The model's second accuracy score represents the accuracy with which the fitted model predicts the outcome of one or more of the modified prediction problems, and (e) individual model-specific predictions of features for each fitted model. The step of determining the value, the model-specific predicted value of the feature for each conforming model, includes the processor, including the step, based on the first and second accuracy scores of the conforming model. , Includes predictive modeling equipment.

本側面の他の実施形態は、プロセッサによって実行されると、プロセッサに、(a)複数の予測モデル化プロシージャを実施するステップであって、予測モデル化プロシージャはそれぞれ、予測モデルと関連付けられ、各モデル化プロシージャを実施するステップは、関連付けられる予測モデルを、初期予測問題を表す初期データセットに適合させるステップを含む、ステップと、(b)適合予測モデルのそれぞれの第1の個別の精度スコアを判定するステップであって、各適合モデルの第1の精度スコアは、適合モデルが初期予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(c)初期データセットに含まれる個別の観察を横断して特徴の値をシャッフルし、それによって、修正された予測問題を表す、修正されたデータセットを生成するステップと、(d)適合予測モデルのそれぞれの第2の個別の精度スコアを判定するステップであって、各適合モデルの第2の精度スコアは、適合モデルが修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す、ステップと、(e)適合モデル毎に特徴の個別のモデル特有の予測値を判定するステップであって、適合モデル毎の特徴のモデル特有の予測値は、適合モデルの第1および第2の精度スコアに基づく、ステップとを含む、動作を実施させる、その上に記憶されたコンピュータ可読命令を有する、製造品を含む。 Another embodiment of this aspect, when executed by the processor, is the step of (a) performing a plurality of predictive modeling procedures on the processor, each of which is associated with a predictive model. The steps that carry out the modeling procedure include a step that fits the associated prediction model to the initial data set that represents the initial prediction problem, and (b) each first individual accuracy score of the fit prediction model. The determination step, the first accuracy score of each conforming model, is included in the step and (c) the initial data set, which represents the accuracy with which the conforming model predicts the outcome of one or more of the initial prediction problems. A step of shuffling the value of the feature across the individual observations to generate a modified dataset that represents the modified prediction problem, and (d) a second individual of each of the fitted prediction models. The second accuracy score of each fit model represents the accuracy with which the fit model predicts the outcome of one or more of the modified prediction problems. ) A step of determining the model-specific predicted values of the features of each fitted model, and the model-specific predicted values of the features of each fitted model are based on the first and second accuracy scores of the fitted model. Includes manufactured products, including, having computer-readable instructions stored on it, performing operations.

本側面の特定の実施形態は、以下の利点のうちの1つまたはそれを上回るものを実現するように実装されることができる。本側面のいくつかの実施形態は、予測問題の理解を促進するために、かつ具体的予測モデルが正確な予測結果を生じる方法を示すために、有益に使用されてもよい。本側面のいくつかの実施形態は、恣意的な予測モデルに関して、または予測モデルの多様なセットに関して特徴重要性を測定することができる。本側面のいくつかの実施形態は、予測モデル化プロシージャの評価へ、特徴工学タスクへ、および予測モデルの混合へのリソースの割付を誘導し、それによって、予測問題のための潜在的予測モデル化技法の空間の費用効果的評価を促進することができる。 Certain embodiments of this aspect can be implemented to achieve one or more of the following advantages: Some embodiments of this aspect may be usefully used to facilitate understanding of the prediction problem and to show how a concrete prediction model produces accurate prediction results. Some embodiments of this aspect can measure feature importance with respect to an arbitrary predictive model or with respect to various sets of predictive models. Some embodiments of this aspect guide the allocation of resources to the evaluation of predictive modeling procedures, to feature engineering tasks, and to the mixture of predictive models, thereby potentially predictive modeling for predictive problems. A cost-effective assessment of the space of the technique can be facilitated.

二次予測モデル化 Secondary prediction modeling

あるモデル化技法は、理解することが困難であり、かつソフトウェアで効率的に実装することが困難である、不透明および/または複雑なモデルを生成する傾向がある。そのようなモデルを実装するソフトウェアは、膨大な計算リソースを使用し、他の同等に正確なモデルを実装するソフトウェアを使用してはるかに効率的に生成され得る予測を生成し得る。 Some modeling techniques tend to produce opaque and / or complex models that are difficult to understand and difficult to implement efficiently in software. Software that implements such a model uses enormous computational resources and can generate predictions that can be produced much more efficiently using software that implements other equally accurate models.

モデルの精度を有意に減少させることなく、1つまたはそれを上回る入力変数(「特徴」)F1の値に基づいて、1つまたはそれを上回る出力変数(「標的」)Tの値を予測する、一次予測モデルM1の不透明性および/または複雑性を低減させるための技法の必要性がある。本発明者らは、一次モデルM1の二次モデルM2を構築することによって、これらの必要性が満たされ得ることを認識および理解している。二次モデルは、同一の特徴F1(またはそのサブセット)ならびに/もしくは一次モデルによって使用されていない1つまたはそれを上回る特徴に基づいて、標的Tのための一次モデルの予測値を予測してもよい。 Predict the value of one or more output variables (“targets”) T based on the value of one or more input variables (“features”) F1 without significantly reducing the accuracy of the model. , There is a need for techniques to reduce the opacity and / or complexity of the primary prediction model M1. The inventors recognize and understand that these needs can be met by constructing a secondary model M2 of a primary model M1. The secondary model may predict the predictive value of the primary model for target T based on the same feature F1 (or a subset thereof) and / or one or more features not used by the primary model. Good.

多くの場合、本側面の実施形態によって生成される二次モデルは、対応する一次モデルと同程度に正確またはそれよりもさらに正確であり、二次モデルを実装するソフトウェアは、対応する一次モデルを実装するソフトウェアよりも実質的に効率的である。本側面の実施形態が、混合一次モデルの二次モデルを生成するために使用されるとき、二次モデルは、多くの場合、特に正確であり、二次モデルを実装するソフトウェアは、多くの場合、対応する一次モデルを実装するソフトウェアよりも効率的である(例えば、より少ない計算リソースを使用する)。本側面のいくつかの実施形態に従って生成される二次モデルは、複雑な一次モデルを理解するために有益であり得る、および/または正確な予測モデルを実装するソフトウェアを生成するタスクを単純化することができる。 In many cases, the secondary model produced by the embodiments of this aspect is as accurate as or even more accurate than the corresponding primary model, and the software that implements the secondary model has the corresponding primary model. It is substantially more efficient than the software it implements. When the embodiments of this aspect are used to generate a secondary model of a mixed primary model, the secondary model is often particularly accurate, and the software that implements the secondary model is often It is more efficient than software that implements the corresponding primary model (eg, it uses less computational resources). Secondary models generated according to some embodiments of this aspect can be useful for understanding complex primary models and / or simplify the task of generating software that implements accurate predictive models. be able to.

一般に、本明細書に説明される主題の別の革新的側面は、適合一次予測モデルを取得するステップであって、一次予測モデルは、1つまたはそれを上回る第1の入力変数の値に基づいて、予測問題の1つまたはそれを上回る出力変数の値を予測するように構成される、ステップと、適合一次モデルに二次予測モデル化プロシージャを実施するステップであって、二次モデル化プロシージャは、二次予測モデルと関連付けられる、ステップとを含む、予測モデル化方法で具現化されることができる。適合一次モデルに二次予測モデル化プロシージャを実施するステップは、複数の二次観察を含む、二次入力データを生成するステップであって、各二次観察は、1つまたはそれを上回る第2の入力変数の個別の観察値と、出力変数の予測値とを含み、二次入力データを生成するステップは、二次観察毎に、第2の入力変数の個別の観察値および第1の入力変数の対応する観察値を取得するステップと、第1の入力変数の対応する観察値に一次予測モデルを適用し、出力変数の個別の予測値を生成するステップとを含む、ステップと、二次入力データから二次訓練データおよび二次試験データを生成するステップと、二次予測モデルを二次訓練データに適合させることによって、適合一次モデルの適合二次予測モデルを生成するステップと、二次試験データに適合一次モデルの適合二次予測モデルを試験するステップとを含んでもよい。 In general, another innovative aspect of the subject matter described herein is the step of obtaining a fitted primary prediction model, which is based on the value of one or more first input variables. A step that is configured to predict the value of an output variable that is one or more of the prediction problems, and a step that implements a secondary prediction modeling procedure on the fitted primary model, which is a secondary modeling procedure. Can be embodied in predictive modeling methods, including steps associated with secondary predictive models. The step of performing a secondary predictive modeling procedure on a fitted primary model is the step of generating secondary input data, including multiple secondary observations, with each secondary observation having one or more second observations. The step of generating the secondary input data, including the individual observations of the input variables and the predicted values of the output variables, is for each secondary observation, the individual observations of the second input variable and the first input. A step and a quadratic, including a step of obtaining the corresponding observations of the variables and a step of applying a primary prediction model to the corresponding observations of the first input variable to generate individual predictions of the output variables. A step to generate secondary training data and secondary test data from the input data, a step to generate a fitted secondary prediction model of the fitted primary model by fitting the secondary prediction model to the secondary training data, and a secondary It may include a step of testing a conforming secondary prediction model of the conforming primary model to the test data.

本側面の他の実施形態は、それぞれ、方法のアクションを実施するように構成される、対応するコンピュータシステム、装置、および1つまたはそれを上回るコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。1つまたはそれを上回るコンピュータのシステムは、動作時に、アクションを生じさせる、またはシステムにアクションを実施させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することにより、特定のアクションを実施するように構成されることができる。1つまたはそれを上回るコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実施させる命令を含むことにより、特定のアクションを実施するように構成されることができる。 Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices, each configured to perform a method action. One or more computer systems are identified by having software, firmware, hardware, or a combination thereof installed on the system that causes or causes the system to take action during operation. Can be configured to perform the actions of. One or more computer programs, when executed by a data processing device, can be configured to perform a particular action by including instructions that cause the device to perform the action.

前述および他の実施形態はそれぞれ、随意に、単独で、もしくは組み合わせて、以下の特徴のうちの1つまたはそれを上回るものを含むことができる。いくつかの実施形態では、適合一次予測モデルを取得するステップは、一次予測モデルと関連付けられる一次予測モデル化プロシージャを実施するステップを含み、一次予測モデル化プロシージャを実施するステップは、複数の一次観察を含む、一次入力データを取得するステップであって、各一次観察は、第1の入力変数の個別の観察値と、出力変数の対応する観察値とを含む、ステップと、一次入力データから、一次訓練データおよび一次試験データを生成するステップと、一次予測モデルを一次訓練データに適合させるステップと、試験データに適合一次予測モデルを試験するステップとを含む。いくつかの実施形態では、適合一次モデルを取得するステップは、2つの適合予測モデルを混合するステップを含む。 The aforementioned and other embodiments may optionally include one or more of the following features, alone or in combination. In some embodiments, the step of obtaining a fitted primary prediction model includes the step of performing the primary prediction modeling procedure associated with the primary prediction model, and the step of performing the primary prediction modeling procedure is a plurality of primary observations. Each primary observation is from the step and the primary input data, including the individual observations of the first input variable and the corresponding observations of the output variable. It includes a step of generating primary training data and primary test data, a step of fitting the primary prediction model to the primary training data, and a step of testing a matching primary prediction model for the test data. In some embodiments, the step of obtaining a conforming primary model comprises mixing the two conforming predictive models.

いくつかの実施形態では、適合一次モデルを取得するステップは、少なくとも部分的に、予測問題の特性および/または個別の一次予測モデル化プロシージャの属性に基づいて、予測問題のための複数の一次予測モデル化プロシージャの好適性を判定するステップと、予測問題のための選択されたモデル化プロシージャの判定された好適性に基づいて、複数の一次予測モデル化プロシージャから1つまたはそれを上回る予測モデル化プロシージャを選択するステップと、1つまたはそれを上回る予測モデル化プロシージャを実施するステップとを含む。いくつかの実施形態では、1つまたはそれを上回る予測モデル化プロシージャを実施するステップは、命令を複数の処理ノードに伝送するステップであって、命令は、選択されたモデル化プロシージャの実行のために処理ノードのリソースを割り付けるリソース割付スケジュールを含み、リソース割付スケジュールは、少なくとも部分的に、予測問題のための選択されたモデル化プロシージャの好適性に基づく、ステップと、リソース割付スケジュールに従った複数の処理ノードによる選択されたモデル化プロシージャの実行の結果を受信するステップであって、結果は、選択されたモデル化プロシージャによって生成される予測モデルを含む、ステップと、生成されたモデルから適合一次モデルを選択するステップとを含む。 In some embodiments, the step of obtaining a fitted primary model is, at least in part, a plurality of primary predictions for the prediction problem, based on the characteristics of the prediction problem and / or the attributes of the individual primary prediction modeling procedure. One or more predictive modeling from multiple primary predictive modeling procedures based on the steps to determine the suitability of the modeling procedure and the determined suitability of the selected modeling procedure for the predictive problem. It includes the steps of selecting a procedure and performing one or more predictive modeling procedures. In some embodiments, the step of implementing one or more predictive modeling procedures is the step of transmitting the instruction to multiple processing nodes, where the instruction is for executing the selected modeling procedure. Contains a resource allocation schedule that allocates resources for processing nodes to, and the resource allocation schedule is at least partially based on the suitability of the selected modeling procedure for the prediction problem, with multiple steps and according to the resource allocation schedule. A step that receives the result of executing the selected modeling procedure by the processing node of, and the result is a conforming primary from the step and the generated model, including the predictive model generated by the selected modeling procedure. Includes steps to select a model.

いくつかの実施形態では、二次予測モデルは、RuleFitモデルおよび一般化付加モデルから成る群から選択される。いくつかの実施形態では、本方法のアクションはさらに、二次モデルの交差検証を実施するステップを含み、二次入力データは、少なくとも1つのデータセットを含み、二次訓練データを生成するステップは、データセットの第1のサブセットを取得するステップを含み、二次試験データを生成するステップは、データセットの第2のサブセットを取得するステップを含む。 In some embodiments, the secondary prediction model is selected from the group consisting of the RuleFit model and the generalized addition model. In some embodiments, the actions of the method further include a step of performing cross-validation of the secondary model, the secondary input data includes at least one dataset, and the steps of generating secondary training data. , A step of obtaining a first subset of the dataset, and a step of generating secondary test data includes a step of obtaining a second subset of the dataset.

いくつかの実施形態では、二次訓練データは、第1の二次訓練データであり、二次試験データは、第1の二次試験データであり、適合二次モデルは、第1の適合二次モデルであり、二次モデルの交差検証を実施するステップは、(a)二次入力データから第2の二次訓練データおよび第2の二次試験データを生成するステップであって、第2の二次訓練データは、データセットの第3のサブセットを含み、第2の二次試験データは、データセットの第4のサブセットを含む、ステップと、(b)二次予測モデルを第2の二次訓練データに適合させ、第2の適合二次予測モデルを取得するステップと、(c)第2の二次試験データに第2の適合二次予測モデルを試験するステップとを含む。 In some embodiments, the secondary training data is the first secondary training data, the secondary test data is the first secondary test data, and the fitted secondary model is the first fitted second. The next model, the step of performing the cross verification of the secondary model is (a) the step of generating the second secondary training data and the second secondary test data from the secondary input data, and the second The secondary training data of the second secondary test data contains a third subset of the dataset, the second secondary test data contains a fourth subset of the dataset, and (b) the secondary prediction model of the second. Includes a step of adapting to the secondary training data and obtaining a second fitted secondary predictive model, and (c) testing the second secondary test data with a second fitted secondary predictive model.

いくつかの実施形態では、本方法のアクションはさらに、データセットを、少なくとも、第1のパーティションと、第2のパーティションとを含む、複数のパーティションに分割するステップを含む。いくつかの実施形態では、データセットを複数のパーティションに分割するステップは、データセット内の各観察を個別のパーティションに無作為に割り当てるステップを含む。いくつかの実施形態では、第1の二次訓練データは、データセットの第1のパーティションを含み、第1の二次試験データは、第1のパーティションを除くデータセットの全てのパーティションを含み、第2の二次訓練データは、データセットの第2のパーティションを含み、第2の二次試験データは、第2のパーティションを除くデータセットの全てのパーティションを含む。いくつかの実施形態では、第1の二次訓練データは、データセットの第1のパーティションのサブセットを含み、第1の二次試験データは、第1のパーティションを除くデータセットの全てのパーティションの個別のサブセットを含み、第2の二次訓練データは、データセットの第2のパーティションのサブセットを含み、第2の二次試験データは、第2のパーティションを除くデータセットの全てのパーティションの個別のサブセットを含む。 In some embodiments, the actions of the method further include dividing the dataset into multiple partitions, including at least a first partition and a second partition. In some embodiments, the step of dividing the dataset into multiple partitions includes the step of randomly assigning each observation in the dataset to a separate partition. In some embodiments, the first secondary training data includes the first partition of the dataset and the first secondary test data includes all partitions of the dataset except the first partition. The second secondary training data includes the second partition of the dataset, and the second secondary test data includes all partitions of the dataset except the second partition. In some embodiments, the first secondary training data comprises a subset of the first partition of the dataset and the first secondary test data is of all partitions of the dataset except the first partition. The second secondary training data contains a subset of the second partition of the dataset, the second secondary test data contains the individual of all partitions of the dataset except the second partition. Contains a subset of.

いくつかの実施形態では、二次入力データは、第1のパーティションと、第2のパーティションとを含み、データセットは、二次入力データの第1のパーティションを含み、本方法のアクションはさらに、二次入力データの第2のパーティションを含むホールドアウトデータに、第1および第2の適合二次モデルを試験するステップを含む。いくつかの実施形態では、いかなる予測モデルもホールドアウトデータに適合されない。 In some embodiments, the secondary input data includes a first partition and a second partition, the dataset contains a first partition of the secondary input data, and the actions of the method further include. The holdout data, including the second partition of the secondary input data, includes the step of testing the first and second conforming secondary models. In some embodiments, no predictive model fits the holdout data.

いくつかの実施形態では、二次予測モデル化プロシージャを実施するステップはさらに、二次予測モデルのネスト化交差検証を実施するステップを含む。いくつかの実施形態では、二次入力データは、少なくとも1つのデータセットを含み、二次予測モデルのネスト化交差検証を実施するステップは、データセットを、少なくとも、データセットの第1のパーティションと、データセットの第2のパーティションとを含む、データセットの第1の複数のパーティションに分割するステップと、データセットの第1のパーティションを、少なくとも、データセットの第1のパーティションの第1のパーティションと、データセットの第1のパーティションの第2のパーティションとを含む、データセットの第1のパーティションの複数のパーティションに分割するステップとを含む。いくつかの実施形態では、二次訓練データは、データセットの第1のパーティションの第1のパーティションを含み、二次試験データは、データセットの第1のパーティションの第1のパーティションを除くデータセットの第1のパーティションの全てのパーティションを含む。 In some embodiments, the step of performing the quadratic predictive modeling procedure further comprises performing nested cross-validation of the quadratic predictive model. In some embodiments, the secondary input data contains at least one dataset, and the step of performing nested cross-validation of the secondary predictive model is to combine the dataset with at least the first partition of the dataset. The step of dividing the first plurality of partitions of the data set, including the second partition of the data set, and the first partition of the data set, at least the first partition of the first partition of the data set. And the step of dividing the first partition of the data set into a plurality of partitions, including the second partition of the first partition of the data set. In some embodiments, the secondary training data includes the first partition of the first partition of the dataset and the secondary test data is a dataset excluding the first partition of the first partition of the dataset. Includes all partitions of the first partition of.

いくつかの実施形態では、二次訓練データは、第1の二次訓練データであり、二次試験データは、第1の二次試験データであり、適合二次モデルは、第1の適合二次モデルであり、二次予測モデルのネスト化交差検証を実施するステップはさらに、(a)データセットの第1のパーティションから、第2の二次訓練データおよび第2の二次試験データを生成するステップであって、第2の二次訓練データは、データセットの第1のパーティションの第2のパーティションを含み、第2の二次試験データは、データセットの第1のパーティションの第2のパーティション以外のデータセットの第1のパーティションの複数のパーティションを含む、ステップと、(b)二次予測モデルを第2の二次訓練データに適合させ、第2の二次適合予測モデルを取得するステップと、(c)第2の二次試験データに第2の二次適合モデルを試験するステップとを含む。 In some embodiments, the secondary training data is the first secondary training data, the secondary test data is the first secondary test data, and the fitted secondary model is the first fitted secondary. The next model, the step of performing nested cross-validation of the secondary prediction model, further generates (a) second secondary training data and second secondary test data from the first partition of the dataset. The second secondary training data includes the second partition of the first partition of the dataset and the second secondary test data is the second of the first partition of the dataset. The step, which includes multiple partitions of the first partition of the non-partitioned dataset, and (b) fit the secondary prediction model to the second secondary training data to obtain the second secondary fit prediction model. Includes steps and (c) testing the second secondary conformance model in the second secondary test data.

いくつかの実施形態では、ネスト化交差検証を実施するステップはさらに、データセットの第2のパーティションに第1の適合二次モデルおよび第2の適合二次モデルを試験するステップと、データセットの第2のパーティションに第1および第2の適合二次モデルを試験するステップの結果に基づいて、第1の適合二次モデルを第2の適合二次モデルと比較するステップとを含む。 In some embodiments, the steps of performing nested cross-validation are further a step of testing a first conforming secondary model and a second conforming secondary model on the second partition of the dataset, and of the dataset. Includes a step of comparing the first fitted secondary model with the second fitted secondary model based on the results of the step of testing the first and second fitted secondary models in the second partition.

いくつかの実施形態では、本方法のアクションはさらに、適合予測モデルのそれぞれの精度スコアを判定するステップを含み、各適合モデルの精度スコアは、適合モデルが1つまたはそれを上回る予測問題の成果を予測する精度を表す。いくつかの実施形態では、本方法のアクションはさらに、適合一次モデルの精度スコアと適合二次モデルの精度スコアとの間の相違を判定するステップを含む。いくつかの実施形態では、適合二次モデルの精度スコアは、適合一次モデルの精度スコアを超える。 In some embodiments, the actions of the method further include determining the accuracy score of each of the fit prediction models, where the accuracy score of each fit model is the result of a prediction problem with one or more fit models. Represents the accuracy of predicting. In some embodiments, the actions of the method further include determining the difference between the accuracy score of the fitted primary model and the accuracy score of the fitted secondary model. In some embodiments, the accuracy score of the fitted secondary model exceeds the accuracy score of the fitted primary model.

いくつかの実施形態では、本方法のアクションはさらに、1つまたはそれを上回る予測問題の成果を予測するために適合予測モデルのそれぞれによって使用される、計算リソースの量を判定するステップを含む。いくつかの実施形態では、本方法のアクションはさらに、適合一次モデルによって使用される計算リソースの量と適合二次モデルによって使用される計算リソースの量との間の相違を判定するステップを含む。いくつかの実施形態では、適合二次モデルによって使用される計算リソースの量は、適合一次モデルによって使用される計算リソースの量未満である。 In some embodiments, the actions of the method further include determining the amount of computational resources used by each of the fitted prediction models to predict the outcome of one or more prediction problems. In some embodiments, the actions of the method further include determining the difference between the amount of computational resources used by the fitted primary model and the amount of computational resources used by the fitted secondary model. In some embodiments, the amount of computational resources used by the fitted secondary model is less than the amount of computational resources used by the fitted primary model.

いくつかの実施形態では、本方法のアクションはさらに、適合二次モデルを展開するステップを含む。いくつかの実施形態では、適合二次モデルを展開するステップは、予測問題のインスタンスを表す他のデータに適合二次モデルを適用することによって、複数の予測を生成するステップを含み、二次入力データは、他のデータを含まない。いくつかの実施形態では、適合二次モデルは、1つまたはそれを上回る条件付き規則のセットを含み、1つまたはそれを上回る条件付き規則のセットは、1つまたはそれを上回る機械実行可能if−then文のセットを含む。 In some embodiments, the actions of the method further include the step of developing a conforming secondary model. In some embodiments, the step of deploying the fitted quadratic model includes a step of generating multiple predictions by applying the fitted quadratic model to other data representing an instance of the prediction problem, and the quadratic input The data does not include other data. In some embodiments, the conforming secondary model comprises one or more sets of conditional rules, one or more sets of conditional rules is one or more machine-executable ifs. -Contains a set of ten statements.

いくつかの実施形態では、二次入力データは、第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の適合二次モデルを試験するステップとを含む。 In some embodiments, the secondary input data is the first secondary input data, and the step of developing the fitted secondary model is further fitted, at least in part, based on the second secondary input data. Includes steps to refresh the secondary model. In some embodiments, the conforming secondary model is the first conforming secondary model, and the step of refreshing the conforming secondary model, at least partially based on the second secondary input data, is the second. By the step of generating the second secondary training data and the second secondary test data from the secondary input data of, and by adapting the secondary prediction model to the second secondary training data, the conforming primary model A step to generate a second conforming secondary model, a step to test the second conforming secondary model of the primary model on the second secondary test data, a first conforming secondary model and a second conforming second. Includes steps to mix the following models and generate a refreshed secondary prediction model. In some embodiments, the conforming secondary model is the first conforming secondary model, and the step of refreshing the conforming secondary model, at least partially based on the second secondary input data, is the first step. From the step of generating the third secondary input data including at least a part of the secondary input data and at least a part of the second secondary input data, and the third secondary input data, the third Generate a second fitted secondary model of the fitted primary model by fitting the secondary prediction model to the third secondary training data and the steps to generate the secondary training data and the third secondary test data. The third secondary test data includes a step of testing a second conforming secondary model of the primary model.

いくつかの実施形態では、第1の入力変数は、第2の入力変数である。いくつかの実施形態では、第1の入力変数および第2の入力変数は両方とも、特定の入力変数を含む。いくつかの実施形態では、第1の入力変数のうちのいずれも、第2の入力変数に含まれない。 In some embodiments, the first input variable is the second input variable. In some embodiments, both the first input variable and the second input variable include a particular input variable. In some embodiments, none of the first input variables is included in the second input variable.

いくつかの実施形態では、二次モデル化プロシージャは、複数の二次モデル化プロシージャのうちの1つであり、二次予測モデルは、複数の第2の予測モデルのうちの1つであり、本方法のアクションは、適合一次モデルに複数の二次モデル化プロシージャを実施し、それによって、適合一次モデルの複数の適合二次モデルを生成するステップを含む。いくつかの実施形態では、本方法のアクションはさらに、適合二次予測モデルのそれぞれの精度スコアを判定するステップを含み、各適合二次モデルの精度スコアは、適合二次モデルが1つまたはそれを上回る予測問題の成果を予測する精度を表す。いくつかの実施形態では、本方法のアクションはさらに、精度スコアのうちのいずれが最高であるかを判定するステップと、最高精度スコアを伴う適合二次モデルを展開するステップとを含む。 In some embodiments, the quadratic modeling procedure is one of a plurality of quadratic modeling procedures, and the quadratic predictive model is one of a plurality of second predictive models. The action of the method involves performing multiple quadratic modeling procedures on the fitted primary model, thereby generating multiple fitted quadratic models of the fitted primary model. In some embodiments, the actions of the method further include determining the accuracy score of each of the fitted quadratic prediction models, where the accuracy score of each fitted quadratic model is one or more of the fitted quadratic models. Represents the accuracy of predicting the outcome of a prediction problem that exceeds. In some embodiments, the actions of the method further include determining which of the accuracy scores is the highest and developing a fitted quadratic model with the highest accuracy score.

本側面の他の実施形態は、二次予測モデルと関連付けられる二次予測モデル化プロシージャを符号化する機械実行可能モジュールを記憶するように構成される、メモリであって、二次予測モデル化プロシージャは、少なくとも1つの前処理タスクと、少なくとも1つのモデル適合タスクとを含む、複数のタスクを含む、メモリと、機械実行可能モジュールを実行するように構成される、少なくとも1つのプロセッサであって、機械実行可能モジュールを実行するステップは、装置に、適合一次予測モデルに二次予測モデル化プロシージャを実施させる、プロセッサとを含む、予測モデル化装置を含む。二次予測モデル化プロシージャを実施するステップは、適合一次予測モデルを取得するステップを含む、前処理タスクを実施するステップであって、一次予測モデルは、1つまたはそれを上回る第1の入力変数の値に基づいて、予測問題の1つまたはそれを上回る出力変数の値を予測するように構成される、ステップを含んでもよい。二次予測モデル化プロシージャを実施するステップは、複数の二次観察を含む、二次入力データを生成するステップであって、各二次観察は、1つまたはそれを上回る第2の入力変数の個別の観察値と、出力変数の予測値とを含み、二次入力データを生成するステップは、二次観察毎に、第2の入力変数の個別の観察値および第1の入力変数の対応する観察値を取得するステップと、第1の入力変数の対応する観察値に一次予測モデルを適用し、出力変数の個別の予測値を生成するステップとを含む、ステップと、二次入力データから二次訓練データおよび二次試験データを生成するステップと、二次予測モデルを二次訓練データに適合させることによって、適合一次モデルの適合二次予測モデルを生成するステップと、二次試験データに適合一次モデルの適合二次予測モデルを試験するステップとを含む、モデル適合タスクを実施するステップを含んでもよい。 Another embodiment of this aspect is a memory that is configured to store a machine-executable module that encodes a secondary predictive modeling procedure associated with a secondary predictive model, a secondary predictive modeling procedure. Is at least one processor configured to execute a memory and a machine executable module, including a plurality of tasks, including at least one preprocessing task and at least one model fitting task. The step of executing the machine executable module includes a predictive modeling device, including a processor, which causes the device to perform a secondary predictive modeling procedure on the fitted primary predictive model. The step of performing the secondary prediction modeling procedure is the step of performing a preprocessing task, including the step of obtaining a fitted primary prediction model, where the primary prediction model is one or more first input variables. May include steps configured to predict the value of an output variable that is one or more of the prediction problems based on the value of. The step of performing the secondary predictive modeling procedure is the step of generating secondary input data, including multiple secondary observations, where each secondary observation is for one or more second input variables. The step of generating the secondary input data, including the individual observations and the predictions of the output variables, corresponds to the individual observations of the second input variable and the corresponding input variables for each secondary observation. A step that includes a step of acquiring observations and a step of applying a primary prediction model to the corresponding observations of the first input variable to generate individual predictions of the output variables, and two from the secondary input data. Fits the secondary training data and the secondary test data, and fits the secondary prediction model to the secondary training data to generate the fitted secondary predictive model, and fits the secondary test data. Alignment of Primary Models Includes steps to perform model conformance tasks, including testing secondary predictive models.

本発明の他の側面および利点は、全て一例のみとして本発明の原理を例証する、以下の図面、詳細な説明、ならびに特許請求の範囲から明白となるであろう。 Other aspects and advantages of the invention will become apparent from the following drawings, detailed description, and claims, all exemplifying the principles of the invention by way of example only.

いくつかの実施形態の説明、それに関する動機、および/またはその利点を含む、前述の概要は、読者が本開示を理解することを支援することを意図しており、請求項のうちのいずれもいかようにも限定しない。
本発明は、例えば、以下を提供する。
(項目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の入力変数の対応する観察値に前記一次予測モデルを適用し、前記出力変数の個別の予測値を生成することとを含む、ことと、
前記二次入力データから二次訓練データおよび二次試験データを生成することと、
前記二次予測モデルを前記二次訓練データに適合させることによって、前記適合一次モデルの適合二次予測モデルを生成することと、
前記二次試験データに前記適合一次モデルの適合二次予測モデルを試験することと
を含む、ことと
を含む、プロセッサと
を備える、装置。
The above summary, including description of some embodiments, motivations for them, and / or their advantages, is intended to assist the reader in understanding the present disclosure, and any of the claims. It is not limited in any way.
The present invention provides, for example,:
(Item 1)
It is a predictive modeling method, and the predictive modeling method is
Enforcing a predictive modeling procedure, including performing the predictive modeling procedure,
(A) Acquiring time series data containing one or more datasets, each dataset comprising a plurality of observations, each observation being (1) an indication of the time associated with said observation. And (2) include the individual values of one or more variables.
(B) Determining the time interval of the time series data and
(C) Identifying one or more of the variables as targets and identifying zero or more other variables as features.
(D) Determining the prediction range and skip range associated with the prediction problem represented by the time series data, the prediction range indicating the duration of the cycle in which the target value is predicted. The skip range indicates the time delay between the time associated with the oldest prediction within the forecast range and the time associated with the latest observation based on the prediction within the forecast range.
(E) To generate training data from the time series data, the training data includes a first subset of observations of at least one of the datasets, the first subset of observations. The time associated with the observation in the training input and training output set, including the training input and training output set of the observation, corresponds to the training input time range and the training output time range, respectively, and the skip range is the said. Separating the end of the training input time range from the start of the training output time range, the duration of the training output time range is at least as long as the expected range.
(F) To generate test data from the time series data, the test data includes a second subset of observations of at least one of the data sets, the second subset of observations. The time associated with the observation in the test input and test verification set, including the test input and test verification set of the observation, corresponds to the test input time range and the test verification time range, respectively, and the skip range is said to be said. Separating the end of the test input time range from the start of the test verification time range, the duration of the test verification time range is at least as long as the expected range.
(G) Fitting the prediction model to the training data
(H) Testing the conforming model with the test data
Predictive modeling methods, including.
(Item 2)
The method of item 1, wherein the time interval of the time series data is determined, at least in part, based on the time associated with at least a subset of the observations contained in at least one of the datasets.
(Item 3)
Determining the time interval of the time series data
For each of the datasets, determining the individual time intervals of the dataset
Determining that the time intervals of the data set are uniform
To set the time interval of the time series data to the time interval of the data set.
2. The method according to item 2.
(Item 4)
Determining the time interval of the dataset
Determining the individual time periods between the continuous observations for a pair or more of the continuous observations contained in the data set.
Determining that the time period between the observations of the continuous pair is uniform
Setting the time interval of the data set to the time cycle between the observations of the continuous pair
The method according to item 3, which comprises.
(Item 5)
Determining the time interval of the time series data
For each of the datasets, determining the individual time intervals of the dataset
Determining that at least two time intervals in the dataset are different
Including
The time intervals of the time series data are, at least in part, based on (1) the individual proportions of the observations contained in each of the datasets and / or (2) the individual time intervals of each of the datasets. The method according to item 2 to be determined.
(Item 6)
Determining the individual time intervals of the dataset
Determining the individual time period between each pair of continuous observations contained in the dataset.
Including
If the time cycle between multiple pairs of continuous observations exhibits multiple non-uniform durations, then the time interval of the data set is at least partially (1) each of the non-uniform durations. Determined based on the individual proportions of the multiple pairs of continuous observations presented and / or (2) the duration of the time cycle.
The method of item 5, wherein the time interval of the dataset is the respective duration of the time cycle, where the time cycle between the plurality of pairs of continuous observations is of uniform duration.
(Item 7)
5. The method of item 5, wherein the time interval of the time series data is the shortest time interval that is a multiple of an integer of each individual time interval of the dataset.
(Item 8)
For each dataset, if the time interval of the dataset is shorter than the time interval of the time series data, the observations of the dataset are downsampled, thereby setting the time interval of the dataset to the time of the time series data. 7. The method of item 7, further comprising converting to intervals.
(Item 9)
Downsampling the observations of the dataset means each instance of the time interval of the time series data within the time cycle corresponding to the dataset.
Identifying all observations in the dataset associated with the time corresponding to the individual instance of the time interval of the time series data.
Aggregating the identified observations to generate an aggregated observation,
Replacing the identified observations in the dataset with the aggregated observations
8. The method of item 8.
(Item 10)
9. The method of item 9, wherein the number of identified observations corresponding to an instance of the time interval of the time series data is equal to the ratio between the time interval of the time series data and the time interval of the dataset.
(Item 11)
Aggregating the identified observations includes (1) the corresponding variable values contained in the oldest of the identified observations, and (2) the latest of the identified observations. Corresponding variable values, (3) maximum value of the corresponding variable value included in the identified observation, (4) minimum value of the corresponding variable value included in the identified observation, (5) said identified. Including setting the value of each variable in the aggregated observation to the average of the corresponding variable values included in the observation, or (6) the value of the function of the corresponding variable value included in the identified observation. , Item 9.
(Item 12)
The method of item 5, wherein the time interval of the time series data is selected from the group consisting of the time intervals of the dataset.
(Item 13)
The data set includes a first data set exhibiting a first time interval and a second data set exhibiting a second time interval exceeding the first time interval, wherein the second time interval is , The method is further selected as the time interval of the time series data.
To downsample the observations of the first dataset, thereby converting the time interval of the first dataset to the time interval of the time series data.
The method of item 12, comprising.
(Item 14)
The method according to item 5, wherein the time interval of the time series data is different from each of the time intervals of the data set.
(Item 15)
At least the group of observations of the time series data includes the individual values of the first variable, the method further adapting the prediction model to the training data and testing the fit model against the test data. prior to,
Determining that the value of the first variable has a time value
For each observation in the group is to generate an individual value for the second variable, the value of the second variable being between the time value of the first variable and the reference time value. To have an offset
Adding the value of the second variable to the individual observations within the group
The method according to item 1.
(Item 16)
15. The method of item 15, further comprising removing the value of the first variable from the observations within the group.
(Item 17)
The method of item 15, wherein the reference time comprises the date of the event.
(Item 18)
17. The method of item 17, wherein the event comprises birth, marriage, graduation from school, initiation of employment for an employer, or initiation of work in a particular position.
(Item 19)
The variable includes a first variable and a second variable, and the method further comprises
Determined that the changes in the values of the first and second variables correlate with a time delay between the changes in the values of the first variable and the correlation changes in the values of the second variable. To do and
To display graphical content showing the duration of the temporal delay between the change in the value of the first variable and the change in the correlation of the value of the second variable through a graphical user interface.
The method according to item 1.
(Item 20)
The expected range is, at least in part, (1) the time interval of the time series data, (2) the number of observations in the time series data, (3) the time cycle corresponding to the time series data, and / or (4) Based on a natural time cycle selected from the group consisting of microseconds, milliseconds, seconds, minutes, hours, days, weeks, months, quarters, seasons, years, 10 years, centuries, and 1,000 years. The method according to item 1 to be determined.
(Item 21)
The method according to item 20, wherein the expected range is a multiple of an integer of the time interval of the time series data.
(Item 22)
21. The method of item 21, wherein the time period between the continuous predictions within the prediction range and the time associated with it is equal to the time interval of the time series data.
(Item 23)
The skip range includes, at least in part, a waiting time for collecting the time series data, a waiting time for communicating the time series data, a waiting time for analyzing the time series data, and a communication for analyzing the time series data. The method according to item 1, wherein the method is determined based on the waiting time in, and / or the waiting time for implementing an action based on the analysis of the time series data.
(Item 24)
At least in part, the total number of observations contained in the time-series data, the amount of variation in the value of at least one of the variables over time, the amount of seasonal variation in the value of at least one of the variables, and the plurality. Item 1 further comprises determining the duration of the training input time range based on the consistency of variation in the value of at least one of the variables over a time cycle and / or the duration of the expected range. The method described.
(Item 25)
Adapting the predictive model to the training data includes adapting the predictive model to a subset of the training data corresponding to a portion of the training input time range, which is part of the training input time range. 24. The method of item 24, wherein the method starts at a time following the start time of the training input time range and ends at the end time of the training input time range.
(Item 26)
25. The method of item 25, wherein the duration of a portion of the training input time range is a multiple of an integer of the duration of the expected range.
(Item 27)
The method of item 1, further comprising downsampling the training data prior to adapting the prediction model to the training data.
(Item 28)
27. The method of item 27, wherein downsampling the training data comprises removing from the training data all observations obtained from at least one of the datasets.
(Item 29)
Downsampling the training data
Setting the downsampled time interval of the training data to a multiple of an integer of the time interval of the time series data, and
For each instance of the downsampled time interval of the training data,
Identifying all observations in the training data that are associated with the time corresponding to the individual instances of the downsampled time interval of the training data.
Aggregating the identified observations to generate an aggregated observation,
Replacing the identified observations in the training data with the aggregated observations
27. The method of item 27.
(Item 30)
The method of item 1, further comprising downsampling the test data prior to testing the conforming model on the test data.
(Item 31)
The method of item 1, further comprising performing cross-validation of the prediction model.
(Item 32)
The training data is the first training data, the test data is the first test data, the conforming model is the first conforming model, and cross-validation of the prediction model can be performed. ,
(I) Generating a second training data and a second test data from the time series data, the second training data being a third subset of at least one observation in the dataset. The second test data comprises a fourth subset of observations of at least one of the datasets.
(J) To adapt the prediction model to the second training data and acquire the second conformance model.
(K) To test the second conforming model on the second test data.
31. The method of item 31.
(Item 33)
The first subset of the observations corresponds to a slide training window covering the first range of training time, and each observation contained in the first subset corresponds to a time within the first range of the training time. A third subset of the associated observations corresponds to the slide training window covering a second range of training time, and each observation contained in the third subset corresponds to a second range of training time. 32. The method of item 32, wherein the earliest time in the first range of the training time is earlier than the earliest time in the second range of the training time, which is associated with the time within.
(Item 34)
The second subset of the observations corresponds to a slide test window covering the first range of test times, and each observation contained in the second subset corresponds to a time within the first range of the test times. The fourth subset of the observations associated and corresponds to the slide test window covering the second range of test time, and each observation contained in the fourth subset corresponds to the second range of test time. 33. The method of item 33, wherein the earliest time within the first range of the test time is earlier than the earliest time within the second range of the test time, which is associated with the time within.
(Item 35)
34. The method of item 34, wherein the first test time range partially overlaps the second training time range.
(Item 36)
35. The method of item 35, wherein the second test time range does not overlap any part of the first training time range and does not overlap any part of the second training time range.
(Item 37)
32. The method of item 32, further comprising dividing the time series data into a plurality of partitions including at least a first partition and a second partition.
(Item 38)
37. The method of item 37, wherein dividing the time series data into a plurality of partitions comprises allocating each of the datasets to a corresponding partition.
(Item 39)
37. The method of item 37, wherein dividing the time series data into a plurality of partitions comprises dividing the time series data in time.
(Item 40)
Each of the partitions corresponds to a separate portion of the time cycle associated with the time series data, and each observation contained in the time series data corresponds to a portion of the time cycle that matches the time associated with the observation. 39. The method of item 39, which is assigned to the partition.
(Item 41)
The first training data comprises a subset of the observations contained in the first partition of the time series data.
The first test data comprises a separate subset of the observations contained in all partitions of the time series data except the first partition.
The second training data comprises a subset of the observations contained in the second partition of the time series data.
The second test data comprises a separate subset of the observations contained in all partitions of the time series data except the second partition.
The method according to item 37.
(Item 42)
The first partition of the time series data includes the first and second training data and the first and second test data, and the second partition of the time series data holds holdout data. Including, the method further comprises
Testing the first and second conforming models on the holdout data
32. The method of item 32.
(Item 43)
42. The method of item 42, wherein no predictive model fits the holdout data.
(Item 44)
The method of item 1, further comprising performing nested cross-validation of the prediction model.
(Item 45)
Performing nested cross-validation of the forecast model
Dividing the time series data into a plurality of first partitions including at least a first partition of the time series data and a second partition of the time series data.
The time series is divided into a plurality of partitions of the first partition of the time series data including at least the first partition of the first partition of the time series data and the second partition of the first partition of the time series data. To split the first partition of data
Including
The training data includes a first partition of the first partition of the time-series data, and the test data is at least the time-series data other than the first partition of the first partition of the time-series data. It has multiple partitions of the first partition,
The method according to item 44.
(Item 46)
The training data is the first training data, the test data is the first test data, the conforming model is the first conforming model, and nested cross-validation of the prediction model is performed. That is also
(I) The second training data and the second test data are generated from the first partition of the time series data, and the second training data is the first partition of the time series data. The second test data comprises at least a plurality of partitions of the first partition of the data set other than the second partition of the first partition of the time series data. When,
(J) To adapt the prediction model to the second training data and acquire the second conformance model.
(K) To test the second conforming model on the second test data.
45. The method of item 45.
(Item 47)
Performing the nested cross-validation further
Testing the first conforming model and the second conforming model in the second partition of the time series data,
Comparing the first conforming model with the second conforming model based on the results of testing the first and second conforming models on the second partition of the time series data.
46. The method of item 46.
(Item 48)
The method of item 1, further comprising determining model-specific predictions of one or more of the features of the time series data with respect to the fitted model.
(Item 49)
Removing features from the time series data, at least in part, based on model-specific predictions of the features, creating features derived from two or more features in the time series data, said. Resources during the process of adding derived features to the time series data, mixing the prediction model with another prediction model, and / or evaluating the suitability of the prediction modeling procedure for the prediction problem. 48. The method of item 48, further comprising performing at least one action selected from the group consisting of assigning.
(Item 50)
Determining the suitability of multiple predictive modeling procedures for the predictive problem, at least in part, based on the characteristics of the predictive problem and / or the attributes of the individual predictive modeling procedures.
To select one or more predictive modeling procedures from the plurality of predictive modeling procedures based on the determined suitability of the selected modeling procedure for the predictive problem.
Performing one or more of the predictive modeling procedures described above
The method according to item 1, further comprising.
(Item 51)
Performing the one or more predictive modeling procedures described above
The instruction is to be transmitted to a plurality of processing nodes, the instruction comprising a resource allocation schedule for allocating resources for the processing node for execution of the selected modeling procedure, the resource allocation schedule being at least. Partly based on the suitability of the selected modeling procedure for the prediction problem, and
Receiving the result of execution of the selected modeling procedure by the plurality of processing nodes according to the resource allocation schedule, the result of which is the prediction model generated by the selected modeling procedure. And / or include the score of the generated model for the time series data associated with the prediction problem.
From the generated model, selecting a predictive model for the predictive problem, at least in part, based on the score of the selected predictive model.
50. The method of item 50.
(Item 52)
The method of item 1, further comprising generating a mixed prediction model by mixing the fitted model with another fitted model.
(Item 53)
The method of item 1, wherein the method further comprises developing the conforming model.
(Item 54)
The time series data is the first time series data, and expanding the fit model applies the fit model to the second time series data representing one or more instances of the prediction problem. 53. The method of item 53, wherein the first time series data does not include the second time series data, comprising generating one or more predictions.
(Item 55)
The time series data is the first time series data, and expanding the conforming model includes refreshing the conforming model at least partially based on the second time series data. The method described in.
(Item 56)
The fit model is a first fit model, and refreshing the fit model, at least in part, based on the second time series data
Performing the predictive modeling procedure on the second time series data to generate a second fit model,
To generate a refreshed prediction model by mixing the first conforming model and the second conforming model.
55. The method of item 55.
(Item 57)
Refreshing the fitted model, at least partially based on the second time series data, provides at least a portion of the first time series data and at least a portion of the second time series data. 55. The method of item 55, comprising performing the predictive modeling procedure on a third time series data provided to generate a refreshed predictive model.
(Item 58)
The conforming model is deployed on one or more servers, and other conforming models are also deployed on the one or more servers, and the prediction requirements for the conforming model and the other conforming models are at least partially. Based on (1) an estimate of the amount of time used by each of the fitted models to generate a prediction, and / or (2) an estimate of how often a prediction request for each fit model is received. 53. The method of item 53, which is allocated between the servers.
(Item 59)
Each predictive request is assigned to a separate thread, each predictive request has an associated latency sensitivity value, and the number of threads running on a particular server is at least partially on that particular server. 58. The method of item 58, which is determined based on the latency sensitivity value of the thread to be executed.
(Item 60)
Determining the value of a metric that indicates the interaction strength of two or more of the features contained in the time series data.
When the value of the measurement reference exceeds the threshold value, a time series value of a new feature is generated based on the value of the two or more features, and the new feature is added to the time series data.
The method according to item 1, further comprising.
(Item 61)
The method of item 1, further comprising determining the time resolution of the time series data.
(Item 62)
The method of item 1, wherein the target is identified based on user input.
(Item 63)
Predictive modeling device
A memory configured to store a machine executable module that encodes a predictive modeling procedure, said predictive modeling procedure including at least one preprocessing task and at least one model fitting task. Memory, including multiple tasks,
Executing the machine-executable module with at least one processor configured to execute the machine-executable module causes the device to perform the predictive modeling procedure and said predictive modeling procedure. To carry out
To carry out the pre-processing task, and to carry out the pre-processing task
(A) Acquiring time series data containing one or more datasets, each dataset comprising a plurality of observations, each observation being (1) an indication of the time associated with said observation. And (2) include the individual values of one or more variables.
(B) Determining the time interval of the time series data and
(C) Identifying one or more of the variables as targets and identifying zero or more other variables as features.
(D) Determining the prediction range and skip range associated with the prediction problem represented by the time series data, the prediction range indicating the duration of the cycle in which the target value is predicted. The skip range indicates a time delay between the time associated with the oldest prediction within the forecast range and the time associated with the latest observation based on the prediction within the forecast range.
Including, and
Carrying out the model fitting task, and carrying out the model fitting task
(E) To generate training data from the time series data, the training data includes a first subset of observations of at least one of the datasets, the first subset of observations. The time associated with the observation in the training input and training output set, including the training input and training output set of the observation, corresponds to the training input time range and the training output time range, respectively, and the skip range is the said. Separating the end of the training input time range from the start of the training output time range, the duration of the training output time range is at least as long as the expected range.
(F) To generate test data from the time series data, the test data includes a second subset of observations of at least one of the data sets, the second subset of observations. The time associated with the observation in the test input and test verification set, including the test input and test verification set of the observation, corresponds to the test input time range and the test verification time range, respectively, and the skip range is said to be said. Separating the end of the test input time range from the start of the test verification time range, the duration of the test verification time range is at least as long as the expected range.
(G) Fitting the prediction model to the training data
(H) Testing the conforming model with the test data
Including, and
Including the processor and
A device that comprises.
(Item 64)
63. The method of item 63, wherein the machine executable module comprises a directed graph showing the dependencies between the tasks.
(Item 65)
It is a computer implementation prediction modeling method, and the computer implementation prediction modeling method is
(A) Performing a plurality of predictive modeling procedures, each of which is associated with a predictive model, and performing each of the modeling procedures initially predicts the associated predictive model. Including adapting to the initial dataset that represents the problem,
(B) The determination of each first individual accuracy score of the conformance prediction model, wherein the first accuracy score of each conformance model is such that the conformance model is one or more of the initial prediction problems. Represents the accuracy of predicting the outcome of
(C) Shuffling feature values across the individual observations contained in the initial dataset, thereby generating a modified dataset representing a modified predictive problem.
(D) The determination of each second individual accuracy score of the conformance prediction model, wherein the second accuracy score of each conformance model is one of the prediction problems that the conformance model has been modified. Or to represent the accuracy of predicting multiple outcomes,
(E) The prediction value peculiar to the individual model of the feature is determined for each conforming model, and the model-specific predicted value of the feature for each conforming model is the first and second prediction values of the conforming model. Based on the accuracy score of
Computer implementation predictive modeling methods, including.
(Item 66)
Prior to performing the plurality of prediction modeling procedures, the plurality of predictions for the prediction problem are based on the characteristics of the initial dataset, the characteristics of the initial prediction problem, and / or the characteristics of the characteristics. 65. The method of item 65, further comprising selecting a modeling procedure.
(Item 67)
The plurality of predictive modeling procedures include two or more modeling procedures selected from the group consisting of random forest modeling procedures, generalized addition modeling procedures, and support vector machine modeling procedures. The method of item 65.
(Item 68)
The plurality of predictive modeling procedures include an item including a first modeling procedure selected from the first modeling procedure family and a second modeling procedure selected from the second modeling procedure family. 65.
(Item 69)
65. The method of item 65, further comprising refitting the predictive model to the modified data set representing the modified predictive problem prior to determining a second accuracy score of the predictive model. ..
(Item 70)
The determined model-specific predictions of the features for a particular fit model increase as the difference between the first accuracy score and the second accuracy score of the particular fit model increases, item 65. The method described in.
(Item 71)
The determined model-specific predictions of the features for a particular fit model are the first accuracy score and the second accuracy score of the particular fit model relative to the first accuracy score of the particular fit model. 65. The method of item 65, comprising a proportion difference between.
(Item 72)
65. The method of item 65, further comprising determining a model-independent predicted value of the feature based on a model-specific predicted value of the feature.
(Item 73)
72. The method of item 72, wherein determining the model-independent predictor of the feature comprises calculating a statistical measure of the center and / or diffusion of the model-specific predictor of the feature.
(Item 74)
Determining the model-independent predictor of the feature involves calculating a statistical measure of the center of the model-specific predictor, which is the model-specific predictor. 72. The method of item 72, selected from the group consisting of mean, median, and mode of.
(Item 75)
Determining the model-independent predictor of the feature includes calculating a statistical measure of the spread of the model-specific predictor, the statistical measure of the spread being the model-specific predictor. 72. The method of item 72, selected from the group consisting of ranges, variances, and standard deviations of.
(Item 76)
72. The method of item 72, wherein determining the model-independent predicted values of the feature comprises calculating a model-specific combination of predicted values of the feature.
(Item 77)
76. The method of item 76, wherein calculating the model-specific prediction value combination comprises calculating a weighted combination of the model-specific prediction values.
(Item 78)
Calculating the weighted combination of the model-specific forecast values includes assigning individual weights to the model-specific forecast values, and is assigned to the specific model-specific forecast values corresponding to the specific fit prediction model. The method of item 77, wherein the weighting increases as the first accuracy score of the fit prediction model increases.
(Item 79)
The feature is the first feature, and the method further comprises
(C1) A second modified dataset that shuffles the values of the second feature across the individual observations contained in the initial dataset, thereby representing a second modified predictive problem. To generate and
(D1) The determination of each third individual accuracy score of the conformance prediction model, wherein the third accuracy score of each conformance model is a prediction problem in which the conformance model is the second modified prediction problem. Represents the accuracy of predicting one or more outcomes of
(E1) It is to determine the predicted value peculiar to the individual model of the second feature for each conforming model, and the predicted value peculiar to the model of the second feature for each conforming model is the conforming model. Based on the 1st and 3rd accuracy scores of
65. The method of item 65.
(Item 80)
The feature is a first feature, the initial dataset comprises the first feature and a plurality of second features, and the method further steps (c) for each of the second features. 65. The method of item 65, comprising determining model-specific predictions of the second feature of the initial dataset by performing (d), and (e).
(Item 81)
An item further comprising displaying graphical content that identifies model-specific predictions of the first and second features of the initial dataset, as well as the first and second features, via a graphical user interface. 80.
(Item 82)
The modeling procedure is a first modeling procedure including a specific modeling procedure associated with a specific prediction model, and model-specific prediction values of the first and second features are the particular prediction model. The method comprises a particular model-specific prediction of the first and second features that are unique to, and the method further comprises (a1) the particular modeling procedure associated with the particular prediction model. 80. The method of item 80, comprising performing the predictive modeling procedure of 2.
(Item 83)
Performing the particular predictive modeling procedure includes performing feature engineering on the initial dataset based on the particular model-specific predictions of the first feature and the second feature. The method of item 82.
(Item 84)
38. The method of item 83, wherein performing feature engineering involves removing a particular feature from the initial dataset based on said particular feature with low model-specific predictions.
(Item 85)
The specification is based on model-specific predictions of the particular feature below the threshold and / or within the defined percentile of the particular model-specific predictions of the first and second features of the initial dataset. 84. The method of item 84, further comprising determining that the model-specific predicted value of the particular feature is low based on the model-specific predicted value of the particular feature.
(Item 86)
Performing feature engineering is
Generating derived features based on two or more specific features in the initial dataset with high model-specific predictions.
Adding the derived features to the initial dataset, thereby generating a second initial dataset.
83. The method of item 83.
(Item 87)
The specification is based on model-specific predictions of the particular feature above the threshold and / or within the defined percentile of the particular model-specific predictions of the first and second features of the initial dataset. 86. The method of item 86, further comprising determining that the model-specific predicted value of the particular feature is high based on the model-specific predicted value of the particular feature.
(Item 88)
Performing the particular predictive modeling procedure further comprises adapting the particular predictive model to the second initial data set, the method further comprising:
The first accuracy score of the adapted specific model is to determine the first accuracy score of the adapted specific model, wherein the adapted specific model is of the initial prediction problem. Representing the accuracy of predicting one or more outcomes,
A second modified dataset that shuffles the values of the first feature across the individual observations contained in the second initial dataset, thereby representing a second modified predictive problem. To generate and
The second accuracy score of the fitted specific model is to determine the second accuracy score of the fitted specific model, wherein the fitted model is the second modified prediction problem. Represents the accuracy of predicting one or more outcomes of
Determining a second model-specific prediction of the first feature for the fitted specific model, the second of the first feature for the fitted particular model. The model-specific predictions for are based on the first and second accuracy scores of the particular model adapted.
86. The method of item 86.
(Item 89)
Prior to performing the plurality of second modeling procedures,
Choosing the second modeling procedure based on the suitability of the selected modeling procedure for the initial prediction problem.
Including
The suitability of the particular predictive modeling procedure for the initial predictive problem is, at least in part, one of the initial datasets with high model-specific predictive values for the particular predictive modeling procedure. Determined based on the characteristics of multiple specific features,
The method according to item 82.
(Item 90)
The instruction is to be transmitted to a plurality of processing nodes, the instruction comprising a resource allocation schedule for allocating resources for the processing node for execution of the second modeling procedure, the resource allocation schedule being at least. Partly based on the suitability of the second modeling procedure for the initial prediction problem.
The result of executing the second modeling procedure by the plurality of processing nodes according to the resource allocation schedule is received, and the result is the prediction model generated by the second modeling procedure. And / or include the score of the generated model for the data associated with the initial prediction problem.
From the generated model, selecting a prediction model for the initial prediction problem, at least in part, based on the score of the selected prediction model.
89. The method of item 89.
(Item 91)
Generating a mixed forecast model by combining two or more of the generated forecast models,
To evaluate the mixed prediction model
89. The method of item 89.
(Item 92)
65. The method of item 65, wherein the predicted value of the feature for the modified prediction problem is less than a threshold predicted value.
(Item 93)
Predictive modeling device
Memory configured to store processor executable instructions, and
A processor configured to execute the processor-executable instruction, and executing the processor-executable instruction, causes the device to execute the processor-executable instruction.
(A) Performing a plurality of predictive modeling procedures, each of which is associated with a predictive model, and performing each of the modeling procedures initially predicts the associated predictive model. Including adapting to the initial dataset that represents the problem,
(B) The determination of each first individual accuracy score of the conformance prediction model, wherein the first accuracy score of each conformance model is such that the conformance model is one or more of the initial prediction problems. Represents the accuracy of predicting the outcome of
(C) Shuffling feature values across the individual observations contained in the initial dataset, thereby generating a modified dataset representing the modified predictive problem.
(D) The determination of each second individual accuracy score of the conformance prediction model, wherein the second accuracy score of each conformance model is one of the prediction problems that the conformance model has been modified. Or to represent the accuracy of predicting multiple outcomes,
(E) The prediction value peculiar to the individual model of the feature is determined for each conforming model, and the model-specific predicted value of the feature for each conforming model is the first and second prediction values of the conforming model. Based on the accuracy score of
With the processor to perform steps including
A device that comprises.
(Item 94)
A manufactured product, the manufactured product having a computer-readable instruction stored on the product, and when the computer-readable instruction is executed by the processor, the processor receives the computer-readable instruction.
(A) Performing a plurality of predictive modeling procedures, each of which is associated with a predictive model, and performing each modeled procedure is an initial dataset that represents an initial predictive problem. Including fitting the associated predictive model and
(B) The determination of each first individual accuracy score of the conformance prediction model, wherein the first accuracy score of each conformance model is such that the conformance model is one or more of the initial prediction problems. Represents the accuracy of predicting the outcome of
(C) Shuffling feature values across the individual observations contained in the initial dataset, thereby generating a modified dataset representing a modified predictive problem.
(D) The determination of each second individual accuracy score of the conformance prediction model, wherein the second accuracy score of each conformance model is one of the prediction problems that the conformance model has been modified. Or to represent the accuracy of predicting multiple outcomes,
(E) The prediction value peculiar to the individual model of the feature is determined for each conforming model, and the model-specific predicted value of the feature for each conforming model is the first and second prediction values of the conforming model. Based on the accuracy score of
Manufactured products that carry out operations including.
(Item 95)
It is a predictive modeling method, and the predictive modeling method is
Acquiring a fitted primary prediction model, such that the primary prediction model predicts the values of one or more output variables of a prediction problem based on the values of one or more first input variables. It is composed of
Performing a secondary predictive modeling procedure on the fitted primary model, the secondary modeling procedure is associated with a secondary predictive model, and the secondary predictive modeling procedure is performed on the fitted primary model. That is
Generating secondary input data that includes multiple secondary observations, each secondary observation consisting of individual observations of one or more second input variables and predicted values of said output variables. To generate the secondary input data, to obtain the individual observation values of the second input variable and the corresponding observation values of the first input variable for each secondary observation. Includes applying the primary prediction model to the corresponding observations of the first input variable and generating individual predictions of the output variable.
To generate secondary training data and secondary test data from the secondary input data,
By adapting the secondary prediction model to the secondary training data, a conforming secondary prediction model of the conforming primary model can be generated.
To test the conforming secondary prediction model of the conforming primary model on the secondary test data.
Including, and
Predictive modeling methods, including.
(Item 96)
Acquiring the fitted primary model involves performing a primary predictive modeling procedure associated with the primary predictive model, and performing the primary predictive modeling procedure includes performing the primary predictive modeling procedure.
Acquiring primary input data including a plurality of primary observations, each primary observation comprising an individual observation value of the first input variable and a corresponding observation value of the output variable.
To generate primary training data and primary test data from the primary input data,
Adapting the primary prediction model to the primary training data
To test the conformance primary prediction model on the test data
95. The method of item 95.
(Item 97)
The method of item 95, wherein obtaining the conforming primary model comprises mixing the two conforming predictive models.
(Item 98)
Obtaining the conforming primary model
Determining the suitability of multiple primary predictive modeling procedures for the predictive problem, at least in part, based on the characteristics of the predictive problem and / or the attributes of the individual primary predictive modeling procedures.
To select one or more predictive modeling procedures from the plurality of primary predictive modeling procedures based on the determined suitability of the selected modeling procedure for the predictive problem.
Performing one or more of the predictive modeling procedures described above
95. The method of item 95.
(Item 99)
Performing the one or more predictive modeling procedures described above
The instruction is to be transmitted to a plurality of processing nodes, the instruction comprising a resource allocation schedule for allocating resources for the processing node for execution of the selected modeling procedure, the resource allocation schedule being at least. Partly based on the suitability of the selected modeling procedure for the prediction problem, and
Receiving the result of execution of the selected modeling procedure by the plurality of processing nodes according to the resource allocation schedule, the result of which is the prediction model generated by the selected modeling procedure. Including, and
To select the conforming primary model from the generated model
98. The method of item 98.
(Item 100)
95. The method of item 95, wherein the secondary prediction model is selected from the group consisting of a RuleFit model and a generalized addition model.
(Item 101)
Further including performing cross-validation of the secondary model, the secondary input data comprises at least one dataset, and generating the secondary training data comprises performing a first subset of the dataset. 95. The method of item 95, wherein generating the secondary test data, including obtaining, comprises obtaining a second subset of the dataset.
(Item 102)
The secondary training data is the first secondary training data, the secondary test data is the first secondary test data, and the conforming secondary model is the first conforming secondary model. , Performing cross-validation of the secondary model
(A) To generate a second secondary training data and a second secondary test data from the secondary input data, the second secondary training data is a third subset of the dataset. And that the second secondary test data includes a fourth subset of the dataset.
(B) Adapting the secondary prediction model to the second secondary training data and acquiring the second fitted secondary prediction model.
(C) To test the second conforming secondary prediction model on the second secondary test data.
101. The method of item 101.
(Item 103)
102. The method of item 102, further comprising dividing the data set into a plurality of partitions, including at least a first partition and a second partition.
(Item 104)
103. The method of item 103, wherein dividing the dataset into a plurality of partitions comprises randomly assigning each observation in the dataset to a separate partition.
(Item 105)
The first secondary training data comprises a first partition of the dataset.
The first secondary test data includes all partitions of the dataset except the first partition.
The second secondary training data comprises a second partition of the dataset.
The second secondary test data comprises all partitions of the dataset except the second partition.
The method of item 104.
(Item 106)
The first secondary training data comprises a subset of the first partitions of the dataset.
The first secondary test data comprises a separate subset of all partitions of the dataset except the first partition.
The second secondary training data comprises a subset of the second partition of the dataset.
The second secondary test data comprises a separate subset of all partitions of the dataset except the second partition.
The method of item 104.
(Item 107)
The secondary input data includes a first partition and a second partition.
The data set comprises a first partition of the secondary input data.
The method further comprises testing the first and second conforming secondary models on holdout data comprising a second partition of the secondary input data.
The method of item 102.
(Item 108)
The method of item 107, wherein no predictive model fits the holdout data.
(Item 109)
95. The method of item 95, wherein performing the secondary prediction modeling procedure further comprises performing nested cross-validation of the secondary prediction model.
(Item 110)
The secondary input data comprises at least one dataset.
Performing nested cross-validation of the secondary prediction model
Dividing the data set into a plurality of first partitions of the data set, including at least a first partition of the data set and a second partition of the data set.
The first partition of the data set has a plurality of partitions of the first partition of the data set including at least the first partition of the first partition of the data set and the second partition of the first partition of the data set. To partition
Including
The secondary training data comprises a first partition of the first partition of the dataset.
The secondary test data includes all partitions of the first partition of the data set except the first partition of the first partition of the data set.
The method of item 109.
(Item 111)
The secondary training data is the first secondary training data, the secondary test data is the first secondary test data, and the conforming secondary model is the first conforming secondary model. Further, performing nested cross-validation of the secondary prediction model
(A) The second secondary training data and the second secondary test data are generated from the first partition of the data set, and the second secondary training data is the data set. A second partition of the first partition is provided, and the second secondary test data includes a plurality of partitions of the first partition of the data set other than the second partition of the first partition of the data set. To prepare and to
(B) To acquire the second secondary conformity prediction model by adapting the secondary prediction model to the second secondary training data.
(C) To test the second secondary conformance model on the second secondary test data.
110. The method of item 110.
(Item 112)
Performing the nested cross-validation further
Testing the first conforming secondary model and the second conforming secondary model in the second partition of the dataset.
The first fitted secondary model is compared to the second fitted secondary model based on the results of testing the first and second fitted secondary models on the second partition of the dataset. With that
111. The method of item 111.
(Item 113)
The accuracy score of each conforming model further comprises determining the respective accuracy score of the conforming prediction model, wherein the accuracy score represents the accuracy with which the conforming model predicts the outcome of one or more prediction problems. the method of.
(Item 114)
The method of item 113, further comprising determining the difference between the accuracy score of the conforming primary model and the accuracy score of the conforming secondary model.
(Item 115)
The method of item 114, wherein the accuracy score of the conforming secondary model exceeds the accuracy score of the conforming primary model.
(Item 116)
95. The method of item 95, further comprising determining the amount of computational resources used by each of the fitted prediction models to predict the outcome of one or more prediction problems.
(Item 117)
The method of item 116, further comprising determining the difference between the amount of computational resources used by the conforming primary model and the amount of computational resources used by the conforming secondary model.
(Item 118)
117. The method of item 117, wherein the amount of computational resources used by the conforming secondary model is less than the amount of computational resources used by the conforming primary model.
(Item 119)
95. The method of item 95, further comprising developing the conforming secondary model.
(Item 120)
Expanding the fitted quadratic model involves generating multiple predictions by applying the fitted quadratic model to other data representing an instance of the prediction problem, the secondary input data. 119. The method of item 119, which does not include the other data.
(Item 121)
The conforming secondary model comprises one or more sets of conditional rules, the set of one or more conditional rules comprises one or more sets of machine-executable if-then statements. 119. The method of item 119.
(Item 122)
The quadratic input data is the first quadratic input data, and developing the fitted quadratic model further provides the fitted quadratic model, at least in part, based on the second quadratic input data. 119. The method of item 119, comprising refreshing.
(Item 123)
The fitted secondary model is a first fitted secondary model, and refreshing the fitted secondary model, at least in part, based on the second secondary input data
To generate the second secondary training data and the second secondary test data from the second secondary input data,
By adapting the secondary prediction model to the second secondary training data, a second fitted secondary model of the fitted primary model can be generated.
To test the second conforming secondary model of the primary model on the second secondary test data,
To generate a refreshed secondary prediction model by mixing the first fitted secondary model and the second fitted secondary model.
122. The method of item 122.
(Item 124)
The fitted secondary model is a first fitted secondary model, and refreshing the fitted secondary model, at least in part, based on the second secondary input data
Generating a third secondary input data comprising at least a portion of the first secondary input data and at least a portion of the second secondary input data.
To generate the third secondary training data and the third secondary test data from the third secondary input data,
By fitting the secondary prediction model to the third secondary training data, a second fitted secondary model of the fitted primary model can be generated.
To test the second conforming secondary model of the primary model on the third secondary test data.
122. The method of item 122.
(Item 125)
The method according to item 95, wherein the first input variable is the second input variable.
(Item 126)
95. The method of item 95, wherein both the first input variable and the second input variable include a particular input variable.
(Item 127)
The method according to item 95, wherein none of the first input variables are included in the second input variable.
(Item 128)
The quadratic modeling procedure is one of a plurality of quadratic modeling procedures, the quadratic prediction model is one of a plurality of second prediction models, and the method is described above. 95. The method of item 95, comprising performing the plurality of secondary modeling procedures on the fitted primary model, thereby generating a plurality of fitted secondary models of the fitted primary model.
(Item 129)
The accuracy score of each conforming secondary model further comprises determining the respective accuracy score of the conforming secondary prediction model, which indicates the accuracy with which the conforming secondary model predicts the outcome of one or more prediction problems. Represented, the method of item 128.
(Item 130)
Determining which of the accuracy scores is the highest
To develop the conforming secondary model with the highest accuracy score
129. The method of item 129.
(Item 131)
Predictive modeling device
A memory configured to store a machine-executable module that encodes a secondary predictive modeling procedure associated with a secondary predictive model, said secondary predictive modeling procedure with at least one preprocessing task. Memory, including multiple tasks, including at least one model conforming task.
Executing the machine-executable module with at least one processor configured to execute the machine-executable module implements the secondary predictive modeling procedure on the device and the fitted primary predictive model. And letting the fitted primary prediction model perform the secondary prediction modeling procedure.
Performing the preprocessing task, including acquiring the fitted primary prediction model, which primary prediction model is one of the prediction problems based on the values of one or more first input variables. Or it is configured to predict the value of multiple output variables,
Carrying out the model fitting task, and carrying out the model fitting task
Generating secondary input data that includes multiple secondary observations, where each secondary observation combines the individual observations of one or more second input variables with the predicted values of the output variables. Including, generating the secondary input data means obtaining the individual observation values of the second input variable and the corresponding observation values of the first input variable for each secondary observation, and the first. Including applying the primary prediction model to the corresponding observations of the input variable of 1 to generate individual predictions of the output variable.
To generate secondary training data and secondary test data from the secondary input data,
By adapting the secondary prediction model to the secondary training data, a conforming secondary prediction model of the conforming primary model can be generated.
To test the conforming secondary prediction model of the conforming primary model on the secondary test data.
Including, and
Including the processor and
A device that comprises.

いくつかの実施形態のある利点は、添付図面と併せて解釈される以下の説明を参照することによって、理解され得る。図面では、類似参照文字は、概して、異なる図の全体を通して同一の部品を指す。また、図面は、必ずしも一定の縮尺ではなく、代わりに、概して、本発明のいくつかの原理を例証することが強調されている。 Certain advantages of some embodiments may be understood by reference to the following description, which is interpreted in conjunction with the accompanying drawings. In drawings, similar reference characters generally refer to the same part throughout different drawings. It is also emphasized that the drawings are not necessarily at a constant scale and instead, in general, illustrate some principles of the invention.

図1は、いくつかの実施形態による、予測モデル化システムのブロック図である。FIG. 1 is a block diagram of a predictive modeling system according to some embodiments.

図2は、いくつかの実施形態による、予測モデル化タスク、技法、および方法を符号化する、機械実行可能テンプレートを構築するためのモデル化ツールのブロック図である。FIG. 2 is a block diagram of a modeling tool for building machine-executable templates that encode predictive modeling tasks, techniques, and methods, according to some embodiments.

図3は、いくつかの実施形態による、予測問題のための予測モデルを選択するための方法のフローチャートである。FIG. 3 is a flowchart of a method for selecting a prediction model for a prediction problem according to some embodiments.

図4は、いくつかの実施形態による、予測問題のための予測モデルを選択するための方法の別のフローチャートを示す。FIG. 4 shows another flowchart of a method for selecting a prediction model for a prediction problem, according to some embodiments.

図5は、いくつかの実施形態による、予測モデル化システムの概略図である。FIG. 5 is a schematic diagram of a predictive modeling system according to some embodiments.

図6は、いくつかの実施形態による、予測モデル化システムの別のブロック図である。FIG. 6 is another block diagram of the predictive modeling system according to some embodiments.

図7は、いくつかの実施形態による、予測モデル化システムの構成要素の間の通信を図示する。FIG. 7 illustrates communication between components of a predictive modeling system according to some embodiments.

図8は、いくつかの実施形態による、予測モデル化システムの別の概略図である。FIG. 8 is another schematic of the predictive modeling system according to some embodiments.

図9は、いくつかの実施形態による、時系列予測モデル化のための方法のフローチャートである。FIG. 9 is a flowchart of a method for time series prediction modeling according to some embodiments.

図10は、いくつかの実施形態による、特徴の予測値を判定するための方法のフローチャートである。FIG. 10 is a flowchart of a method for determining a predicted value of a feature according to some embodiments.

図11Aは、いくつかの実施形態による、二次予測モデルを生成するための方法のフローチャートである。FIG. 11A is a flow chart of a method for generating a secondary prediction model according to some embodiments.

図11Bは、いくつかの実施形態による、二次予測モデル化プロシージャを実施するための方法のフローチャートである。FIG. 11B is a flow chart of a method for performing a secondary prediction modeling procedure according to some embodiments.

予測モデル化システムの概観
図1を参照すると、いくつかの実施形態では、予測モデル化システム100は、予測モデル化探索エンジン110と、ユーザインターフェース120と、予測モデル化技法のライブラリ130と、予測モデル展開エンジン140とを含む。探索エンジン110は、規定予測問題に好適な予測モデル化ソリューションを生成するように、予測モデル化検索空間を効率的に探索する(例えば、前処理ステップ、モデル化アルゴリズム、および後処理ステップの潜在的組み合わせ)ための検索技法(または「モデル化方法」)を実装してもよい。検索技法は、どの予測モデル化技法が予測問題のための好適な解決策を提供する可能性が高いかという初期評価を含んでもよい。いくつかの実施形態では、検索技法は、(例えば、データセットの増加する部分を使用する)検索空間の漸進的評価と、(例えば、一貫した測定基準を使用する)予測問題のための異なるモデル化ソリューションの好適性の一貫した比較とを含む。いくつかの実施形態では、検索技法は、以前の検索の結果に基づいて適応し、経時的に検索技法の有効性を向上させることができる。
Overview of Predictive Modeling System With reference to FIG. 1, in some embodiments, the predictive modeling system 100 includes a predictive modeling search engine 110, a user interface 120, a library of predictive modeling techniques 130, and a predictive model. Includes deployment engine 140. The search engine 110 efficiently explores the predictive modeling search space (eg, potential pre-processing steps, modeling algorithms, and post-processing steps) to generate a predictive modeling solution suitable for the defined prediction problem. A search technique (or "modeling method") for (combination) may be implemented. The search technique may include an initial assessment of which predictive modeling technique is likely to provide a suitable solution for the predictive problem. In some embodiments, the search technique is a gradual evaluation of the search space (eg, using an increasing part of the dataset) and a different model for a predictive problem (eg, using consistent metrics). Includes a consistent comparison of the suitability of the chemical solutions. In some embodiments, the search technique can be adapted based on the results of previous searches to improve the effectiveness of the search technique over time.

探索エンジン110は、検索空間内で潜在的モデル化ソリューションを評価するために、モデル化技法のライブラリ130を使用してもよい。いくつかの実施形態では、モデル化技法ライブラリ130は、完全なモデル化技法を符号化する、機械実行可能テンプレートを含む。機械実行可能テンプレートは、1つまたはそれを上回る予測モデル化アルゴリズムを含んでもよい。いくつかの実施形態では、テンプレートに含まれるモデル化アルゴリズムは、ある方法で関係付けられてもよい。例えば、モデル化アルゴリズムは、同一のモデル化アルゴリズムの変異形、またはモデル化アルゴリズム族の構成要素であってもよい。いくつかの実施形態では、機械実行可能テンプレートはさらに、テンプレートのアルゴリズムとともに使用するために好適な1つまたはそれを上回る前処理および/もしくは後処理ステップを含む。アルゴリズム、前処理ステップ、および/または後処理ステップは、パラメータ化されてもよい。機械実行可能テンプレートは、データセットによって表される予測問題のための潜在的予測モデル化ソリューションを生成するように、ユーザデータセットに適用されてもよい。 The search engine 110 may use the library 130 of modeling techniques to evaluate potential modeling solutions within the search space. In some embodiments, the modeling technique library 130 includes a machine executable template that encodes the complete modeling technique. The machine executable template may include one or more predictive modeling algorithms. In some embodiments, the modeling algorithms included in the template may be related in some way. For example, the modeling algorithm may be a variant of the same modeling algorithm or a component of the modeling algorithm family. In some embodiments, the machine executable template further comprises one or more pre- and / or post-processing steps suitable for use with the template's algorithm. Algorithms, pre-processing steps, and / or post-processing steps may be parameterized. Machine executable templates may be applied to user datasets to generate potential predictive modeling solutions for the predictive problems represented by the dataset.

探索エンジン110は、検索空間またはその部分を探索するために、分散型コンピュータシステムの計算リソースを使用してもよい。いくつかの実施形態では、探索エンジン110は、分散型コンピュータシステムのリソースを使用して、検索を効率的に実行するための検索計画を生成し、分散型コンピュータシステムは、検索計画に従って検索を実行する。分散型コンピュータシステムは、限定ではないが、予測モデル化技法の待ち行列および監視のため、コンピュータシステムのリソースの仮想化のため、データベースにアクセスするため、検索計画を分割し、コンピュータシステムのリソースをモデル化技法の評価に割り付けるため、実行結果を収集して編成するため、ユーザ入力を受け入れるため等のインターフェースを含む、検索計画に従って予測モデル化ソリューションの実行を促進するインターフェースを提供してもよい。 The search engine 110 may use the computational resources of a distributed computer system to search the search space or parts thereof. In some embodiments, the search engine 110 uses the resources of the distributed computer system to generate a search plan for efficiently performing the search, and the distributed computer system performs the search according to the search plan. To do. Decentralized computer systems, but not limited to, partition search plans and decentralize computer system resources to queue and monitor predictive modeling techniques, to virtualize computer system resources, to access databases. An interface that facilitates the execution of the predictive modeling solution according to the search plan may be provided, including an interface for allocating to the evaluation of the modeling technique, collecting and organizing the execution results, accepting user input, and the like.

ユーザインターフェース120は、予測モデル化空間の検索を監視および/または誘導するためのツールを提供する。これらのツールは、(例えば、データセットの中の問題のある変数を強調表示すること、データセットの中の変数の間の関係を識別すること等によって)予測問題のデータセットについての洞察、および/または検索の結果についての洞察を提供してもよい。いくつかの実施形態では、データ分析者は、例えば、モデル化ソリューションを評価して比較するために使用される測定基準を規定することによって、好適なモデル化ソリューションを認識するための基準を特定することによって等、検索を誘導するためにインターフェースを使用してもよい。したがって、ユーザインターフェースは、独自の生産性を向上させるために、および/または探索エンジン110の性能を向上させるために、分析者によって使用されてもよい。いくつかの実施形態では、ユーザインターフェース120は、リアルタイムで検索の結果を提示し、リアルタイムで(例えば、検索の範囲、または異なるモデル化ソリューションの評価の間のリソースの割付を調節するように)ユーザが検索を誘導することを可能にする。いくつかの実施形態では、ユーザインターフェース120は、同一の予測問題および/または関連予測問題に取り組む複数のデータ分析者の労力を調整するためのツールを提供する。 The user interface 120 provides tools for monitoring and / or guiding searches in the predictive modeling space. These tools provide insights into the dataset of predictive problems (for example, by highlighting problematic variables in the dataset, identifying relationships between variables in the dataset, etc.), and / Or may provide insights into the results of the search. In some embodiments, the data analyst identifies the criteria for recognizing a suitable modeling solution, for example by defining the metrics used to evaluate and compare the modeling solutions. The interface may be used to guide the search, such as by. Therefore, the user interface may be used by the analyst to improve its own productivity and / or to improve the performance of the search engine 110. In some embodiments, the user interface 120 presents search results in real time and the user in real time (eg, adjusting the scope of the search, or the allocation of resources between evaluations of different modeling solutions). Allows you to navigate the search. In some embodiments, the user interface 120 provides tools for coordinating the efforts of multiple data analysts working on the same predictive and / or related predictive problems.

いくつかの実施形態では、ユーザインターフェース120は、モデル化技法のライブラリ130のための機械実行可能テンプレートを開発するためのツールを提供する。システムユーザは、既存のテンプレートを修正するため、新しいテンプレートを作成するため、またはライブラリ130からテンプレートを除去するために、これらのツールを使用してもよい。このようにして、システムユーザは、予測モデル化研究の進歩を反映するように、および/または専用予測モデル化技法を含むように、ライブラリ130を更新してもよい。 In some embodiments, the user interface 120 provides a tool for developing a machine executable template for the library 130 of modeling techniques. System users may use these tools to modify existing templates, create new templates, or remove templates from library 130. In this way, system users may update library 130 to reflect advances in predictive modeling research and / or to include dedicated predictive modeling techniques.

モデル展開エンジン140は、動作環境内で予測モデル(例えば、探索エンジン110によって生成される予測モデル)を展開するためのツールを提供する。いくつかの実施形態では、モデル展開エンジンはまた、予測モデルを監視および/または更新するためのツールも提供する。システムユーザは、探索エンジン110によって生成される予測モデルを展開するため、そのような予測モデルの性能を監視するため、および(例えば、新しいデータまたは予測モデル化技法の進歩に基づいて)そのようなモデルを更新するために、展開エンジン140を使用してもよい。いくつかの実施形態では、探索エンジン110は、(例えば、予測問題のための基礎的データセットの変更に応答して、予測モデルを再適合または調整するように)予測問題のための検索空間の探索を誘導するために、(例えば、展開された予測モデルの性能を監視することの結果に基づいて)展開エンジン140によって収集および/または生成されるデータを使用してもよい。 The model deployment engine 140 provides a tool for deploying a prediction model (eg, a prediction model generated by the search engine 110) in the operating environment. In some embodiments, the model deployment engine also provides tools for monitoring and / or updating predictive models. System users deploy predictive models generated by the search engine 110, monitor the performance of such predictive models, and (eg, based on new data or advances in predictive modeling techniques). Deployment engine 140 may be used to update the model. In some embodiments, the search engine 110 refits or adjusts the prediction model (eg, in response to changes in the underlying data set for the prediction problem) of the search space for the prediction problem. Data collected and / or generated by the deployment engine 140 may be used to guide the search (eg, based on the results of monitoring the performance of the deployed prediction model).

予測モデル化システム100のこれらおよび他の側面が、以下でさらに詳細に説明される。 These and other aspects of the predictive modeling system 100 are described in more detail below.

モデル化技法のライブラリ
予測モデル化技法のライブラリ130は、完全予測モデル化技法を符号化する機械実行可能テンプレートを含む。いくつかの実施形態では、機械実行可能テンプレートは、1つまたはそれを上回る予測モデル化アルゴリズムと、アルゴリズムとともに使用するために好適なゼロまたはそれを上回る前処理ステップと、アルゴリズムとともに使用するために好適なゼロまたはそれを上回る後処理ステップとを含む。アルゴリズム、前処理ステップ、および/または後処理ステップは、パラメータ化されてもよい。機械実行可能テンプレートは、データセットによって表される予測問題のための潜在的予測モデル化ソリューションを生成するように、データセットに適用されてもよい。
Library of Modeling Techniques Library 130 of predictive modeling techniques includes a machine executable template that encodes a fully predictive modeling technique. In some embodiments, the machine executable template is suitable for use with one or more predictive modeling algorithms and zero or more preprocessing steps suitable for use with the algorithm. Includes zero or more post-processing steps. Algorithms, pre-processing steps, and / or post-processing steps may be parameterized. Machine executable templates may be applied to a dataset to generate a potential predictive modeling solution for the predictive problems represented by the dataset.

テンプレートは、機械実行のために、テンプレートの予測モデル化アルゴリズムとともに使用するために好適な前処理ステップ、モデル適合ステップ、および/または後処理ステップを符号化してもよい。前処理ステップの実施例は、限定ではないが、欠測値を入力すること、特徴工学(例えば、ワンホットエンコーディング、スプライン、テキストマイニング等)、特徴選択(例えば、情報を与えない特徴を棄却すること、高度相関特徴を棄却すること、元の特徴を最も主要な構成要素に置換すること等)を含む。モデル適合ステップの実施例は、限定ではないが、アルゴリズム選択、パラメータ推定、ハイパーパラメータ同調、スコア化、診断等を含む。後処理ステップの実施例は、限定ではないが、予測の較正、検閲、混合等を含む。 The template may encode suitable pre-processing steps, model fitting steps, and / or post-processing steps for use with the template's predictive modeling algorithm for machine execution. Examples of preprocessing steps include, but are not limited to, inputting missing values, feature engineering (eg, one-hot encoding, spline, text mining, etc.), feature selection (eg, rejecting features that give no information). , Rejecting highly correlated features, replacing the original features with the most important components, etc.). Examples of model fitting steps include, but are not limited to, algorithm selection, parameter estimation, hyperparameter tuning, scoring, diagnosis, and the like. Examples of post-processing steps include, but are not limited to, predictive calibration, censorship, mixing, and the like.

いくつかの実施形態では、機械実行可能テンプレートは、テンプレートによって符号化される予測モデル化技法の属性を表すメタデータを含む。メタデータは、(例えば、前処理ステップにおいて、後処理ステップにおいて、または予測モデル化アルゴリズムのステップにおいて)テンプレートが予測モデル化ソリューションの一部として行うことができる、1つまたはそれを上回るデータ処理技法を示してもよい。これらのデータ処理技法は、限定ではないが、テキストマイニング、特徴正規化、次元縮小、または他の好適なデータ処理技法を含んでもよい。代替として、または加えて、メタデータは、限定ではないが、データセットの次元、予測問題の標的の特性、および/または予測問題の特徴の特性に対する制約を含む、テンプレートによって符号化される予測モデル化技法によって課される、1つまたはそれを上回るデータ処理制約を示してもよい。 In some embodiments, the machine executable template contains metadata that represents the attributes of the predictive modeling technique encoded by the template. Metadata is one or more data processing techniques that a template can perform as part of a predictive modeling solution (eg, in a pre-processing step, in a post-processing step, or in a step of a predictive modeling algorithm). May be indicated. These data processing techniques may include, but are not limited to, text mining, feature normalization, dimension reduction, or other suitable data processing techniques. As an alternative, or in addition, the metadata is a template-encoded prediction model that includes, but is not limited to, constraints on the dimensions of the dataset, the characteristics of the target of the prediction problem, and / or the characteristics of the characteristics of the prediction problem. It may indicate one or more data processing constraints imposed by the template.

いくつかの実施形態では、テンプレートのメタデータは、対応するモデル化技法がどれだけ良好に所与のデータセットに役立つであろうかを推定することに関連する情報を含む。例えば、テンプレートのメタデータは、限定ではないが、幅広いデータセット、丈の高いデータセット、疎データセット、濃厚データセット、テキストを含む、または含まないデータセット、種々のデータタイプ(例えば、数値、順序、カテゴリ、解釈(例えば、日付、時間、テキスト)等)の変数を含むデータセット、種々の統計的性質(例えば、変数の欠測値、基数、分布等に関する統計的性質)を伴う変数を含むデータセット等を含む、特定の特性を有するデータセットに、対応するモデル化技法がどれだけ良好に機能することが予期されるかを示してもよい。別の実施例として、テンプレートのメタデータは、特定のタイプの標的変数を伴う予測問題について、対応するモデル化技法がどれだけ良好に機能することが予期されるかを示してもよい。いくつかの実施形態では、テンプレートのメタデータは、1つまたはそれを上回る性能測定基準(例えば、目的関数)に関して、対応するモデル化技法の予期される性能を示してもよい。 In some embodiments, the template metadata contains information related to estimating how well the corresponding modeling technique would be useful for a given dataset. For example, template metadata can be a wide range of data sets, tall data sets, sparse data sets, rich data sets, data sets with or without text, and various data types (eg, numbers,). Data sets containing variables of order, category, interpretation (eg, date, time, text, etc.), variables with various statistical properties (eg, statistical properties of missing values, radix, distribution, etc. of the variable). It may indicate how well the corresponding modeling technique is expected to work for datasets with specific characteristics, including datasets that include. As another example, template metadata may indicate how well the corresponding modeling technique is expected to work for prediction problems involving a particular type of target variable. In some embodiments, the template metadata may indicate the expected performance of the corresponding modeling technique with respect to one or more performance metrics (eg, objective functions).

いくつかの実施形態では、テンプレートのメタデータは、限定ではないが、処理ステップの許可されたデータタイプ、構造、および/または次元を含む、対応するモデル化技法によって実装される処理ステップの特性化を含む。 In some embodiments, the template metadata characterizes the processing steps implemented by the corresponding modeling techniques, including, but not limited to, the allowed data types, structures, and / or dimensions of the processing steps. including.

いくつかの実施形態では、テンプレートのメタデータは、テンプレートによって表される予測モデル化技法を1つまたはそれを上回る予測問題および/もしくはデータセットに適用することの(実際または予期)結果を示すデータを含む。予測モデル化技法を予測問題またはデータセットに適用することの結果は、限定ではないが、予測モデル化技法によって生成される予測モデルが予測問題またはデータセットの標的を予測する精度、予測問題またはデータセットのための(他の予測モデル化技法に対する)予測モデル化技法によって生成される予測モデルの精度のランク、予測問題またはデータセットのための予測モデルを生成するために予測モデル化技法を使用することの有用性を表すスコア(例えば、目的関数のための予測モデルによって生成される値)等を含んでもよい。 In some embodiments, the template metadata is data that indicates the (actual or anticipatory) outcome of applying the predictive modeling technique represented by the template to one or more predictive problems and / or datasets. including. The results of applying a predictive modeling technique to a predictive problem or dataset are not limited, but the accuracy, predictive problem or data that the predictive model generated by the predictive modeling technique predicts the target of the predictive problem or dataset. Use predictive modeling techniques to generate predictive model accuracy ranks, predictive problems, or datasets of predictive models generated by predictive modeling techniques (as opposed to other predictive modeling techniques) for sets. It may also include a score (eg, a value generated by a predictive model for the objective function) that represents the usefulness of the thing.

予測モデル化技法を予測問題またはデータセットに適用することの結果を示すデータは、(例えば、予測問題またはデータセットのための予測モデル化技法を使用する前の試行の結果に基づいて)探索エンジン110によって提供され、(例えば、ユーザの専門知識に基づいて)ユーザによって提供され、および/または任意の他の好適なソースから取得されてもよい。いくつかの実施形態では、探索エンジン110は、少なくとも部分的に、予測問題のインスタンスの実際の成果と予測モデル化技法を介して生成される予測モデルによって予測される成果との間の関係に基づいて、そのようなデータを更新する。 Data showing the results of applying a predictive modeling technique to a predictive problem or dataset can be found in the search engine (for example, based on the results of trials before using the predictive modeling technique for the predictive problem or dataset). It may be provided by 110, provided by the user (eg, based on the user's expertise), and / or obtained from any other suitable source. In some embodiments, the search engine 110 is based, at least in part, on the relationship between the actual outcomes of an instance of a prediction problem and the outcomes predicted by the prediction model generated through predictive modeling techniques. And update such data.

いくつかの実施形態では、テンプレートのメタデータは、どれだけ効率的にモデル化技法が分散型コンピューティングインフラストラクチャ上で実行されるであろうかを推定することに関連する、対応するモデル化技法の特性を表す。例えば、テンプレートのメタデータは、所与のサイズのデータセット上のモデル化技法、交差検証層の数およびハイパーパラメータ空間内で検索される点の数のリソース消費への影響、モデル化技法によって行われる処理ステップの固有の並列化等を訓練および/または試験するために必要とされる、処理リソースを示してもよい。 In some embodiments, the template metadata is related to estimating how efficiently the modeling technique will be performed on the distributed computing infrastructure, of the corresponding modeling technique. Represents a characteristic. For example, template metadata is rowed by modeling techniques on a dataset of a given size, the impact on resource consumption of the number of cross-validation layers and the number of points retrieved in the hyperparameter space, and modeling techniques. It may indicate the processing resources required to train and / or test the unique parallelization of the processing steps.

いくつかの実施形態では、モデル化技法のライブラリ130は、予測モデル化技法の間の類似性(または差異)を査定するためのツールを含む。そのようなツールは、(例えば、所定の規模での)スコア、分類(例えば、「高度に類似する」、「若干類似する」、「若干異種である」、「高度に異種である」)、二元判定(例えば、「類似する」または「類似しない」)等として、2つの予測モデル化技法の間の類似性を表現してもよい。そのようなツールは、モデル化技法に共通している処理ステップに基づいて、2つの予測モデル化技法を同一または類似予測問題に適用することの結果を示すデータに基づいて等、2つの予測モデル化技法の間の類似性を判定してもよい。例えば、共通する多数(または高い割合)のそれらの処理ステップを有する、および/または類似予測問題に適用されたときに類似結果を生じる、2つの予測モデル化技法を考慮すると、ツールは、モデル化技法に高い類似性スコアを割り当て、またはモデル化技法を「高度に類似する」と分類してもよい。 In some embodiments, the modeling technique library 130 includes tools for assessing similarities (or differences) between predictive modeling techniques. Such tools include scores (eg, on a given scale), classifications (eg, "highly similar", "slightly similar", "slightly heterogeneous", "highly heterogeneous"), The similarity between the two predictive modeling techniques may be expressed as a dual determination (eg, "similar" or "dissimilar"). Such tools are based on processing steps common to modeling techniques, based on data showing the results of applying two predictive modeling techniques to the same or similar predictive problems, and so on. Similarities between object-modeling techniques may be determined. Considering, for example, two predictive modeling techniques that have a large number (or a high percentage) of their processing steps in common and / or produce similar results when applied to similar prediction problems, the tool models. You may assign a high similarity score to the technique, or classify the modeling technique as "highly similar".

いくつかの実施形態では、モデル化技法は、モデル化技法群に割り当てられてもよい。モデル化技法の群分類は、(例えば、直感および経験に基づいて)ユーザによって割り当てられ、(例えば、モデル化技法に共通する処理ステップ、異なるモデル化技法を同一または類似問題に適用することの結果を示すデータ等に基づいて)機械学習分類子によって割り当てられ、または別の好適なソースから取得されてもよい。予測モデル化技法の間の類似性を査定するためのツールは、2つのモデル化技法の間の類似性を査定するように、群分類に依拠してもよい。いくつかの実施形態では、ツールは、同一群内の全てのモデル化技法を「類似する」として扱い、異なる群内のいかなるモデル化技法も「類似しない」として扱ってもよい。いくつかの実施形態では、モデル化技法の群分類は、モデル化技法の間の類似性のツールの査定における1つの要因にすぎなくてもよい。 In some embodiments, the modeling technique may be assigned to a group of modeling techniques. Group classification of modeling techniques is assigned by the user (eg, based on intuition and experience) and is the result of applying common processing steps to modeling techniques, different modeling techniques to the same or similar problem It may be assigned by a machine learning classifier (based on data indicating, etc.) or obtained from another suitable source. Tools for assessing similarities between predictive modeling techniques may rely on group classification to assess similarities between two modeling techniques. In some embodiments, the tool may treat all modeling techniques within the same group as "similar" and any modeling technique within different groups as "dissimilar". In some embodiments, the grouping of modeling techniques may be only one factor in assessing the tools of similarity between modeling techniques.

いくつかの実施形態では、予測モデル化システム100は、予測問題のライブラリを含む(図1に示されていない)。予測問題のライブラリは、予測問題の特性を示すデータを含んでもよい。いくつかの実施形態では、予測問題の特性を示すデータは、予測問題を表すデータセットの特性を示すデータを含む。データセットの特性は、限定ではないが、データセットの幅、高さ、疎性、または密度、データセットの中の標的および/または特徴の数、データセットの変数のデータタイプ(例えば、数値、順序、カテゴリ、または解釈(例えば、日付、時間、テキスト等))、データセットの数値変数の範囲、データセットの順序およびカテゴリ変数の部類の数等を含んでもよい。 In some embodiments, the predictive modeling system 100 includes a library of predictive problems (not shown in FIG. 1). The library of prediction problems may contain data showing the characteristics of the prediction problem. In some embodiments, the data demonstrating the characteristics of the prediction problem includes data demonstrating the characteristics of the dataset representing the prediction problem. The characteristics of the dataset are, but not limited to, the width, height, sparseness, or density of the dataset, the number of targets and / or features in the dataset, and the data type of the dataset's variables (eg, numbers,). It may include the order, category, or interpretation (eg, date, time, text, etc.), the range of numeric variables in the dataset, the order of the dataset, the number of categories of categorical variables, and so on.

いくつかの実施形態では、データセットの特性は、限定ではないが、全観察の数、観察にわたる各変数の一意の値の数、観察にわたる各変数の欠測値の数、異常値および正常値の存在ならびに範囲、各変数の値または部類メンバーシップの分布の性質、変数の基数等を含む、データセットの変数の統計的性質を含む。いくつかの実施形態では、データセットの特性は、限定ではないが、変数のグループの同時分布、1つまたはそれを上回る標的にとっての1つまたはそれを上回る特徴の可変重要性(例えば、特徴および標的変数の間の相関の程度)、2つまたはそれを上回る特徴の間の統計的関係(例えば、2つの特徴の間の多重共線性の程度)等を含む、データセットの変数の間の関係(例えば、統計的関係)を含む。 In some embodiments, the characteristics of the dataset are, but are not limited to, the number of total observations, the number of unique values for each variable across observations, the number of missing values for each variable across observations, outliers and normal values. Includes the statistical properties of variables in a dataset, including the existence and scope of, the nature of the distribution of values or category memberships of each variable, the radix of the variables, and so on. In some embodiments, the characteristics of the dataset are, but not limited to, the simultaneous distribution of groups of variables, the variable importance of one or more features to one or more targets (eg, features and). Relationships between variables in a dataset, including the degree of correlation between target variables), statistical relationships between two or more features (eg, the degree of multicollinearity between two features), and the like. Includes (eg, statistical relationships).

いくつかの実施形態では、予測問題の特性を示すデータは、予測問題の主題を示すデータ(例えば、財政、保険、防衛、電子商取引、小売、インターネットベースの広告、インターネットベースの推奨エンジン等)、変数の起源(例えば、各変数が、自動計装から直接的に、自動計装の人間の記録から、人間の測定から、書面による人間の応答から、口頭による人間の応答から等、獲得されたかどうか)、予測問題のための公知の予測モデル化ソリューションの存在および性能等を含む。 In some embodiments, the data demonstrating the characteristics of the forecasting problem is data demonstrating the subject of the forecasting problem (eg, finance, insurance, defense, e-commerce, retail, internet-based advertising, internet-based recommendation engine, etc.), Whether the origin of the variables (eg, each variable was obtained directly from automatic instrumentation, from human records of automatic instrumentation, from human measurements, from written human responses, from verbal human responses, etc.) Includes the existence and performance of known predictive modeling solutions for predictive problems, etc.

いくつかの実施形態では、予測モデル化システム100は、時系列予測問題(例えば、1次元または多次元時系列予測問題)をサポートしてもよい。時系列予測問題に関して、目的は、概して、標的自体を含む、全ての特徴の事前観察の関数として、標的の将来の値を予測することである。予測問題の特性を示すデータは、予測問題が時系列予測問題であるかどうかを示すことによって、および時系列予測問題に対応するデータセット内の時間測定変数を識別することによって、時系列予測問題に適応してもよい。 In some embodiments, the prediction modeling system 100 may support time series prediction problems (eg, one-dimensional or multidimensional time series prediction problems). For time series prediction problems, the purpose is generally to predict future values of the target as a function of pre-observation of all features, including the target itself. The data that characterizes the prediction problem is the time series prediction problem by indicating whether the prediction problem is a time series prediction problem and by identifying the time measurement variables in the dataset corresponding to the time series prediction problem. May be adapted to.

いくつかの実施形態では、予測問題のライブラリは、予測問題の間の類似性(または差異)を査定するためのツールを含む。そのようなツールは、(例えば、所定の規模での)スコア、分類(例えば、「高度に類似する」、「若干類似する」、「若干異種である」、「高度に異種である」)、二元判定(例えば、「類似する」または「類似しない」)等として、2つの予測問題の間の類似性を表現してもよい。そのようなツールは、予測問題の特性を示すデータに基づいて、同一または類似予測モデル化技法を予測問題に適用することの結果を示すデータに基づいて等、2つの予測問題の間の類似性を判定してもよい。例えば、共通する多数(または高い割合)の特性を有する、および/または同一もしくは類似予測モデル化技法の影響を受けやすい、データセットによって表される2つの予測問題を考慮すると、ツールは、予測問題に高い類似性スコアを割り当て、または予測問題を「高度に類似する」と分類してもよい。 In some embodiments, the library of predictive questions includes tools for assessing similarities (or differences) between predictive questions. Such tools include scores (eg, on a given scale), classifications (eg, "highly similar", "slightly similar", "slightly heterogeneous", "highly heterogeneous"), The similarity between the two prediction problems may be expressed as a dual determination (eg, "similar" or "dissimilar"). Such tools have similarities between two predictive problems, such as based on data demonstrating the characteristics of a predictive problem and based on data showing the results of applying the same or similar predictive modeling technique to the predictive problem. May be determined. For example, considering two predictive problems represented by a dataset that have a large number (or high percentage) of characteristics in common and / or are susceptible to the same or similar predictive modeling techniques, the tool is a predictive problem. May be assigned a high similarity score, or the prediction problem may be classified as "highly similar".

図2は、いくつかの実施形態による、予測モデル化技法を符号化する機械実行可能テンプレートを構築するため、およびそのようなテンプレートを予測モデル化方法に組み込むために好適なモデル化ツール200のブロック図を図示する。ユーザインターフェース120は、モデル化ツール200へのインターフェースを提供してもよい。 FIG. 2 is a block of modeling tools 200 suitable for constructing machine executable templates that encode predictive modeling techniques, and for incorporating such templates into predictive modeling methods, according to some embodiments. The figure is illustrated. The user interface 120 may provide an interface to the modeling tool 200.

図2の実施例では、モデル化方法ビルダ210は、モデル化技法のライブラリ130の上にモデル化方法のライブラリ212を構築する。モデル化技法ビルダ220は、モデル化タスクのライブラリ232の上にモデル化技法のライブラリ130を構築する。モデル化方法は、どのようなモデル化技法がどの状況で功を奏するかについての1人またはそれを上回る分析者の直感および経験に対応してもよく、ならびに/もしくは予測問題のためのモデル化検索空間の探索を誘導するように、前の予測問題へのモデル化技法の適用の結果を活用してもよい。モデル化技法は、具体的モデル化アルゴリズムを適用するための段階的なレシピに対応してもよい。モデル化タスクは、モデル化技法内の処理ステップに対応してもよい。 In the embodiment of FIG. 2, the modeling method builder 210 builds the modeling method library 212 on top of the modeling technique library 130. The modeling technique builder 220 builds the modeling technique library 130 on top of the modeling task library 232. The modeling method may correspond to one or more analysts' intuitions and experiences about what modeling techniques work in what situations, and / or modeling for predictive problems. The results of applying modeling techniques to previous prediction problems may be leveraged to guide the search of the search space. The modeling technique may correspond to a step-by-step recipe for applying a concrete modeling algorithm. The modeling task may correspond to a processing step within the modeling technique.

いくつかの実施形態では、モデル化技法は、タスクの階層を含んでもよい。例えば、最上位「テキストマイニング」タスクは、(a)ドキュメント項行列を作成し、(b)項をランク付けし、重要ではない項を棄却するためのサブタスクを含んでもよい。順に、「項ランキングおよび棄却」サブタスクは、(b.1)ランキングモデルを構築し、(b.2)ドキュメント項行列から列を棄却するために項ランクを使用するためのサブタスクを含んでもよい。そのような階層は、恣意的な深度を有してもよい。 In some embodiments, the modeling technique may include a hierarchy of tasks. For example, the top-level "text mining" task may include a subtask for (a) creating a document term matrix, (b) ranking terms, and rejecting non-essential terms. In turn, the "term ranking and rejection" subtask may include a subtask for (b.1) building a ranking model and (b.2) using term ranks to reject columns from the document term matrix. Such a hierarchy may have an arbitrary depth.

図2の実施例では、モデル化ツール200は、モデル化タスクビルダ230と、モデル化技法ビルダ220と、モデル化方法ビルダ210とを含む。各ビルダは、機械実行可能形式でモデル化要素のうちの1つを符号化するためのツールまたはツールのセットを含んでもよい。各ビルダは、ユーザが既存のモデル化要素を修正する、または新しいモデル化要素を作成することを可能にしてもよい。図2に図示されるモデル化層を横断してモデル化要素の完全なライブラリを構築するために、開発者は、トップダウン、ボトムアップ、インサイドアウト、アウトサイドイン、または複合方略を採用してもよい。しかしながら、論理依存性の観点から、リーフレベルタスクが最小モデル化要素であるため、図2は、機械実行可能テンプレートを構築するプロセスにおける第1のステップとしてタスク作成を描写する。 In the embodiment of FIG. 2, the modeling tool 200 includes a modeling task builder 230, a modeling technique builder 220, and a modeling method builder 210. Each builder may include a tool or set of tools for encoding one of the modeling elements in a machine executable format. Each builder may allow the user to modify an existing modeling element or create a new modeling element. To build a complete library of modeling elements across the modeling layer illustrated in Figure 2, developers employ top-down, bottom-up, inside-out, outside-in, or compound strategies. May be good. However, since leaf-level tasks are the smallest modeling element in terms of logical dependencies, FIG. 2 depicts task creation as the first step in the process of building a machine executable template.

各ビルダのユーザインターフェースは、限定ではないが、標準プログラミング言語における特殊ルーチンの集合、そのビルダの要素を符号化する目的で特異的に設計される形式文法、所望の実行フローを抽象的に規定するためのリッチユーザインターフェース等を使用して、実装されてもよい。しかしながら、各層において許可される動作の論理構造は、いかなる特定のインターフェースからも独立している。 The user interface of each builder abstractly defines, but is not limited to, a set of special routines in a standard programming language, a formal grammar specifically designed for the purpose of encoding the elements of that builder, and the desired execution flow. It may be implemented using a rich user interface or the like. However, the logical structure of the operation allowed at each layer is independent of any particular interface.

階層内のリーフレベルにおいてモデル化タスクを作成するとき、モデル化ツール200は、開発者が他のソースからソフトウェア構成要素を組み込むことを可能にし得る。本能力は、統計的学習に関係付けられるソフトウェアの設置基盤、およびそのようなソフトウェアを開発する方法の蓄積した知識を活用する。本設置基盤は、科学プログラミング言語(例えば、Fortran)、汎用プログラミング言語(例えば、C)で書かれた科学ルーチン、汎用プログラミング言語への科学計算拡張(例えば、Python用のscikit−learn)、商業統計環境(例えば、SAS/STAT)、およびオープンソース統計環境(例えば、R)を網羅する。そのようなソフトウェア構成要素の能力を組み込むために使用されるとき、モデル化タスクビルダ230は、ソフトウェア構成要素の入力ならびに出力の仕様、および/またはどのようなタイプの動作をソフトウェア構成要素が行うことができるかという特性化を必要とし得る。いくつかの実施形態では、モデル化タスクビルダ230は、ソフトウェア構成要素のソースコードシグネチャを点検すること、レポジトリからソフトウェア構成要素のインターフェースの定義を読み出すこと、一連の要求を用いてソフトウェア構成要素を精査すること、またはある他の形態の自動評価を行うことによって、本メタデータを生成する。いくつかの実施形態では、開発者は、本メタデータの一部または全てを手動で供給する。 When creating modeling tasks at the leaf level in the hierarchy, the modeling tool 200 may allow developers to incorporate software components from other sources. This ability utilizes the accumulated knowledge of the software installation infrastructure associated with statistical learning and how to develop such software. This installation platform includes scientific programming languages (eg Fortran), scientific routines written in general-purpose programming languages (eg C), scientific computational extensions to general-purpose programming languages (eg scikit-learn for Python), and commercial statistics. It covers environments (eg SAS / STAT) and open source statistical environments (eg R). When used to incorporate the capabilities of such a software component, the Modeling Task Builder 230 allows the software component to perform input and output specifications and / or any type of operation of the software component. It may be necessary to characterize whether it can be done. In some embodiments, the modeling task builder 230 checks the source code signature of the software component, reads the interface definition of the software component from the repository, and scrutinizes the software component with a set of requirements. This metadata is generated by doing this, or by performing some other form of automatic evaluation. In some embodiments, the developer manually supplies some or all of this metadata.

いくつかの実施形態では、モデル化タスクビルダ230は、それが組み込まれたソフトウェアを実行することを可能にする「ラッパ」を作成するために、本メタデータを使用する。モデル化タスクビルダ230は、限定ではないが、構成要素のソースコードを内部実行ファイルにコンパイルすること、構成要素のオブジェクトコードを内部実行ファイルの中へリンクすること、構成要素の独立型実行ファイルによって予期されるコンピュータ環境のエミュレータを通して構成要素にアクセスすること、ローカルマシン上でソフトウェアサービスの一部として作動する構成要素の機能にアクセスすること、遠隔マシン上でソフトウェアサービスの一部として作動する構成要素の機能にアクセスすること、ローカルまたは遠隔マシン上で中間ソフトウェアサービスを通して作動する構成要素の機能にアクセスすること等を含む、ソフトウェア構成要素を統合するための任意の機構を利用して、そのようなラッパを実装してもよい。どの組み込み機構をモデル化タスクビルダ230が使用しても、ラッパが生成された後、モデル化ツール200は、任意の他のルーチンで行うであろうように、構成要素へのソフトウェア呼び出しを行ってもよい。 In some embodiments, the Modeling Task Builder 230 uses this metadata to create a "trumpet" that allows it to run the embedded software. Modeling Task Builder 230 expects, but is not limited to, compiling the component source code into an internal executable, linking the component object code into the internal executable, and the component's stand-alone executable. Accessing components through an emulator in a computer environment, accessing the functionality of components that operate as part of a software service on a local machine, and operating components that operate as part of a software service on a remote machine. Such a wrapper utilizes any mechanism for integrating software components, including accessing functions, accessing the functions of components operating through intermediate software services on a local or remote machine, and so on. May be implemented. No matter which built-in mechanism is used by the modeling task builder 230, after the wrapper is generated, the modeling tool 200 makes software calls to the components as it would in any other routine. Good.

いくつかの実施形態では、開発者は、リーフレベルモデル化タスクをより高いレベルのタスクに再帰的に組み立てるために、モデル化タスクビルダ230を使用してもよい。以前に示されたように、タスク階層の配列を規定するためにユーザインターフェースを実装する多くの異なる方法がある。しかし、論理的観点から、リーフレベルにないタスクは、サブタスクの有向グラフを含んでもよい。本階層の最上および中間レベルのそれぞれにおいて、入力が階層内の親タスク(または階層の最上レベルにおける親モデル化技法)からである、1つの開始サブタスクがあってもよい。また、出力が階層内の親タスク(または階層の最上レベルにおける親モデル化技法)に向かう、1つの終了サブタスクがあってもよい。所与のレベルにおける1つおきのサブタスクは、1つまたはそれを上回る前のサブタスクから入力を受信してもよく、出力を1つまたはそれを上回る後続のサブタスクに送信する。 In some embodiments, the developer may use Modeling Task Builder 230 to recursively assemble leaf-level modeling tasks into higher-level tasks. As previously shown, there are many different ways to implement a user interface to specify an array of task hierarchies. However, from a logical point of view, tasks that are not at the leaf level may include directed graphs of subtasks. At each of the top and middle levels of this hierarchy, there may be one starting subtask whose input is from the parent task in the hierarchy (or the parent modeling technique at the top level of the hierarchy). There may also be one ending subtask whose output goes to the parent task in the hierarchy (or the parent modeling technique at the top level of the hierarchy). Every other subtask at a given level may receive input from one or more previous subtasks and send output to one or more subsequent subtasks.

リーフレベルタスクに恣意的なコードを組み込む能力と組み合わせて、有向グラフに従ってデータを伝搬することは、中間レベルタスク内の恣意的な制御フローの実装を促進する。いくつかの実施形態では、モデル化ツール200は、付加的内蔵動作を提供してもよい。例えば、外部プログラミング言語でコード化されるリーフレベルタスクとして、任意の特定の条件付き論理を実装することが率直であろうが、モデル化タスクビルダ230は、一般的様式で条件付き評価を行う内蔵ノードまたはアークを提供し、これらの評価の結果に基づいて、ノードから異なる後続のノードにデータの一部または全てを指向してもよい。類似代替案が、後続のノードへの入力としてそれを伝搬する前に、規則または式に従って1つのノードからの出力をフィルタ処理する、後続のノードへの入力としてそれを伝搬する前に、1つのノードからの出力を変換する、各パーティションをそれぞれの後続のノードに伝搬する前に、規則または式に従って1つのノードからの出力を分割する、入力としてそれを受け入れる前に、規則または式に従って複数の前のノードの出力を組み合わせる、1つまたはそれを上回るループ変数を使用して、ノードの動作のサブグラフを反復して適用するため等に存在する。 Propagating data according to a directed graph, combined with the ability to incorporate arbitrary code into leaf-level tasks, facilitates the implementation of arbitrary control flows within intermediate-level tasks. In some embodiments, the modeling tool 200 may provide additional built-in behavior. For example, while it would be straightforward to implement any particular conditional logic as a leaf-level task coded in an external programming language, Modeling Task Builder 230 is a built-in node that performs conditional evaluation in a general way. Alternatively, an arc may be provided and some or all of the data may be directed from one node to a different subsequent node based on the results of these evaluations. One before a similar alternative propagates it as input to a subsequent node, filtering the output from one node according to a rule or expression before propagating it as input to a subsequent node. Convert output from a node, split output from one node according to a rule or expression before propagating each partition to its subsequent node, multiple according to a rule or expression before accepting it as input It exists to iteratively apply subgraphs of node behavior, etc., using one or more loop variables that combine the outputs of the previous node.

いくつかの実施形態では、開発者は、モデル化タスクライブラリ232からのタスクをモデル化技法に組み立てるために、モデル化技法ビルダ220を使用してもよい。モデル化タスクライブラリ232の中のモデル化タスクのうちの少なくともいくつかは、1つまたはそれを上回るモデル化技法の前処理ステップ、モデル適合ステップ、および/もしくは後処理ステップに対応してもよい。タスクおよび技法の開発は、タスクライブラリ232がデータ投入された後に技法が組み立てられる、線形パターン、またはタスクおよび技法が同時に組み立てられる、より動的な円形パターンを辿ってもよい。開発者は、既存のタスクを新しい技法に組み込み、本技法が新しいタスクを必要とすることを認識し、新しい技法が完成するまで反復して精緻化する気にさせられ得る。代替として、開発者は、おそらく学術出版物からの新しい技法の概念から開始し、新しいタスクからそれを構築し始めるが、好適な機能性を提供するときに、モデル化タスクライブラリ232から既存のタスクを引き出してもよい。全ての場合において、参照データセットに、または現場試験においてモデル化技法を適用することからの結果は、開発者または分析者が技法の性能を評価することを可能にするであろう。本評価は、順に、リーフレベルモデル化タスクからモデル化技法への階層内のいずれかの場所の変化をもたらし得る。共通モデル化タスクおよびモデル化技法ライブラリ(232、130)、ならびに高生産性ビルダインターフェース(210、220、および230)を提供することによって、モデル化ツール200は、開発者が急速かつ正確に変更を行うとともに、ライブラリ(232、130)へのアクセスを用いて、そのような増進を他の開発者およびユーザに伝搬することを可能にし得る。 In some embodiments, the developer may use the modeling technique builder 220 to assemble the tasks from the modeling task library 232 into the modeling technique. At least some of the modeling tasks in the modeling task library 232 may correspond to one or more pre-processing steps, model fitting steps, and / or post-processing steps of the modeling technique. The development of tasks and techniques may follow a linear pattern in which the techniques are assembled after the task library 232 is populated, or a more dynamic circular pattern in which the tasks and techniques are assembled simultaneously. Developers may be tempted to incorporate existing tasks into new techniques, recognize that the technique requires new tasks, and iteratively refine until the new technique is complete. As an alternative, developers will probably start with the concept of new techniques from scholarly publications and start building it with new tasks, but when providing suitable functionality, existing tasks from the modeling task library 232. May be pulled out. In all cases, the results from applying the modeling technique to the reference dataset or in field testing will allow the developer or analyst to evaluate the performance of the technique. This evaluation, in turn, can result in changes anywhere in the hierarchy from leaf-level modeling tasks to modeling techniques. By providing a common modeling task and modeling technique library (232, 130), as well as a highly productive builder interface (210, 220, and 230), Modeling Tool 200 allows developers to make rapid and accurate changes. At the same time, access to libraries (232, 130) may be used to allow such enhancements to be propagated to other developers and users.

モデル化技法は、現場での最良の実践に基づいて予期される全てのステップを用いて、開発者および分析者が予測モデル化プロシージャ全体を概念化するための焦点を提供してもよい。いくつかの実施形態では、モデル化技法は、統計的学習規律から最良の実践をカプセル化する。また、モデル化ツール200は、例えば、開発者が考慮するためのステップのチェックリストを提供し、例えば、欠けているタスクを検出し、付加的ステップを検出し、および/またはステップの間の異常なフローを検出するように、新しい技法のためのタスクグラフを既存の技法のものと比較することによって、高品質技法の開発における誘導を提供してもよい。 The modeling technique may provide a focus for developers and analysts to conceptualize the entire predictive modeling procedure, using all the steps expected based on the best practices in the field. In some embodiments, the modeling technique encapsulates the best practice from statistical learning discipline. Modeling Tool 200 also provides, for example, a checklist of steps for developers to consider, such as detecting missing tasks, detecting additional steps, and / or anomalies between steps. The task graph for the new technique may be compared with that of the existing technique to provide guidance in the development of high quality techniques so as to detect the flow.

いくつかの実施形態では、探索エンジン110が、モデル化技法ライブラリ130の中の技法を使用して、データセット240のための予測モデルを構築するために使用される。探索エンジン110は、モデル化方法ライブラリ212から選択されるモデル化方法によって符号化される優先順位決定方式に基づいて、モデル化技法ライブラリ130の中のモデル化技法の評価を優先してもよい。モデル化空間の探索のための好適な優先順位決定方式の実施例は、次の節で説明される。図2の実施例では、モデル化空間の探索の結果が、モデル化タスクおよび技法と関連づけられるメタデータを更新するために使用されてもよい。 In some embodiments, the search engine 110 is used to build a predictive model for the dataset 240 using the techniques in the modeling technique library 130. The search engine 110 may prioritize the evaluation of the modeling technique in the modeling technique library 130 based on the prioritization scheme encoded by the modeling method selected from the modeling method library 212. Examples of preferred prioritization schemes for exploring the modeled space are described in the next section. In the embodiment of FIG. 2, the results of the modeled space search may be used to update the metadata associated with the modeling tasks and techniques.

いくつかの実施形態では、一意の識別子(ID)が、モデル化要素(例えば、技法、タスク、およびサブタスク)に割り当てられてもよい。モデル化要素のIDは、モデル化要素のテンプレートと関連付けられるメタデータとして記憶されてもよい。いくつかの実施形態では、これらのモデル化要素IDは、1つまたはそれを上回るモデル化タスクもしくはサブタスクを共有するモデル化技法を効率的に実行するために使用されてもよい。モデル化技法を効率的に実行する方法は、以下でさらに詳細に説明される。 In some embodiments, a unique identifier (ID) may be assigned to the modeling element (eg, technique, task, and subtask). The ID of the modeling element may be stored as metadata associated with the template of the modeling element. In some embodiments, these modeling element IDs may be used to efficiently perform modeling techniques that share one or more modeling tasks or subtasks. How to perform modeling techniques efficiently is described in more detail below.

図2の実施例では、探索エンジン110によって生成されるモデル化結果は、モデル化タスクビルダ230、モデル化技法ビルダ220、およびモデル化方法ビルダ210にフィードバックされる。モデル化ビルダは、モデル化結果に基づいて、自動的に(例えば、統計的学習アルゴリズムを使用して)、または手動で(例えば、ユーザによって)適合されてもよい。例えば、モデル化方法ビルダ210は、モデル化結果において観察されるパターンに基づいて、および/またはデータ分析者の経験に基づいて、適合されてもよい。同様に、具体的モデル化技法を実行することからの結果は、これらの技法またはそれらの内側のタスクのデフォルト同調パラメータ値の自動もしくは手動調節を知らせてもよい。いくつかの実施形態では、モデル化ビルダの適合は、半自動であり得る。例えば、予測モデル化システム100は、方法、技法、および/またはタスクへの潜在的改良にフラグを付けてもよく、ユーザは、これらの潜在的改良を実装するかどうかを決定してもよい。 In the embodiment of FIG. 2, the modeling result generated by the search engine 110 is fed back to the modeling task builder 230, the modeling technique builder 220, and the modeling method builder 210. The modeling builder may be adapted automatically (eg, using a statistical learning algorithm) or manually (eg, by the user) based on the modeling results. For example, the modeling method builder 210 may be adapted based on the patterns observed in the modeling results and / or based on the experience of the data analyst. Similarly, the results of performing concrete modeling techniques may signal automatic or manual adjustment of the default tuning parameter values for these techniques or tasks within them. In some embodiments, the fitting of the modeled builder can be semi-automatic. For example, the predictive modeling system 100 may flag potential improvements to methods, techniques, and / or tasks, and the user may decide whether to implement these potential improvements.

モデル化空間探索エンジン
図3は、いくつかの実施形態による、予測問題のための予測モデルを選択するための方法300のフローチャートである。いくつかの実施形態では、方法300は、モデル化方法ライブラリ212の中のモデル化方法に対応してもよい。
Modeling Spatial Search Engine FIG. 3 is a flowchart of Method 300 for selecting a prediction model for a prediction problem, according to some embodiments. In some embodiments, method 300 may correspond to the modeling method in the modeling method library 212.

方法300のステップ310では、予測問題のための複数の予測モデル化プロシージャ(例えば、予測モデル化技法)の好適性が判定される。予測問題のための予測モデル化プロシージャの好適性は、予測問題の特性に基づいて、モデル化プロシージャの属性に基づいて、および/または他の好適な情報に基づいて、判定されてもよい。 In step 310 of method 300, the suitability of a plurality of predictive modeling procedures (eg, predictive modeling techniques) for a predictive problem is determined. The suitability of a predictive modeling procedure for a predictive problem may be determined based on the characteristics of the predictive problem, based on the attributes of the modeled procedure, and / or based on other suitable information.

予測問題のための予測モデル化プロシージャの「好適性」は、予測モデル化プロシージャを使用して生成される予測モデルの予測問題についての予期される性能を示す、データを含んでもよい。いくつかの実施形態では、予測問題についての予測モデルの予期される性能は、1つまたはそれを上回る予期されるスコア(例えば、1つまたはそれを上回る目的関数の予期される値)、および/もしくは(例えば、他の予測モデル化技法を使用して生成される他の予測モデルに対する)1つまたはそれを上回る予期されるランクを含む。 The "suitability" of a predictive modeling procedure for a predictive problem may include data indicating the expected performance of the predictive model generated using the predictive modeling procedure for the predictive problem. In some embodiments, the expected performance of the prediction model for the prediction problem is one or more expected scores (eg, the expected value of one or more objective functions), and /. Alternatively, it may include one or more expected ranks (eg, relative to other predictive models generated using other predictive modeling techniques).

代替として、または加えて、予測問題のための予測モデル化プロシージャの「好適性」は、モデル化プロシージャが、予測問題のために十分な性能を提供する予測モデルを生成することが予期される、程度を示すデータを含んでもよい。いくつかの実施形態では、予測モデル化プロシージャの「好適性」データは、モデル化プロシージャの好適性の分類を含む。分類方式は、2つの部類(例えば、「好適」もしくは「好適ではない」)、または2つより多くの部類(例えば、「高度に好適」、「中程度に好適」、「中程度に不適切」、「高度に不適切」)を有してもよい。 As an alternative, or in addition, the "suitability" of a predictive modeling procedure for a predictive problem is that the modeling procedure is expected to generate a predictive model that provides sufficient performance for the predictive problem. It may include data indicating the degree. In some embodiments, the "suitability" data for a predictive modeling procedure comprises a classification of suitability for the modeling procedure. Classification schemes are two categories (eg, "suitable" or "not suitable"), or two or more categories (eg, "highly suitable", "moderately suitable", "moderately inappropriate". , "Highly inappropriate").

いくつかの実施形態では、探索エンジン110は、少なくとも部分的に、本明細書に説明される特性を含む(但し、それに限定されない)、予測問題の1つまたはそれを上回る特性に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定する。一実施例のみとして、予測問題のための予測モデル化プロシージャの好適性は、予測問題に対応するデータセットの特性、予測問題に対応するデータセットの中の変数の特性、データセットの中の変数の間の関係、および/または予測問題の主題に基づいて判定されてもよい。探索エンジン110は、予測問題、データセット、データセット変数等の特性を判定するように、予測問題と関連付けられるデータセットを分析するためのツール(例えば、統計分析ツール)を含んでもよい。 In some embodiments, the search engine 110 predicts, at least in part, based on one or more of the properties of the prediction problem, including (but not limited to) the properties described herein. Determine the suitability of the predictive modeling procedure for the problem. As an example only, the suitability of a predictive modeling procedure for a predictive problem is the characteristics of the dataset corresponding to the predictive problem, the characteristics of the variables in the dataset corresponding to the predictive problem, the variables in the dataset. It may be determined based on the relationship between and / or the subject of the prediction problem. The search engine 110 may include a tool (eg, a statistical analysis tool) for analyzing the data set associated with the prediction problem so as to determine the characteristics of the prediction problem, the dataset, the dataset variables, and the like.

いくつかの実施形態では、探索エンジン110は、少なくとも部分的に、本明細書に説明される予測モデル化プロシージャの属性を含む(但し、それに限定されない)、予測モデル化プロシージャの1つまたはそれを上回る属性に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定する。一実施例のみとして、予測問題のための予測モデル化プロシージャの好適性は、予測モデル化プロシージャによって行われるデータ処理技法および/または予測モデル化プロシージャによって課されるデータ処理制約に基づいて、判定されてもよい。 In some embodiments, the search engine 110 includes, but is not limited to, the attributes of the predictive modeling procedure described herein, at least in part, in one or more of the predictive modeling procedures. Determine the suitability of a predictive modeling procedure for a predictive problem based on the attributes that surpass. In only one embodiment, the suitability of a predictive modeling procedure for a predictive problem is determined based on the data processing techniques performed by the predictive modeling procedure and / or the data processing constraints imposed by the predictive modeling procedure. You may.

いくつかの実施形態では、予測問題のための予測モデル化プロシージャの好適性を判定するステップは、予測問題の考慮から少なくとも1つの予測モデル化プロシージャを排除するステップを含む。考慮から予測モデル化プロシージャを排除する決定は、本明細書では、排除されたモデル化プロシージャを「取り除くこと」および/または「検索空間を取り除くこと」と称され得る。いくつかの実施形態では、ユーザは、前もって取り除かれたモデル化プロシージャが、検索空間の探索中に、さらなる実行および/または評価のために適格なままであるように、検索エンジンのモデル化プロシージャを取り除く決定を無効にすることができる。 In some embodiments, the step of determining the suitability of a predictive modeling procedure for a predictive problem includes removing at least one predictive modeling procedure from consideration of the predictive problem. The decision to exclude a predictive modeling procedure from consideration may be referred to herein as "removing" and / or "removing the search space" of the excluded modeling procedure. In some embodiments, the user configures a search engine modeling procedure so that the pre-removed modeling procedure remains eligible for further execution and / or evaluation during the search space exploration. The decision to remove can be overridden.

予測モデル化プロシージャは、1つまたはそれを上回る演繹的規則を予測モデル化プロシージャの属性および予測問題の特性に適用することの結果に基づいて、考慮から排除されてもよい。演繹的規則は、限定ではないが、以下、すなわち、(1)予測問題がカテゴリ標的変数を含む場合、実行のための分類技法のみを選択する、(2)データセットの数値特徴が非常に様々な規模範囲に及ぶ場合、正規化を提供する技法を選択または優先する、(3)データセットがテキスト特徴を有する場合、テキストマイニングを提供する技法を選択または優先する、(4)データセットが観察よりも多くの特徴を有する場合、観察の数が特徴の数を上回るまたはそれに等しくなることを要求する全ての技法を排除する、(5)データセットの幅が閾値幅を超える場合、次元縮小を提供する技法を選択または優先する、(6)データセットが大きく疎である(例えば、データセットのサイズが閾値サイズを超え、データセットの疎性が閾値疎性を超える)場合、疎データ構造上で効率的に実行される技法を選択または優先する、および/もしくは規則がif−then文の形態で表現され得る、モデル化技法を選択、優先、または排除するための任意の規則を含んでもよい。いくつかの実施形態では、演繹的規則は、いくつかの規則の実行が順に結論を生じるように連鎖している。いくつかの実施形態では、演繹的規則は、履歴的性能に基づいて、更新、精緻化、または改良されてもよい。 The predictive modeling procedure may be excluded from consideration based on the result of applying one or more deductive rules to the attributes of the predictive modeling procedure and the characteristics of the predictive problem. The descriptive rules are not limited, but are as follows: (1) if the prediction problem contains categorical target variables, only the classification technique for execution is selected, (2) the numerical characteristics of the dataset are very diverse. Select or prioritize techniques that provide normalization if the scale range is large, (3) Select or prioritize techniques that provide text mining if the dataset has text features, (4) Observe the dataset Exclude all techniques that require the number of observations to exceed or equal to the number of features if they have more features, (5) Dimension reduction if the width of the dataset exceeds the threshold width. Select or prioritize the techniques provided: (6) If the dataset is large and sparse (eg, the size of the dataset exceeds the threshold size and the sparseness of the dataset exceeds the threshold sparseness), then the sparse data structure May include any rules for selecting, prioritizing, or excluding modeling techniques that select or prioritize techniques that are efficiently performed in, and / or rules can be expressed in the form of if-then statements. .. In some embodiments, the deductive rules are chained so that the execution of some rules in turn yields conclusions. In some embodiments, the deductive rules may be updated, refined, or refined based on historical performance.

いくつかの実施形態では、探索エンジン110は、類似予測問題についての類似予測モデル化プロシージャの性能(予期または実際)に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定する。(特別な場合として、探索エンジン110は、類似予測問題についての同一の予測モデル化プロシージャの性能(予期または実際)に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定してもよい。) In some embodiments, the search engine 110 determines the suitability of the predictive modeling procedure for the predictive problem based on the performance (expected or actual) of the similar predictive modeling procedure for the similar predictive problem. (As a special case, the search engine 110 may determine the suitability of a predictive modeling procedure for a predictive problem based on the performance (expected or actual) of the same predictive modeling procedure for a similar predictive problem. Good.)

上記で説明されるように、モデル化技法130のライブラリは、予測モデル化技法の間の類似性を査定するためのツールを含んでもよく、予測問題のライブラリは、予測問題の間の類似性を査定するためのツールを含んでもよい。探索エンジン110は、問題になっている予測モデル化プロシージャおよび予測問題に類似する予測モデル化プロシージャおよび予測問題を識別するために、これらのツールを使用してもよい。予測問題のための予測モデル化プロシージャの好適性を判定する目的で、探索エンジン110は、問題になっているモデル化プロシージャに最も類似するM個のモデル化プロシージャを選択する、問題になっているモデル化プロシージャに関する閾値類似性値を超える全てのモデル化プロシージャを選択する等してもよい。同様に、予測問題のための予測モデル化プロシージャの好適性を判定する目的で、探索エンジン110は、問題になっている予測問題に最も類似するN個の予測問題を選択する、問題になっている予測問題に関する閾値類似性値を超える全ての予測問題を選択する等してもよい。 As described above, the library of modeling techniques 130 may include tools for assessing similarities between predictive modeling techniques, and the library of predictive problems may include similarities between predictive problems. It may include tools for assessment. The search engine 110 may use these tools to identify predictive modeling procedures and predictive problems that are similar to the predictive modeling procedures and predictive problems in question. For the purpose of determining the suitability of the predictive modeling procedure for the predictive problem, the search engine 110 is in question, selecting the M modeling procedures that most closely resemble the modeling procedure in question. All modeling procedures that exceed the threshold similarity value for the modeling procedure may be selected and the like. Similarly, for the purpose of determining the suitability of a predictive modeling procedure for a predictive problem, the search engine 110 becomes a problem, selecting N predictive problems that are most similar to the predictive problem in question. All prediction problems that exceed the threshold similarity value for the prediction problem may be selected.

問題になっているモデル化プロシージャおよび予測問題に類似する、予測モデル化プロシージャのセットならびに予測問題のセットを考慮すると、探索エンジンは、問題になっている予測問題のための問題になっているモデル化プロシージャの予期される好適性を判定するように、類似予測問題についての類似モデル化プロシージャの性能を組み合わせてもよい。上記で説明されるように、モデル化プロシージャのテンプレートは、対応するモデル化プロシージャがどれだけ良好に所与のデータセットに機能するであろうかを推定することに関連する情報を含んでもよい。探索エンジン110は、類似予測問題についての類似モデル化プロシージャの性能値(予期または実際)を判定するために、モデル性能メタデータを使用してもよい。次いで、これらの性能値は、問題になっている予測問題のための問題になっているモデル化プロシージャの好適性の推定値を生成するように、組み合わせられることができる。例えば、探索エンジン110は、類似予測問題についての類似モデル化プロシージャの性能値の加重和として、問題になっているモデル化プロシージャの好適性を計算してもよい。 Given the set of predictive modeling procedures and the set of predictive problems that are similar to the modeling procedure and predictive problem in question, the search engine is the model in question for the predictive problem in question. The performance of the similarity modeling procedure for the similarity prediction problem may be combined to determine the expected suitability of the transformation procedure. As described above, a template for a modeling procedure may contain information related to estimating how well the corresponding modeling procedure would work for a given dataset. The search engine 110 may use model performance metadata to determine the performance value (expected or actual) of a similar modeling procedure for a similar prediction problem. These performance values can then be combined to generate an estimate of the suitability of the modeling procedure in question for the prediction problem in question. For example, the search engine 110 may calculate the suitability of the modeling procedure in question as a weighted sum of the performance values of the similar modeling procedure for the similarity prediction problem.

いくつかの実施形態では、探索エンジン110は、他の予測問題(例えば、問題になっている予測問題に類似する予測問題)のための種々のモデル化プロシージャ(例えば、問題になっているモデル化プロシージャに類似するモデル化プロシージャ)の結果に基づいて、予測問題のためのモデル化プロシージャの好適性を判定するように訓練され得る、「メタ」機械学習モデルの出力に少なくとも部分的に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定する。予測問題のための予測モデル化プロシージャの好適性を推定するための機械学習モデルは、どの技法が問題になっている予測問題のために成功する可能性が最も高いかを予測するように、反復して機械学習を適用するため、「メタ」機械学習モデルと称され得る。したがって、探索エンジン110は、他の予測問題を解決することからの結果に向けられたメタ機械学習アルゴリズムを使用することによって、予測問題のためのモデル化技法の好適性のメタ予測を生成してもよい。 In some embodiments, the search engine 110 uses various modeling procedures (eg, the modeling in question) for other prediction problems (eg, prediction problems similar to the prediction problem in question). Based on the output of a "meta" machine learning model, which can be trained to determine the suitability of a modeling procedure for a prediction problem, based on the results of a modeling procedure similar to the procedure), at least in part. Determine the suitability of a predictive modeling procedure for a predictive problem. Machine learning models for estimating the suitability of predictive modeling procedures for predictive problems iterate to predict which technique is most likely to succeed for the predictive problem in question. Because it applies machine learning, it can be referred to as a "meta" machine learning model. Therefore, the search engine 110 produces a meta-prediction of the suitability of the modeling technique for the prediction problem by using a meta-machine learning algorithm directed at the results from solving other prediction problems. May be good.

いくつかの実施形態では、探索エンジン110は、少なくとも部分的にユーザ入力(例えば、予測モデル化プロシージャの好適性に関するデータ分析者の直感または経験を表すユーザ入力)に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定してもよい。 In some embodiments, the search engine 110 is for a prediction problem, at least in part, based on user input (eg, user input that represents the intuition or experience of a data analyst regarding the suitability of a predictive modeling procedure). The suitability of the predictive modeling procedure may be determined.

図3に戻って、方法300のステップ320では、予測モデル化プロシージャの少なくともサブセットが、予測問題のためのモデル化プロシージャの好適性に基づいて選択されてもよい。モデル化プロシージャが好適性カテゴリ(例えば、「好適」または「好適ではない」、「高度に好適」、「中程度に好適」、「中程度に不適切」、もしくは「高度に不適切」等)に割り当てられている、実施形態では、モデル化プロシージャのサブセットを選択するステップは、1つまたはそれを上回る好適性カテゴリに割り当てられるモデル化プロシージャ(例えば、「好適なカテゴリ」に割り当てられる全てのモデル化プロシージャ、「高度に不適切な」カテゴリに割り当てられていない全てのモデル化プロシージャ等)を選択するステップを含んでもよい。 Returning to FIG. 3, in step 320 of method 300, at least a subset of the predictive modeling procedures may be selected based on the suitability of the modeling procedure for the predictive problem. Modeling procedures are suitable categories (eg, "suitable" or "not suitable", "highly suitable", "moderately suitable", "moderately inappropriate", or "highly inappropriate") In an embodiment assigned to, the step of selecting a subset of modeling procedures is a modeling procedure assigned to one or more suitability categories (eg, all models assigned to a "suitable category"). It may include a step of selecting a modeling procedure, all modeling procedures not assigned to the "highly inappropriate" category, etc.).

モデル化プロシージャが好適性値を割り当てられている、実施形態では、探索エンジン110は、好適性値に基づいてモデル化プロシージャのサブセットを選択してもよい。いくつかの実施形態では、探索エンジン110は、閾値好適性スコアを上回る好適性スコアを伴うモデル化プロシージャを選択する。閾値好適性スコアは、ユーザによって提供され、または探索エンジン110によって判定されてもよい。いくつかの実施形態では、探索エンジン110は、モデル化プロシージャの実行のために利用可能な処理リソースの量に応じて、実行のために選択されるモデル化プロシージャの数を増加または減少させるように、閾値好適性スコアを調節してもよい。 In an embodiment in which the modeling procedure is assigned a preference value, the search engine 110 may select a subset of the modeling procedure based on the preference value. In some embodiments, the search engine 110 selects a modeling procedure with a suitability score above the threshold suitability score. The threshold suitability score may be provided by the user or determined by the search engine 110. In some embodiments, the search engine 110 increases or decreases the number of modeled procedures selected for execution, depending on the amount of processing resources available for executing the modeled procedure. , The threshold suitability score may be adjusted.

いくつかの実施形態では、探索エンジン110は、問題になっている予測問題のためのモデル化プロシージャのうちのいずれかに割り当てられる最高好適性スコアの規定範囲内の好適性スコアを伴うモデル化プロシージャを選択する。範囲は、絶対的(例えば、最高スコアのSポイント以内のスコア)、または相対的(例えば、最高スコアのP%以内のスコア)であり得る。範囲は、ユーザによって提供され、または探索エンジン110によって判定されてもよい。いくつかの実施形態では、探索エンジン110は、モデル化プロシージャの実行のために利用可能な処理リソースの量に応じて、実行のために選択されるモデル化プロシージャの数を増加または減少させるように、範囲を調節してもよい。 In some embodiments, the search engine 110 involves a modeling procedure with a suitability score within a defined range of the highest suitability score assigned to any of the modeling procedures for the prediction problem in question. Select. The range can be absolute (eg, score within S points of the highest score) or relative (eg, score within P% of the highest score). The range may be provided by the user or determined by the search engine 110. In some embodiments, the search engine 110 increases or decreases the number of modeled procedures selected for execution, depending on the amount of processing resources available for executing the modeled procedure. , The range may be adjusted.

いくつかの実施形態では、探索エンジン110は、問題になっている予測問題のための最高好適性スコアを有する、モデル化プロシージャの一部を選択する。同等に、探索エンジン110は、(例えば、モデル化プロシージャのための好適性スコアが利用可能ではないが、モデル化プロシージャの好適性の順序付け(ランク付け)が利用可能である場合に)最高好適性ランクを有する、モデル化プロシージャの一部を選択してもよい。一部は、ユーザによって提供され、または探索エンジン110によって判定されてもよい。いくつかの実施形態では、探索エンジン110は、モデル化プロシージャの実行のために利用可能な処理リソースの量に応じて、実行のために選択されるモデル化プロシージャの数を増加または減少させるように、一部を調節してもよい。 In some embodiments, the search engine 110 selects part of a modeling procedure that has the highest suitability score for the prediction problem in question. Equally, the search engine 110 has the highest suitability (eg, when suitability scores for the modeling procedure are not available, but suitability ordering (ranking) for the modeling procedure is available). You may choose part of a modeling procedure that has a rank. Some may be provided by the user or determined by the search engine 110. In some embodiments, the search engine 110 increases or decreases the number of modeled procedures selected for execution, depending on the amount of processing resources available for executing the modeled procedure. , You may adjust a part.

いくつかの実施形態では、ユーザは、実行される1つまたはそれを上回るモデル化プロシージャを選択してもよい。ユーザ選択されたプロシージャは、探索エンジン110によって選択される1つまたはそれを上回るモデル化プロシージャに加えて、もしくはその代わりに、実行されてもよい。ユーザが実行するためにモデル化プロシージャを選択することを可能にすることにより、特に、データ分析者の直感および経験が、モデル化システム100が予測問題のためのモデル化プロシージャの好適性を正確に推定していないことを示す、シナリオにおいて、予測モデル化システム100の性能を向上させてもよい。 In some embodiments, the user may choose one or more modeling procedures to be performed. User-selected procedures may be executed in addition to, or instead of, one or more modeling procedures selected by the search engine 110. By allowing the user to select a modeling procedure to perform, the intuition and experience of the data analyst, in particular, allows the modeling system 100 to accurately determine the suitability of the modeling procedure for predictive problems. The performance of the predictive modeling system 100 may be improved in scenarios that indicate no estimation.

いくつかの実施形態では、探索エンジン110は、たとえモデル化プロシージャP0...PNが全て、問題になっている予測問題のために好適であると判定されたとしても、モデル化プロシージャP0...PNを選択するのではなく、1つまたはそれを上回る他のモデル化プロシージャP1...PNを表す(例えば、類似する)モデル化プロシージャP0を選択することによって、検索空間評価の粒度を制御してもよい。加えて、探索エンジン110は、モデル化プロシージャP1...PNを実行することの結果を表すものとして、選択されたモデル化プロシージャP0を実行することの結果を扱ってもよい。検索空間を評価することへの本アプローチは、特に、検索空間の評価の初期段階中に適用された場合、処理リソースを節約してもよい。探索エンジン110が後に、モデル化プロシージャP0が予測問題のための最も好適なモデル化プロシージャの間にあると判定する場合には、検索空間の関連部分の細かい粒度の評価が、類似モデル化プロシージャP1...PNを実行して評価することによって行われることができる。 In some embodiments, the search engine 110 uses the modeling procedure P0. .. .. Even if all PNs are determined to be suitable for the prediction problem in question, the modeling procedure P0. .. .. Rather than selecting a PN, one or more modeling procedures P1. .. .. The particle size of the search spatial evaluation may be controlled by selecting a modeling procedure P0 that represents PN (eg, similar). In addition, the search engine 110 uses the modeling procedure P1. .. .. The result of executing the selected modeling procedure P0 may be treated as representing the result of executing the PN. This approach to evaluating search space may save processing resources, especially if applied during the early stages of search space evaluation. If the search engine 110 later determines that the modeling procedure P0 is between the most suitable modeling procedures for the prediction problem, then a fine-grained evaluation of the relevant parts of the search space is performed by the similar modeling procedure P1. .. .. .. It can be done by running and evaluating the PN.

図3に戻って、方法300のステップ330では、リソース割付スケジュールが生成されてもよい。リソース割付スケジュールは、選択されたモデル化プロシージャの実行のために処理リソースを割り付けてもよい。いくつかの実施形態では、リソース割付スケジュールは、問題になっている予測問題のためのモデル化プロシージャの判定された好適性に基づいて、処理リソースをモデル化プロシージャに割り付ける。いくつかの実施形態では、探索エンジン110は、リソース割付スケジュールに従って選択されたモデル化プロシージャを実行するための命令を用いて、リソース割付スケジュールを1つまたはそれを上回る処理ノードに伝送する。 Returning to FIG. 3, in step 330 of method 300, a resource allocation schedule may be generated. The resource allocation schedule may allocate processing resources for the execution of the selected modeling procedure. In some embodiments, the resource allocation schedule allocates processing resources to the modeling procedure based on the determined suitability of the modeling procedure for the prediction problem in question. In some embodiments, the search engine 110 transmits the resource allocation schedule to one or more processing nodes with instructions for executing the modeling procedure selected according to the resource allocation schedule.

割り付けられた処理リソースは、時間リソース(例えば、1つまたはそれを上回る処理ノードの実行サイクル、1つまたはそれを上回る処理ノード上の実行時間等)、物理リソース(例えば、処理ノードの数、機械可読記憶装置(例えば、メモリおよび/または二次記憶装置)の量等)、ならびに/もしくは他の割付可能処理リソースを含んでもよい。いくつかの実施形態では、割り付けられた処理リソースは、分散型コンピュータシステムおよび/またはクラウドベースのコンピュータシステムの処理リソースであってもよい。いくつかの実施形態では、処理リソースが割り付けられる、および/または使用されるときに、費用が負担されてもよい(例えば、料金が、データセンターのリソースを使用するために引き換えにデータセンターのオペレータによって収集されてもよい)。 Allotted processing resources include time resources (eg, execution cycles of one or more processing nodes, execution time on one or more processing nodes, etc.), physical resources (eg, number of processing nodes, machines). It may include the amount of readable storage (eg, memory and / or secondary storage), and / or other assignable processing resources. In some embodiments, the allocated processing resources may be the processing resources of a distributed computer system and / or a cloud-based computer system. In some embodiments, costs may be incurred when processing resources are allocated and / or used (eg, data center operators in exchange for charges to use data center resources). May be collected by).

上記で示されるように、リソース割付スケジュールは、問題になっている予測問題のためのモデル化プロシージャの好適性に基づいて、処理リソースをモデル化プロシージャに割り付けてもよい。例えば、より有望なモデル化プロシージャが、限定された処理リソースのより多くの割合から利益を得るように、リソース割付スケジュールは、より多くの処理リソースを、予測問題のためのより高い予測好適性を伴うモデル化プロシージャに割り付け、より少ない処理リソースを、予測問題のためのより低い予測好適性を伴うモデル化プロシージャに割り付けてもよい。別の実施例として、リソース割付スケジュールは、より大きいデータセットを処理するために十分な処理リソースを、より高い予測好適性を伴うモデル化プロシージャに割り付け、より小さいデータセットを処理するために十分な処理リソースを、より低い予測好適性を伴うモデル化プロシージャに割り付けてもよい。 As shown above, the resource allocation schedule may allocate processing resources to the modeling procedure based on the suitability of the modeling procedure for the prediction problem in question. For example, resource allocation schedules provide more processing resources and higher predictive suitability for forecasting problems, so that more promising modeling procedures benefit from a greater proportion of limited processing resources. You may allocate less processing resources to the accompanying modeling procedure and to the modeling procedure with lower predictive suitability for the prediction problem. As another example, a resource allocation schedule is sufficient to allocate enough processing resources to process a larger dataset to a modeling procedure with higher predictive suitability and to process a smaller dataset. Processing resources may be allocated to modeling procedures with lower predictive suitability.

別の実施例として、リソース割付スケジュールは、より低い予測好適性を伴うモデル化プロシージャの実行に先立って、より高い予測好適性を伴うモデル化プロシージャの実行をスケジュールに入れてもよく、これは、より多くの処理リソースをより有望なモデル化プロシージャに割り付けるという効果も有し得る。いくつかの実施形態では、モデル化プロシージャを実行することの結果は、結果が利用可能になるとユーザインターフェース120を介してユーザに提示されてもよい。そのような実施形態では、より低い予測好適性を伴うモデル化プロシージャの前に実行するように、より高い予測好適性を伴うモデル化プロシージャをスケジュールに入れることにより、評価の初期段階で、検索空間の評価についての付加的重要情報をユーザに提供し、それによって、検索計画への急速なユーザ駆動調節を促進してもよい。例えば、予備結果に基づいて、ユーザは、非常に良好に機能することが予期された1つまたはそれを上回るモデル化プロシージャが、実際には非常に不完全に機能していることを判定してもよい。ユーザは、不良な性能の原因を調査し、例えば、不良な性能がデータセットの調製のエラーによって引き起こされることを判定してもよい。次いで、ユーザは、エラーを修正し、エラーによる影響を受けたモデル化プロシージャの実行を再開することができる。 As another embodiment, the resource allocation schedule may schedule the execution of the modeling procedure with higher predictive suitability prior to the execution of the modeled procedure with lower predictive suitability. It can also have the effect of allocating more processing resources to more promising modeling procedures. In some embodiments, the result of executing the modeling procedure may be presented to the user via user interface 120 when the result becomes available. In such an embodiment, the search space is used early in the evaluation by scheduling the modeling procedure with the higher predictive suitability so that it is executed before the modeler procedure with the lower predictive suitability. It may provide the user with additional important information about the evaluation of the search plan, thereby facilitating rapid user-driven adjustment to the search plan. For example, based on preliminary results, the user determines that one or more modeling procedures that are expected to work very well are actually very incompletely working. May be good. The user may investigate the cause of the poor performance and determine, for example, that the bad performance is caused by an error in the preparation of the dataset. The user can then correct the error and resume execution of the modeling procedure affected by the error.

いくつかの実施形態では、リソース割付スケジュールは、少なくとも部分的に、モデル化プロシージャのリソース利用特性および/または並列性特性に基づいて、処理リソースをモデル化プロシージャに割り付けてもよい。上記で説明されるように、モデル化プロシージャに対応するテンプレートは、どれだけ効率的にモデル化プロシージャが分散型コンピューティングインフラストラクチャ上で実行されるであろうかを推定することに関連するメタデータを含んでもよい。いくつかの実施形態では、本メタデータは、モデル化プロシージャのリソース利用特性(例えば、所与のサイズのデータセット上でモデル化プロシージャを訓練および/または試験するために必要とされる処理リソース)の指標を含む。いくつかの実施形態では、本メタデータは、モデル化プロシージャの並列性特性(例えば、モデル化プロシージャが複数の処理ノード上で並行して実行され得る程度)の指標を含む。リソース割付スケジュールを判定するために、モデル化プロシージャのリソース利用特性および/または並列性特性を使用することにより、モデル化プロシージャへの処理リソースの効率的な割付を促進してもよい。 In some embodiments, the resource allocation schedule may allocate processing resources to the modeling procedure, at least in part, based on the resource utilization and / or parallelism characteristics of the modeling procedure. As explained above, the template corresponding to the modeling procedure provides metadata related to estimating how efficiently the modeling procedure will be executed on the distributed computing infrastructure. It may be included. In some embodiments, the metadata presents the resource utilization characteristics of the modeling procedure (eg, the processing resources required to train and / or test the modeling procedure on a dataset of a given size). Includes indicators for. In some embodiments, the metadata includes indicators of the concurrency characteristics of the modeled procedure (eg, the extent to which the modeled procedure can be executed in parallel on multiple processing nodes). Efficient allocation of processing resources to the modeling procedure may be facilitated by using the resource utilization and / or parallelism characteristics of the modeling procedure to determine the resource allocation schedule.

いくつかの実施形態では、リソース割付スケジュールは、モデル化プロシージャの実行のために規定量の処理リソースを割り付けてもよい。処理リソースの割付可能な量は、ユーザによって提供され、または別の好適なソースから取得され得る、処理リソース予算において規定されてもよい。処理リソース予算は、モデル化プロシージャを実行するために使用される処理リソース(例えば、使用される時間の量、使用される処理ノードの数、データセンターまたはクラウドベースの処理リソースを使用するために負担される費用等)に制限を課してもよい。いくつかの実施形態では、処理リソース予算は、規定予測問題のための予測モデルを生成するプロセスに使用される全処理リソースに制限を課してもよい。 In some embodiments, the resource allocation schedule may allocate a defined amount of processing resources for the execution of the modeling procedure. The allocateable amount of processing resources may be specified in the processing resource budget, which may be provided by the user or obtained from another suitable source. The processing resource budget is borne by the processing resources used to execute the modeling procedure (eg, the amount of time used, the number of processing nodes used, the data center or cloud-based processing resources. You may impose restrictions on the costs to be paid, etc.). In some embodiments, the processing resource budget may impose a limit on all processing resources used in the process of generating a forecast model for a defined forecast problem.

図3に戻って、方法300のステップ340では、リソース割付スケジュールに従って選択されたモデル化プロシージャを実行することの結果が受信されてもよい。これらの結果は、実行されたモデル化プロシージャによって生成される、1つまたはそれを上回る予測モデルを含んでもよい。いくつかの実施形態では、モデル化プロシージャの実行が、予測問題と関連付けられる1つまたはそれを上回るデータセットへの予測モデルの適合を含み得るため、ステップ340で受信される予測モデルは、予測問題と関連付けられるデータセットに適合される。予測モデルを予測問題のデータセットに適合させるステップは、予測モデルを生成する予測モデル化プロシージャの1つまたはそれを上回るハイパーパラメータを調整するステップ、生成された予測モデルの1つまたはそれを上回るパラメータを調整するステップ、および/または他の好適なモデル適合ステップを含んでもよい。 Returning to FIG. 3, in step 340 of method 300, the result of executing the selected modeling procedure according to the resource allocation schedule may be received. These results may include one or more predictive models produced by the modeled procedure performed. In some embodiments, the prediction model received in step 340 is a prediction problem because the execution of the modeling procedure may include fitting the prediction model to one or more datasets associated with the prediction problem. Fits to the dataset associated with. The steps to fit the predictive model to the data set of the predictive problem are the steps to adjust hyperparameters of one or more predictive modeling procedures that generate the predictive model, one or more parameters of the generated predictive model. And / or other suitable model fitting steps may be included.

いくつかの実施形態では、ステップ340で受信される結果は、予測問題についてのモデルの性能の評価(例えば、スコア)を含む。これらの評価は、予測問題と関連付けられる試験データセット上で予測モデルを試験することによって取得されてもよい。いくつかの実施形態では、予測モデルを試験するステップは、予測問題と関連付けられる訓練データセットの異なる層を使用して、モデルを交差検証するステップを含む。いくつかの実施形態では、モデル化プロシージャの実行は、生成されたモデルの試験を含む。いくつかの実施形態では、生成されたモデルの試験は、モデル化プロシージャの実行と別個に行われる。 In some embodiments, the results received in step 340 include an assessment of the model's performance (eg, score) for the prediction problem. These assessments may be obtained by testing the prediction model on the test data set associated with the prediction problem. In some embodiments, the step of testing the predictive model involves cross-validating the model using different layers of the training dataset associated with the predictive problem. In some embodiments, execution of the modeling procedure involves testing the generated model. In some embodiments, testing of the generated model is done separately from the execution of the modeling procedure.

モデルは、好適な試験技法に従って試験され、好適なスコア化測定基準(例えば、目的関数)に従ってスコア化されてもよい。異なるスコア化測定基準が、限定ではないが、モデルの精度(例えば、モデルが予測問題の成果を正しく予測する割合)、誤陽性率(例えば、モデルが「陽性」成果を誤って予測する割合)、誤陰性率(例えば、モデルが「陰性」成果を誤って予測する割合)、陽性予測値、陰性予測値、感受性、特異性等を含む、予測モデルの性能の異なる側面に異なる加重を置いてもよい。ユーザは、ユーザインターフェース120を介して提示されるオプションのセットから標準スコア化測定基準(例えば、適合度、R平方等)、またはユーザインターフェース120を介して具体的カスタムスコア化測定基準(例えば、カスタム目的関数)を選択してもよい。探索エンジン110は、予測モデルの性能をスコア化するために、ユーザ選択またはユーザ規定されたスコア化測定基準を使用してもよい。 The model may be tested according to a suitable test technique and scored according to a suitable scoring metric (eg, objective function). Different scoring metrics, but not limited to, the accuracy of the model (eg, the rate at which the model correctly predicts the outcome of the prediction problem), the false positive rate (eg, the rate at which the model incorrectly predicts the "positive" outcome). , False negative rates (eg, the rate at which the model falsely predicts "negative" outcomes), positive predictive values, negative predictive values, susceptibility, specificity, etc., with different weights on different aspects of predictive model performance. May be good. The user can use standard scoring metrics (eg, goodness of fit, R-squares, etc.) from a set of options presented via user interface 120, or specific custom scoring metrics (eg, custom) via user interface 120. Objective function) may be selected. The search engine 110 may use user-selected or user-defined scoring metrics to score the performance of the predictive model.

図3に戻って、方法300のステップ350では、予測モデルが、生成された予測モデルの評価(例えば、スコア)に基づいて、予測問題のために選択されてもよい。空間検索エンジン110は、予測問題のための予測モデルを選択するために、任意の好適な基準を使用してもよい。いくつかの実施形態では、空間検索エンジン110は、最高スコアを伴うモデル、または閾値スコアを超えるスコアを有する任意のモデル、もしくは最高スコアの規定範囲内のスコアを有する任意のモデルを選択してもよい。いくつかの実施形態では、予測モデルのスコアは、予測問題のための予測モデルを選択する際に空間探索エンジン110によって考慮される1つの要因にすぎなくてもよい。空間探索エンジンによって考慮される他の要因は、限定ではないが、予測モデルの複雑性、予測モデルの計算需要等を含んでもよい。 Returning to FIG. 3, in step 350 of method 300, the prediction model may be selected for the prediction problem based on the evaluation (eg, score) of the generated prediction model. Spatial search engine 110 may use any suitable criteria to select a prediction model for the prediction problem. In some embodiments, the spatial search engine 110 may select a model with the highest score, or any model with a score above the threshold score, or any model with a score within the defined range of the highest score. Good. In some embodiments, the score of the predictive model may be only one factor considered by the spatial search engine 110 when selecting a predictive model for the predictive problem. Other factors considered by the spatial search engine may include, but are not limited to, the complexity of the prediction model, the computational demand of the prediction model, and the like.

いくつかの実施形態では、予測問題のための予測モデルを選択するステップは、予測モデルのサブセットを反復して選択するステップと、データセットのより大きい、または異なる部分上で選択された予測モデルを訓練するステップとを含んでもよい。本反復プロセスは、予測モデルが予測問題のために選択されるまで、または予測モデルを生成するために予算を立てられる処理リソースが使い果たされるまで、継続してもよい。 In some embodiments, the step of selecting a predictive model for a predictive problem is the step of iteratively selecting a subset of the predictive model and the predictive model selected on a larger or different part of the dataset. It may include a step to train. The iterative process may continue until the predictive model is selected for the predictive problem or until the processing resources budgeted to generate the predictive model are exhausted.

予測モデルのサブセットを選択するステップは、最高スコアを伴う予測モデルの一部を選択するステップ、閾値スコアを超えるスコアを有する、全てのモデルを選択するステップ、最高スコア化モデルのスコアの規定範囲内のスコアを有する、全てのモデルを選択するステップ、またはモデルの任意の他の好適なグループを選択するステップを含んでもよい。いくつかの実施形態では、予測モデルのサブセットを選択するステップは、方法300のステップ320を参照して上記で説明されるように、予測モデル化プロシージャのサブセットを選択するステップに類似し得る。したがって、予測モデルのサブセットを選択するステップの詳細は、ここでは繰り返されない。 The steps to select a subset of predictive models are: to select a portion of the predictive model with the highest score, to select all models with a score above the threshold score, to within the specified range of scores for the highest scoring model It may include the step of selecting all models having a score of, or the step of selecting any other suitable group of models. In some embodiments, the step of selecting a subset of the predictive model can be similar to the step of selecting a subset of the predictive modeling procedure, as described above with reference to step 320 of method 300. Therefore, the details of the steps of selecting a subset of the prediction model are not repeated here.

選択された予測モデルを訓練するステップは、選択されたモデルの訓練のために処理ノードの処理リソースを割り付ける、リソース割付スケジュールを生成するステップを含んでもよい。処理リソースの割付は、少なくとも部分的に、選択されたモデルを生成するために使用されるモデル化技法の好適性、および/またはデータセットの他のサンプルのための選択されたモデルのスコアに基づいて、判定されてもよい。選択された予測モデルを訓練するステップはさらに、選択された予測モデルをデータセットの規定部分に適合させるように、命令を処理ノードに伝送するステップと、適合モデルおよび/または適合モデルのスコアを含む、訓練プロセスの結果を受信するステップとを含んでもよい。いくつかの実施形態では、選択された予測モデルを訓練するステップは、方法300のステップ320−330を参照して上記に説明されるように、選択された予測モデル化プロシージャを実行するステップに類似し得る。したがって、選択された予測モデルを訓練するステップの詳細は、ここでは繰り返されない。 The step of training the selected predictive model may include the step of generating a resource allocation schedule that allocates the processing resources of the processing node for training the selected model. The allocation of processing resources is, at least in part, based on the suitability of the modeling technique used to generate the selected model and / or the score of the selected model for other samples in the dataset. It may be determined. The steps to train the selected predictive model further include the step of transmitting instructions to the processing nodes to fit the selected predictive model to the specified part of the dataset, and the fitted model and / or fitted model score. , A step of receiving the results of the training process and may be included. In some embodiments, the step of training the selected predictive model is similar to the step of executing the selected predictive modeling procedure, as described above with reference to steps 320-330 of Method 300. Can be done. Therefore, the details of the steps to train the selected predictive model are not repeated here.

いくつかの実施形態では、ステップ330および340は、予測モデルが予測問題のために選択されるまで、または予測モデルを生成するために予算を立てられる処理リソースが使い果たされるまで、反復して行われてもよい。各反復の終了時に、予測問題のための予測モデル化プロシージャの好適性が、少なくとも部分的に、モデル化プロシージャを実行することの結果に基づいて再判定されてもよく、予測モデル化プロシージャの新しいセットが、次の反復中に実行のために選択されてもよい。 In some embodiments, steps 330 and 340 are repeated until the prediction model is selected for the prediction problem or until the processing resources budgeted to generate the prediction model are exhausted. You may be broken. At the end of each iteration, the suitability of the predictive modeling procedure for the predictive problem may be re-determined, at least in part, based on the results of running the modeled procedure. The set may be selected for execution during the next iteration.

いくつかの実施形態では、ステップ330および340の反復において実行されるモデル化プロシージャの数は、反復の数が増加すると減少する傾向があってもよく、生成されたモデルを訓練および/または試験するために使用されるデータの量は、反復の数が増加すると増加する傾向があってもよい。したがって、初期の反復は、比較的小さいデータセット上で比較的多数のモデル化プロシージャを実行することによって、「広い範囲を探し」てもよく、以降の反復は、初期の反復中に識別される最も有望なモデル化プロシージャのより厳密な試験を行ってもよい。代替として、または加えて、初期の反復は、検索空間のより粗い粒度の評価を実装してもよく、以降の反復は、最も有望であると判定される検索空間の部分のより細かい粒度の評価を実装してもよい。 In some embodiments, the number of modeling procedures performed in the iterations of steps 330 and 340 may tend to decrease as the number of iterations increases, training and / or testing the generated model. The amount of data used for this may tend to increase as the number of iterations increases. Therefore, the initial iterations may "look for a wide range" by executing a relatively large number of modeling procedures on a relatively small dataset, and subsequent iterations will be identified during the initial iterations. More rigorous testing of the most promising modeling procedures may be performed. Alternatively, or in addition, the initial iterations may implement a coarser granularity assessment of the search space, and subsequent iterations may implement a finer granularity assessment of the portion of the search space that is determined to be the most promising. May be implemented.

いくつかの実施形態では、方法300は、図3に図示されていない、1つまたはそれを上回るステップを含む。方法300の付加的ステップは、限定ではないが、予測問題と関連付けられるデータセットを処理するステップ、混合予測モデルを形成するように2つまたはそれを上回る予測モデルを混合するステップ、および/または予測問題のために選択される予測モデルを調整するステップを含んでもよい。これらのステップのいくつかの実施形態は、以下でさらに詳細に説明される。 In some embodiments, method 300 comprises one or more steps (not shown in FIG. 3). The additional steps of Method 300 include, but are not limited to, processing the dataset associated with the prediction problem, mixing two or more prediction models to form a mixed prediction model, and / or prediction. It may include the step of adjusting the prediction model selected for the problem. Some embodiments of these steps are described in more detail below.

方法300は、予測問題と関連付けられるデータセットが処理されるステップを含んでもよい。いくつかの実施形態では、予測問題のデータセットを処理するステップは、データセットを特性化するステップを含む。データセットを特性化するステップは、データ漏出(例えば、データセットが、標的と強く相関する特徴を含むが、特徴の値が、予測問題によって課される条件下で予測モデルへの入力として利用可能とならないであろう、シナリオ)を識別するステップ、欠けている観察を検出するステップ、欠測変数値を検出するステップ、異常変数値を検出するステップ、および/または有意な予測値(「重要変数」)を有する可能性が高い変数を識別するステップを含むが、それらに限定されない、データセットに関連する潜在的問題を識別するステップを含んでもよい。 Method 300 may include a step in which the dataset associated with the prediction problem is processed. In some embodiments, the steps of processing the data set of the prediction problem include the steps of characterizing the data set. The steps to characterize the dataset include data leaks (eg, the dataset contains features that strongly correlate with the target, but the values of the features are available as inputs to the prediction model under the conditions imposed by the prediction problem. Steps to identify (scenarios) that will not be, steps to detect missing observations, steps to detect missing variable values, steps to detect anomalous variable values, and / or significant predicted values ("important variables") It may include, but is not limited to, a step of identifying potential problems associated with the dataset, including, but not limited to, identifying variables that are likely to have.

いくつかの実施形態では、予測問題のデータセットを処理するステップは、特徴工学をデータセットに適用するステップを含む。特徴工学をデータセットに適用するステップは、2つまたはそれを上回る特徴を組み合わせて、構成特徴を組み合わせられた特徴と置換するステップ、日付/時間変数(例えば、時間および季節情報)の異なる側面を別個の変数に抽出するステップ、変数値を正規化するステップ、欠測変数値を埋めるステップ等を含んでもよい。 In some embodiments, the steps of processing a predictor problem dataset include applying feature engineering to the dataset. The step of applying feature engineering to a dataset is the step of combining two or more features and replacing the constituent features with the combined features, different aspects of date / time variables (eg, time and seasonal information). It may include a step of extracting into a separate variable, a step of normalizing the variable value, a step of filling in the missing variable value, and the like.

方法300は、2つまたはそれを上回る予測モデルが、混合予測モデルを形成するように混合させられる、ステップを含んでもよい。混合するステップは、予測モデル化技法を実行し、生成された予測モデルを評価するステップに関連して、反復して行われてもよい。いくつかの実施形態では、混合するステップは、(例えば、複数の有望な予測モデルが生成されたときに、以降の反復において)実行/評価反復のうちのいくつかにおいて行われてもよい。 Method 300 may include steps in which two or more prediction models are mixed to form a mixed prediction model. The mixing steps may be iterative in connection with the steps of performing predictive modeling techniques and evaluating the generated predictive model. In some embodiments, the mixing step may be performed in some of the execution / evaluation iterations (eg, when multiple promising predictive models are generated, in subsequent iterations).

2つまたはそれを上回るモデルは、構成モデルの出力を組み合わせることによって混合させられてもよい。いくつかの実施形態では、混合モデルは、構成モデルの出力の加重線形結合を含んでもよい。混合予測モデルは、特に、異なる構成モデルが補完的である場合に、構成予測モデルより良好に機能してもよい。例えば、混合モデルは、構成モデルが予測問題のデータセットの異なる部分に良好に機能する傾向があるとき、モデルの混合が他の(例えば、類似)予測問題に良好に機能したとき、モデルを生成するために使用されるモデル化技法が異種である(例えば、一方のモデルが線形モデルであり、他方のモデルがツリーモデルである)とき等に、良好に機能することが予期されてもよい。いくつかの実施形態では、ともに混合させられる構成モデルは、(例えば、ユーザの直感および経験に基づいて)ユーザによって識別される。 Two or more models may be mixed by combining the outputs of the constitutive models. In some embodiments, the mixed model may include a weighted linear combination of the outputs of the constitutive model. The mixed prediction model may work better than the composition prediction model, especially if the different construction models are complementary. For example, a mixed model generates a model when the constitutive model tends to work well for different parts of the forecast problem dataset, and when the model mix works well for other (eg, similar) predictive problems. It may be expected to work well when the modeling techniques used to do this are heterogeneous (eg, one model is a linear model and the other is a tree model). In some embodiments, the configuration models that are mixed together are identified by the user (eg, based on the user's intuition and experience).

方法300は、予測問題のために選択される予測モデルが調整されるステップを含んでもよい。ある場合には、展開エンジン140は、予測モデルを実装するソースコードをユーザに提供し、それによって、ユーザが予測モデルを調整することを可能にする。しかしながら、予測モデルのソースコードを開示することは、ある場合には(例えば、予測モデル化技法または予測モデルが専用能力もしくは情報を含有する場合に)望ましくない場合がある。ユーザがモデルのソースコードを暴露することなく予測モデルを調整することを可能にするために、展開エンジン140は、予測モデルの表現(例えば、数学的表現)に基づいてモデルのパラメータを調整するための人間が読み取れる規則を構築し、人間が読み取れる規則をユーザに提供してもよい。次いで、ユーザは、モデルのソースコードにアクセスすることなくモデルのパラメータを調整するために、人間が読み取れる規則を使用することができる。したがって、予測モデル化システム100は、専用モデル化技法のためのソースコードをエンドユーザに暴露することなく、専用予測モデル化技法の評価および調整をサポートしてもよい。 Method 300 may include a step in which the prediction model selected for the prediction problem is adjusted. In some cases, the deployment engine 140 provides the user with source code that implements the prediction model, thereby allowing the user to adjust the prediction model. However, disclosing the source code of a predictive model may be undesirable in some cases (eg, when the predictive modeling technique or predictive model contains specialized capabilities or information). To allow the user to adjust the predictive model without exposing the source code of the model, the deployment engine 140 adjusts the parameters of the model based on the representation of the predictive model (eg, mathematical representation). Human-readable rules may be constructed and human-readable rules may be provided to the user. The user can then use human-readable rules to adjust the model's parameters without accessing the model's source code. Therefore, the predictive modeling system 100 may support the evaluation and adjustment of the dedicated predictive modeling technique without exposing the source code for the dedicated modeling technique to the end user.

いくつかの実施形態では、予測モデル化プロシージャに対応する機械実行可能テンプレートは、冗長計算を削減するように、効率増進特徴を含んでもよい。これらの効率増進特徴は、比較的少量の処理リソースが、検索空間を探索し、予測モデルを生成するために予算を立てられる場合に、特に貴重であり得る。上記で説明されるように、機械実行可能テンプレートは、対応するモデル化要素(例えば、技法、タスク、またはサブタスク)の一意のIDを記憶してもよい。加えて、予測モデル化システム100は、一意のIDをデータセットサンプルSに割り当ててもよい。いくつかの実施形態では、機械実行可能テンプレートTがデータセットサンプルS上で実行されるとき、テンプレートは、そのモデル化要素ID、データセット/サンプルID、およびデータサンプル上でテンプレートを実行することの結果を、他のテンプレートにアクセス可能な記憶構造(例えば、テーブル、キャッシュ、ハッシュ等)に記憶する。テンプレートTがデータセットサンプルS上で呼び出されるとき、テンプレートは、そのデータセットサンプル上でそのテンプレートを実行することの結果がすでに記憶されているかどうかを判定するように、記憶構造をチェックする。そうであれば、同一の結果を取得するようにデータセットサンプルを再処理するのではなく、テンプレートは、単純に、記憶構造から対応する結果を読み出し、これらの結果を返し、終了する。記憶構造は、プロシージャ実行ループの複数の反復にわたって、または複数の検索空間探索にわたって、モデル化プロシージャが実行される、ループの個々の反復内で持続してもよい。多くのタスクおよびサブタスクが異なるモデル化技法によって共有され、方法300が、多くの場合、同一のデータセット上で異なるモデル化技法を実行するステップを伴うため、本効率増進特徴を通して達成される計算節約は、相当量であり得る。 In some embodiments, the machine executable template corresponding to the predictive modeling procedure may include efficiency-enhancing features to reduce redundant computations. These efficiency-enhancing features can be especially valuable when a relatively small amount of processing resources are budgeted to explore the search space and generate predictive models. As described above, the machine executable template may store the unique ID of the corresponding modeling element (eg, technique, task, or subtask). In addition, the predictive modeling system 100 may assign a unique ID to the dataset sample S. In some embodiments, when the machine executable template T is run on the dataset sample S, the template is running the template on its modeling element ID, dataset / sample ID, and data sample. Store the results in a storage structure (eg, table, cache, hash, etc.) accessible to other templates. When the template T is called on the dataset sample S, the template checks the storage structure to determine if the result of running the template on the dataset sample is already stored. If so, rather than reprocessing the dataset sample to get the same result, the template simply reads the corresponding results from the storage structure, returns these results, and exits. The storage structure may persist within individual iterations of the loop in which the modeling procedure is executed, across multiple iterations of the procedure execution loop, or across multiple search space searches. Computational savings achieved through this efficiency-enhancing feature because many tasks and subtasks are shared by different modeling techniques, and method 300 often involves performing different modeling techniques on the same dataset. Can be a considerable amount.

図4は、いくつかの実施形態による、予測問題のための予測モデルを選択するための方法400のフローチャートを示す。方法300は、方法400の実施例によって具現化されてもよい。 FIG. 4 shows a flowchart of method 400 for selecting a prediction model for a prediction problem, according to some embodiments. The method 300 may be embodied by an embodiment of the method 400.

図4の実施例では、空間検索エンジン110は、予測モデル化問題の解決策について利用可能なモデル化技法の空間を検索するために、モデル化方法ライブラリ212、モデル化技法ライブラリ130、およびモデル化タスクライブラリ232を使用する。最初に、ユーザが、ライブラリ212からモデル化方法を選択してもよく、または空間検索エンジン110が、デフォルトモデル化方法を自動的に選択してもよい。利用可能なモデル化方法は、限定ではないが、演繹的規則の適用に基づくモデル化技法の選択、類似予測問題についての類似モデル化技法の性能に基づくモデル化技法の選択、メタ機械学習モデルの出力に基づくモデル化技法の選択、前述のモデル化技法の任意の組み合わせ、または他の好適なモデル化技法を含んでもよい。 In the embodiment of FIG. 4, the spatial search engine 110 uses the modeling method library 212, the modeling technique library 130, and modeling to search the space of modeling techniques available for the solution of the predictive modeling problem. Use task library 232. First, the user may select a modeling method from library 212, or the spatial search engine 110 may automatically select a default modeling method. Available modeling methods are, but are not limited to, selection of modeling techniques based on the application of descriptive rules, selection of modeling techniques based on the performance of similar modeling techniques for similarity prediction problems, meta-machine learning models. It may include the selection of output-based modeling techniques, any combination of the modeling techniques described above, or other suitable modeling techniques.

方法400のステップ402では、探索エンジン110は、予測モデル化問題が解決されるためにデータセットを選択するようにユーザを促す。ユーザは、前もってロードされたデータセットから選定し、またはファイルもしくは他の情報システムからデータを読み出すための命令のいずれか一方から、新しいデータセットを作成することができる。ファイルの場合、探索エンジン110は、限定ではないが、コンマで区切った値、タブで区切った拡張マークアップ言語(XML)、JavaScript(登録商標)オブジェクト表記、ネイティブデータベースファイル等を含む、1つまたはそれを上回る形式をサポートしてもよい。命令の場合、ユーザは、情報システムのタイプ、それらのネットワークアドレス、アクセス証明書、各システム内のデータのサブセットの参照、および標的データスキーマを所望のデータスキーマの中へマップするための規則を規定してもよい。そのような情報システムは、限定ではないが、データベース、データウェアハウス、データ統合サービス、分散型アプリケーション、ウェブサービス等を含んでもよい。 In step 402 of method 400, the search engine 110 prompts the user to select a dataset to solve the predictive modeling problem. The user can create a new dataset from either a preloaded dataset or an instruction to read data from a file or other information system. In the case of files, the search engine 110 may include, but is not limited to, comma-separated values, tab-separated extended markup language (XML), JavaScript® object notation, native database files, etc. More formats may be supported. For instructions, the user specifies the types of information systems, their network addresses, access certificates, references to subsets of the data in each system, and rules for mapping the target data schema into the desired data schema. You may. Such information systems may include, but are not limited to, databases, data warehouses, data integration services, distributed applications, web services and the like.

方法400のステップ404では、探索エンジン110は、(例えば、規定ファイルを読み取ること、または規定情報システムにアクセスすることによって)データをロードする。内部で、探索エンジン110は、一方の軸上の特徴および他方の軸上の観察を用いて2次元行列を構築してもよい。概念的に、行列の各列は、変数に対応してもよく、行列の各行は、観察に対応してもよい。探索エンジン110は、元のソースから取得されるメタデータ(例えば、明示的に規定されたデータタイプ)および/またはロードするプロセス中に生成されるメタデータ(例えば、変数の明白なデータタイプ、変数が数値、順序、基本的、または解釈タイプであると考えられるかどうか等)を含む、関連メタデータを変数にアタッチしてもよい。 In step 404 of method 400, the search engine 110 loads the data (eg, by reading a default file or accessing a default information system). Internally, the search engine 110 may construct a two-dimensional matrix using features on one axis and observations on the other axis. Conceptually, each column of the matrix may correspond to a variable, and each row of the matrix may correspond to an observation. The discovery engine 110 retrieves metadata from the original source (eg, an explicitly defined data type) and / or metadata generated during the loading process (eg, explicit data type of a variable, variable). Related metadata may be attached to the variable, including whether is considered to be a numeric, ordered, basic, or interpretation type).

方法400のステップ406では、探索エンジン110は、変数のうちのどれが標的であるか、および/またはどれが特徴であるかを識別するようにユーザを促す。いくつかの実施形態では、探索エンジン110はまた、モデルをスコア化するために使用されるモデル性能の測定基準(例えば、探索エンジン110によって実装される統計的学習アルゴリズムによる、統計的最適化技法という意味で、最適化されるモデル性能の測定基準)を識別するようにユーザを促す。 In step 406 of method 400, the search engine 110 prompts the user to identify which of the variables is the target and / or which is the feature. In some embodiments, the search engine 110 is also referred to as a statistical optimization technique with a measure of model performance used to score the model (eg, a statistical learning algorithm implemented by the search engine 110). In a sense, it encourages the user to identify the optimized model performance metrics).

方法400のステップ408では、探索エンジン110は、データセットを評価する。本評価は、データセットの特性を計算するステップを含んでもよい。いくつかの実施形態では、本評価は、ユーザが予測問題をより理解することに役立ち得る、データセットの分析を行うステップを含む。そのような分析は、問題のある変数(例えば、異常値または正常値を伴うもの)を識別するように1つまたはそれを上回るアルゴリズムを適用するステップと、可変重要性を検出するステップと、可変影響を判定するステップと、影響ホットスポットを識別するステップとを含んでもよい。 In step 408 of method 400, the search engine 110 evaluates the dataset. The evaluation may include steps to calculate the characteristics of the dataset. In some embodiments, the evaluation comprises performing a data set analysis that may help the user better understand the prediction problem. Such an analysis involves applying one or more algorithms to identify problematic variables (eg, those with outliers or normals), detecting variable importance, and variable. It may include a step of determining the impact and a step of identifying the impact hotspot.

データセットの分析は、任意の好適な技法を使用して行われてもよい。各特徴が標的を予測する際に有する有意性の程度を測定する、可変重要性は、「勾配ブーストツリー」、BreimanおよびCutlerの「ランダムフォレスト」、「交互の条件付き期待値」、および/または他の好適な技法を使用して、分析されてもよい。特徴が標的に及ぼす影響の方向およびサイズを測定する、可変影響は、「正規化回帰」、「ロジスティック回帰」、および/または他の好適な技法を使用して、分析されてもよい。特徴が標的を予測する際に最も多くの情報を提供する範囲を識別する、影響ホットスポットは、「RuleFit」アルゴリズムおよび/または他の好適な技法を使用して、分析されてもよい。 Analysis of the dataset may be performed using any suitable technique. Variable importance, which measures the degree of significance each feature has in predicting a target, is "gradient boost tree", Breiman and Cutler's "random forest", "alternate conditional expectation", and / or It may be analyzed using other suitable techniques. Variable effects, which measure the direction and size of the effect of features on the target, may be analyzed using "normalized regression", "logistic regression", and / or other suitable techniques. Impact hotspots, which identify the areas where features provide the most information in predicting a target, may be analyzed using the "RuleFit" algorithm and / or other suitable techniques.

いくつかの実施形態では、元のデータセットに含有される特徴の重要性を査定するステップに加えて、方法400のステップ408で行われる評価は、特徴生成を含む。特徴生成技法は、データセットの変数の論理タイプを解釈し、種々の変換を変数に適用することによって、付加的特徴を生成するステップを含んでもよい。変換の実施例は、限定ではないが、数値特徴の多項式および対数変換を含む。解釈変数(例えば、日付、時間、通貨、測定単位、割合、および場所の座標)に関して、変換の実施例は、限定ではないが、予測力について日付の各側面を試験するように、日付文字列を連続時間変数、曜日、月、および季節に解析するステップを含む。 In some embodiments, in addition to the step of assessing the importance of the features contained in the original dataset, the evaluation performed in step 408 of Method 400 comprises feature generation. The feature generation technique may include the step of generating additional features by interpreting the logical type of the variables in the dataset and applying various transformations to the variables. Examples of transformations include, but are not limited to, polynomial and logarithmic transformations of numerical features. For interpretive variables (eg, date, time, currency, units of measure, percentages, and location coordinates), the examples of the transformation are, but not limited to, date strings to test each aspect of the date for predictive power. Includes steps to analyze continuous time variables, days of the week, months, and seasons.

潜在的予測モデル化技法を用いた、それらの系統的試験が後に続く、数値および/または解釈変数の系統的変換は、予測モデル化システム100が、潜在的モデル空間のより多くを検索し、より精密な予測を達成することを可能にし得る。例えば、「日付/時間」の場合、時間および季節情報を別個の特徴に分離することは、これらの別個の特徴が、多くの場合、標的変数との非常に様々な関係を呈するため、非常に有益であり得る。 Systematic transformations of numerical and / or interpretive variables, followed by those systematic tests using potential predictive modeling techniques, allow the predictive modeling system 100 to search more of the potential model space and more. It may be possible to achieve precise predictions. For example, in the case of "date / time", separating time and seasonal information into separate features is very important because these distinct features often exhibit very different relationships with the target variable. Can be beneficial.

元の特徴を解釈して変換することによって、導出された特徴を作成することは、元のデータセットの次元を増加させることができる。予測モデル化システム100は、データセットの次元の増加に対抗し得る、次元縮小技法を適用してもよい。しかしながら、いくつかのモデル化技法は、他の技法よりも次元に対して感受性が高い。また、異なる次元縮小技法が、他の技法よりもいくつかのモデル化技法と良好に連動する傾向がある。いくつかの実施形態では、予測モデル化システム100は、これらの相互作用を表すメタデータを維持する。システム100は、次元縮小技法およびモデル化技法の種々の組み合わせを系統的に評価し、成功する可能性が最も高いとメタデータが示す組み合わせを優先してもよい。システム100はさらに、経時的に組み合わせの経験的性能に基づいて本メタデータを更新し、新しい次元縮小技法が発見されると、それらを組み込んでもよい。 Creating derived features by interpreting and transforming the original features can increase the dimensions of the original dataset. The predictive modeling system 100 may apply a dimension reduction technique that can counteract the increasing dimension of the dataset. However, some modeling techniques are more sensitive to dimensions than others. Also, different dimension reduction techniques tend to work better with some modeling techniques than others. In some embodiments, the predictive modeling system 100 maintains metadata representing these interactions. System 100 may systematically evaluate the various combinations of dimension reduction and modeling techniques and prioritize the combinations that the metadata indicates are most likely to succeed. System 100 may further update the metadata over time based on the empirical performance of the combination and incorporate new dimension reduction techniques as they are discovered.

方法400のステップ410では、予測モデル化システム100は、データセット評価の結果(例えば、データセット分析の結果、データセットの特性、および/またはデータセット変換の結果)をユーザに提示する。いくつかの実施形態では、データセット評価の結果は、(例えば、グラフおよび/または表を使用して)ユーザインターフェース120を介して提示されてもよい。 In step 410 of method 400, the predictive modeling system 100 presents to the user the results of the dataset evaluation (eg, the results of the dataset analysis, the characteristics of the dataset, and / or the results of the dataset transformation). In some embodiments, the results of the dataset evaluation may be presented via the user interface 120 (eg, using graphs and / or tables).

方法400のステップ412では、ユーザは、(例えば、データセット評価の結果に基づいて)データセットを精緻化してもよい。そのような精緻化は、1つまたはそれを上回る特徴の欠測値または異常値を取り扱う、解釈変数のタイプを変更する、検討中の変換を変更する、考慮から特徴を排除する、特定の値を直接編集する、関数を使用して特徴を変換する、式を使用して特徴の値を組み合わせる、完全に新しい特徴をデータセットに追加する等のための方法を選択するステップを含んでもよい。 In step 412 of method 400, the user may refine the dataset (eg, based on the results of the dataset evaluation). Such refinements deal with missing or outliers of one or more features, change the type of interpretive variable, change the transformation under consideration, exclude features from consideration, specific values. It may include steps to select methods for directly editing features, transforming features using functions, combining feature values using expressions, adding completely new features to a dataset, and so on.

方法400のステップ402−412は、方法300のいくつかの実施形態に関連して上記で説明されるように、予測問題のデータセットを処理するステップの一実施形態を表してもよい。 Steps 402-412 of Method 400 may represent one embodiment of the step of processing a dataset of predictive problems, as described above in connection with some embodiments of Method 300.

方法400のステップ414では、検索空間エンジン100は、モデル化技法ライブラリ130から利用可能なモデル化技法をロードしてもよい。どのモデル化技法が利用可能であるかという判定は、選択されたモデル化方法に依存し得る。いくつかの実施形態では、モデル化技法のローディングは、方法400のステップ402−412のうちの1つまたはそれを上回るものと並行して起こってもよい。 In step 414 of method 400, the search space engine 100 may load the modeling techniques available from the modeling technique library 130. The determination of which modeling technique is available may depend on the modeling method chosen. In some embodiments, loading of the modeling technique may occur in parallel with one or more of steps 402-412 of Method 400.

方法400のステップ416では、ユーザは、手動モードまたは自動モードのいずれか一方でモデル化ソリューションの検索を開始するように探索エンジン110に命令する。自動モードでは、探索エンジン110は、デフォルトサンプリングアルゴリズムを使用してデータセットを分割し(ステップ418)、デフォルト優先順位決定アルゴリズムを使用してモデル化技法を優先する(ステップ420)。モデル化技法を優先するステップは、予測問題のためのモデル化技法の好適性を判定するステップと、それらの判定された好適性に基づいて、実行のためにモデル化技法の少なくともサブセットを選択するステップとを含んでもよい。 In step 416 of method 400, the user instructs the search engine 110 to start searching for the modeling solution in either manual or automatic mode. In automatic mode, the search engine 110 uses a default sampling algorithm to partition the dataset (step 418) and a default prioritization algorithm to prioritize modeling techniques (step 420). The step of prioritizing modeling techniques is to determine the suitability of the modeling technique for the prediction problem and to select at least a subset of the modeling technique for execution based on those determined suitability. It may include steps and.

手動モードでは、探索エンジン110は、データパーティションを提案し(ステップ422)、モデル化技法の優先順位決定を提案する(ステップ424)。ユーザは、提案されたデータパーティションを容認し、またはカスタムパーティションを規定してもよい(ステップ426)。同様に、ユーザは、モデル化技法の提案された優先順位決定を容認し、またはモデル化技法のカスタム優先順位決定を規定してもよい(ステップ428)。いくつかの実施形態では、ユーザは、探索エンジン110がモデル化技法を実行し始める前に、(例えば、モデル化技法ビルダ220および/またはモデル化タスクビルダ230を使用して)1つまたはそれを上回るモデル化技法を修正することができる(ステップ430)。 In manual mode, the search engine 110 proposes a data partition (step 422) and proposes prioritization of modeling techniques (step 424). The user may accept the proposed data partition or specify a custom partition (step 426). Similarly, the user may accept the proposed prioritization of the modeling technique or specify a custom prioritization of the modeling technique (step 428). In some embodiments, the user exceeds one or more (eg, using the modeling technique builder 220 and / or the modeling task builder 230) before the search engine 110 begins performing the modeling technique. The modeling technique can be modified (step 430).

交差検証を促進するために、予測モデル化システム100は、データセットをK個の「層」に分割し(またはデータセットの分割を提案し)てもよい。交差検証は、各適合中に、異なる層が試験セットとしての機能を果たし、残りの層が訓練セットとしての機能を果たすように、予測モデルを分割されたデータセットにK回適合させるステップを含む。交差検証は、どのようにして予測モデルの精度が異なる訓練データとともに変動するかについての有用な情報を生成することができる。ステップ418および422では、予測モデル化システムは、データセットをK個の層に分割し、層の数Kは、デフォルトパラメータである。ステップ426では、ユーザは、層の数Kを変更し、または交差検証の使用を完全に中止してもよい。 To facilitate cross-validation, the predictive modeling system 100 may divide the dataset into K "layers" (or suggest splitting the dataset). Cross-validation includes the step of fitting the predictive model to a divided dataset K times during each fit so that different layers act as test sets and the remaining layers act as training sets. .. Cross-validation can generate useful information about how the accuracy of predictive models fluctuates with different training data. In steps 418 and 422, the predictive modeling system divides the dataset into K layers, the number of layers K being the default parameter. At step 426, the user may change the number of layers K or stop using cross-validation altogether.

予測モデルの厳密な試験を促進するために、予測モデル化システム100は、データセットを訓練セットおよび「ホールドアウト」試験セットに分割し(またはデータセットの分割を提案し)てもよい。いくつかの実施形態では、訓練セットはさらに、交差検証のためのK個の層に分割される。次いで、訓練セットは、予測モデルを訓練して評価するために使用されてもよいが、ホールドアウト試験セットは、予測モデルを試験するために厳密に留保されてもよい。いくつかの実施形態では、予測モデル化システム100は、指定権限および/または証明書を伴うユーザがそれを解放するまで、ホールドアウト試験セットをアクセス不可能にすることによって、(訓練のためではなく)試験のためにホールドアウト試験セットの使用を強力に施行することができる。ステップ418および422では、予測モデル化システム100は、データセットのデフォルト割合がホールドアウトセットのために留保されるように、データセットを分割してもよい。ステップ426では、ユーザは、ホールドアウトセットのために留保されるデータセットの割合を変更し、またはホールドアウトセットの使用を完全に中止してもよい。 To facilitate rigorous testing of the predictive model, the predictive modeling system 100 may divide the dataset into training sets and "holdout" test sets (or suggest splitting the dataset). In some embodiments, the training set is further divided into K layers for cross-validation. The training set may then be used to train and evaluate the predictive model, while the holdout test set may be strictly reserved for testing the predictive model. In some embodiments, the predictive modeling system 100 makes the holdout test set inaccessible (not for training) until the user with the specified authority and / or certificate releases it. ) The use of holdout test sets for testing can be strongly enforced. In steps 418 and 422, the predictive modeling system 100 may partition the dataset so that the default percentage of the dataset is reserved for the holdout set. At step 426, the user may change the percentage of dataset reserved for the holdout set or stop using the holdout set altogether.

いくつかの実施形態では、予測モデル化システム100は、モデル化検索空間の評価中に、計算リソースの効率的な使用を促進するようにデータセットを分割する。例えば、予測モデル化システム100は、データセットの交差検証層をより小さいサンプルに分割してもよい。予測モデルが適合させられるデータサンプルのサイズを縮小することは、異なるモデル化技法の相対的性能を評価するために必要とされる計算リソースの量を削減してもよい。いくつかの実施形態では、より小さいサンプルは、層のデータのランダムなサンプルを採取することによって生成されてもよい。同様に、予測モデルが適合させられるデータサンプルのサイズを縮小することは、予測モデルのパラメータまたはモデル化技法のハイパーパラメータを調整するために必要とされる計算リソースの量を削減してもよい。ハイパーパラメータは、モデル適合プロセスの速度、効率、および/または精度に影響を及ぼし得る、モデル化技法のための可変設定を含む。ハイパーパラメータの実施例は、限定ではないが、弾性ネットモデルの罰則パラメータ、勾配ブーストツリーモデルの中のツリーの数、最近傍モデルの中の近傍の数等を含む。 In some embodiments, the predictive modeling system 100 divides the dataset during evaluation of the modeled search space to facilitate efficient use of computational resources. For example, the predictive modeling system 100 may divide the cross-validation layer of the dataset into smaller samples. Reducing the size of the data sample to which the predictive model is fitted may reduce the amount of computational resources required to evaluate the relative performance of different modeling techniques. In some embodiments, smaller samples may be generated by taking a random sample of layer data. Similarly, reducing the size of the data sample to which the prediction model is fitted may reduce the amount of computational resources required to adjust the parameters of the prediction model or the hyperparameters of the modeling technique. Hyperparameters include variable settings for modeling techniques that can affect the speed, efficiency, and / or accuracy of the model fitting process. Examples of hyperparameters include, but are not limited to, penalties parameters for elastic net models, the number of trees in the gradient boost tree model, the number of neighbors in the nearest neighbor model, and the like.

方法400のステップ432−458では、選択されたモデル化技法は、検索空間を評価するように、分割されたデータを使用して実行されてもよい。これらのステップは、以下でさらに詳細に説明される。便宜上、データ分割に関する検索空間の評価のいくつかの側面は、以下の段落で説明される。 In step 432-458 of Method 400, the selected modeling technique may be performed using the partitioned data to evaluate the search space. These steps are described in more detail below. For convenience, some aspects of the search space evaluation for data partitioning are described in the following paragraphs.

交差検証層の試験セットを含むサンプルデータを使用して、ハイパーパラメータを調整することは、モデル過剰適合につながり、それによって、異なるモデルの性能の比較を信頼できなくし得る。「規定アプローチ」を使用することは、本問題を回避することに役立つことができ、いくつかの他の重要な利点を提供することができる。したがって、探索エンジン110のいくつかの実施形態は、k層交差検証の2つのループが適用される技法である、「ネスト化交差検証」を実装する。外側ループは、所与のモデルを他のモデルと比較するとともに、将来のサンプル上で各モデルの予測を較正するための試験セットを提供する。内側ループは、所与のモデルのハイパーパラメータを調整するための試験セットおよび導出された特徴のための訓練セットの両方を提供する。 Adjusting hyperparameters using sample data containing a cross-validation layer test set can lead to model overfitting, which can make performance comparisons of different models unreliable. Using a "prescriptive approach" can help avoid this problem and can provide some other important benefits. Therefore, some embodiments of the search engine 110 implement "nested cross-validation," a technique to which two loops of k-layer cross-validation are applied. The outer loop provides a test set for comparing a given model with other models and calibrating the predictions for each model on future samples. The inner loop provides both a test set for adjusting the hyperparameters of a given model and a training set for the derived features.

また、内側ループにおいて生成される交差検証予測は、複数の異なるモデルを組み合わせる混合技法を促進してもよい。いくつかの実施形態では、ブレンダの中への入力は、サンプル外モデルからの予測である。サンプル内モデルからの予測を使用することは、いくつかの混合アルゴリズムとともに使用された場合に過剰適合をもたらし得る。ネスト化交差検証を一貫して適用するための明確に定義されたプロセスがないと、最も経験豊富なユーザでさえも、ステップを省略し、またはそれらを誤って実装し得る。したがって、k層交差検証の二重ループの適用は、予測モデル化システム100が、同時に5つの重要な目標、すなわち、(1)多くのハイパーパラメータを用いて複雑なモデルを調整すること、(2)情報を与える導出された特徴を作成すること、(3)2つまたはそれを上回るモデルの混合を調整すること、(4)単一および/または混合モデルの予測を較正すること、ならびに(5)異なるモデルの正確な比較を可能にする、純粋な手付かずの試験セットを維持することを達成することを可能にし得る。 The cross-validation predictions generated in the inner loop may also facilitate a mixing technique that combines multiple different models. In some embodiments, the input into the blender is a prediction from an out-of-sample model. Using predictions from in-sample models can result in overfitting when used with several mixed algorithms. Without a well-defined process for consistently applying nested cross-validation, even the most experienced users can skip steps or implement them incorrectly. Therefore, the application of the double loop of k-validation is that the predictive modeling system 100 simultaneously adjusts the complex model with five important goals: (1) many hyperparameters (2). ) Create informative derived features, (3) adjust the mix of two or more models, (4) calibrate the predictions of single and / or mixed models, and (5) ) It may be possible to achieve maintaining a pure pristine test set that allows accurate comparison of different models.

方法400のステップ432では、探索エンジン110は、選択されたモデル化技法の初期セットの実行のためにリソース割付スケジュールを生成する。リソース割付スケジュールによって表されるリソースの割付は、モデル化技法の優先順位決定、分割されたデータサンプル、および利用可能な計算リソースに基づいて判定されてもよい。いくつかの実施形態では、探索エンジン110は、リソースを選択されたモデル化技法に貪欲に割り付ける(例えば、計算リソースを、順に、まだ実行されていない最高優先順位のモデル化技法に割り当てる)。 In step 432 of method 400, the search engine 110 generates a resource allocation schedule for execution of the initial set of selected modeling techniques. The resource allocation represented by the resource allocation schedule may be determined based on modeling technique prioritization, partitioned data samples, and available computational resources. In some embodiments, the search engine 110 greedily allocates resources to the selected modeling technique (eg, assigns computational resources to, in turn, the highest priority modeling technique that has not yet been executed).

方法400のステップ434では、探索エンジン110は、リソース割付スケジュールに従ってモデル化技法の実行を開始する。いくつかの実施形態では、モデル化技法のセットの実行は、データセットから抽出される同一のデータサンプル上で1つまたはそれを上回るモデルを訓練するステップを含んでもよい。 In step 434 of method 400, the search engine 110 initiates execution of the modeling technique according to a resource allocation schedule. In some embodiments, performing a set of modeling techniques may include training one or more models on the same data sample extracted from the dataset.

方法400のステップ436では、探索エンジン110は、モデル化技法の実行の状態を監視する。モデル化技法が実行を終了されるとき、探索エンジン110は、適合モデルおよび/または対応するデータサンプルのためのモデル適合の測定基準を含み得る、結果を収取する(ステップ438)。そのような測定基準は、限定ではないが、ジニ係数、r平方、残存平均平方誤差、それらの任意の変形例等を含む、適合を行う基礎的ソフトウェア構成要素から抽出され得る任意の測定基準を含んでもよい。 In step 436 of method 400, the search engine 110 monitors the state of execution of the modeling technique. When the modeling technique is finished running, the search engine 110 collects the results, which may include model fit metrics for the fit model and / or the corresponding data sample (step 438). Such metrics include, but are not limited to, any metrics that can be extracted from the underlying software components that make the fit, including Gini coefficients, r-squares, residual mean square errors, and any variations thereof. It may be included.

方法400のステップ440では、探索エンジン110は、(例えば、モデル適合測定基準に従って生成したモデルの性能に基づいて)考慮から性能が最も悪いモデル化技法を排除する。探索エンジン110は、限定ではないが、モデル適合測定基準の最小閾値を満たすモデルを生成しないものを排除するステップ、生成される全てのモデルの最上位部分の中に現在あるモデルを生成したものを除いて、全てのモデル化技法を排除するステップ、または最上位モデルのある範囲内にあるモデルを生成していない、いかなるモデル化技法も排除するステップを含む、好適な技法を使用して、どのモデル化技法を排除するかを判定してもよい。いくつかの実施形態では、異なるプロシージャが、評価の異なる段階でモデル化技法を排除するために使用されてもよい。いくつかの実施形態では、ユーザは、異なるモデル化問題のための異なる排除技法を規定することを許可されてもよい。いくつかの実施形態では、ユーザは、カスタム排除技法を構築して使用することを許可されてもよい。いくつかの実施形態では、メタ統計的学習技法が、排除技法の間で選定するため、および/またはこれらの技法のパラメータを調節するために使用されてもよい。 In step 440 of Method 400, the search engine 110 excludes the poorest performing modeling technique from consideration (eg, based on the performance of the model generated according to the model fit metrics). The search engine 110, but not limited to, steps to eliminate those that do not generate a model that meets the minimum threshold of the model fit metric, that produces the current model among the top-level parts of all generated models. Except, using any suitable technique, including the step of eliminating all modeling techniques, or the step of eliminating any modeling technique that has not generated a model within a range of the top-level model. You may decide whether to exclude the modeling technique. In some embodiments, different procedures may be used to eliminate modeling techniques at different stages of evaluation. In some embodiments, the user may be allowed to specify different exclusion techniques for different modeling problems. In some embodiments, the user may be allowed to build and use custom exclusion techniques. In some embodiments, metastatistical learning techniques may be used to select between exclusion techniques and / or to adjust the parameters of these techniques.

探索エンジン110がモデル性能を計算し、考慮からモデル化技法を排除すると、予測モデル化システム100は、ユーザインターフェース120を通して検索空間評価の進行をユーザに提示してもよい(ステップ442)。いくつかの実施形態では、ステップ444で、探索エンジン110は、検索空間評価の進行、ユーザの専門知識、および/または他の好適な情報に基づいて、ユーザが検索空間を評価するプロセスを修正することを可能にする。ユーザが検索空間評価プロセスへの修正を規定する場合、空間評価エンジン110は、それに応じて処理リソースを再び割り付ける(例えば、どのジョブが影響を受けるかを判定し、スケジューリング待ち行列内でそれらを移動させるか、または待ち行列からそれらを削除するかのいずれかである)。他のジョブは、以前の通りに処理を継続する。 When the search engine 110 calculates the model performance and excludes the modeling technique from consideration, the predictive modeling system 100 may present the user with the progress of the search space evaluation through the user interface 120 (step 442). In some embodiments, in step 444, the search engine 110 modifies the process by which the user evaluates the search space based on the progress of the search space evaluation, the user's expertise, and / or other suitable information. Make it possible. If the user specifies modifications to the search spatial evaluation process, the spatial evaluation engine 110 reallocates processing resources accordingly (eg, determines which jobs are affected and moves them within the scheduling queue. Either let them or remove them from the queue). Other jobs continue processing as before.

ユーザは、多くの異なる方法で検索空間評価プロセスを修正してもよい。例えば、ユーザは、たとえ選択された測定基準で生成したモデルの性能が良好であったとしても、いくつかのモデル化技法の優先順位を低減させ、または考慮からいくつかのモデル化技法を完全に排除してもよい。別の実施例として、ユーザは、たとえ生成したモデルの性能が不良であったとしても、いくつかのモデル化技法の優先順位を増加させ、または考慮からいくつかのモデル化技法を選択してもよい。別の実施例として、ユーザは、付加的データサンプルに対して規定モデルの評価または規定モデル化技法の実行を優先してもよい。別の実施例として、ユーザは、1つまたはそれを上回るモデル化技法を修正し、考慮から修正された技法を選択してもよい。別の実施例として、ユーザは、(例えば、特徴を追加すること、特徴を除去すること、もしくは異なる特徴を選択することによって)モデル化技法を訓練する、またはモデルを適合させるために使用される特徴を変更してもよい。そのような変更は、特徴規模が正規化を必要とする、または特徴のうちのいくつかが「データ漏出」であることを結果が示す場合に、有益であり得る。 The user may modify the search spatial evaluation process in many different ways. For example, a user may reduce the priority of some modeling techniques, or take into account some modeling techniques altogether, even if the model generated with the selected metric performs well. It may be excluded. As another example, the user may increase the priority of some modeling techniques or select some modeling techniques from consideration, even if the generated model is poorly performing. Good. As another example, the user may prioritize the evaluation of a defined model or the execution of a defined modeling technique for additional data samples. As another embodiment, the user may modify one or more modeling techniques and select the modified technique from consideration. As another embodiment, the user is used to train modeling techniques (eg, by adding features, removing features, or selecting different features), or to fit a model. The features may be changed. Such changes can be useful if the feature scale requires normalization, or if the results indicate that some of the features are "data leaks".

いくつかの実施形態では、ステップ432−444は、反復して行われてもよい。(例えば、ステップ440でシステムによって、またはステップ444でユーザによって)排除されないモデル化技法は、別の反復を乗り切る。前の反復(または複数の反復)で生成されたモデルの性能に基づいて、探索エンジン110は、対応するモデル化技法の優先順位を調節し、それに応じて処理リソースをモデル化技法に割り付ける。計算リソースが利用可能になると、エンジンは、更新された優先順位に基づいてモデル技法実行ジョブを立ち上げるために利用可能なリソースを使用する。 In some embodiments, steps 432-444 may be repeated. Modeling techniques that are not excluded (eg, by the system in step 440 or by the user in step 444) survive another iteration. Based on the performance of the model generated in the previous iteration (or multiple iterations), the search engine 110 adjusts the priority of the corresponding modeling technique and allocates processing resources to the modeling technique accordingly. When computational resources become available, the engine uses the resources available to launch model technique execution jobs based on updated priorities.

いくつかの実施形態では、ステップ432で、探索エンジン110は、新しいモデルを作成するように、異なる数学的組み合わせを使用して(例えば、ブレンダに含むモデルの段階的選択を使用して)複数のモデルを「混合」してもよい。いくつかの実施形態では、予測モデル化システム100は、ユーザが独自の自動混合技法を組み込むことを可能にする、モジュール式フレームワークを提供する。いくつかの実施形態では、予測モデル化システム100は、ユーザが異なるモデルブレンダを手動で規定することを可能にする。 In some embodiments, in step 432, the search engine 110 uses a plurality of different mathematical combinations (eg, using a stepwise selection of models to include in the blender) to create a new model. Models may be "mixed". In some embodiments, the predictive modeling system 100 provides a modular framework that allows the user to incorporate their own automatic mixing techniques. In some embodiments, the predictive modeling system 100 allows the user to manually specify different model blenders.

いくつかの実施形態では、予測モデル化システム100は、混合予測モデルを開発する際に1つまたはそれを上回る利点を提供してもよい。第1に、混合は、多種多様な候補モデルが混合するために利用可能であるときに、より良好に機能し得る。また、混合は、候補モデルの間の差異が、単純にアルゴリズムの軽微な変動に対応しないが、むしろ線形モデル、ツリーベースのモデル、サポートベクターマシン、および最近傍分類の間の差異等のアプローチの主要な差異に対応するときに、より良好に機能し得る。予測モデル化システム100は、多種多様なモデルを自動的に生成し、どのように候補モデルが異なるかを表すメタデータを維持することによって、実質的な有利開始を実現してもよい。予測モデル化システム100はまた、例えば、候補モデルにわたって変数の規模を自動的に正規化することによって、任意のモデルが混合モデルに組み込まれることを可能にする、フレームワークを提供してもよい。本フレームワークは、多様性をさらに増加させるように、ユーザが、独自のカスタマイズされた、または独立して生成されたモデルを、自動的に生成されたモデルに容易に追加することを可能にし得る。 In some embodiments, the predictive modeling system 100 may provide one or more advantages in developing a mixed predictive model. First, mixing can work better when a wide variety of candidate models are available for mixing. Also, mixing does not mean that the differences between the candidate models simply correspond to minor variations in the algorithm, but rather the differences between linear models, tree-based models, support vector machines, and nearestest classification approaches. It can work better when dealing with major differences. The predictive modeling system 100 may achieve a substantial favorable start by automatically generating a wide variety of models and maintaining metadata representing how the candidate models differ. The predictive modeling system 100 may also provide a framework that allows any model to be incorporated into a mixed model, for example by automatically normalizing the magnitude of variables across candidate models. The framework may allow users to easily add their own customized or independently generated models to the automatically generated models to further increase diversity. ..

混合のために利用可能な候補モデルの多様性を増加させることに加えて、予測モデル化システム100はまた、優れた混合をもたらし得る、いくつかのユーザインターフェース特徴および分析特徴も提供する。第1に、ユーザインターフェース120は、ユーザが混合する正確かつ補完的なモデルを容易に識別することができるように、二重リフトチャート等の候補モデル適合およびグラフィックのいくつかの異なる代替尺度を含む、双方向モデル比較を提供してもよい。第2に、モデル化システム100は、具体的候補モデルおよび混合技法を選定する、または候補モデルのうちのいくつかもしくは全てを使用して、モデル化技法ライブラリの中の混合技法のうちのいくつかまたは全てを自動的に適合させるオプションをユーザに与える。次いで、ネスト化交差検証フレームワークは、各混合モデルをランク付けするために使用されるデータが、ブレンダ自体を調整する際に、またはその構成要素モデルのハイパーパラメータを調整する際に使用されないという条件を施行する。本規律は、代替ブレンダ性能のより正確な比較をユーザに提供してもよい。いくつかの実施形態では、モデル化システム100は、混合モデルのための計算時間が、その最低速構成要素モデルの計算時間に接近するように、並行して混合モデルの処理を実装する。 In addition to increasing the variety of candidate models available for mixing, the predictive modeling system 100 also provides some user interface and analytical features that can result in good mixing. First, the user interface 120 includes candidate model fits such as double lift charts and several different alternative measures of graphics so that the user can easily identify the exact and complementary models to mix. , Bidirectional model comparison may be provided. Second, the modeling system 100 selects specific candidate models and mixing techniques, or uses some or all of the candidate models to some of the mixing techniques in the modeling technique library. Or give the user the option to adapt everything automatically. The nested cross-validation framework then states that the data used to rank each mixed model is not used when adjusting the blender itself or when adjusting the hyperparameters of its component model. To enforce. This discipline may provide the user with a more accurate comparison of alternative blender performance. In some embodiments, the modeling system 100 implements the processing of the mixed model in parallel so that the computational time for the mixed model approaches the computational time of its slowest component model.

図4に戻って、方法400のステップ446では、ユーザインターフェース120は、最終結果をユーザに提示する。本提示に基づいて、ユーザは、(例えば、ステップ412に戻ることによって)データセットを精緻化する、(例えば、ステップ444に戻ることによって)実行するモデル化技法へのリソースの割付を調節する、(例えば、ステップ430に戻ることによって)精度を向上させるようにモデル化技法のうちの1つまたはそれを上回るものを修正する、(例えば、ステップ402に戻ることによって)データセットを変更する等してもよい。 Returning to FIG. 4, in step 446 of method 400, the user interface 120 presents the final result to the user. Based on this presentation, the user refines the dataset (eg, by returning to step 412) and adjusts the allocation of resources to the modeling technique to be performed (eg, by returning to step 444). Modify one or more of the modeling techniques to improve accuracy (eg by returning to step 430), modify the dataset (eg by returning to step 402), etc. You may.

方法400のステップ448では、検索空間評価またはその一部を再開するのではなく、ユーザは、1つまたはそれを上回る最上位予測モデル候補を選択してもよい。ステップ450では、予測モデル化システム100は、選択された予測モデル候補のためのホールドアウト試験の結果を提示してもよい。ホールドアウト試験結果は、どのようにしてこれらの候補を比較するかという最終測定尺度を提供してもよい。いくつかの実施形態では、十分な特権を伴うユーザのみが、ホールドアウト試験結果を発表してもよい。候補予測モデルが選択されるまでホールドアウト試験結果の発表を防止することは、性能の公平な評価を促進してもよい。しかしながら、探索エンジン110は、候補予測モデルが選択される後まで結果が隠されたままである限り、モデル化ジョブ実行プロセス(ステップ432−444)中にホールドアウト試験結果を実際に計算してもよい。 In step 448 of Method 400, the user may select one or more top-level predictive model candidates, rather than restarting the search spatial evaluation or part thereof. In step 450, the predictive modeling system 100 may present the results of a holdout test for the selected predictive model candidate. Holdout test results may provide a final measure of how to compare these candidates. In some embodiments, only a fully privileged user may publish the holdout test results. Preventing the publication of holdout test results until a candidate prediction model is selected may facilitate a fair assessment of performance. However, the search engine 110 may actually calculate the holdout test results during the modeling job execution process (steps 432-444) as long as the results remain hidden until after the candidate prediction model has been selected. ..

ユーザインターフェース
図1に戻って、ユーザインターフェース120は、予測モデル化空間の検索を監視および/または誘導するためのツールを提供してもよい。これらのツールは、(例えば、データセットの中の問題のある変数を強調表示すること、データセットの中の変数の間の関係を識別すること等によって)予測問題のデータセットについての洞察、および/または検索の結果についての洞察を提供してもよい。いくつかの実施形態では、データ分析者は、例えば、モデル化ソリューションを評価して比較するために使用される測定基準を規定することによって、好適なモデル化ソリューションを認識するための基準を特定することによって等、検索を誘導するためにインターフェースを使用してもよい。したがって、ユーザインターフェースは、独自の生産性を向上させるために、および/または探索エンジン110の性能を向上させるために、分析者によって使用されてもよい。いくつかの実施形態では、ユーザインターフェース120は、リアルタイムで検索の結果を提示し、リアルタイムで(例えば、検索の範囲、または異なるモデル化ソリューションの評価の間のリソースの割付を調節するように)ユーザが検索を誘導することを可能にする。いくつかの実施形態では、ユーザインターフェース120は、同一の予測問題および/または関連予測問題に取り組む複数のデータ分析者の労力を調整するためのツールを提供する。
User Interface Returning to FIG. 1, user interface 120 may provide tools for monitoring and / or guiding searches in the predictive modeling space. These tools provide insights into the dataset of predictive problems (for example, by highlighting problematic variables in the dataset, identifying relationships between variables in the dataset, etc.), and / Or may provide insights into the results of the search. In some embodiments, the data analyst identifies the criteria for recognizing a suitable modeling solution, for example by defining the metrics used to evaluate and compare the modeling solutions. The interface may be used to guide the search, such as by. Therefore, the user interface may be used by the analyst to improve its own productivity and / or to improve the performance of the search engine 110. In some embodiments, the user interface 120 presents search results in real time and the user in real time (eg, adjusting the scope of the search, or the allocation of resources between evaluations of different modeling solutions). Allows you to navigate the search. In some embodiments, the user interface 120 provides tools for coordinating the efforts of multiple data analysts working on the same predictive and / or related predictive problems.

いくつかの実施形態では、ユーザインターフェース120は、モデル化技法のライブラリ130のための機械実行可能テンプレートを開発するためのツールを提供する。システムユーザは、既存のテンプレートを修正するため、新しいテンプレートを作成するため、またはライブラリ130からテンプレートを除去するために、これらのツールを使用してもよい。このようにして、システムユーザは、予測モデル化研究の進歩を反映するように、および/または専用予測モデル化技法を含むように、ライブラリ130を更新してもよい。 In some embodiments, the user interface 120 provides a tool for developing a machine executable template for the library 130 of modeling techniques. System users may use these tools to modify existing templates, create new templates, or remove templates from library 130. In this way, system users may update library 130 to reflect advances in predictive modeling research and / or to include dedicated predictive modeling techniques.

ユーザインターフェース120は、ユーザが団体内の複数のモデル化プロジェクトを管理し、モデル化方法階層の要素を作成および修正し、正確な予測モデルの包括的検索を行い、データセットならびにモデル結果についての洞察を獲得し、および/または新しいデータについて予測を生成するように完成したモデルを展開することを可能にする、種々のインターフェース構成要素を含んでもよい。 User interface 120 allows users to manage multiple modeling projects within an organization, create and modify elements of the modeling method hierarchy, perform a comprehensive search of accurate predictive models, and gain insights into datasets and model results. It may include various interface components that allow it to acquire and / or develop the finished model to generate predictions for new data.

いくつかの実施形態では、ユーザインターフェース120は、4つのタイプのユーザ、すなわち、管理者、技法開発者、モデルビルダ、および観察者を区別する。管理者は、プロジェクトへの人間および計算リソースの割付を制御してもよい。技法開発者は、モデル化技法およびそれらの構成要素タスクを作成ならびに修正してもよい。モデルビルダは主に、良好なモデルを検索することに集中するが、また、技法およびタスクに軽微な調節を行ってもよい。観察者は、プロジェクト進行およびモデル化結果のある側面を視認してもよいが、データにいかなる変更を行うこと、またはいかなるモデル構築を開始することも禁止され得る。個人が、具体的プロジェクトで、または複数のプロジェクトにわたって、1つより多くの役割を果たしてもよい。 In some embodiments, the user interface 120 distinguishes between four types of users: an administrator, a technique developer, a model builder, and an observer. The administrator may control the allocation of human and computational resources to the project. Technique developers may create and modify modeling techniques and their component tasks. The model builder focuses primarily on searching for good models, but may also make minor adjustments to techniques and tasks. Observers may view certain aspects of project progress and modeling results, but may be prohibited from making any changes to the data or initiating any model building. Individuals may play more than one role in a concrete project or across multiple projects.

管理者の役割を果たすユーザは、プロジェクトパラメータを設定し、プロジェクト責任をユーザに割り当て、計算リソースをプロジェクトに割り付けるように、ユーザインターフェース120のプロジェクト管理構成要素にアクセスしてもよい。いくつかの実施形態では、管理者は、複数のプロジェクトをグループまたは階層に編成するために、プロジェクト管理構成要素を使用してもよい。グループ内の全てのプロジェクトは、グループの設定を継承してもよい。階層では、プロジェクトの全ての子が、プロジェクトの設定を継承してもよい。いくつかの実施形態では、十分な許可を伴うユーザが、継承された設定を無効にしてもよい。いくつかの実施形態では、十分な許可を伴うユーザはさらに、対応する許可を伴うユーザのみが設定を変更し得るように、それらを異なるセクションに分割してもよい。ある場合には、管理者が、プロジェクトの団体と直交的にあるリソースにアクセスしてもよい。例えば、ある技法およびタスクが、明示的に禁止されない限り、全てのプロジェクトに利用可能にされてもよい。他のものは、明示的に許可されない限り、全てのプロジェクトに禁止されてもよい。また、これらの権利を保有するユーザがその特定のプロジェクトに割り当てられる場合、プロジェクトがリソースにアクセスすることのみできるように、いくつかのリソースがユーザ基準で割り付けられてもよい。 A user acting as an administrator may access project management components of user interface 120 to set project parameters, assign project responsibilities to users, and allocate computational resources to projects. In some embodiments, the administrator may use project management components to organize multiple projects into groups or hierarchies. All projects in the group may inherit the group settings. In the hierarchy, all children of the project may inherit the project settings. In some embodiments, a user with sufficient permission may override the inherited settings. In some embodiments, a user with sufficient permission may further divide them into different sections so that only the user with the corresponding permission can change the settings. In some cases, the administrator may access resources that are orthogonal to the project body. For example, certain techniques and tasks may be made available to all projects unless explicitly prohibited. Others may be banned on all projects unless expressly permitted. Also, if a user with these rights is assigned to that particular project, some resources may be allocated on a user basis so that the project can only access the resources.

ユーザを管理する際に、管理者は、システムに許可される全てのユーザのグループ、それらの許可された役割、およびシステムレベル許可を制御してもよい。いくつかの実施形態では、管理者は、ユーザを対応するグループに追加し、ある形態のアクセス証明書をユーザに発行することによって、ユーザをシステムに追加してもよい。いくつかの実施形態では、ユーザインターフェース120は、限定ではないが、ユーザ名およびパスワード、統一承認フレームワーク(例えば、OAuth)、ハードウェアトークン(例えば、スマートカード)等を含む、異なる種類の証明書をサポートしてもよい。 In managing users, the administrator may control all groups of users allowed to the system, their allowed roles, and system-level permissions. In some embodiments, the administrator may add the user to the system by adding the user to the corresponding group and issuing some form of access certificate to the user. In some embodiments, the user interface 120 is a different type of certificate, including, but not limited to, a username and password, a unified authorization framework (eg, OAuth), a hardware token (eg, a smart card), and the like. May be supported.

いったん承認されると、管理者は、あるユーザが任意のプロジェクトのために引き受けるデフォルト役割を有することを規定してもよい。例えば、特定のユーザが、特定のプロジェクトのために管理者によって別の役割に特異的に承認されない限り、観察者として指定されてもよい。別のユーザが、管理者によって特異的に除外されない限り、全てのプロジェクトのための技法開発者として供給されてもよい一方で、別のユーザは、プロジェクトの特定のグループまたはプロジェクト階層の分岐のみのための技法開発者として供給されてもよい。デフォルト役割に加えて、管理者はさらに、システムレベルで、より具体的な許可をユーザに割り当ててもよい。例えば、一部の管理者は、あるタイプの計算リソースへのアクセスを許可することが可能であり得、一部の技法開発者およびモデルビルダは、ビルダ内のある特徴にアクセスすることが可能であり得、一部のモデルビルダは、新しいプロジェクトを開始し、所与のレベルを上回る計算リソースを消費し、または所有していないプロジェクトに新しいユーザを招待する権限を与えられてもよい。 Once approved, the administrator may specify that a user has a default role to assume for any project. For example, a particular user may be designated as an observer unless specifically approved by the administrator for another role for a particular project. While another user may be supplied as a technique developer for all projects unless specifically excluded by the administrator, another user may only branch to a particular group or project hierarchy of the project. May be supplied as a technique developer for. In addition to the default role, the administrator may also assign more specific permissions to users at the system level. For example, some administrators may be able to grant access to certain types of computational resources, and some technique developers and model builders may be able to access certain features within the builder. It is possible that some model builders may be authorized to start a new project, consume more than a given level of computational resources, or invite new users to a project they do not own.

いくつかの実施形態では、管理者は、プロジェクトレベルで、アクセス、許可、および責任を割り当ててもよい。アクセスは、特定のプロジェクト内の任意の情報にアクセスする能力を含んでもよい。許可は、プロジェクトのための具体的動作を行う能力を含んでもよい。アクセスおよび許可は、システムレベル許可を無効にし、またはより粒度の細かい制御を提供してもよい。前者の実施例として、通常は完全ビルダ許可を有するユーザが、特定のプロジェクトのための部分ビルダ許可に制約されてもよい。後者の実施例として、あるユーザが、既存のプロジェクトに新しいデータをロードすることを制限されてもよい。責任は、ユーザがプロジェクトのために完成させることが予期される、アクションアイテムを含んでもよい。 In some embodiments, the administrator may assign access, permissions, and responsibilities at the project level. Access may include the ability to access any information within a particular project. Permits may include the ability to perform specific actions for a project. Access and permissions may disable system-level permissions or provide finer-grained control. As an example of the former, a user, usually with a full builder permit, may be constrained to a partial builder permit for a particular project. As an example of the latter, a user may be restricted from loading new data into an existing project. Responsibility may include action items that the user is expected to complete for the project.

開発者の役割を果たすユーザは、モデル化方法、技法、およびタスクを作成して修正するように、インターフェースのビルダ領域にアクセスしてもよい。以前に議論されたように、各ビルダは、対応する論理動作を行う異なるタイプのユーザインターフェースを用いて、1つまたはそれを上回るツールを提示してもよい。いくつかの実施形態では、ユーザインターフェース120は、開発者が技法にアタッチされたメタデータを編集するために「プロパティ」シートを使用することを可能にする。技法はまた、特定のタスクの変数に対応する同調パラメータを有してもよい。開発者は、これらの同調パラメータを技法レベルプロパティシートに公開し、デフォルト値、およびモデルビルダがこれらのデフォルトを無効にし得るかどうかを規定してもよい。 A user acting as a developer may access the builder area of the interface to create and modify modeling methods, techniques, and tasks. As previously discussed, each builder may present one or more tools with different types of user interfaces that perform the corresponding logical actions. In some embodiments, the user interface 120 allows the developer to use the "property" sheet to edit the metadata attached to the technique. The technique may also have tuning parameters that correspond to the variables of a particular task. Developers may publish these tuning parameters in technique-level property sheets to specify default values and whether the model builder can override these defaults.

いくつかの実施形態では、ユーザインターフェース120は、条件付き論理、出力をフィルタ処理する、出力を変換する、出力を分割する、入力を組み合わせる、サブグラフにわたって反復するため等の任意の内蔵動作とともに、タスクの階層有向グラフを規定するためのグライフィカルフロー図ツールを提供してもよい。いくつかの実施形態では、ユーザインターフェース120は、各タスクのために設定されることができるプロパティを含む、リーフレベルタスクを実装するように、既存のソフトウェアの周囲にラッパを作成するための設備を提供してもよい。 In some embodiments, the user interface 120 is tasked with conditional logic, filtering the output, transforming the output, splitting the output, combining inputs, iterating over subgraphs, and any other built-in actions. A graphical flow diagram tool for defining a hierarchical directed graph of may be provided. In some embodiments, the user interface 120 provides equipment for creating wrappers around existing software to implement leaf-level tasks, including properties that can be set for each task. May be provided.

いくつかの実施形態では、ユーザインターフェース120は、リーフレベルタスクを実装するための双方向開発環境(IDE)への内蔵アクセスを上級開発者に提供してもよい。開発者は、代替として、外部環境内で構成要素をコード化し、そのコードをリーフレベルタスクとして包んでもよいが、これらの環境が直接アクセス可能であるならば、より利便的であり得る。そのような実施形態では、IDE自体が、インターフェースに包まれ、タスクビルダに論理的に組み込まれてもよい。ユーザ観点から、IDEは、タスクビルダと同一のインターフェースフレームワーク内で、かつ同一の計算インフラストラクチャ上で作動してもよい。本能力は、上級開発者が技法を開発して修正することをより迅速に反復することを可能にし得る。いくつかの実施形態はさらに、同一のリーフレベルタスクを同時にプログラムする複数の開発者の間の調整を促進する、コード協調特徴を提供してもよい。 In some embodiments, the user interface 120 may provide senior developers with built-in access to an integrated development environment (IDE) for implementing leaf-level tasks. As an alternative, the developer may code the components within an external environment and wrap the code as leaf-level tasks, but it can be more convenient if these environments are directly accessible. In such an embodiment, the IDE itself may be wrapped in an interface and logically incorporated into the task builder. From the user's point of view, the IDE may operate within the same interface framework as the task builder and on the same computing infrastructure. This ability may allow advanced developers to more quickly iterate to develop and modify techniques. Some embodiments may further provide code coordination features that facilitate coordination among multiple developers programming the same leaf-level task at the same time.

モデルビルダは、具体的データセットのための予測モデルを構築するように、開発者によって生成される技法を活用してもよい。異なるモデルビルダが、異なるレベルの経験を有し、したがって、ユーザインターフェースから異なるサポートを要求し得る。比較的新しいユーザに関して、ユーザインターフェース120は、可能な限り自動的なプロセスを提示するが、依然として、オプションを探索し、それによって、予測モデル化についてさらに知る能力をユーザに与えてもよい。中間ユーザに関して、ユーザインターフェース120は、特定の問題を解決することがどれだけ容易であろうかを急速に査定すること、それらの既存の予測モデルが、予測モデル化システム100が自動的に生成することができるものにどれだけ匹敵するかを比較すること、および最終的に実質的な実践同調から利益を得るであろう複雑なプロジェクト上で加速した始動を行うこと促進するように、情報を提示してもよい。上級ユーザに関して、ユーザインターフェース120は、既存の予測モデルのためのいくつかの余剰小数位の精度の抽出、ユーザが取り組んできた問題への新しい技法の適用可能性の高速査定、および団体が直面し得る問題の部類全体のための技法の開発を促進してもよい。上級ユーザの知識を捕捉することによって、いくつかの実施形態は、残りの団体の全体を通したその知識の伝搬を促進する。 The model builder may utilize techniques generated by the developer to build predictive models for concrete datasets. Different model builders have different levels of experience and can therefore request different support from the user interface. For relatively new users, the user interface 120 presents a process that is as automatic as possible, but may still give the user the ability to explore options and thereby learn more about predictive modeling. For intermediate users, the user interface 120 rapidly assesses how easy it will be to solve a particular problem, and those existing predictive models are automatically generated by the predictive modeling system 100. Presenting information to facilitate comparing how much it is comparable to what can be done, and making accelerated launches on complex projects that will ultimately benefit from substantive practice entrainment. You may. For advanced users, user interface 120 faces some surplus decimal precision extractions for existing predictive models, fast assessment of the applicability of new techniques to the problems users have been working on, and organizations. You may facilitate the development of techniques for the entire category of problems you get. By capturing the knowledge of advanced users, some embodiments facilitate the dissemination of that knowledge throughout the rest of the body.

ユーザ要件の本幅をサポートするために、ユーザインターフェース120のいくつかの実施形態は、モデル構築プロセスを反映する一連のインターフェースツールを提供する。また、各ツールは、基本から高度まで一連の特徴を提供してもよい。モデル構築プロセスにおける第1のステップは、データセットをロードして調製するステップを伴ってもよい。以前に議論されたように、ユーザは、ファイルをアップロードし、またはオンラインシステムからデータにアクセスする方法を規定してもよい。モデル化プロジェクトグループまたは階層との関連で、ユーザはまた、親データセットのどの部分が現在のプロジェクトに使用されるものであるか、およびどの部品が追加されるものであるかを規定してもよい。 To support the full range of user requirements, some embodiments of user interface 120 provide a set of interface tools that reflect the model building process. Each tool may also provide a set of features from basic to advanced. The first step in the model building process may involve loading and preparing the dataset. As previously discussed, users may specify how to upload files or access data from online systems. In the context of modeling project groups or hierarchies, users may also specify which parts of the parent dataset will be used for the current project and which parts will be added. Good.

基本ユーザに関して、予測モデル化システム100は、データセットが規定された後に、即時に続けてモデルを構築してもよく、ユーザインターフェース120が、限定ではないが、解析不可能なデータ、観察が少なすぎて良好な結果を期待できない、観察が多すぎて妥当な時間量で実行できない、欠測値が多すぎる、または分布が異常な結果につながり得る変数を含む、厄介な問題にフラグを付ける場合のみ、一時停止する。中間ユーザに関して、ユーザインターフェース120は、データセット特性の表、ならびに可変重要性、可変影響、および影響ホットスポットのグラフを提示することによって、データをさらに詳しく理解することを促進してもよい。ユーザインターフェース120はまた、限定ではないが、相関行列、部分従属プロット、および/またはk平均法ならびに階層的クラスタリング等の監視されていない機械学習アルゴリズムの結果を含む、視覚化ツールを提供することによって、変数の間の関係の理解および視覚化を促進してもよい。いくつかの実施形態では、ユーザインターフェース120は、既存の特徴またはそれらの組み合わせを変換する式を規定することによって、上級ユーザが完全に新しいデータセット特徴を作成することを可能にする。 For the basic user, the predictive modeling system 100 may continue to build the model immediately after the dataset is defined, and the user interface 120 is not limited, but there are few unanalyzable data and observations. To flag annoying problems, including too many observations to expect good results, too many observations to perform in a reasonable amount of time, too many missing data, or variables whose distribution can lead to abnormal results. Only pause. For intermediate users, user interface 120 may facilitate a better understanding of the data by presenting a table of dataset characteristics and a graph of variable importance, variable impact, and impact hotspots. The user interface 120 is also by providing visualization tools, including, but not limited to, the results of unsupervised machine learning algorithms such as correlation matrices, partially dependent plots, and / or k-means and hierarchical clustering. , May facilitate understanding and visualization of relationships between variables. In some embodiments, the user interface 120 allows advanced users to create completely new dataset features by defining expressions that transform existing features or combinations thereof.

いったんデータセットがロードされると、ユーザは、最適化されるモデル適合測定基準を規定してもよい。基本ユーザに関して、予測モデル化システム100は、モデル適合測定基準を選定してもよく、ユーザインターフェース120は、選択の説明を提示してもよい。中間ユーザに関して、ユーザインターフェース120は、特定のデータセットのための異なる測定基準を選定することのトレードオフをユーザが理解することに役立つように、情報を提示してもよい。上級ユーザに関して、ユーザインターフェース120は、探索エンジン110によって収集される低レベル性能データに基づいて、式(例えば、目的関数)を書くことによって、またはさらにカスタム測定基準計算コードをアップロードすることによって、ユーザがカスタム測定基準を規定することを可能にしてもよい。 Once the dataset is loaded, the user may specify model fit metrics that are optimized. For basic users, the predictive modeling system 100 may select model fit metrics and the user interface 120 may provide a description of the selection. For intermediate users, user interface 120 may provide information to help the user understand the trade-offs of choosing different metrics for a particular dataset. For advanced users, the user interface 120 is based on the low-level performance data collected by the search engine 110, by writing an equation (eg, an objective function), or by uploading a custom metric calculation code. May be allowed to specify custom metrics.

データセットがロードされ、モデル適合測定基準が選択されると、ユーザは、探索エンジンを立ち上げてもよい。基本ユーザに関して、探索エンジン110は、モデル化技法のためのデフォルト優先順位決定設定を使用してもよく、ユーザインターフェース120は、モデル性能、データセットのどこまで実行が進行したか、および計算リソースの一般消費についての高レベル情報を提供してもよい。中間ユーザに関して、ユーザインターフェース120は、ユーザが、初期優先順位のうちのいくつかを考慮してわずかに調節する技法のサブセットを規定することを可能にしてもよい。いくつかの実施形態では、ユーザインターフェース120が、より粒度の細かい性能および進行データを提供するため、中間ユーザは、以前に説明されたように飛行中調節を行うことができる。いくつかの実施形態では、ユーザインターフェース120は、計算リソース消費についてのさらなる洞察および制御を中間ユーザに提供する。いくつかの実施形態では、ユーザインターフェース120は、考慮される技法およびそれらの優先順位の有意な(例えば、完全な)制御、利用可能な全ての性能データ、およびリソース消費の有意な(例えば、完全な)制御を上級ユーザに提供してもよい。明確に異なるインターフェースを異なるレベルのユーザに提供すること、またはデフォルトであまり上級ではないユーザのためにより高度な特徴を「折り畳むこと」のいずれか一方によって、ユーザインターフェース120のいくつかの実施形態は、それらの対応するレベルでユーザをサポートすることができる。 Once the dataset is loaded and the model fit metrics are selected, the user may launch the search engine. For the base user, the search engine 110 may use the default prioritization settings for the modeling technique, and the user interface 120 may include model performance, how far the dataset has been executed, and general computational resources. High-level information about consumption may be provided. For intermediate users, the user interface 120 may allow the user to define a subset of techniques that take into account some of the initial priorities and make slight adjustments. In some embodiments, the user interface 120 provides finer-grained performance and progress data, allowing intermediate users to make in-flight adjustments as previously described. In some embodiments, the user interface 120 provides the intermediate user with additional insight and control over computational resource consumption. In some embodiments, the user interface 120 provides significant (eg, complete) control of the techniques considered and their priorities, all available performance data, and significant (eg, complete) resource consumption. N) Control may be provided to advanced users. Some embodiments of user interface 120 include either providing distinctly different interfaces to different levels of users, or "folding" more advanced features for less advanced users by default. It can support users at their corresponding levels.

検索空間の探索中または後に、ユーザインターフェースは、1つまたはそれを上回るモデル化技法の性能についての情報を提示してもよい。一部の性能情報が、表形式で表示されてもよい方で、他の性能情報は、グラフ形式で表示されてもよい。例えば、表形式で提示される情報は、限定ではないが、技法によるモデル性能の比較、評価されるデータの部分、技法の性質、または計算リソースの現在の消費を含んでもよい。グラフ形式で提示される情報は、限定ではないが、モデル化プロシージャにおけるタスクの有向グラフ、データセットの異なるパーティションにわたるモデル性能の比較、受信機動作特性およびリフトチャート等のモデル性能の表現、予測値対実際の値、ならびに経時的な計算リソースの消費を含んでもよい。ユーザインターフェース120は、いずれかのタイプの新しい性能情報の容易な包含を可能にする、モジュール式ユーザインターフェースフレームワークを含んでもよい。また、いくつかの実施形態は、各データパーティションのため、および/または各技法のために、いくつかのタイプの情報の表示を可能にしてもよい。 During or after exploring the search space, the user interface may provide information about the performance of one or more modeling techniques. Some performance information may be displayed in a tabular format, and other performance information may be displayed in a graph format. For example, the information presented in tabular form may include, but is not limited to, a comparison of model performance by technique, a portion of the data to be evaluated, the nature of the technique, or the current consumption of computational resources. The information presented in graph format is, but is not limited to, directed graphs of tasks in modeling procedures, comparison of model performance across different partitions of a dataset, representation of model performance such as receiver operating characteristics and lift charts, predicted value pairs. It may include actual values as well as consumption of computational resources over time. The user interface 120 may include a modular user interface framework that allows easy inclusion of any type of new performance information. Also, some embodiments may allow the display of several types of information for each data partition and / or for each technique.

以前に議論されたように、ユーザインターフェース120のいくつかの実施形態は、複数のプロジェクト上で複数のユーザの協調をサポートする。プロジェクトにわたって、ユーザインターフェース120は、ユーザが、データ、モデル化タスク、およびモデル化技法を共有することを可能にしてもよい。プロジェクト内で、ユーザインターフェース120は、ユーザが、データ、モデル、および結果を共有することを可能にしてもよい。いくつかの実施形態では、ユーザインターフェース120は、ユーザがプロジェクトの性質を修正し、プロジェクトに割り付けられたリソースを使用することを可能にしてもよい。いくつかの実施形態では、ユーザインターフェース120は、複数のユーザがプロジェクトデータを修正し、モデルをプロジェクトに追加し、次いで、これらの寄与を比較することを可能にしてもよい。いくつかの実施形態では、ユーザインターフェース120は、どのユーザがプロジェクトに具体的変更を行ったか、変更が行われたとき、およびどのようなプロジェクトリソースをユーザが使用したかを識別してもよい。 As previously discussed, some embodiments of user interface 120 support the coordination of multiple users on multiple projects. Throughout the project, the user interface 120 may allow users to share data, modeling tasks, and modeling techniques. Within the project, user interface 120 may allow users to share data, models, and results. In some embodiments, the user interface 120 may allow the user to modify the nature of the project and use the resources allocated to the project. In some embodiments, the user interface 120 may allow multiple users to modify project data, add models to the project, and then compare these contributions. In some embodiments, the user interface 120 may identify which users made specific changes to the project, when the changes were made, and what project resources the users used.

モデル展開エンジン
モデル展開エンジン140は、動作環境内で予測モデルを展開するためのツールを提供する。いくつかの実施形態では、モデル展開エンジン140は、展開された予測モデルの性能を監視し、性能データが展開されたモデルの性能を正確に反映するように、展開されたモデルを生成したモデル化技法と関連付けられる性能メタデータを更新する。
Model Deployment Engine The model deployment engine 140 provides tools for deploying predictive models in the operating environment. In some embodiments, the model deployment engine 140 monitors the performance of the deployed predictive model and generates a model that generates the deployed model so that the performance data accurately reflects the performance of the deployed model. Update performance metadata associated with the technique.

ユーザは、適合モデルが現場試験を保証する、または値を追加することが可能であると考えるときに、適合予測モデルを展開してもよい。いくつかの実施形態では、ユーザおよび外部システムは、(例えば、予測モデル化システム100のインターフェースサービス層内の)予測モジュールにアクセスし、使用される1つまたはそれを上回る予測モデルを規定し、新しい観察を供給してもよい。次いで、予測モジュールは、これらのモデルによって提供される予測を返してもよい。いくつかの実施形態では、管理者は、どのユーザおよび外部システムが本予測モジュールへのアクセスを有するかを制御し、および/または単位時間につき許可される予測の数等の使用制限を設定してもよい。 The user may develop a conformance prediction model when he believes that the conformance model can guarantee field testing or add values. In some embodiments, the user and the external system access the prediction module (eg, within the interface service layer of the prediction modeling system 100) to define one or more prediction models to be used, which is new. Observations may be supplied. The prediction module may then return the predictions provided by these models. In some embodiments, the administrator controls which users and external systems have access to the prediction module, and / or sets usage limits such as the number of predictions allowed per unit time. May be good.

各モデルに関して、探索エンジン110は、モデルを生成するために使用されるモデル化技法の記録、ならびに係数およびハイパーパラメータ値を含む適合後のモデルの状態を記憶してもよい。各技法がすでに機械実行可能であるため、これらの値は、実行エンジンが新しい観察データについて予測を生成するために十分であり得る。いくつかの実施形態では、モデルの予測は、モデル化技法において説明される前処理およびモデル化ステップを新しい入力データの各インスタンスに適用することによって、生成されてもよい。しかしながら、ある場合には、将来の予測計算の速度を増加させることが可能であり得る。例えば、適合モデルは、特定の変数の値のいくつかの独立チェックを行ってもよい。これらのチェックのうちのいくつかまたは全てを組み合わせ、次いで、単純に、利便的であるときにそれらを参照することにより、予測を生成するために使用される計算の総量を減少させてもよい。同様に、混合モデルのいくつかの構成要素モデルが、同一のデータ変換を行なってもよい。したがって、いくつかの実施形態は、重複計算を識別し、それらを1回だけ行い、それらを使用する構成要素モデルにおける計算の結果を参照することによって、計算時間を短縮してもよい。 For each model, the search engine 110 may store a record of the modeling techniques used to generate the model, as well as the state of the fitted model, including coefficients and hyperparameter values. These values may be sufficient for the execution engine to generate predictions for new observational data, as each technique is already machine executable. In some embodiments, model predictions may be generated by applying the pre-processing and modeling steps described in the modeling technique to each instance of new input data. However, in some cases it may be possible to increase the speed of future forecast calculations. For example, the fit model may perform some independent checks on the values of a particular variable. You may reduce the total amount of calculations used to generate the predictions by combining some or all of these checks and then simply referencing them when it is convenient. Similarly, some component models of the mixed model may perform the same data transformation. Therefore, some embodiments may reduce the calculation time by identifying duplicate calculations, performing them only once, and referencing the results of the calculations in the component model that uses them.

いくつかの実施形態では、展開エンジン140は、並列処理の機会を識別し、それによって、基礎的ハードウェアが複数の命令を並行して実行することができるときに、各予測を行うことの応答時間を短縮することによって、予測モデルの性能を向上させる。いくつかのモデル化技法は、一連のステップを連続的に説明してもよく、実際に、ステップのうちのいくつかは、論理的に独立し得る。各ステップの間でデータフローを調査することによって、展開エンジン140が、論理独立性の状況を識別し、次いで、予測モデルの実行を再構造化することができるため、独立ステップが並行して実行される。いったん任意の共通データ変換が完了すると、構成予測モデルが並行して実行され得るため、混合モデルは、特別な部類の並列化を提示してもよい。 In some embodiments, the deployment engine 140 identifies an opportunity for parallel processing, thereby responding to each prediction when the underlying hardware is able to execute multiple instructions in parallel. Improve the performance of predictive models by reducing time. Some modeling techniques may describe a series of steps in succession, and in fact some of the steps can be logically independent. By investigating the data flow between each step, the deployment engine 140 can identify the status of logical independence and then restructure the execution of the forecast model so that the independent steps run in parallel. Will be done. The mixed model may offer a special class of parallelization, because once any common data conversion is complete, the configuration prediction model can be executed in parallel.

いくつかの実施形態では、展開エンジン140は、予測モデルの状態をメモリにキャッシュ格納してもよい。本アプローチを用いると、同一のモデルの連続予測要求は、モデル状態をロードする時間を負担しなくてもよい。キャッシングは、比較的少数の観察についての予測の多くの要求がある場合に、特に良好に機能してもよく、したがって、本ローディング時間が、潜在的に全実行時間の大部分である。 In some embodiments, the deployment engine 140 may cache the state of the prediction model in memory. Using this approach, continuous prediction requests for the same model do not have to bear the time to load the model state. Caching may work particularly well when there are many demands for predictions for a relatively small number of observations, and thus this loading time is potentially the majority of the total run time.

いくつかの実施形態では、展開エンジン140は、予測モデルの少なくとも2つの実装、すなわち、サービスベースおよびコードベースの実装を提供してもよい。サービスベースの予測に関して、計算は、以下で説明されるように分散型コンピューティングインフラストラクチャ内で作動する。最終予測モデルは、分散型コンピューティングインフラストラクチャのデータサービス層に記憶されてもよい。ユーザまたは外部システムが予測を要求するとき、どのモデルが使用されるものであり、少なくとも1つの新しい観察を提供するかを示してもよい。次いで、予測モジュールは、データサービス層から、またはモジュールのメモリ内キャッシュから、モデルをロードし、提出された観察が元のデータセットの構造に合致することを検証し、各観察の予測値を計算してもよい。いくつかの実装では、予測モデルは、クラウドワーカの専用プール上で実行され、それによって、低分散応答時間を用いた予測の生成を促進してもよい。 In some embodiments, the deployment engine 140 may provide at least two implementations of the predictive model, namely service-based and code-based implementations. For service-based forecasting, computations work within a decentralized computing infrastructure as described below. The final forecast model may be stored in the data service layer of the distributed computing infrastructure. When a user or an external system requests a prediction, it may indicate which model is used and provides at least one new observation. The prediction module then loads the model from the data service layer or from the module's in-memory cache, verifies that the submitted observations match the structure of the original dataset, and calculates the predictions for each observation. You may. In some implementations, the prediction model may be run on a dedicated pool of cloudworkers, thereby facilitating the generation of predictions with low dispersion response times.

サービスベースの予測は、双方向性に、またはAPIを介してのいずれかで、起こってもよい。双方向性予測に関して、ユーザは、各新しい観察のための特徴の値を入力し、もしくは1つまたはそれを上回る観察のためのデータを含有するファイルをアップロードしてもよい。次いで、ユーザは、ユーザインターフェース120を通して予測を直接受信し、またはそれらをファイルとしてダウンロードしてもよい。API予測に関して、外部システムは、ローカルもしくは遠隔APIを介して予測モジュールにアクセスし、1つまたはそれを上回る観察を提出し、引き換えに対応する計算された予測を受信してもよい。 Service-based forecasts may occur either interactively or via APIs. For bidirectional prediction, the user may enter a value for each new observation feature or upload a file containing data for one or more observations. The user may then receive the predictions directly through the user interface 120 or download them as a file. For API predictions, the external system may access the prediction module via local or remote APIs, submit one or more observations, and receive the corresponding calculated predictions in exchange.

展開エンジン140のいくつかの実装は、サービスベースの予測を行う目的で、団体が分散型コンピューティングインフラストラクチャの1つまたはそれを上回る小型インスタンスを作成することを可能にし得る。分散型コンピューティングインフラストラクチャのインターフェース層では、各そのようなインスタンスは、ユーザ関連機能にアクセスすることなく、外部システムによってアクセス可能な監視および予測モジュールの部品を使用してもよい。分析サービス層は、技法IDEモジュールを使用しなくてもよく、本層内の残りのモジュールは、余分な装備を取り除かれ、予測要求を果たすために最適化されてもよい。データサービス層は、ユーザまたはモデル構築データ管理を使用しなくてもよい。そのような独立型予測インスタンスは、クラウドリソースの並列プール上で展開され、他の物理的場所に分散され、もしくはさらに「予測アプライアンス」の役割を果たす1つまたはそれを上回る専用マシンにダウンロードされてもよい。 Some implementations of the deployment engine 140 may allow organizations to create small instances of one or more of the distributed computing infrastructures for the purpose of making service-based forecasts. At the interface layer of a distributed computing infrastructure, each such instance may use parts of a monitoring and prediction module accessible by an external system without accessing user-related features. The analysis service layer may not use the technique IDE module, and the remaining modules in this layer may be stripped of extra equipment and optimized to meet predictive demands. The data service layer does not have to use user or model building data management. Such stand-alone predictive instances are deployed on a parallel pool of cloud resources, distributed to other physical locations, or even downloaded to one or more dedicated machines that act as "prediction appliances." May be good.

専用予測インスタンスを作成するために、ユーザは、例えば、クラウドインスタンスのセットまたは専用ハードウェアのセットであるかどうかにかかわらず、標的コンピューティングインフラストラクチャを規定してもよい。次いで、対応するモジュールが供給され、標的コンピューティングインフラストラクチャ上にインストールされるか、またはインストールのためにパッケージ化されるかのいずれかであってもよい。ユーザは、予測モデルの初期セットを用いてインスタンスを構成するか、または「ブランク」インスタンスを作成するかのいずれかであってもよい。初期インストール後、ユーザは、新しいものをインストールすること、または主要インストールから既存のものを更新することによって、利用可能な予測モデルを管理してもよい。 To create a dedicated predictive instance, the user may define a targeted computing infrastructure, for example, whether it is a set of cloud instances or a set of dedicated hardware. The corresponding modules may then be supplied and either installed on the target computing infrastructure or packaged for installation. The user may either configure the instance with an initial set of predictive models or create a "blank" instance. After the initial installation, the user may manage the available prediction models by installing new ones or updating existing ones from the primary installation.

コードベースの予測に関して、展開エンジン140は、特定のモデルに基づいて予測を計算するためのソースコードを生成してもよく、ユーザは、ソースコードをソフトウェアに組み込んでもよい。モデルが、リーフレベルタスクが全て、ユーザによって要求されるものと同一のプログラミング言語で実装される、技法に基づくとき、展開エンジン140は、リーフレベルタスクのためのコードを照合することによって、予測モデルのためのソースコードを生成してもよい。モデルが異なる言語からのコードを組み込む、または言語がユーザによって所望されるものと異なるとき、展開エンジン140は、より精巧なアプローチを使用してもよい。 With respect to code-based prediction, the deployment engine 140 may generate source code for calculating predictions based on a particular model, and the user may incorporate the source code into software. When the model is based on a technique in which all leaf-level tasks are implemented in the same programming language as required by the user, the deployment engine 140 predicts the model by matching the code for the leaf-level tasks. You may generate the source code for. The deployment engine 140 may use a more elaborate approach when the model incorporates code from a different language, or the language is different from what is desired by the user.

1つのアプローチは、リーフレベルタスクのソースコードを標的言語に翻訳するためのソースツーソースコンパイラを使用することである。別のアプローチは、次いで、元の言語のリンクインオブジェクトコードを呼び出し、またはそのようなオブジェクトコードを実行するエミュレータにアクセスする、標的言語で機能スタブを生成することである。前者のアプローチは、特異的にユーザの標的コンピューティングプラットフォームのためのオブジェクトコードを生成するように、クロスコンパイラの使用を伴ってもよい。後者のアプローチは、ユーザの標的プラットフォーム上で作動するであろうエミュレータの使用を伴ってもよい。 One approach is to use a source-to-source compiler to translate the source code of leaf-level tasks into the target language. Another approach is to then generate a functional stub in the target language that calls the link-in object code in the original language or accesses an emulator that executes such object code. The former approach may involve the use of a cross-compiler to specifically generate object code for the user's target computing platform. The latter approach may involve the use of an emulator that will run on the user's target platform.

別のアプローチは、特定のモデルの要約記述を生成し、次いで、その説明を標的言語にコンパイルすることである。要約記述を生成するために、展開エンジン140のいくつかの実施形態は、多数の潜在的前処理、モデル適合、および後処理ステップを説明するためのメタデータを使用してもよい。次いで、展開エンジンは、完全なモデルのための特定の動作を抽出し、メタモデルを使用してそれらを符号化してもよい。そのような実施形態では、標的プログラミング言語用のコンパイラが、メタモデルを標的言語に翻訳するために使用されてもよい。したがって、ユーザがサポートされた言語で予測コードを望む場合、コンパイラがそれを生成してもよい。例えば、決定木モデルでは、木における決定は、多種多様なプログラミング言語で直接実装可能である論理if/then/else文に抽象化されてもよい。同様に、共通プログラミング言語でサポートされる数学演算のセットが、線形回帰モデルを実装するために使用されてもよい。 Another approach is to generate a summary description of a particular model and then compile the description into the target language. To generate a summary description, some embodiments of Deployment Engine 140 may use metadata to account for a number of potential pre-processing, model fitting, and post-processing steps. The deployment engine may then extract specific behaviors for the complete model and use metamodels to encode them. In such embodiments, a compiler for the target programming language may be used to translate the metamodel into the target language. Therefore, if the user wants the predictive code in a supported language, the compiler may generate it. For example, in a decision tree model, decisions in a tree may be abstracted into logical if / there / else statements that can be implemented directly in a wide variety of programming languages. Similarly, a set of mathematical operations supported by a common programming language may be used to implement a linear regression model.

しかしながら、任意の言語で予測モデルのソースコードを開示することは、ある場合には(例えば、予測モデル化技法または予測モデルが専用能力もしくは情報を含有する場合に)望ましくない場合がある。したがって、展開エンジン140は、そのプロシージャ詳細を開示することなく、予測モデルを、予測モデルの予測能力を留保する規則のセットに変換してもよい。1つのアプローチは、仮説的観察に応答して予測モデルが生成するであろう仮説的予測のセットから、そのような規則を生成する、アルゴリズムを適用することである。いくつかのそのようなアルゴリズムは、予測を行うためのif−then規則のセット(例えば、RuleFit)を生成してもよい。これらのアルゴリズムに関して、次いで、展開エンジン140は、元の予測モデルを変換する代わりに、結果として生じるif−then規則を標的言語に変換してもよい。予測モデルをif−then規則のセットに変換することの付加的利点としては、概して、条件付き論理の基本モデルがプログラミング言語にわたってより類似するため、恣意的な制御およびデータフローを伴う予測モデルよりも、if−then規則のセットを標的プログラミング言語に変換することがより容易である。 However, disclosing the source code of a predictive model in any language may be undesirable in some cases (eg, when the predictive modeling technique or predictive model contains specialized capabilities or information). Therefore, the deployment engine 140 may transform the predictive model into a set of rules that reserve the predictive power of the predictive model without disclosing the procedure details. One approach is to apply an algorithm that generates such rules from a set of hypothetical predictions that the prediction model will generate in response to hypothetical observations. Some such algorithms may generate a set of if-then rules (eg, RuleFit) for making predictions. For these algorithms, the deployment engine 140 may then translate the resulting if-then rules into the target language instead of transforming the original prediction model. An additional benefit of transforming a predictive model into a set of if-then rules is that, in general, the basic model of conditional logic is more similar across programming languages than a predictive model with arbitrary control and data flow. , It is easier to translate a set of if-then rules into a target programming language.

いったんモデルが新しい観察に予測を行い始めると、展開エンジン140は、これらの予測を追跡し、それらの精度を測定し、予測モデル化システム100を改良するためにこれらの結果を使用してもよい。サービスベースの予測の場合、予測がシステムの他の部分と同一の分散型コンピューティング環境内で起こるため、各観察および予測は、データサービス層を介して保存されてもよい。各予測の識別子を提供することによって、いくつかの実施形態は、実際の値が記録される場合、ユーザまたは外部ソフトウェアシステムがそれらを提出することを可能にしてもよい。コードベースの予測の場合、いくつかの実施形態は、観察および予測をローカルシステムの中に、またはデータサービス層のインスタンスに戻して保存する、コードを含んでもよい。再度、各予測の識別子を提供することにより、実際の標的値が利用可能になるときに、それらに対してモデル性能データの収集を促進してもよい。 Once the model begins to make predictions for new observations, the deployment engine 140 may track these predictions, measure their accuracy, and use these results to improve the prediction modeling system 100. .. For service-based forecasts, each observation and forecast may be stored through the data service layer, as the forecasts occur within the same distributed computing environment as the rest of the system. By providing an identifier for each prediction, some embodiments may allow the user or an external software system to submit the actual values if they are recorded. For code-based predictions, some embodiments may include code that stores observations and predictions in a local system or back to an instance of the data service layer. Again, providing identifiers for each prediction may facilitate the collection of model performance data for actual target values as they become available.

予測の精度および/または他のチャネルを通して取得される観察について、展開エンジン140によって直接収集される情報は、予測問題のためのモデルを改良するために(例えば、既存のモデルを「リフレッシュする」ため、または部分的もしくは完全にモデル化検索空間を再探索することによってモデルを生成するために)使用されてもよい。モデルを作成するようにデータが最初に追加された同一の方法で、または予測で以前に使用されたデータの標的値を提出することによって、モデルを改良するように、新しいデータが追加されることができる。 For the accuracy of predictions and / or observations obtained through other channels, the information collected directly by the deployment engine 140 is to improve the model for prediction problems (eg, to "refresh" existing models). , Or to generate a model by re-searching the modeled search space partially or completely). New data is added to improve the model in the same way that the data was originally added to create the model, or by submitting target values for the data previously used in the forecast. Can be done.

いくつかのモデルが、対応するモデル化技法を新しいデータに適用し、結果として生じる新しいモデルを既存のモデルと組み合わせることによって、リフレッシュ(例えば、際適合)されてもよい一方で、他のモデルは、対応するモデル化技法を元のデータおよび新しいデータの組み合わせに適用することによって、リフレッシュされてもよい。いくつかの実施形態では、モデルをリフレッシュするとき、(例えば、モデルをより迅速にリフレッシュするように、または新しいデータが特定のパラメータに特に関連する情報を提供するため)モデルパラメータのうちのいくつかのみが再計算されてもよい。 Some models may be refreshed (eg, fit) by applying the corresponding modeling techniques to the new data and combining the resulting new model with the existing model, while others , May be refreshed by applying the corresponding modeling technique to the original and new data combinations. In some embodiments, when refreshing the model, some of the model parameters (eg, to refresh the model more quickly, or because the new data provides information that is particularly relevant to a particular parameter). Only may be recalculated.

代替として、または加えて、新しいモデルが、データセットに含まれる新しいデータを伴って、部分的もしくは完全にモデル化検索空間を探索して生成されてもよい。検索空間の再探索は、検索空間の一部に限定され(例えば、元の検索で良好に機能したモデル化技法に限定され)てもよく、または検索空間全体を網羅してもよい。いずれの場合も、展開されたモデルを生成したモデル化技法のための初期好適性スコアは、予測問題について展開されたモデルの性能を反映するように再計算されてもよい。ユーザは、再計算を行うように前のデータの一部を除外することを選定してもよい。展開エンジン140のいくつかの実施形態は、データのどのサブセットがどのバージョンを訓練するために使用されたかを含む、同一の論理モデルの異なるバージョンを追跡してもよい。 Alternatively, or in addition, a new model may be generated by exploring the modeled search space partially or completely, with the new data contained in the dataset. Re-searching the search space may be limited to a portion of the search space (eg, limited to modeling techniques that worked well in the original search), or may cover the entire search space. In either case, the initial suitability score for the modeling technique that generated the expanded model may be recalculated to reflect the performance of the expanded model for the prediction problem. The user may choose to exclude some of the previous data for recalculation. Some embodiments of the deployment engine 140 may track different versions of the same logical model, including which subset of data was used to train which version.

いくつかの実施形態では、本予測データは、経時的に入力パラメータまたは予測自体の動向の要求後分析を行うため、および入力もしくはモデル予測の質に関する潜在的問題についてユーザに警告するために、使用されてもよい。例えば、モデル性能の集約尺度が経時的に劣化し始める場合、本システムは、モデルをリフレッシュすること、または入力自体が偏移しているかどうかを調査することを考慮するようにユーザに警告してもよい。そのような偏移は、特定の変数の時間的変化、または全集団のドリフトによって引き起こされ得る。いくつかの実施形態では、本分析の大部分は、予測応答を減速することを回避するように、予測要求が完了した後に行われる。しかしながら、本システムは、(例えば、入力値が、元の訓練データ、モデル化技法、および最終モデル適合状態の有効な所与の特性として計算した値の範囲外である場合に)特に悪い予測を回避するように、予測時間にある検証を行ってもよい。 In some embodiments, the prediction data is used to perform post-request analysis of trends in input parameters or the prediction itself over time, and to warn the user of potential problems with the quality of the input or model predictions. May be done. For example, if the model performance aggregation scale begins to deteriorate over time, the system warns the user to consider refreshing the model or investigating whether the input itself is skewed. May be good. Such shifts can be caused by temporal changes in certain variables, or by drifting the entire population. In some embodiments, most of the analysis is performed after the prediction request has been completed so as to avoid slowing down the prediction response. However, the system makes particularly bad predictions (eg, if the input values are outside the range of values calculated as valid given characteristics of the original training data, modeling techniques, and final model fit state). Verification at the estimated time may be performed to avoid it.

事後分析は、ユーザが訓練で使用された集団を十分に超えて外挿を行うようにモデルを展開した場合に、重要であり得る。例えば、モデルは、1つの地理的地域からのデータで訓練されているが、完全に異なる地理的地域内の集団に予測を行うために使用されている。ある時は、新しい集団へのそのような外挿は、予期されるよりも実質的に悪いモデル性能をもたらし得る。これらの場合において、展開エンジン140は、ユーザに警告し、および/または元の訓練データを拡張するように新しい値を使用して、1つまたはそれを上回るモデル化技法を再適合することによって、自動的にモデルをリフレッシュしてもよい。 Post-hoc analysis can be important if the model is developed so that the user extrapolates well beyond the population used in the training. For example, the model is trained with data from one geographic region, but is used to make predictions for populations within completely different geographic regions. At some point, such extrapolation to a new population can result in substantially worse model performance than expected. In these cases, the deployment engine 140 warns the user and / or uses new values to extend the original training data by refitting one or more modeling techniques. The model may be refreshed automatically.

いくつかの実施形態の利点
予測モデル化システム100は、任意の技能レベルで分析者の生産性を有意に向上させ、および/または所与の量のリソースを用いて達成可能な予測モデルの精度を有意に増加させてもよい。プロシージャを自動化することにより、作業負荷を低減させることができ、プロセスを体系化することにより、一貫性を強化して、分析者が一意の洞察を生成することにより多くの時間を費やすことを可能にすることができる。3つの共通シナリオ、すなわち、成果を予想すること、性質を予測すること、および測定を推論することが、これらの利点を例証する。
Benefits of Some Embodiments Predictive modeling system 100 significantly improves analyst productivity at any skill level and / or provides achievable predictive model accuracy with a given amount of resources. It may be significantly increased. By automating procedures, you can reduce the workload, and by systematizing processes, you can enhance consistency and allow analysts to spend more time generating unique insights. Can be. Predicting outcomes, predicting properties, and inferring measurements exemplify these benefits in three common scenarios.

成果を予想する Predict results

団体が成果を正確に予想することができる場合には、その挙動をより効果的に計画するとともに増進することができる。したがって、機械学習の一般的用途は、予想を生成するアルゴリズムを開発することである。例えば、多くの業界が、大規模で時間のかかるプロジェクトにおける費用を予測するという問題に直面する。 If the organization can accurately predict outcomes, its behavior can be planned and promoted more effectively. Therefore, a common use of machine learning is to develop algorithms that generate predictions. For example, many industries face the problem of predicting costs for large, time-consuming projects.

いくつかの実施形態では、本明細書に説明される技法は、費用超過(例えば、ソフトウェア費用超過または構築費用超過)を予想するために使用されることができる。例えば、本明細書に説明される技法は、以下のように、費用超過を予想するという問題に適用されてもよい。 In some embodiments, the techniques described herein can be used to anticipate cost overruns (eg, software overcost or build overcost). For example, the techniques described herein may be applied to the problem of anticipating cost overruns, as follows:

1.応答変数タイプ(例えば、数値または2値、ほぼガウスである、もしくは強力に非ガウスである)に適切なモデル適合測定基準を選択する。予測モデル化システム100は、ユーザによる技能および労力をあまり必要としない、データ特性に基づく測定基準を推奨してもよいが、ユーザが最終選択を行うことを可能にする。 1. 1. Select the appropriate model fit metric for the response variable type (eg, numeric or binary, nearly Gaussian, or strongly non-Gaussian). The predictive modeling system 100 may recommend data characteristic-based metrics that require less skill and effort by the user, but allow the user to make final choices.

2.異常値および欠測データ値に対処するようにデータを前処理する。予測モデル化システム100は、ユーザがモデル化問題の状況の認識をさらに深め、潜在的モデル化課題をより効果的に査定することを可能にする、データ特性の詳細な概要を提供してもよい。予測モデル化システム100は、ユーザによる技能および労力をあまり必要としない、異常値検出および置換、欠測値補完、ならびに他のデータ異常の検出および処理のための自動プロシージャを含んでもよい。これらの課題に対処するための予測モデル化システムのプロシージャは、系統的であり、方法、データセット、および時間にわたって、その場限りのデータ編集プロシージャよりも一貫したモデル化結果につながり得る。 2. 2. Preprocess data to address outliers and missing data values. The predictive modeling system 100 may provide a detailed overview of the data characteristics that allows the user to become more aware of the situation of the modeling problem and more effectively assess the potential modeling issues. .. The predictive modeling system 100 may include automated procedures for outlier detection and replacement, missing value completion, and detection and processing of other data anomalies that require less skill and effort by the user. Predictive modeling system procedures for addressing these challenges are systematic and can lead to more consistent modeling results than ad hoc data editing procedures over methods, datasets, and time.

3.モデル化および評価のためのデータを分割する。予測モデル化システム100は、自動的にデータを訓練、検証、およびホールドアウトセットに分割してもよい。本分割は、一部のデータ分析者によって使用される訓練および試験分割より柔軟であり、機械学習コミュニティからの広く受け入れられている推奨と一致し得る。方法、データセット、および時間にわたる一貫した分割アプローチの使用は、結果をより同等にし、商業的状況で展開リソースのより効果的な割付を可能にすることができる。 3. 3. Split data for modeling and evaluation. The predictive modeling system 100 may automatically divide the data into training, validation, and holdout sets. This division is more flexible than the training and trial divisions used by some data analysts and may be consistent with widely accepted recommendations from the machine learning community. The use of methods, datasets, and a consistent partitioning approach over time can make the results more equal and enable more effective allocation of deployment resources in commercial situations.

4.モデル構造を選択し、導出された特徴を生成し、モデル同調パラメータを選択し、モデルを適合させ、評価する。いくつかの実施形態では、予測モデル化システム100は、限定ではないが、決定木、ニューラルネットワーク、サポートベクターマシンモデル、回帰モデル、ブーストツリー、ランダムフォレスト、深層学習ニューラルネットワーク等を含む、多くの異なるモデルタイプを適合させることができる。予測モデル化システム100は、最良個別性能を呈するこれらの構成要素モデルからアンサンブルを自動的に構築するというオプションを提供してもよい。潜在的モデルのより大きい空間を探索することにより、精度を向上させることができる。予測モデル化システムは、異なるデータタイプ(例えば、ボックス・コックス変換、テキスト前処理、主要構成要素等)に適切である、種々の導出された特徴を自動的に生成してもよい。潜在的変換のより大きい空間を探索することにより、精度を向上させることができる。予測モデル化システム100は、モデル構築プロセスの一部として、これらの同調パラメータの最良値を選択するために、交差検証を使用してもよく、それによって、同調パラメータの選択を向上させ、パラメータの選択が結果にどのように影響を及ぼすかという監査証跡を作成する。予測モデル化システム100は、本自動プロセスの一部と見なされる、異なるモデル構造を適合させて評価し、検証セット性能に関して結果をランク付けしてもよい。 4. Select the model structure, generate the derived features, select the model tuning parameters, fit and evaluate the model. In some embodiments, the predictive modeling system 100 includes many different, but not limited to, decision trees, neural networks, support vector machine models, regression models, boost trees, random forests, deep learning neural networks, and the like. The model type can be adapted. The predictive modeling system 100 may offer the option of automatically constructing an ensemble from these component models that exhibit the best individual performance. Accuracy can be improved by exploring the larger space of the potential model. The predictive modeling system may automatically generate various derived features suitable for different data types (eg, box-cox transformations, text preprocessing, key components, etc.). Accuracy can be improved by exploring the larger space of the potential transformation. Predictive modeling system 100 may use cross-validation to select the best values for these tuning parameters as part of the model building process, thereby improving the selection of tuning parameters and the parameters. Create an audit trail of how your choices affect your results. The predictive modeling system 100 may fit and evaluate different model structures that are considered part of this automated process and rank the results in terms of validation set performance.

5.最終モデルを選択する。最終モデルの選択は、予測モデル化システム100によって、またはユーザによって行われることができる。後者の場合、予測モデル化システムは、ユーザが、例えば、モデルのランク付けされた検証セット性能査定、性能を比較し、適合プロセスで使用されるもの以外の品質尺度によってランク付けするというオプション、および/または最良個別性能を呈するこれらの構成要素モデルからアンサンブルモデルを構築する機会を含む、本決定を行うことに役立つように、サポートを提供してもよい。 5. Select the final model. The selection of the final model can be made by the predictive modeling system 100 or by the user. In the latter case, the predictive modeling system allows the user to, for example, have a ranked validation set performance assessment of the model, compare performance, and rank by a quality scale other than that used in the conformance process, and / Or support may be provided to assist in making this decision, including the opportunity to build an ensemble model from these component models that exhibit the best individual performance.

予測モデル化システムのモデル開発プロセスの1つの重要な実用的側面は、いったんデータセットが組み立てられると、全ての後続の計算が同一のソフトウェア環境内で起こり得ることである。本側面は、多くの場合、異なるソフトウェア環境の組み合わせを伴う、従来のモデル構築労力からの重要な差異を表す。そのようなマルチプラットフォーム分析アプローチの重要な実用的不利点は、結果を異なるソフトウェア環境の間で共有され得る共通データ形式に変換する必要性である。多くの場合、本変換は、手動で、またはカスタム「単発」再フォーマットスクリプトを用いてのいずれかで、行われる。本プロセスのエラーは、極めて重篤なデータ歪曲につながり得る。予測モデル化システム100は、1つのソフトウェア環境内で全ての計算を行うことによって、そのような再フォーマットおよびデータ転送エラーを回避してもよい。より一般的に、高度に自動であるため、多くの異なるモデル構造を適合させて最適化し、予測モデル化システム100は、最終モデルへの実質的により高速で系統的であり、したがって、より容易に説明可能で反復可能なルートを提供することができる。また、予測モデル化システム100が、より多くの異なるモデル化方法を探索し、より多くの可能な予測因子を含むことの結果として、結果として生じるモデルは、従来の方法によって取得されるものより正確であり得る。 One important practical aspect of the model development process for predictive modeling systems is that once the dataset is assembled, all subsequent calculations can occur within the same software environment. This aspect represents a significant difference from traditional model building efforts, often with a combination of different software environments. An important practical disadvantage of such a multi-platform analytical approach is the need to transform the results into a common data format that can be shared between different software environments. Often, this conversion is done either manually or with a custom "single" reformatting script. Errors in this process can lead to extremely serious data distortion. The predictive modeling system 100 may avoid such reformatting and data transfer errors by performing all calculations within one software environment. More generally, because it is highly automatic, many different model structures are adapted and optimized, and the predictive modeling system 100 is substantially faster and more systematic to the final model and therefore easier. It is possible to provide an explainable and repeatable route. Also, as a result of the predictive modeling system 100 exploring more different modeling methods and including more possible predictors, the resulting model is more accurate than that obtained by conventional methods. Can be.

性質を予測する Predict the nature

多くの分野で、団体は、生産プロセスの成果の不確実性に直面し、所与の一式の条件が出力の最終性質にどのように影響を及ぼすであろうかを予測したい。したがって、機械学習の一般的用途は、これらの性質を予測するアルゴリズムを開発することである。例えば、コンクリートは、最終構造性質が状況によって劇的に変動し得る、一般的な建築材料である。時間に伴うコンクリート性質の有意な変動およびその高度可変組成へのそれらの依存性により、第1の原則から開発されるモデルも従来の回帰モデルも、十分な予測精度を提供しない。 In many areas, organizations face uncertainty in the outcome of the production process and want to predict how a given set of conditions will affect the final nature of the output. Therefore, a common use of machine learning is to develop algorithms that predict these properties. For example, concrete is a common building material whose final structural properties can vary dramatically from context to context. Neither the model developed from the first principle nor the conventional regression model provides sufficient prediction accuracy due to the significant variation in concrete properties over time and their dependence on their highly variable composition.

いくつかの実施形態では、本明細書に説明される技法は、生産プロセスの成果の性質(例えば、コンクリートの性質)を予測するために使用されることができる。例えば、本明細書に説明される技法は、以下のように、コンクリートの性質を予測するという問題に適用されてもよい。 In some embodiments, the techniques described herein can be used to predict the outcome properties of the production process (eg, the properties of concrete). For example, the techniques described herein may be applied to the problem of predicting the properties of concrete, such as:

1.データセットを訓練、検証、および試験サブセットに分割する。 1. 1. Divide the dataset into training, validation, and test subsets.

2.モデル化データセットを一掃する。予測モデル化システム100は、欠けているデータ、異常値、および他の重要データ異常を自動的にチェックし、処理方略を推奨し、それらを容認または拒否するオプションをユーザに提供してもよい。本アプローチは、ユーザによる技能および労力をあまり必要としなくてもよく、ならびに/または方法、データセット、および時間にわたって、より一貫した結果を提供してもよい。 2. 2. Clean up the modeled dataset. The predictive modeling system 100 may automatically check for missing data, outliers, and other critical data anomalies, recommend processing strategies, and provide users with the option of accepting or rejecting them. The approach may require less skill and effort by the user and / or may provide more consistent results over methods, datasets, and time.

3.応答変数を選択し、一次適合測定基準を選定する。ユーザは、モデル化データセットで利用可能なものから予測される応答変数を選択してもよい。いったん応答変数が選定されると、予測モデル化システム100は、ユーザが容認し、または無効にし得る、互換性のある適合測定基準を推奨してもよい。本アプローチは、ユーザによる技能および労力をあまり必要としなくてもよい。応答変数タイプおよび選択される適合測定基準に基づいて、予測モデル化システムは、従来の回帰モデル、ニューラルネットワーク、および他の機械学習モデル(例えば、ランダムフォレスト、ブーストツリー、サポートベクターマシン)を含む、予測モデルのセットを提供してもよい。可能なモデル化アプローチの空間の間で自動的に検索することによって、予測モデル化システム100は、最終モデルの予期される精度を増加させてもよい。モデル選択のデフォルトセットは、考慮からあるモデルタイプを除外するように、デフォルトリストの一部ではなく予測モデル化システムによってサポートされる他のモデルタイプを追加するように、または(例えば、RもしくはPythonで実装される)ユーザの独自のカスタムモデルタイプを追加するように、無効にされてもよい。 3. 3. Select the response variable and select the primary conformance metric. The user may select the expected response variables from those available in the modeled dataset. Once the response variables have been selected, the predictive modeling system 100 may recommend compatible conformance metrics that the user can accept or disable. This approach does not require much user skill and effort. Based on the response variable type and the fitted metrics selected, the predictive modeling system includes traditional regression models, neural networks, and other machine learning models (eg, random forests, boost trees, support vector machines). A set of predictive models may be provided. The predictive modeling system 100 may increase the expected accuracy of the final model by automatically searching between the spaces of possible modeling approaches. The default set of model selection excludes certain model types from consideration, adds other model types supported by the predictive modeling system rather than part of the default list, or (eg, R or Python). It may be disabled to add your own custom model type (implemented in).

4.入力特徴を生成し、モデルを適合させ、モデル特有の同調パラメータを最適化し、性能を評価する。いくつかの実施形態では、特徴生成は、数値共変量、ボックス・コックス変換、主要構成要素等のためのスケーリングを含んでもよい。モデルの同調パラメータは、交差検証を介して最適化されてもよい。検証セット性能尺度は、他の概要特性(例えば、回帰モデルのモデルパラメータ、ブーストツリーまたはランダムフォレストの可変重要性尺度)とともに、各モデルについて計算されて提示されてもよい。 4. Generate input features, fit the model, optimize model-specific tuning parameters, and evaluate performance. In some embodiments, feature generation may include scaling for numerical covariates, box-cox transformations, key components, and the like. The tuning parameters of the model may be optimized via cross-validation. The validation set performance scale may be calculated and presented for each model, along with other summary characteristics (eg, regression model model parameters, boost tree or random forest variable importance scale).

5.最終モデルを選択する。最終モデルの選択は、予測モデル化システム100によって、またはユーザによって行われることができる。後者の場合、予測モデル化システムは、ユーザが、例えば、モデルのランク付けされた検証セット性能査定、性能を比較し、適合プロセスで使用されるもの以外の品質尺度によってランク付けするというオプション、および/または最良個別性能を呈するこれらの構成要素モデルからアンサンブルモデルを構築する機会を含む、本決定を行うことに役立つように、サポートを提供してもよい。 5. Select the final model. The selection of the final model can be made by the predictive modeling system 100 or by the user. In the latter case, the predictive modeling system allows the user to, for example, have a ranked validation set performance assessment of the model, compare performance, and rank by a quality scale other than that used in the conformance process, and / Or support may be provided to assist in making this decision, including the opportunity to build an ensemble model from these component models that exhibit the best individual performance.

測定を推論する Infer the measurement

いくつかの測定は、他のものより行うことがはるかに高価であるため、団体は、より安価な測定基準をより高価なものの代わりに使うことを望み得る。したがって、機械学習の一般的用途は、より安価な測定の公知の出力から高価な測定の起こり得る出力を推論することである。例えば、「カール」は、紙製品がどのようにして平坦な形状から逸脱する傾向があるかを捕捉する性質であるが、典型的には、製品が完成した後のみ判断されることができる。したがって、製造中に容易に測定される機械的性質から紙のカールを推論できることは、所与のレベルの品質を達成する際に莫大な費用節約をもたらし得る。典型的な最終用途性質に関して、これらの性質と製造プロセス条件との間の関係は、よく理解されていない。 Organizations may wish to use cheaper metrics instead of more expensive ones, as some measurements are much more expensive to make than others. Therefore, a common use of machine learning is to infer the possible output of expensive measurements from the known outputs of cheaper measurements. For example, "curl" is a property that captures how a paper product tends to deviate from its flat shape, but can typically only be determined after the product is complete. Therefore, being able to infer paper curls from mechanical properties that are easily measured during manufacturing can result in enormous cost savings in achieving a given level of quality. With respect to typical end-use properties, the relationship between these properties and manufacturing process conditions is not well understood.

いくつかの実施形態では、本明細書に説明される技法は、測定を推論するために使用されることができる。例えば、本明細書に説明される技法は、以下のように、測定を推論するという問題に適用されてもよい。 In some embodiments, the techniques described herein can be used to infer measurements. For example, the techniques described herein may be applied to the problem of inferring measurements, such as:

1.モデル化データセットを特性化する。予測モデル化システム100は、主要概要特性を提供し、ユーザがそれについてさらなる情報を自由に容認、拒否、または要求することができる、重要なデータ異常の処理の推奨を提供してもよい。例えば、変数の主要特性が計算されて表示されてもよく、欠けているデータの普及が表示されてもよく、処理方略が推奨されてもよく、数値変数の異常値が検出されてもよく、見つかった場合、処理方略が推奨されてもよく、および/または他のデータ異常が自動的に検出されてもよく(例えば、正常値、値が決して変化しない、情報を与えない変数)、推奨された処理がユーザに利用可能にされてもよい。 1. 1. Characterize the modeled dataset. The Predictive Modeling System 100 may provide key overview characteristics and recommendations for handling critical data anomalies that allow the user to freely accept, reject, or request further information about it. For example, the key characteristics of a variable may be calculated and displayed, the spread of missing data may be displayed, processing strategies may be recommended, and outliers in numerical variables may be detected. If found, processing strategies may be recommended, and / or other data anomalies may be detected automatically (eg, normal values, variables that never change, variables that give no information) and are recommended. The processing may be made available to the user.

2.データセットを訓練/検証/ホールドアウトサブセットに分割する。 2. 2. Divide the dataset into training / validation / holdout subsets.

3.特徴生成/モデル構造選択/モデル適合。予測モデル化システム100は、これらのステップを組み合わせて自動化し、広範な内部反復を可能にしてもよい。複数の特徴が、主要構成要素のような従来の技法およびブーストツリーのようなより新しい方法を両方とも使用して、自動的に生成されて評価されてもよい。回帰モデル、ニューラルネットワーク、サポートベクターマシン、ランダムフォレスト、ブーストツリー、およびその他を含む、多くの異なるモデルタイプが適合されて比較されてもよい。加えて、ユーザは、本デフォルト収集の一部ではない、他のモデル構造を含むというオプションを有してもよい。モデルサブ構造選択(例えば、ニューラルネットワーク内の隠されたユニットの数の選択、他のモデル特有の同調パラメータの仕様等)が、本モデル適合および評価プロセスの一部として、広範な交差検証によって自動的に行われてもよい。 3. 3. Feature generation / model structure selection / model matching. The predictive modeling system 100 may combine these steps to automate and allow extensive internal iterations. Multiple features may be automatically generated and evaluated using both traditional techniques such as key components and newer methods such as boost trees. Many different model types may be fitted and compared, including regression models, neural networks, support vector machines, random forests, boost trees, and more. In addition, the user may have the option of including other model structures that are not part of this default collection. Model substructure selection (eg, selection of the number of hidden units in the neural network, specifications of other model-specific tuning parameters, etc.) is automated by extensive cross-validation as part of this model fitting and evaluation process. It may be done as a target.

4.最終モデルを選択する。最終モデルの選択は、予測モデル化システム100によって、またはユーザによって行われることができる。後者の場合、予測モデル化システムは、ユーザが、例えば、モデルのランク付けされた検証セット性能査定、性能を比較し、適合プロセスで使用されるもの以外の品質尺度によってランク付けするというオプション、および/または最良個別性能を呈するこれらの構成要素モデルからアンサンブルモデルを構築する機会を含む、本決定を行うことに役立つように、サポートを提供してもよい。 4. Select the final model. The selection of the final model can be made by the predictive modeling system 100 or by the user. In the latter case, the predictive modeling system allows the user to, for example, have a ranked validation set performance assessment of the model, compare performance, and rank by a quality scale other than that used in the conformance process, and / Or support may be provided to assist in making this decision, including the opportunity to build an ensemble model from these component models that exhibit the best individual performance.

いくつかの実施形態では、予測モデル化システム100が、データ前処理(例えば、異常検出)、データ分割、多重特徴生成、モデル適合、およびモデル評価を自動化し、効率的に実装するため、モデルを開発するために必要とされる時間は、従来の開発サイクルにおける時間よりもはるかに短くあり得る。さらに、いくつかの実施形態では、予測モデル化システムが、自動的に、欠けているデータおよび異常値のような周知のデータ異常、ならびに正常値(データ分布と一致するが誤っていない繰り返しの観察)および事後決定因子(すなわち、情報漏出から生じる極めて予測的な共変量)のようなあまり広く認識されていない異常を両方とも取り扱うデータ前処理プロシージャを含むため、結果として生じるモデルは、より正確で、より有用であり得る。いくつかの実施形態では、予測モデル化システム100は、従来的に実行可能であるよりも、非常に広範囲のモデルタイプおよび各タイプの多くのより具体的なモデルを探索することができる。本モデル多様性は、低下した品質のデータセットに適用されたときでさえも不十分な結果の可能性を大いに低減させ得る。 In some embodiments, the predictive modeling system 100 implements the model in order to automate and efficiently implement data preprocessing (eg, anomaly detection), data partitioning, multiple feature generation, model fitting, and model evaluation. The time required to develop can be much shorter than the time in a traditional development cycle. In addition, in some embodiments, the predictive modeling system automatically observes well-known data anomalies such as missing data and outliers, as well as normal values (repeated observations that match the data distribution but are not false). The resulting model is more accurate because it includes data preprocessing procedures that deal with both less widely recognized anomalies such as post-determinants (ie, highly predictive covariates resulting from information leakage). , Can be more useful. In some embodiments, the predictive modeling system 100 is able to explore a much wider range of model types and many more specific models of each type than is conventionally feasible. This model diversity can greatly reduce the likelihood of inadequate results even when applied to poor quality datasets.

予測モデル化システムの実装図5を参照すると、いくつかの実施形態では、予測モデル化システム500(例えば、予測モデル化システム100の実施形態)は、少なくとも1つのクライアントコンピュータ510と、少なくとも1つのサーバ550と、1つまたはそれを上回る処理ノード570とを含む。例証的構成は、例示的目的のためにすぎず、任意の数のクライアント510および/またはサーバ550があり得ることが意図される。 Implementation of Predictive Modeling System With reference to FIG. 5, in some embodiments, the predictive modeling system 500 (eg, the embodiment of predictive modeling system 100) has at least one client computer 510 and at least one server. Includes 550 and one or more processing nodes 570. Illustrative configurations are for illustrative purposes only, and it is intended that there can be any number of clients 510 and / or servers 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)上に実装されてもよい。 In some embodiments, the predictive modeling system 500 may perform one or more (eg, all) steps of method 300. In some embodiments, the client 510 may implement the user interface 120, and the predictive modeling module 552 of the server 550 may include other components of the predictive modeling system 100 (eg, the modeled space search engine 110). , A library of modeling techniques 130, a library of prediction problems, and / or a modeling deployment engine 140). In some embodiments, the computational resources allocated by the search engine 110 for exploring the modeled search space may be one or more resources of processing node 570, one or more. Node 570 may perform modeling techniques according to a resource allocation schedule. However, the embodiment is not limited by the mode in which the components of the predictive modeling system 100 or the predictive modeling method 300 are distributed among the client 510, the server 550, and one or more processing nodes 570. Further, in some embodiments, all components of the predictive modeling system 100 are implemented on a single computer (instead of being distributed among clients 510, servers 550, and processing nodes 570). Alternatively, it may be implemented on two computers (eg, client 510 and server 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)、および/またはインターネットとして公知のグローバル通信ネットワークを含む。 One or more communication networks 530 connect the client 510 to the server 550, and one or more communication networks 580 connect the server 550 to the processing node 570. Communication is by stand-alone telephone line, LAN or WAN link (eg, T1, T3, 56kb, X.25), wideband connection (ISDN, Frame Relay, ATM), and / or wireless link (IEEE 802.11, Bluetooth (eg, IEEE 802.11, Bluetooth). It may be done via any medium such as registered trademark)). Preferably, the network 530/580 can carry TCP / IP protocol communications, and the data transmitted by the client 510, server 550, and processing node 570 (eg, HTTP / HTTPS requests, etc.) is such. It can be transmitted via a TCP / IP network. The type of network is not limited, but any suitable network may be used. Non-limiting examples of networks that serve or may be part of the communication network 530/580 are wireless or wired Ethernet® based, which can be adapted to many different communication media and protocols. Includes intranets, local or wide area networks (LAN or WAN), and / or global communications networks known as the Internet.

クライアント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としての機能を果たすためのみに使用される特殊用途ハードウェアデバイス等のハードウェア上で実装されてもよい。 The client 510 is preferably implemented with software 512 running on hardware. In some embodiments, the hardware is a MICROSOFT WINDOWS® operating system from Microsoft Corporation (Redmond, Washington), a MACINTOSH operating system from Apple Computer (Cupertino, California), and MACINTOSH operating systems. Various types of Unix®, such as SUN SOLARIS from RED HAT, INC. It may also include a personal computer (eg, a PC with an INTEL processor or APPLE MACINTOSH) capable of running an operating system such as GNU / Linux® from (Durham, North Carolina). Client 510 may also be a smart or dumb terminal, network computer, wireless device, wireless phone, information appliance, workstation, minicomputer, mainframe computer, mobile information terminal, tablet, smartphone, or other computer operated as a general purpose computer. It may be implemented on hardware such as a device or a special purpose hardware device that is used only to perform its function as a client 510.

概して、いくつかの実施形態では、クライアント510は、電子メールおよび/またはインスタントメッセージを送受信すること、ワールドワイドウェブを経由して利用可能なコンテンツを要求して閲覧すること、チャットルームに参加すること、もしくはコンピュータ、ハンドヘルドデバイス、または携帯電話を使用して一般的に行われる他のタスクを行うことを含む、種々の活動のために操作され、使用されることができる。クライアント510はまた、雇用の一部としてクライアント510をユーザに提供する従業員等の他者の代わりに、ユーザによって操作されることもできる。 In general, in some embodiments, the client 510 sends and receives emails and / or instant messages, requests and browses content available via the World Wide Web, and participates in chat rooms. , Or can be manipulated and used for a variety of activities, including performing other commonly performed tasks using a computer, handheld device, or mobile phone. The client 510 can also be operated by the user on behalf of others, such as employees, who provide the client 510 to the user as part of employment.

種々の実施形態では、クライアントコンピュータ510のソフトウェア512は、クライアントソフトウェア514および/またはウェブブラウザ516を含む。ウェブブラウザ514は、クライアント510が、ウェブページ要求を用いて(例えば、サーバ550から)ウェブページまたは他のダウンロード可能プログラム、アプレット、もしくはドキュメントを要求することを可能にする。ウェブページの一実施例は、表示、実行、再生、処理、ストリーム配信、および/または記憶されることができ、かつ他のウェブページへのリンクもしくはポインタを含有することができる、コンピュータ実行可能または解釈可能情報、グラフィックス、音声、テキスト、および/またはビデオを含む、データファイルである。市販のウェブブラウザソフトウェア516の実施例は、Microsoft Corporationによって提供されるINTERNET EXPLORER、AOL/Time Warnerによって提供されるNETSCAPE NAVIGATOR、Mozilla Foundationによって提供されるFIREFOX、またはGoogleによって提供されるCHROMEである。 In various embodiments, software 512 of client computer 510 includes client software 514 and / or web browser 516. The web browser 514 allows the client 510 to request a web page or other downloadable program, applet, or document using a web page request (eg, from server 550). An embodiment of a web page can be displayed, run, played, processed, streamed, and / or stored, and can contain links or pointers to other web pages, computer executable or A data file that contains interpretable information, graphics, audio, text, and / or video. Examples of commercial web browser software 516 are provided by INTERNET EXPLORER provided by Microsoft Corporation, NETSCAPE NAVIGATOR provided by AOL / Time Warner, FIREFOX provided by Mozilla Foundation, or CHROM provided by Mozilla.

いくつかの実施形態では、ソフトウェア512は、クライアントソフトウェア514を含む。クライアントソフトウェア514は、例えば、ユーザが電子メール、インスタントメッセージ、電話の呼び出し、ビデオメッセージ、ストリーミングオーディオまたはビデオ、もしくは他のコンテンツを送受信することを可能にする、機能性をクライアント510に提供する。クライアントソフトウェア514の実施例は、Microsoft Corporationによって提供されるOUTLOOKおよびOUTLOOK EXPRESS、Mozilla Foundationによって提供されるTHUNDERBIRD、およびAOL/Time Warnerによって提供されるINSTANT MESSENGERを含むが、それらに限定されない。中央処理装置、揮発性および不揮発性記憶装置、入出力デバイス、およびディスプレイを含む、クライアントコンピュータと関連付けられる標準構成要素は、示されていない。 In some embodiments, software 512 includes client software 514. Client software 514 provides client 510 with functionality that allows users to send and receive, for example, email, instant messaging, phone calls, video messages, streaming audio or video, or other content. Examples of client software 514 include, but are not limited to, OUTLOOK and OUTLOOK EXPRESS provided by Microsoft Corporation, THUNDERBIRD provided by Mozilla Foundation, and INSTANT MESSENGER provided by AOL / Time Warner. Standard components associated with client computers, including central processing units, volatile and non-volatile storage devices, input / output devices, and displays, are not shown.

いくつかの実施形態では、ウェブブラウザソフトウェア516および/またはクライアントソフトウェア514は、クライアントが予測モデル化システム100のためのユーザインターフェース120にアクセスすることを可能にしてもよい。 In some embodiments, the web browser software 516 and / or the client software 514 may allow the client to access the user interface 120 for the predictive modeling system 100.

サーバ550は、クライアント510と相互作用する。サーバ550は、好ましくは、十分なメモリ、データ記憶、および処理能力を有し、かつサーバクラスオペレーティングシステム(例えば、SUN Solaris、GNU/Linux(登録商標)、およびMICROSOFT WINDOWS(登録商標)族のオペレーティングシステム)を実行する、1つまたはそれを上回るサーバクラスコンピュータ上で実装される。デバイスの容量およびユーザベースのサイズに応じて、本明細書に具体的に説明されるもの以外のシステムハードウェアおよびソフトウェアもまた、使用されてもよい。例えば、サーバ550は、サーバファームもしくはサーバネットワーク等の1つまたはそれを上回るサーバの論理グループであってもよく、またはその一部であってもよい。別の実施例として、相互と関連付けられる、または接続される複数のサーバ550があってもよく、もしくは複数のサーバが、共有データを用いるが独立して動作してもよい。さらなる実施形態では、大規模システムで典型的であるように、異なるサーバコンピュータ上、同一のサーバ上、またはある組み合わせで作動する、異なる構成要素を伴って、アプリケーションソフトウェアが構成要素で実装されることができる。 The server 550 interacts with the client 510. The server 550 preferably has sufficient memory, data storage, and processing power and is a server-class operating system (eg, SUN Solaris, GNU / Linux®, and MICROSOFT WINDOWS® operating systems. Implemented on one or more server-class computers running the system). Depending on the capacity of the device and the size of the user base, system hardware and software other than those specifically described herein may also be used. For example, the server 550 may be a logical group of one or more servers, such as a server farm or server network, or part of it. As another embodiment, there may be a plurality of servers 550 associated with or connected to each other, or a plurality of servers may operate independently using shared data. In a further embodiment, the application software is implemented in the components with different components running on different server computers, on the same server, or in some combination, as is typical in large systems. Can be done.

いくつかの実施形態では、サーバ550は、予測モデル化モジュール552、通信モジュール556、および/またはデータ記憶モジュール554を含む。いくつかの実施形態では、予測モデル化モジュール552は、モデル化空間探索エンジン110、モデル化技法130のライブラリ、予測問題のライブラリ、および/またはモデル化展開エンジン140を実装してもよい。いくつかの実施形態では、サーバ550は、予測モデル化モジュール552の出力をクライアント510に伝達するため、および/または処理ノード570上のモデル化技法の実行を監督するために、通信モジュール556を使用してもよい。本明細書の全体を通して説明されるモジュールは、1つまたは複数の任意の好適なプログラミング言語(C++、C#、java(登録商標)、LISP、BASIC、PERL等)を使用して、全体的もしくは部分的にソフトウェアプログラムとして、および/またはハードウェアデバイス(例えば、ASIC、FPGA、プロセッサ、メモリ、記憶装置、および同等物)として、実装されることができる。 In some embodiments, the server 550 includes a predictive modeling module 552, a communication module 556, and / or a data storage module 554. In some embodiments, the predictive modeling module 552 may implement a modeled space exploration engine 110, a library of modeling techniques 130, a library of predictive problems, and / or a modeled deployment engine 140. In some embodiments, server 550 uses communication module 556 to propagate the output of predictive modeling module 552 to client 510 and / or to supervise the execution of modeling techniques on processing node 570. You may. The modules described throughout this specification may be in whole or using any suitable programming language (C ++, C #, Java®, LISP, BASIC, Perl, etc.). It can be implemented in part as a software program and / or as a hardware device (eg, ASIC, FPGA, processor, memory, storage, and equivalent).

データ記憶モジュール554は、例えば、予測モデル化ライブラリ130および/または予測問題のライブラリを記憶してもよい。データ記憶モジュール554は、例えば、MySQL AB(Uppsala, Sweden)によるMySQLデータベースサーバ、PostgreSQL Global Development Group(Berkeley,CA)によるPostgreSQLデータベースサーバ、またはORACLE Corp.(Redwood Shores,CA)によって提供されるORACLEデータベースサーバを使用して、実装されてもよい。 The data storage module 554 may store, for example, the prediction modeling library 130 and / or the library of prediction problems. The data storage module 554 may be, for example, a MySQL database server by MySQL AB (Uppsala, Sweden), a PostgreSQL database server by PostgreSQL Global Development Group (Berkeley, CA), or an ORACLE Corp. It may be implemented using the Oracle database server provided by (Redwood Shores, CA).

図6−8は、予測モデル化システム100の1つの可能な実装を図示する。図6−8の議論は、いくつかの実施形態の一例として挙げられ、決して限定的ではない。 FIG. 6-8 illustrates one possible implementation of the predictive modeling system 100. The discussion in Figure 6-8 is given as an example of some embodiments and is by no means limiting.

前述のプロシージャを実行するために、予測モデル化システム100は、種々のクライアントおよびサーバコンピュータ上で作動する分散型ソフトウェアアーキテクチャ600を使用してもよい。ソフトウェアアーキテクチャ600の目標は、豊富なユーザ経験および計算集約的処理を同時に実現することである。ソフトウェアアーキテクチャ600は、基本4層インターネットアーキテクチャの変形例を実装してもよい。図6に図示されるように、これは、アプリケーションおよびデータ層を介して調整される、クラウドベースの計算を活用するように、本基盤を拡張する。 To execute the procedure described above, the predictive modeling system 100 may use a distributed software architecture 600 running on various client and server computers. The goal of Software Architecture 600 is to achieve a wealth of user experience and computationally intensive processing at the same time. The software architecture 600 may implement a variant of the basic four-layer Internet architecture. As illustrated in FIG. 6, it extends the infrastructure to take advantage of cloud-based computations coordinated through applications and data layers.

アーキテクチャ600と基本4層インターネットアーキテクチャとの間の類似性および差異は、以下を含んでもよい。 Similarities and differences between Architecture 600 and the basic four-tier Internet architecture may include:

(1)クライアント610。アーキテクチャ600は、クライアント610について任意の他のインターネットアプリケーションと本質的に同一の仮定を立てる。主要な使用事例は、複雑なタスクを行うための長い時間周期にわたる頻繁なアクセスを含む。したがって、標的プラットフォームは、ラップトップまたはデスクトップ上で作動する豊富なウェブクライアントを含む。しかしながら、ユーザは、モバイルデバイスを介してアーキテクチャにアクセスしてもよい。したがって、アーキテクチャは、比較的薄いクライアント側ライブラリを使用して、インターフェースサービスAPIに直接アクセスする、ネイティブクライアント612に適応するように設計される。当然ながら、Java(登録商標)およびFlash等の任意のクロスプラットフォームGUI層が、同様にこれらのAPIにアクセスすることができる。 (1) Client 610. Architecture 600 makes essentially the same assumptions about the client 610 as any other Internet application. Key use cases include frequent access over long time cycles to perform complex tasks. Therefore, target platforms include a wealth of web clients running on laptops or desktops. However, the user may access the architecture via a mobile device. Therefore, the architecture is designed to adapt to native client 612, which has direct access to the interface service API, using a relatively thin client-side library. Of course, any cross-platform GUI layer such as Java® and Flash can access these APIs as well.

(2)インターフェースサービス620。アーキテクチャの本層は、基本インターネット表現層の拡張バージョンである。機械学習を指図するために使用され得る精巧なユーザ相互作用により、代替実装は、本層を介して、スタティックHTML、ダイナミックHTML、SVG視覚化、実行可能Javascript(登録商標)コード、および内蔵IDEさえも含む、多種多様なコンテンツをサポートしてもよい。また、新しいインターネット技術が進化するにつれて、実装は、新しい形態のクライアントに適応し、またはユーザ相互作用論理を実行するためのクライアント、提示、およびアプリケーション層の間の作業の分担を変更する必要があり得る。したがって、それらのインターフェースサービス層620は、認証、アクセス制御、および入力検証等の共通サポート設備を加えて、様々な豊富度の複数のコンテンツ配信機構を統合するための柔軟なフレームワークを提供してもよい。 (2) Interface service 620. This layer of architecture is an extended version of the basic Internet presentation layer. Due to the elaborate user interaction that can be used to direct machine learning, alternative implementations are via this layer, static HTML, dynamic HTML, SVG visualization, executable Javascript® code, and even the built-in IDE. May support a wide variety of content, including. Also, as new Internet technologies evolve, implementations need to adapt to new forms of clients or change the division of work between client, presentation, and application layers to perform user interaction logic. obtain. Therefore, their interface service layer 620 provides a flexible framework for integrating multiple content distribution mechanisms of varying abundance, with common support equipment such as authentication, access control, and input validation. May be good.

(3)分析サービス630。アーキテクチャが、予測分析論ソリューションを生成するために使用されてもよいため、そのアプリケーション層は、分析サービスを配信することに集中する。機械学習の計算強度は、標準アプリケーション層への主要な増進、すなわち、クラウド環境で作動する多数の仮想「ワーカ」への機械学習タスクの動的割付を駆動する。実行エンジンによって生成される、あらゆる種類の論理計算要求に関して、分析サービス層630は、要求を容認し、要求をジョブに分け、ジョブをワーカに割り当て、ジョブ実行のために必要なデータを提供し、実行結果を照合するように、他の層と連携する。また、標準アプリケーション層からの関連差異もある。予測モデル化システム100は、ユーザが独自の機械学習技法を開発することを可能にしてもよく、したがって、いくつかの実装は、それらの能力がクライアント、インターフェースサービス、および分析サービス層にわたって分割された、1つまたはそれを上回る完全IDEを提供してもよい。次いで、実行エンジンは、これらのIDEを介して作成される新しい改良型技法を将来の機械学習計算に組み込む。 (3) Analysis service 630. The application layer is focused on delivering analytical services, as the architecture may be used to generate predictive analytical solutions. The computational strength of machine learning drives a major enhancement to the standard application layer, namely the dynamic allocation of machine learning tasks to a large number of virtual "workers" running in a cloud environment. For all kinds of logical operation requests generated by the execution engine, the analysis service layer 630 accepts the requests, divides the requests into jobs, assigns the jobs to workers, provides the data necessary for job execution, and provides the data necessary for job execution. Cooperate with other layers so that the execution results are collated. There are also relevant differences from the standard application layer. The predictive modeling system 100 may allow users to develop their own machine learning techniques, so some implementations have their capabilities divided across the client, interface services, and analytics service layers. One or more complete IDEs may be provided. The execution engine then incorporates new and improved techniques created through these IDEs into future machine learning calculations.

(4)ワーカクラウド640。モデル化計算を効率的に行うために、予測モデル化システム100は、それらをより小さいジョブに分けてもよく、クラウド環境で作動する仮想ワーカインスタンスにそれらを割り付ける。アーキテクチャ600は、異なるタイプのワーカおよび異なるタイプのクラウドを可能にする。各ワーカタイプは、具体的仮想マシン構成に対応する。例えば、デフォルトワーカタイプは、信頼されたモデル化コードのための一般的機械学習能力を提供する。しかし、別のタイプは、ユーザ開発コードのための付加的なセキュリティ「サンドボクシング」を施行する。代替タイプは、具体的機械学習技法のために最適化される構成を提供し得る。分析サービス層630が各ワーカタイプの目的を理解する限り、適切にジョブを割り付けることができる。同様に、分析サービス層630は、異なるタイプのクラウド内のワーカを管理することができる。団体は、そのプライベートクラウド内のインスタンスのプールを維持するとともに、公開クラウド内のインスタンスを実行するオプションを有し得る。これはまた、異なる種類の商業クラウドサービスまたは専用内部サービス上でさえも作動する、インスタンスの異なるプールさえも有し得る。分析サービス層630が能力および費用のトレードオフを理解する限り、適切にジョブを割り付けることができる。 (4) Worker cloud 640. To efficiently perform the modeling calculations, the predictive modeling system 100 may divide them into smaller jobs and allocate them to virtual worker instances running in a cloud environment. Architecture 600 enables different types of workers and different types of clouds. Each worker type corresponds to a specific virtual machine configuration. For example, the default worker type provides general machine learning capabilities for trusted modeling code. However, another type enforces additional security "sandboxing" for user-developed code. Alternative types may provide configurations that are optimized for specific machine learning techniques. Jobs can be allocated appropriately as long as the analysis service layer 630 understands the purpose of each worker type. Similarly, the analytics service layer 630 can manage workers in different types of clouds. Organizations may have the option to maintain a pool of instances in their private cloud and run instances in their public cloud. It can also have different pools of instances running on different types of commercial cloud services or even dedicated internal services. Jobs can be assigned appropriately as long as the analysis service layer 630 understands the trade-off between capacity and cost.

(5)データサービス650。アーキテクチャ600は、種々の層内で作動する種々のサービスが、対応する種々の記憶オプションから利益を享受し得ることを仮定する。したがって、これは、データサービス650の豊富なアレイを配信するためのフレームワーク、例えば、任意のタイプの恒久的データのためのファイル記憶装置、キャッシング等の目的のための一時的データベース、および長期記録管理のための恒久的データベースを提供する。そのようなサービスは、クラウドワーカおよびIDEサーバのために使用される仮想マシンイメージファイル等の特定のタイプのコンテンツのために特殊化さえされてもよい。ある場合には、データサービス層650の実装は、他の層が円滑に連動することができるように、具体的タイプのデータ上で特定のアクセスイディオムを施行してもよい。例えば、データセットおよびモデル結果のための形式を標準化することは、ジョブをワーカに割り当てるときに、分析サービス層630が単純にユーザのデータセットの参照をパスし得ることを意味する。次いで、ワーカは、データサービス層650から本データセットにアクセスし、順に、データサービス650を介して記憶した、モデル結果の参照を返すことができる。 (5) Data service 650. Architecture 600 assumes that different services operating within different layers can benefit from different corresponding storage options. Therefore, it is a framework for delivering a rich array of data services 650, such as file storage for any type of permanent data, temporary databases for caching and other purposes, and long-term records. Provide a permanent database for management. Such services may even be specialized for certain types of content, such as virtual machine image files used for cloud workers and IDE servers. In some cases, the implementation of data service layer 650 may implement a particular access idiom on a particular type of data so that other layers can work together smoothly. For example, standardizing the format for datasets and model results means that when assigning jobs to workers, analytics service layer 630 can simply pass references to the user's dataset. The worker can then access the dataset from the data service layer 650 and, in turn, return a reference to the model results stored via the data service 650.

(6)外部システム660。任意の他のインターネットアプリケーションのように、APIの使用は、外部システムがアーキテクチャ600の任意の層において予測モデル化システム100と統合することを可能にしてもよい。例えば、ビジネスダッシュボードアプリケーションは、インターフェースサービス層620を通して、グラフィック視覚化およびモデル化結果にアクセスすることができる。外部データウェアハウスまたはライブビジネスアプリケーションさえも、データ統合プラットフォームを通してモデル化データセットを分析サービス層630に提供することができる。報告アプリケーションは、データサービス層650を通して、特定の時間周期からの全てのモデル化結果にアクセスすることができる。しかしながら、殆どの状況下で、外部システムは、ワーカクラウド640に直接アクセスすることができず、分析サービス層630を介してそれらを利用するであろう。 (6) External system 660. Like any other internet application, the use of APIs may allow external systems to integrate with the predictive modeling system 100 at any layer of architecture 600. For example, a business dashboard application can access graphic visualization and modeling results through the interface service layer 620. External data warehouses or even live business applications can provide modeled datasets to analytics service layer 630 through a data integration platform. The reporting application can access all modeling results from a particular time cycle through the data service layer 650. However, under most circumstances, external systems will not have direct access to the worker cloud 640 and will utilize them via the analytics service layer 630.

多層アーキテクチャと同様に、アーキテクチャ600の層は、論理的である。物理的に、異なる層からのサービスが、同一のマシン上で作動することができ、同一層内の異なるモジュールが、別個のマシン上で作動することができ、同一のモジュールの複数のインスタンスが、いくつかのマシンにわたって作動することができる。同様に、1つの層内のサービスは、複数のネットワークセグメントにわたって作動することができ、異なる層からのサービスは、異なるネットワークセグメント上で作動する場合もあり、作動しない場合もある。しかし、論理構造は、異なるモジュールが相互作用するであろう方法についての開発者およびオペレータの期待を調整することに役立つとともに、拡張可能性、信頼性、およびセキュリティ等のサービスレベル実装の平衡を保つために必要な融通性をオペレータに与える。 As with multitier architectures, the layers of architecture 600 are logical. Physically, services from different tiers can run on the same machine, different modules in the same tier can run on different machines, and multiple instances of the same module can run. It can work across several machines. Similarly, services within one layer can operate across multiple network segments, and services from different layers may or may not operate on different network segments. However, the logical structure helps to align developer and operator expectations about how different modules will interact, while balancing service-level implementations such as scalability, reliability, and security. Give the operator the flexibility needed to do this.

高レベル層は、典型的なインターネットアプリケーションのものに合理的に類似すると考えられるが、クラウドベースの計算の追加は、情報がどのようにしてシステムを通って流れるかを実質的に変更してもよい。 The high-level layer is considered reasonably similar to that of a typical Internet application, but the addition of cloud-based computations can substantially change how information flows through the system. Good.

インターネットアプリケーションは、通常、2つの明確に異なるタイプ、すなわち、同期または非同期ユーザ相互作用を提供する。航空路線のフライトを見つけることおよび予約すること等の概念的に同期的な動作では、ユーザは、要求を行い、次の要求を行う前に応答を待つ。ある基準を満たすオンライン取引のためのアラートを設定すること等の概念的に非同期的な動作では、ユーザは、要求を行い、システムがある以降の時間にユーザに結果を通知することを期待する。(典型的には、本システムは、初期要求「チケット」をユーザに提供し、指定通信チャネルを通して通知を提供する。) Internet applications typically offer two distinct types: synchronous or asynchronous user interaction. In conceptually synchronous operations such as finding and booking flights on an air route, the user makes a request and waits for a response before making the next request. In conceptually asynchronous behavior, such as setting alerts for online transactions that meet certain criteria, the user expects to make a request and notify the user of the result at a later time in the system. (Typically, the system provides the user with an initial request "ticket" and provides notifications through a designated communication channel.)

対照的に、機械学習モデルを構築して精緻化することは、中間のどこかで相互作用パターンを伴ってもよい。モデル化問題を設定することは、初期の一連の概念的に同期的なステップを伴ってもよい。しかし、ユーザが代替ソリューションを計算し始めるようにシステムに命令するとき、対応する計算の規模を理解するユーザは、即時応答を期待する可能性が低い。具体的には、遅延した結果の本期待は、相互作用の本段階を非同期的に見えさせる。 In contrast, building and refining machine learning models may involve interaction patterns somewhere in the middle. Setting up a modeling problem may involve an initial set of conceptually synchronous steps. However, when a user instructs a system to start computing an alternative solution, a user who understands the scale of the corresponding calculation is unlikely to expect an immediate response. Specifically, this expectation of delayed results makes this stage of interaction appear asynchronously.

しかしながら、予測モデル化システム100は、「ファイア・アンド・フォーゲット」をユーザに強制せず、すなわち、通知を受信するまで問題への独自の従事を停止する。実際、これは、データセットを探索し続け、予備結果が到着するとすぐにそれらを精査するようにユーザを促してもよい。そのような付加的探索または初期洞察は、ユーザに「飛行中に」モデル構築パラメータを変更する気を起こさせる。次いで、本システムは、要求された変更を処理し、処理タスクを再び割り付けてもよい。予測モデル化システム100は、ユーザのセッションの全体を通して連続的に本要求・改訂動態を可能にしてもよい。 However, the predictive modeling system 100 does not force the user to "fire and forget", i.e., stops its own engagement with the problem until it receives a notification. In fact, this may prompt the user to continue exploring the dataset and scrutinize them as soon as preliminary results arrive. Such additional exploration or initial insight motivates the user to change model building parameters "in flight". The system may then process the requested changes and reassign processing tasks. The predictive modeling system 100 may enable this request / revision dynamic continuously throughout the user's session.

したがって、分析サービスおよびデータサービス層は、一方でのユーザからの要求・応答ループと他方でのワーカクラウドへの要求・応答ループとの間で仲介してもよい。図7は、本観点を図示する。 Therefore, the analysis service and data service layer may mediate between the request / response loop from one user and the request / response loop to the worker cloud on the other. FIG. 7 illustrates this viewpoint.

図7は、予測モデル化システム100が必ずしも層状モデルの中へきれいに適合しないことを強調し、各層が大部分はその直下の層のみに依拠することを仮定する。むしろ、分析サービス630およびデータサービス650は、ユーザおよび計算を強調的に調整する。本観点を考慮して、情報フローの3つの「列」がある。 FIG. 7 emphasizes that the predictive modeling system 100 does not always fit neatly into a layered model, assuming that each layer relies mostly solely on the layer immediately below it. Rather, the analysis service 630 and the data service 650 emphasize user and computation. Considering this point of view, there are three "columns" of information flow.

(1)Interface<−>Analytic+Data。フロー710の最左列は、最初に、ユーザの未加工データセットおよびモデル化要件を、計算ジョブの精緻化されたデータセットおよびリストに変換し、次いで、結果を融合し、容易に把握することができる形式でユーザに配信する。したがって、目標および制約が、インターフェースサービス620から分析サービス630まで流れる一方で、進行および期待は、後方に流れる。並行して、未加工データセットおよびユーザ注釈が、インターフェースサービス620からデータサービス650まで流れる一方で、訓練されたモデルおよびそれらの性能測定基準は、後方に流れる。任意の時点で、ユーザは、変更を開始し、分析サービス630およびデータサービス650層による調節を施行することができる。本動的循環フローに加えて、(例えば、インターフェースサービス620が、分析サービス640からシステム状態、またはデータサービス650から静的コンテンツを読み出すときに)より従来的な線形相互作用もあることに留意されたい。 (1) Interface <-> Analytic + Data. The leftmost column of flow 710 first transforms the user's raw datasets and modeling requirements into a refined dataset and list of computational jobs, then fuses the results for easy grasping. Deliver to users in a format that allows. Thus, goals and constraints flow from interface service 620 to analysis service 630, while progress and expectations flow backwards. In parallel, raw datasets and user annotations flow from interface service 620 to data service 650, while trained models and their performance metrics flow backwards. At any time, the user can initiate the change and enforce the adjustments by the analysis service 630 and the data service 650 tier. Note that in addition to this dynamic circular flow, there are also more conventional linear interactions (eg, when interface service 620 reads system state from analysis service 640 or static content from data service 650). I want to.

(2)Analytic+Data<−>Worker。フロー730の最右列は、ワーカを供給し、計算ジョブを割り当て、これらのジョブのためにデータを提供する。したがって、ジョブ割り当て、それらのパラメータ、およびデータ参照が、分析サービス630からワーカクラウド640まで流れる一方で、進行および期待は、後方に流れる。精緻化されたデータセットが、データサービス650からワーカクラウド640まで流れる一方で、モデル化結果は、後方に流れる。ユーザからの更新された指図は、強制的に分析サービス層630に、飛行中にワーカを中断させ、更新されたモデル化ジョブを割当させるとともに、データサービス層650からのデータセットのリフレッシュを強制することができる。順に、更新された割当およびデータセットは、ワーカから戻る結果のフローを変化させる。 (2) Analytic + Data <-> Worker. The rightmost column of flow 730 supplies workers, allocates computational jobs, and provides data for these jobs. Thus, job assignments, their parameters, and data references flow from analysis service 630 to worker cloud 640, while progress and expectations flow backwards. The refined dataset flows from the data service 650 to the worker cloud 640, while the modeling results flow backwards. The updated instructions from the user force the analytics service layer 630 to suspend the worker during flight, assign the updated modeling job, and force the dataset to be refreshed from the data service layer 650. be able to. In turn, the updated allocations and datasets change the flow of results returned from the worker.

(3)Analytic<−>Data。中間の2つの層は、左および右の列の間を仲介するように、それらの間で連動することができる。本トラフィック720の大部分は、クラウドワーカの実行進行および中間計算を追跡することに関与する。しかし、フローは、モデル構築命令への上述の飛行中変更に応答するときに、特に複雑になり得る。分析およびデータサービスは、計算の現在の状態を査定し、どの中間計算が依然として有効であるかを判定し、新しい計算ジョブを正しく構築する。当然ながら、(例えば、分析サービスがデータサービスからクラウドワーカのための規則および構成を読み出すときに)より従来的な線形相互作用もある。 (3) Analytic <-> Data. The two layers in the middle can be interlocked between them so as to mediate between the left and right columns. Most of this traffic 720 is involved in tracking the execution progress and intermediate calculations of the cloud worker. However, the flow can be particularly complex when responding to the above-mentioned in-flight changes to model building instructions. Analysis and data services assess the current state of the calculation, determine which intermediate calculations are still valid, and build the new calculation job correctly. Of course, there are also more conventional linear interactions (eg, when the analytics service reads the rules and configurations for the cloudworker from the data service).

情報フローの本概念モデルは、層内の機能的モジュールの配列のためのコンテキストを提供する。それらは、単純に、アプリケーションプログラミングインターフェース(API)をより高いレベルのブロックに提供し、より低いレベルのブロックからAPIを消費する、状態のないブロックではない。むしろ、それらは、ユーザ間の協調および計算への動的参加者である。図8は、これらの機能的モジュールの配列を提示する。ユーザの観点から、インターフェースサービス層は、機能性のいくつかの明確に異なる領域を提供する。 This conceptual model of information flow provides a context for an array of functional modules within a layer. They are not stateless blocks that simply provide an application programming interface (API) to higher level blocks and consume APIs from lower level blocks. Rather, they are dynamic participants in coordination and computation between users. FIG. 8 presents an array of these functional modules. From the user's point of view, the interface services layer provides several distinct areas of functionality.

(1)ユーザ/プロジェクト管理802。各機械学習プロジェクトは、プロジェクトレベルパラメータ、責任、およびリソースを管理するために、インターフェースのプロジェクト管理構成要素を使用することができる、少なくとも1人の割り当てられた管理者を有する。本機能的構成要素はまた、システムレベル管理機能もサポートする。 (1) User / project management 802. Each machine learning project has at least one assigned administrator who can use the project management components of the interface to manage project level parameters, responsibilities, and resources. This functional component also supports system level management functions.

(2)監視810。本モジュールは、コンピューティングインフラストラクチャ上で診断を提供する。これは、各ワーカインスタンスのためにリアルタイムおよび各計算ジョブのために全体の両方で、計算リソース使用量を追跡するように分析サービス層内の対応するモジュール818と協働する。 (2) Monitoring 810. This module provides diagnostics on the computing infrastructure. It works with the corresponding module 818 within the analytics services layer to track compute resource usage, both in real time for each worker instance and overall for each compute job.

(3)技法設計者804。本モジュールは、前述の方法、技法、およびタスクビルダを使用するためのグラフィカルインターフェースをサポートする。本グラフィカルインターフェースがどのようにして実装され得るかという実施例は、Javascript(登録商標)がクライアント610内で作動し、AJAX要求を介して技法設計者804と通信し、ユーザ用のグラフを図式的にレンダリングし、変更をサーバにプッシュ配信して戻すことである。 (3) Technique designer 804. This module supports the methods, techniques, and graphical interfaces for using the task builder described above. An example of how this graphical interface can be implemented is that Javascript® operates within the client 610, communicates with the technique designer 804 via an AJAX request, and graphically illustrates the graph for the user. Render to and push changes back to the server.

(4)技法IDE812。以前に説明されたように、予測モデル化システム100のいくつかの実装は、リーフレベルタスクを実装するためのIDEへの内蔵アクセスを技法開発者に提供してもよい。そのようなIDEは、Python等の機械学習に使用される汎用プログラミング言語、またはR等の特殊化科学コンピューティング環境をサポートすることができる。本機能性は、クライアント610、インターフェースサービス620、および分析サービス630層にわたって実行してもよい。クライアント構成要素610は、最初にAJAXを介したインターフェースサービス構成要素とのセッションを登録する、IDE環境用のJavascript(登録商標)コンテナをダウンロードして実行することができる。登録要求を認証して有効性を検証した後、インターフェースサービス構成要素は、ユーザのプロジェクトデータをクライアント610にダウンロードし、分析サービス層内で作動する専用IDEサーバインスタンスにセッションを引き渡す。次いで、本サーバインスタンスは、ウェブソケットを介してクライアント610と直接通信する。 (4) Technique IDE812. As previously described, some implementations of the predictive modeling system 100 may provide technique developers with built-in access to the IDE to implement leaf-level tasks. Such an IDE can support a general-purpose programming language used for machine learning such as Python, or a specialized scientific computing environment such as R. This functionality may be performed across the client 610, interface service 620, and analysis service 630 layers. Client component 610 can download and execute a Javascript® container for the IDE environment that first registers a session with the interface service component via AJAX. After authenticating the registration request and verifying its validity, the interface service component downloads the user's project data to the client 610 and hands over the session to a dedicated IDE server instance running within the analytics service layer. The server instance then communicates directly with the client 610 via websocket.

(5)データツール806。本モジュールは、モデルビルダがデータセットを規定し、それを理解し、モデル構築のためのそれを準備することを可能にする。 (5) Data tool 806. This module allows the model builder to define a dataset, understand it, and prepare it for model building.

(6)モデル化ダッシュボード814。各プロジェクトは、独自のモデル化ダッシュボードを有する。本モジュールのインスタンスは、プロジェクトのためのモデル化プロセスを立ち上げ、結果が到着するとそれらを測定し、飛行中調節を行うように、制御機器および計測機器をモデルビルダに提供する。これは、どのモデル化技法がどのデータセットに対して作動するかを計算し、これらの要件を分析サービス層にパスする。いったん実行エンジンがモデルを構築し始めると、本モジュールは、実行状態および制御を提供する。 (6) Modeled dashboard 814. Each project has its own modeling dashboard. An instance of this module launches a modeling process for the project, measures them as the results arrive, and provides the model builder with control and measurement equipment to make in-flight adjustments. It calculates which modeling technique works for which dataset and passes these requirements to the analytics services layer. Once the execution engine begins to build the model, this module provides execution state and control.

(7)洞察808。いったん機械学習プロセスが実質的な結果を生成し始めると、本モジュールは、より深い洞察をモデルビルダに提供する。実施例は、テキストマイニング概要、予測因子重要性、および各予測因子と標的との間の一方向関係を含む。これらの洞察の大部分は、理解することが容易であり、統計学の深い知識を必要としない。 (7) Insight 808. Once the machine learning process begins to produce substantive results, this module provides the model builder with deeper insights. Examples include a text mining overview, predictor importance, and a one-way relationship between each predictor and the target. Most of these insights are easy to understand and do not require a deep knowledge of statistics.

(8)予測816。いったん実行エンジンが少なくとも1つのモデルを構築すると、本モジュールは、新しいデータに基づいて予測を行うためのインターフェースを提供する。 (8) Prediction 816. Once the execution engine builds at least one model, this module provides an interface for making predictions based on new data.

インターフェースサービス層内の活動は、分析サービス層内の活動をトリガする。上記で議論されるように、技法IDEおよび監視モジュールは、部分的に分析サービス層内で実行されるように分割される(監視モジュール818および技法IDEモジュール820を参照)。本層内の他のモジュールは、以下を含む。 Activities within the interface services layer trigger activities within the analytics services layer. As discussed above, the technique IDE and monitoring module are divided to be partially performed within the analysis service layer (see monitoring module 818 and technique IDE module 820). Other modules in this layer include:

(1)ジョブ待ち行列822。各プロジェクトは、対応するモデル化ダッシュボードインスタンスからのモデル計算要求を果たす、独自のジョブ待ち行列インスタンスを有してもよい。ジョブは、プロジェクトのデータセットのパーティションの参照と、モデル化技法と、プロジェクト内の優先順位とを含む。次いで、本モジュールは、ジョブの優先順位リストを構築して維持する。計算リソースが利用可能であるとき、ブローカ824は、ジョブ待ち行列から次のジョブを要求する。十分な許可を伴うユーザは、任意の時間に待ち行列の中のモデル化ジョブを追加、除去、または優先することができる。待ち行列は、バックエンド記憶装置が極めて速い応答時間を提供する、一時的DBモジュール826を介して持続される。 (1) Job queue 822. Each project may have its own job queue instance that fulfills model calculation requests from the corresponding modeling dashboard instance. The job includes a reference to the partition of the project's dataset, modeling techniques, and priorities within the project. The module then builds and maintains a job priority list. When computational resources are available, broker 824 requests the next job from the job queue. A user with sufficient permission can add, remove, or prioritize modeling jobs in the queue at any time. The queue is sustained via the temporary DB module 826, where the backend storage provides extremely fast response times.

(2)ブローカ824。これらのモジュールは、ワーカをインスタンス化し、それらにジョブを割り当て、それらの健全性を監視する。1つのブローカが、各ワーカクラウドのために作動してもよい。ブローカは、安全なバッファを加えて、開放ジョブ待ち行列からの現在のレベルの要求を果たすように、動的にワーカを供給し、終了させる。立ち上げると、各ワーカは、そのクラウド環境のためのブローカに自動的に登録し、その計算能力についての情報を提供する。ブローカおよびワーカは、数秒毎にハードビートメッセージを相互に送信する。ワーカは、クラッシュする、またはそのブローカとの接触を失う場合に、自動的に再起動し、再登録するであろう。ブローカは、利用可能なリソースのそのプールからワーカを破棄し、過剰に多くのハートビートメッセージを見逃した場合に警告を記録するであろう。新しいジョブがジョブ待ち行列から到着し、ワーカが既存のジョブを完了すると、ブローカは、ワーカの数およびこれらのワーカへのジョブの割付を継続的に再計算する。 (2) Broker 824. These modules instantiate workers, assign jobs to them, and monitor their health. One broker may operate for each worker cloud. The broker adds a secure buffer to dynamically supply and terminate workers to meet the current level of demand from the open job queue. Upon launch, each worker automatically registers with a broker for its cloud environment and provides information about its computing power. Brokers and workers send hardbeat messages to each other every few seconds. The worker will automatically restart and re-register in the event of a crash or loss of contact with its broker. The broker will drop the worker from its pool of available resources and record a warning if it misses too many heartbeat messages. When a new job arrives from the job queue and the worker completes an existing job, the broker continually recalculates the number of workers and the allocation of jobs to these workers.

(3)ワーカクラウド640。これらのモジュールは、ワーカのプールを含む。各ワーカは、作動している仮想マシンインスタンス、またはそのクラウド環境内の内蔵計算リソースの他のユニットであり、対応するブローカからジョブを受信する。ワーカの観点から、ジョブは、プロジェクトの参照と、プロジェクトのデータセットのパーティションと、モデル化技法とを含む。割り当てられたモデル化技法の中の各タスクに関して、ワーカは、最初に、モデル化結果のための特別なディレクトリサブツリーを有する、ファイル記憶モジュール830にクエリを行うことによって、任意の他のワーカがプロジェクトのそのデータセットパーティションのためにそれを完了したかどうかを確認するようにチェックしてもよい。第1のワーカがステップを処理する場合、計算を行い、それをファイル記憶装置830に保存するため、他のワーカがそれを再利用することができる。モデル化技法が共通モデル化タスクライブラリの中のタスクから組み立てられるため、モデル化技法にわたってタスク実行の実質的なレベルの共通性があってもよい。タスク実行の結果をキャッシュに格納することは、消費される計算リソースの量を有意に削減する実装を可能にし得る。 (3) Worker Cloud 640. These modules include a pool of workers. Each worker is a running virtual machine instance, or another unit of built-in compute resources in its cloud environment, that receives jobs from the corresponding brokers. From a worker's point of view, a job includes project references, project dataset partitions, and modeling techniques. For each task in the assigned modeling technique, the worker first queries the file storage module 830, which has a special directory subtree for the modeling results, by any other worker projecting. You may check to see if you have completed it for that dataset partition in. When the first worker processes the step, it makes a calculation and stores it in file storage 830 so that other workers can reuse it. Since the modeling technique is constructed from the tasks in the common modeling task library, there may be a substantial level of commonality in task execution across the modeling techniques. Caching the results of task execution can enable implementations that significantly reduce the amount of computational resources consumed.

データサービス層650は、他の層内のモジュールをサポートするように、種々の異なる記憶機構を提供する。 The data service layer 650 provides a variety of different storage mechanisms to support modules within other layers.

(1)一時的DB826。本モジュールは、極めて速いアクセスから利益を享受する、および/または一過性であるデータのための記憶機構へのインターフェースを提供し、記憶機構を維持する。いくつかの実装では、これは、自動フェイルオーバーを伴うマスタ・スレーブ構成で展開されるメモリ内DBMSを使用する。本モジュールは、キー値ペアとしてオブジェクトを記憶するためのインターフェースを提供する。キーは、具体的ユーザおよびプロジェクトにリンクされるが、依然として非常に小さい。値は、文字列、リスト、またはセットであり得る。 (1) Temporary DB826. This module provides an interface to a storage mechanism for data that benefits from extremely fast access and / or is transient and maintains the storage mechanism. In some implementations, this uses an in-memory DBMS deployed in a master-slave configuration with automatic failover. This module provides an interface for storing objects as key-value pairs. The key is linked to the specific user and project, but is still very small. The value can be a string, a list, or a set.

(2)持続的DB828。本モジュールは、持続的であるデータのための記憶機構へのインターフェースを提供し、記憶機構を維持する。いくつかの実装では、本モジュールによって取り扱われるデータの主要なタイプは、JSONオブジェクトを含み、高い可用性および高い性能の両方ために自動フェイルオーバーを伴うクラスタで展開される、高度に拡張可能な非SQLデータベースを使用してもよい。本モジュールを介して記憶されるオブジェクトは、典型的には、サイズが数メガバイトまで及ぶ。 (2) Sustainable DB828. This module provides an interface to a storage mechanism for persistent data and maintains the storage mechanism. In some implementations, the main types of data handled by this module include JSON objects and are highly scalable non-SQL deployed in clusters with automatic failover for both high availability and high performance. You may use a database. Objects stored through this module typically range in size up to a few megabytes.

(3)ファイル記憶装置830。本モジュールは、ファイルのための記憶機構へのインターフェースを提供し、記憶機構を維持する。本モジュールを介して記憶されるデータのタイプは、アップロードされたデータセット、導出されたデータ、モデル計算、および予測を含む。本モジュールは、クラウド記憶装置の上でファイルディレクトリおよび命名規則を層状にしてもよい。加えて、クラウドワーカが本モジュールにアクセスするとき、それらはまた、記憶されたファイルをそれらのローカル記憶装置に一時的にキャッシュ格納してもよい。 (3) File storage device 830. This module provides an interface to the storage mechanism for files and maintains the storage mechanism. The types of data stored through this module include uploaded datasets, derived data, model calculations, and forecasts. The module may layer file directories and naming conventions on cloud storage. In addition, when cloud workers access the module, they may also temporarily cache the stored files in their local storage.

(4)VMイメージ記憶装置832。本モジュールは、IDEおよびワーカインスタンスを実行するために使用されるVMイメージのための記憶装置へのインターフェースを提供し、記憶装置を維持する。これは、自給自足VMコンテナ形式でイメージを記憶する。IDEインスタンスに関して、これは、セッションにわたってユーザの状態を留保する一方で、そのワーカタイプのテンプレートからのブランクコピーとして、新しいワーカインスタンスをロードする。 (4) VM image storage device 832. This module provides an interface to storage for VM images used to run IDE and worker instances and maintains storage. It stores images in a self-sufficient VM container format. For IDE instances, this reserves the user's state for the duration of the session, while loading a new worker instance as a blank copy from that worker type template.

ともに、これらのサービスは、以下を含む、多種多様な情報を管理する。 Together, these services manage a wide variety of information, including:

(1)UIセッション834:アクティブなユーザセッションの現在の状態をレンダリングし、単純な要求認証およびアクセス制御を行うためのデータ。 (1) UI session 834: Data for rendering the current state of the active user session and performing simple request authentication and access control.

(2)UIオブジェクト836:UIによって表示されるコンテンツ。 (2) UI object 836: Content displayed by the UI.

(3)キャッシュ838:キャッシュ格納されたアプリケーションコンテンツ。 (3) Cache 838: Application content stored in the cache.

(4)システム構成840:コンピューティングインフラストラクチャを立ち上げ、モデル検索サービスを実行するための構成パラメータ。 (4) System configuration 840: Configuration parameters for launching the computing infrastructure and executing the model search service.

(5)システム健全性842:システム600のモジュールから収集されるリアルタイムデータ。 (5) System health 842: Real-time data collected from modules in system 600.

(6)ユーザ/プロジェクト管理844:各プロジェクトの設定およびユーザ特権、ならびに個々のユーザ設定。 (6) User / Project Management 844: Settings and user privileges for each project, as well as individual user settings.

(7)データセット846:プロジェクトのためにユーザによってアップロードされるデータファイル。 (7) Dataset 846: A data file uploaded by the user for the project.

(8)モデル化計算848:中間モデル化結果、最終適合モデル、および計算された予測。 (8) Modeling calculation 848: Intermediate modeling result, final fit model, and calculated prediction.

(9)VMイメージ850:新しいIDEサーバを立ち上げるために使用されるイメージ。 (9) VM image 850: An image used to start a new IDE server.

再度、上記で説明される具体的モジュール802−850は、論理構築物である。各モジュールは、多くの異なるソースファイルからの実行コードを含んでもよく、所与のソースファイルは、機能性を多くの異なるモジュールに提供してもよい。 Again, the specific modules 802-850 described above are logical constructs. Each module may contain executable code from many different source files, and a given source file may provide functionality to many different modules.

時間外予測
いくつかの実施形態では、予測モデル化システム100は、tの前の時間におけるXの観察、随意に、tの前の時間における他の予測因子変数Pの観察を考慮すると、時間t、随意に、t+1、…、t+iにおける標的Xの値を予測し得る、時系列モデルを含む。いくつかの実施形態では、予測モデル化システム100は、過去の観察を分割して、監視下の学習モデルを訓練し、その性能を測定し、精度を改良する。いくつかの実施形態では、時系列モデルは、有用な時間関連予測特徴を提供し、例えば、異なる遅延における標的の前の値を予測する。いくつかの実施形態では、予測モデル化システム100は、時間が前進し、新しい観察が到着すると、そのような観察の中の新しい情報の量およびモデルを再適合させることの費用を考慮して、時系列モデルをリフレッシュする。
Overtime Prediction In some embodiments, the prediction modeling system 100 takes into account the observation of X at the time before t, and optionally the observation of other predictor variables P at the time before t, at time t. Includes a time series model that can optionally predict the value of target X at t + 1, ..., T + i. In some embodiments, the predictive modeling system 100 divides past observations to train a supervised learning model, measure its performance, and improve accuracy. In some embodiments, the time series model provides useful time-related predictive features, eg, predicting the previous value of the target at different delays. In some embodiments, the predictive modeling system 100 takes into account the amount of new information in such observations and the cost of refitting the model as time advances and new observations arrive. Refresh the time series model.

ここで、時系列モデルの有益な使用を図示する実施例が、説明される。本実施例では、スーパーマーケットのチェーンが、スーパーマーケットの場所毎に次の6週間の毎日の売上を予測することを所望する。利用可能なデータは、他の変数(例えば、各場所を中心とした人口および経済成長、休日ならびに主要な社交行事の履歴的および計画的日付、ならびにチェーンの販売促進の履歴的および計画的日付)を加えた、10,000箇所からの3年の以前の毎日の売上データを含む。いくつかの実施形態では、履歴データで訓練された時系列モデルは、スーパーマーケットの場所毎に次の6週間の毎日の売上を正確に予測することができる。 Here are examples that illustrate the useful use of time series models. In this example, we want the supermarket chain to forecast daily sales for the next 6 weeks for each supermarket location. The data available is other variables (eg, historical and planned dates for population and economic growth around each location, holidays and major social events, and historical and planned dates for chain promotions). Includes daily sales data from 10,000 locations up to 3 years ago. In some embodiments, a time series model trained with historical data can accurately predict daily sales for the next 6 weeks for each supermarket location.

ここで、時系列モデルを生成および使用するための技法のいくつかの実施形態が、説明される。データ科学者がモデル化技法ビルダ220を用いた予測モデル化技法を開発するとき、データ科学者は、モデル化技法が時系列予測問題に特有であることを示してもよい。モデル化技法ビルダ220は、次いで、モデル化技法のメタデータ内の本特性を符号化する。データセット自体はまた、時系列特有のメタデータ(例えば、データが発生した日付範囲、観察の時間分解能、すでに起こっている任意のダウンサンプリング等)を有してもよい。 Here, some embodiments of techniques for generating and using time series models are described. When a data scientist develops a predictive modeling technique using the Modeling Technique Builder 220, the data scientist may show that the modeling technique is specific to a time series prediction problem. The modeling technique builder 220 then encodes this property in the metadata of the modeling technique. The dataset itself may also have time series specific metadata such as the date range in which the data occurred, the time resolution of the observation, any downsampling that has already occurred, and so on.

探索エンジン110が(例えば、図4に図示される方法400のステップ404において)データセットをロードするとき、データセットが時系列データを含有すると考えられるかどうか、および該当する場合、時間インデックスであると考えられるものを自動的に検出してもよい。時間インデックスは、時間分解能と、時間ステップ(「時間間隔」)とを含んでもよい。時間分解能は、時間が保持される単位(例えば、秒または日)である。例えば、日付(例えば、全ての日付)が標準日形式(例えば、月/日/年)で符号化される場合、エンジン110は、日を分解能として使用してもよい。別の実施例として、日付(例えば、全ての日付)が、時間、分、および秒を含む場合、エンジン110は、秒を時間分解能として使用してもよい。同様に、エンジン110は、任意の好適な時間測定基準(例えば、1,000年、世紀、10年、年、四半期、季節、月、週、日、時間、分、秒、ミリ秒、マイクロ秒、ナノ秒等)を共通時間分解能として使用することができる。時間ステップは、連続観察(例えば、毎日、毎月、または毎年のデータ)の間の時間周期(例えば、最小時間周期、最も典型的な時間周期、ユーザ規定時間周期等)である。 When the search engine 110 loads the dataset (eg, in step 404 of method 400 illustrated in FIG. 4), it is whether the dataset is considered to contain time series data and, if so, a time index. It may automatically detect what is considered to be. The time index may include time resolution and time steps (“time intervals”). Time resolution is a unit in which time is retained (eg, seconds or days). For example, if dates (eg, all dates) are encoded in standard day format (eg, months / days / years), engine 110 may use days as the resolution. As another embodiment, if the dates (eg, all dates) include hours, minutes, and seconds, engine 110 may use seconds as the time resolution. Similarly, the engine 110 may include any suitable time metric (eg, 1,000 years, centuries, 10 years, years, quarters, seasons, months, weeks, days, hours, minutes, seconds, milliseconds, microseconds). , Nanoseconds, etc.) can be used as the common time resolution. A time step is a time cycle (eg, minimum time cycle, most typical time cycle, user-defined time cycle, etc.) between continuous observations (eg, daily, monthly, or yearly data).

データセットが時間分解能の混合物を伴う時系列データを含有する場合において、エンジン110は、最も一般的な分解能を時間インデックスの一部として使用する、または全ての時間データを共通分解能に変換した後の「最低共通分解能」を使用してもよい。いくつかの実施形態では、エンジン110は、潜在的インデックスの頻度および相違に加重する内部目的関数を使用し、インデックス(例えば、最適なインデックス)を選定する。例えば、日付変数の90%が日の分解能にあり、10%が秒の分解能にある場合、目的関数は、日の分解能が最良の選択であることを判定してもよい。逆の混合物(90%の秒の分解能、10%の日の分解能)は、秒の分解能が最良の選択であるという判定を生じさせてもよい。50%混合において、目的関数は、日と秒との間の分解能(例えば、時間(hours))について妥協することが最適であることを判定してもよい。目的関数の選択はさらに、以前に使用された目的関数の空間についてのメタ機械学習および種々の特性を伴う予測問題に関するそれらの精度によって判定されてもよい。 Where the dataset contains time series data with a mixture of time resolutions, the engine 110 uses the most common resolutions as part of the time index or after converting all time data to a common resolution. The "minimum common resolution" may be used. In some embodiments, the engine 110 uses an internal objective function that weights the frequency and difference of potential indexes to select an index (eg, the optimal index). For example, if 90% of the date variables are in day resolution and 10% are in second resolution, the objective function may determine that day resolution is the best choice. The reverse mixture (90% second resolution, 10% day resolution) may give rise to the determination that second resolution is the best choice. At 50% mixing, the objective function may determine that it is best to compromise on the resolution between days and seconds (eg, hours). The choice of objective function may also be determined by meta-machine learning about the space of the previously used objective function and their accuracy with respect to prediction problems with various properties.

いくつかの実施形態では、ユーザは、(例えば、方法400のステップ406において)時系列データセットとしてのデータセットの扱いの阻止または強制のいずれかを行い、データセットが時系列データセットである、または時系列データセットではないという探索エンジンの判定をオーバーライドしてもよい。ユーザが時系列データセットとしてのデータセットの扱いを強制することを選定する場合、ユーザは、時間ベースである変数、それらのデータフォーマットを解釈する方法、および/または時間インデックスを規定してもよい。ある場合には、ユーザは、変数を変換して所与の時間インデックスを使用する方法についての情報を供給してもよい。 In some embodiments, the user either blocks or enforces the treatment of the dataset as a time series dataset (eg, in step 406 of method 400), and the dataset is a time series dataset. Alternatively, the search engine's determination that it is not a time series dataset may be overridden. If the user chooses to force the treatment of the dataset as a time series dataset, the user may specify variables that are time-based, how to interpret their data format, and / or time index. .. In some cases, the user may provide information on how to transform variables to use a given time index.

自動的に検出された時系列データセットに関して、ユーザは、提案された時間インデックスを容認する、任意の自動的に検出された代替物から選択する、または変数を変換してカスタム時間インデックスを使用する方法を規定することも要求し得る、カスタム時間インデックスを規定してもよい。いったん時間インデックスが容認、選択、または規定されると、他の時間変数は、相互からのオフセットに変換され、予測特徴として使用されてもよい。例えば、データセットが時間インデックスとして月/日/年を使用しており、変数のうちの1つが「生年月日」である場合、エンジン110は、他のイベント(例えば、「結婚」、「子供の生年月日」等)に関して、「生年月日」(「年齢」としても公知である)からのオフセットを算出してもよい。 For automatically detected time series datasets, the user accepts the proposed time index, chooses from any automatically detected alternatives, or transforms variables to use a custom time index. A custom time index may be specified, which may also require that the method be specified. Once the time index is accepted, selected, or specified, other time variables may be converted to offsets from each other and used as predictive features. For example, if the dataset uses month / day / year as the time index and one of the variables is "date of birth", the engine 110 will have other events (eg "marriage", "children". The offset from the "date of birth" (also known as the "age") may be calculated with respect to the "date of birth", etc.

ユーザが、時系列データセットを確認し、または示し、時間インデックスを確認、選択、または規定した後、エンジン110は、(例えば、方法400のステップ408において)データセットを評価し、(例えば、方法400のステップ410において)本評価をユーザに提示する。本提示は、個別に、または群のいずれかで、経時的に標的および予測因子変数値を示す、略図を含んでもよい。いくつかの実施形態では、提示は、1つまたはそれを上回る時間遅延において過去の値への各時系列変数の現在の値の依存性を図示する。データセットが、時系列およびクロスセクショナルな変数の混合物を含有する、パネルデータセットである場合において、提示は、同一の周期において、または相互からの異なる遅延においてのいずれかで、クロスセクショナルな変数の間の依存性を図示してもよい。 After the user reviews or presents the time series dataset and checks, selects, or defines the time index, engine 110 evaluates the dataset (eg, in step 408 of method 400) and (eg, method). This evaluation is presented to the user (in step 410 of 400). The presentation may include schematics showing target and predictor variable values over time, either individually or in groups. In some embodiments, the presentation illustrates the dependence of the current value of each time series variable on past values at one or more time delays. Where the dataset is a panel dataset containing a mixture of time series and cross-sectional variables, the presentation of the cross-sectional variables, either in the same period or at different delays from each other. Dependencies between them may be illustrated.

ユーザは、訓練ウィンドウ(例えば、訓練に使用されるデータの時間範囲)の終了と検証ウィンドウ(例えば、検証に使用されるデータの時間範囲)またはホールドアウトウィンドウ(例えば、ホールドアウト試験に使用されるデータの時間範囲)の開始との間のギャップである、データ内の「スキップ範囲」を示してもよい。ある場合には、最後の履歴的観察と最初の予想との間の遅延の運営およびロジスティック上の理由が存在する。スーパーマーケットの実施例では、前の週のデータは、日曜日に本部に到着し、完全にクリーンであり得る。しかし、運営上、予測モデルが完成した後でさえも、予測を全ての店舗場所に通信すること、および店舗が予測に応答してその運営に調節を行うことの両方に、数日かかり得る。同様に、履歴的データを受信または一掃することの遅延が存在し得る。いずれの場合においても、実用的な目標は、最後の利用可能な履歴的観察からのあるギャップ後に予測を開始することであってもよい。スキップ範囲は、エンジン110が、定位置に本ギャップを伴って候補予測モデルを評価することを可能にする。 The user is used to exit the training window (eg, time range of data used for training) and the validation window (eg, time range of data used for validation) or holdout window (eg, holdout test). It may indicate a "skip range" in the data, which is the gap between the start of the data time range). In some cases, there are operational and logistical reasons for the delay between the last historical observation and the first expectation. In a supermarket example, the data from the previous week arrives at headquarters on Sunday and can be completely clean. However, operationally, even after the forecast model is complete, it can take several days both to communicate the forecast to all store locations and for the store to make adjustments to its operation in response to the forecast. Similarly, there may be a delay in receiving or clearing historical data. In either case, the practical goal may be to start the prediction after some gap from the last available historical observation. The skip range allows the engine 110 to evaluate the candidate prediction model with this gap in place.

ユーザは、所望の予想範囲(例えば、モデルによって予測される将来の時間周期の数、またはモデルによって予測される明確に異なる将来のイベントの数)を示してもよい。ある場合には、本範囲は、1つの観察のみ、例えば、次の四半期の売上であってもよい。他の場合には、スーパーマーケットチェーンの実施例のように、範囲は、その実施例では42日である、いくつかの将来の周期を含んでもよい。 The user may indicate the desired range of expectations (eg, the number of future time cycles predicted by the model, or the number of distinctly different future events predicted by the model). In some cases, this range may be only one observation, eg, sales for the next quarter. In other cases, as in the supermarket chain embodiment, the range may include some future cycles, which in that embodiment is 42 days.

ある場合には、エンジン110は、データの頻度および/またはデータ内の周期の総数に基づいて、予想範囲を提案してもよい。例えば、毎日のデータおよび比較的少数の時間周期を用いると、エンジン110は、7日間予想を提案してもよい一方で、比較的多数の時間周期を用いると、30日間予想を提案してもよい。月間データを用いると、エンジン110は、時間周期の数に応じて、3、6、または12ヶ月間予想を提案してもよい。四半期データを用いると、エンジン110は、4、8、または12四半期予想を提案してもよい。年間データに関して、エンジン110は、5、10、または20年間予想を提案してもよい。 In some cases, engine 110 may propose an expected range based on the frequency of the data and / or the total number of cycles in the data. For example, using daily data and a relatively small number of time cycles, the engine 110 may propose a 7-day forecast, while using a relatively large number of time cycles, the engine 110 may propose a 30-day forecast. Good. Using monthly data, engine 110 may propose a 3, 6, or 12 month forecast, depending on the number of time cycles. Using quarterly data, Engine 110 may propose 4, 8, or 12 quarterly forecasts. For annual data, engine 110 may propose 5, 10, or 20 year forecasts.

ある場合には、エンジン110は、予想範囲または(例えば、ユーザが異常に短い予想範囲を規定した場合)予想範囲の倍数(例えば、論理倍数)に等しい検証範囲を使用する。 In some cases, the engine 110 uses a verification range equal to the expected range or a multiple of the expected range (eg, a logical multiple) (eg, if the user specifies an unusually short expected range).

時系列データに関して、エンジン110は、(例えば、方法400のステップ418および422において)訓練範囲のセット、スキップ範囲によってオフセットされた対応する検証範囲のセット、およびホールドアウト範囲を伴って、交差検証ならびにホールドアウトを実装してもよい。エンジン110は、それが利用可能なデータの量に応じて調節し得る、デフォルト標的数の訓練および検証範囲を有してもよい。比較的少ない時間周期を伴うデータセットが、より少ない訓練および検証範囲に分割されてもよい一方で、比較的多くの時間周期を伴うデータセットは、より多くの訓練および検証範囲に分割されてもよい。 For time series data, engine 110 cross-validates and with a set of training ranges (eg, in steps 418 and 422 of method 400), a set of corresponding validation ranges offset by the skip range, and a holdout range. Holdouts may be implemented. Engine 110 may have a default target number training and validation range that can be adjusted according to the amount of data available. A dataset with a relatively small time cycle may be split into fewer training and validation ranges, while a dataset with a relatively large time cycle may be split into more training and validation ranges. Good.

データのサイズ、データの頻度、スキップ範囲の長さ、および/または予想範囲に応じて、エンジン110は、訓練範囲の長さを選択してもよい。例えば、毎日の観察ならびにスキップおよび予想範囲が、週、月、または年(もしくは7、30、および365等の対応する日の倍数)で表されると、エンジンは、整数の週、月、または年の訓練範囲を選択してもよい。これらの訓練ウィンドウの長さは、観察の総数、データの総量、経時的な標的および予測因子変数の変動の総量、変数によって呈される季節変動の量、異なる時間ウィンドウにわたるこれらの変数の変動の一貫性、および/または予想周期の標的長さに依存し得る。エンジン110は、これらの因子に加重する内部目的関数を使用し、訓練ウィンドウの長さ(例えば、最適な長さ)を選定してもよい。例えば、デフォルトは、全データセットにわたって均等に分割される、5つの訓練および検証範囲であってもよい。しかしながら、より長い時間周期にわたる変動の量が低い場合、エンジン110は、時間ウィンドウを短縮してもよい。または、データに年間季節性がある場合、エンジン110は、3つだけのウィンドウを使用し、それによって、数年のデータを各範囲の中へ設置する。または、高い変動を呈する、データセット内のいくつかの具体的周期がある場合、エンジン110は、各ウィンドウがこれらの周期のうちの1つを含むように、データを分割してもよい。目的関数の選択は、以前に使用された目的関数の空間についてのメタ機械学習および種々の特性を伴う予測問題に関するそれらの精度によって判定されてもよい。 Depending on the size of the data, the frequency of the data, the length of the skip range, and / or the expected range, the engine 110 may choose the length of the training range. For example, if daily observations and skips and forecast ranges are represented by weeks, months, or years (or multiples of corresponding days such as 7, 30, and 365), the engine will be an integer week, month, or You may choose the training range for the year. The length of these training windows is the total number of observations, the total amount of data, the total amount of variation in target and predictor variables over time, the amount of seasonal variation exhibited by the variables, and the variation of these variables over different time windows. It can depend on consistency and / or target length of expected cycle. The engine 110 may use an internal objective function that weights these factors to select the length of the training window (eg, the optimum length). For example, the default may be five training and validation ranges that are evenly divided across the entire dataset. However, if the amount of variation over a longer time cycle is low, the engine 110 may shorten the time window. Alternatively, if the data is seasonal, the engine 110 uses only three windows, thereby placing several years of data within each range. Alternatively, if there are several specific cycles in the dataset that exhibit high variability, the engine 110 may divide the data so that each window contains one of these cycles. The choice of objective function may be determined by meta-machine learning about the space of the previously used objective function and their accuracy with respect to prediction problems with various properties.

所望の数の訓練および検証範囲、ならびにスキップ範囲を加えたこれらの範囲の長さを用いると、エンジン110は、データセットを一貫した一連の訓練および検証範囲に分割することができる。パネルデータに関して、各訓練および検証対はさらに、(例えば、区分観察を層に無作為に割り当てることによって)無作為に層に分割され得る。スーパーマーケットの実施例では、訓練範囲は、30週間であってもよく、スキップ範囲は、1週間であってもよく、検証範囲は、6週間であってもよく、3年にわたって約4つの訓練セットを生じさせる。しかしながら、10,000軒の店舗が存在するため、これらの店舗はさらに、性能を改良するように、下記に説明されるように「ダウンサンプリング」され得る。エンジンはまた、モデルハイパーパラメータならびに混合モデルを調整するために使用する訓練および検証ウィンドウ内のサブウィンドウを逆転させられてもよい。 With the desired number of training and verification ranges, plus the length of these ranges plus skip ranges, the engine 110 can divide the dataset into a consistent set of training and verification ranges. For panel data, each training and validation pair can be further subdivided into layers (eg, by randomly assigning compartmentalized observations to the layers). In the supermarket embodiment, the training range may be 30 weeks, the skip range may be 1 week, and the verification range may be 6 weeks, about 4 training sets over 3 years. Causes. However, since there are 10,000 stores, these stores can be "downsampled" as described below to further improve performance. The engine may also reverse the subwindows in the training and validation windows used to tune the model hyperparameters as well as the mixed model.

いくつかの実施形態では、ホールドアウトデータは、最後の時間ウィンドウ内のみにある。しかしながら、データセットがパネルデータであり、ダウンサンプリングされた場合、ホールドアウトデータは、他のデータと同一の時間周期に由来するが、異なる非重複サンプルに由来してもよい。 In some embodiments, the holdout data is only within the last time window. However, if the dataset is panel data and is downsampled, the holdout data comes from the same time period as the other data, but may come from different non-overlapping samples.

クロスセクショナルモデル(例えば、上記の方法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周期)。 Similar to the cross-sectional model (see, eg, the description in step 350 of method 300 above), the engine 110 iterates through the dataset, training each model in a small portion of the training window and its performance for that portion. May then be evaluated and then determined based on its performance whether to continue testing the model on additional data. For time series data, each part may end on the last observation in the training window, and the initial part may start so that the partial training window is a logical multiple of the validation window. Larger parts may use larger multiples. For example, a weekly verification window may include a first part that starts 4 weeks before the end of the training window, a second part that starts 8 weeks before, a 3rd part that starts 12 weeks before, and so on. You may use it. The verification window measured by the month is the first part starting 3 months before the end of the training window, the second part starting 6 months ago, the third part starting 9 months ago, 12 months ago. A fourth part or the like starting with may be used. The verification window measured by the year uses the first part, which starts 4 years before the end of the training window, the second part, which starts 8 years ago, and the 3rd part, which starts 12 years ago. May be good. Alternatively, the partial cycle may be 5, 10, and 15 years before the end of the training window. The parts are linear (eg, 3, 6, 9, 12 cycles or 4, 8, 12, 16 cycles) or geometrically (eg, 3, 6, 12, 24 cycles or 4, 8, 16, 32 cycles) may be increased. Exponential growth of parts is also possible, such as specific schedules based on problem domain and / or data analysis (eg, 3, 6, 24, 192 cycles or 4, 8, 32, 256 cycles). ..

実行速度を改良し、リソース消費を削減するために、エンジン110は、デフォルトダウンサンプリングを提案し得る。2つのタイプのダウンサンプリング、すなわち、経時的およびクロスセクショナルなものが存在する。経時的ダウンサンプリングでは、各パーティション内の観察の総数は、固定割合だけ削減される、またはより長い時間間隔分解能に集約されてもよい。例えば、100億個の観察を含有する時間ウィンドウは、1,000万個の観察に削減されるであろう。または、1ミリ秒毎の観察を伴うデータのウィンドウは、これらの観察を毎分に集約させてもよい。この場合、ダウンサンプリングウィンドウ内の観察の値の全ては、集約観察に関して単一の値に収められてもよい。本集約値は、例えば、開始値、終了値、最も極端な値、平均値、または変動のいくつかの特性を考慮するように重み関数を通して算出される値であってもよい。エンジン110は、対応する時間ウィンドウ内の標的および予測因子の変動性による観察の潜在的削減に加重する、目的関数を使用してもよい。例えば、観察の1,000倍削減は、変動性の5%削減を正当化し得る。目的関数の選択はさらに、以前に使用された目的関数の空間についてのメタ機械学習および種々の特性を伴う予測問題に関するそれらの精度によって判定されてもよい。 To improve execution speed and reduce resource consumption, engine 110 may suggest default downsampling. There are two types of downsampling, namely temporal and cross-sectional. For downsampling over time, the total number of observations within each partition may be reduced by a fixed percentage or aggregated to longer time interval resolutions. For example, a time window containing 10 billion observations would be reduced to 10 million observations. Alternatively, a window of data with observations every millisecond may aggregate these observations every minute. In this case, all of the observation values in the downsampling window may be contained in a single value for aggregate observation. The aggregated value may be, for example, a start value, an end value, the most extreme value, a mean value, or a value calculated through a weighting function to take into account some characteristics of the variation. Engine 110 may use an objective function that weighs on the potential reduction in observations due to variability of targets and predictors within the corresponding time window. For example, a 1,000-fold reduction in observation can justify a 5% reduction in variability. The choice of objective function may also be determined by meta-machine learning about the space of the previously used objective function and their accuracy with respect to prediction problems with various properties.

経時的ダウンサンプリングは、例えば、データの変動がデータの頻度よりも低い、極めて高頻度のデータに使用されてもよい。クロスセクショナルなダウンサンプリングは、概して、経時的にそれらの挙動があまり変動しない、非常に多数の区分が存在し得るため、より一般的である。スーパーマーケットチェーンの実施例に関して、店舗場所に1つずつ、10,000個の区分が存在する。変動の大部分は、店舗を横断して比較的低いクロスセクショナルな変動を伴って、経時的因子に起因し得る。例えば、類似店舗は、実際に、はるかに少数の代表的な群に分類されてもよい。したがって、エンジン110は、単純に、区分、この場合は、店舗場所の無作為なサブサンプルを構築し、1つまたはそれを上回るサブサンプルで予測モデルを訓練してもよい。例えば、10,000軒全ての店舗を使用する代わりに、エンジン110は、1,000軒の店舗の無作為な選択で訓練し得る。また、エンジン110は、交差検証がクロスセクショナルな寸法に沿って使用される場合において、本ダウンサンプリングを適用し得る。例えば、5層交差検証の場合、エンジンは、2,000軒の店舗の5層の代わりに、400軒の店舗の5層を使用してもよい。ダウンサンプリングの割合は、区分の数の関数によって判定される、サンプルの複数の特性の平衡を保つ目的関数によって判定される、またはユーザによって規定されてもよい。ある場合には、ダウンサンプリング割合の選択は、多くの異なる予測問題についてのメタ機械学習によって精緻化されてもよい。 Downsampling over time may be used, for example, for very high frequency data where the variation of the data is lower than the frequency of the data. Cross-sectional downsampling is generally more common because there can be a large number of compartments whose behavior does not change much over time. Regarding the embodiment of the supermarket chain, there are 10,000 divisions, one for each store location. Most of the variability can be due to factors over time, with relatively low cross-sectional variability across stores. For example, similar stores may actually be classified into a much smaller number of representative groups. Therefore, engine 110 may simply build a random subsample of divisions, in this case store locations, and train the prediction model with one or more subsamples. For example, instead of using all 10,000 stores, the engine 110 can be trained with a random selection of 1,000 stores. The engine 110 may also apply this downsampling when cross-validation is used along cross-validation dimensions. For example, in the case of 5-fold cross-validation, the engine may use 5 layers of 400 stores instead of 5 layers of 2,000 stores. The rate of downsampling may be determined by a function of the number of compartments, by an objective function that balances multiple properties of the sample, or by the user. In some cases, the choice of downsampling ratio may be refined by meta-machine learning for many different prediction problems.

時系列モデルから正確な予測を生成する際の1つの課題は、それらが訓練および検証時間ウィンドウの選択に敏感であり得ることである。いくつかの実施形態では、エンジンは、本感度を自動的に評価する。例えば、エンジン110は、それが実行するにつれて、全モデル化技法に関して時間ウィンドウ選択への感度を評価してもよい。別の実施例として、エンジン110は、モデルが予測精度のある閾値を超えた後に、本感度を評価してもよい。第3のオプションは、それらの相対予測精度に基づいて、上部モデルの感度を評価することである。第4のオプションは、ユーザがそれを要求するときに、要求に応じて感度分析を起動することである。感度分析は、モデルをスライド訓練および検証ウィンドウと適合させ、ウィンドウに含まれるポイントともにモデル精度が変動する方法を測定するステップを含んでもよい。例えば、グラフは、垂直軸上のモデル精度および水平上の訓練ウィンドウの開始観察をプロットし得る。 One challenge in generating accurate predictions from time series models is that they can be sensitive to the choice of training and validation time windows. In some embodiments, the engine automatically evaluates this sensitivity. For example, engine 110 may evaluate its sensitivity to time window selection for all modeling techniques as it performs. As another embodiment, the engine 110 may evaluate the sensitivity after the model exceeds a threshold with predictive accuracy. The third option is to evaluate the sensitivity of the upper model based on their relative prediction accuracy. The fourth option is to activate the sensitivity analysis on demand when the user requests it. Sensitivity analysis may include fitting the model with a slide training and validation window and measuring how the model accuracy varies with the points contained in the window. For example, the graph may plot the model accuracy on the vertical axis and the start observation of the training window on the horizontal.

いったんエンジンが(例えば、方法400のステップ446において)時系列モデルを適合させることを完了し、それらをユーザに提示すると、ユーザはさらに、モデル性能への異なる訓練データウィンドウの効果を探索してもよい。ユーザインターフェースは、ユーザが、特定の適合モデルまたは適合モデル群を選び、それらがホールドアウトウィンドウの中にない任意の観察を含むように、訓練および検証ウィンドウを調節してもよい。エンジンがハイパーパラメータを調整するためのサブウィンドウを使用していない場合において、モデルの元の適合中に計算される最適なハイパーパラメータは、モデルを新しいウィンドウと再適合させるときに使用されてもよい。ネスト化訓練および検証ウィンドウが利用可能である場合において、エンジンは、逆転されたウィンドウ上で最適なハイパーパラメータを自動的に再計算し、および/または最適なハイパーパラメータを再計算する、もしくは最初に計算されたものを使用するかどうかの選択肢をユーザに許容してもよい。 Once the engine has completed fitting the time series models (eg, in step 446 of method 400) and presented them to the user, the user may further explore the effect of different training data windows on model performance. Good. The user interface may adjust the training and validation windows so that the user selects a particular fit model or set of fit models and includes any observations that are not in the holdout window. If the engine does not use subwindows for adjusting hyperparameters, the optimal hyperparameters calculated during the original fit of the model may be used when refitting the model with a new window. When the nesting training and validation window is available, the engine automatically recalculates the optimal hyperparameters on the inverted window and / or recalculates the optimal hyperparameters, or first. You may allow the user the choice of whether to use the calculated one.

ユーザが(例えば、方法400のステップ450において)ホールドアウト結果を精査した後、ユーザは、訓練、検証、およびホールドアウトウィンドウからのデータの任意の組み合わせを使用して、モデルの任意のサブセットを最適合してもよい。ホールドアウトウィンドウからのデータが、典型的には、直近のデータであるため、モデルの適合にそれを含むことは、将来の値を予測する際のそのモデルの精度を改良し得る。したがって、新しい予測を行うためのモデルを展開する前に、ユーザは、その最後の観察がホールドアウトウィンドウの最後の観察である、訓練データ上にモデルを再適合させてもよい。本再適合で使用する第1の観察の選択は、感度分析中に計算される訓練ウィンドウのサイズ(例えば、最適なサイズ)に依存し得る。ユーザは、予測問題の感度および/または領域知識の分析に基づいて、計算された開始点をオーバーライドしてもよい。
時系列モデル化技法のいくつかの実施形態
After the user has scrutinized the holdout results (eg, in step 450 of method 400), the user recaptures any subset of the model using any combination of training, validation, and data from the holdout window. May be compatible. Since the data from the holdout window is typically the most recent data, including it in the fit of the model can improve the accuracy of the model in predicting future values. Therefore, before deploying a model for making new predictions, the user may refit the model onto the training data, whose last observation is the last observation in the holdout window. The choice of the first observation used in this refit may depend on the size of the training window calculated during the sensitivity analysis (eg, the optimal size). The user may override the calculated starting point based on an analysis of the sensitivity and / or domain knowledge of the prediction problem.
Some embodiments of time series modeling techniques

図9を参照すると、時系列予測モデル化のための方法900は、ステップ910−980を含んでもよい。ステップ910では、時系列データが、取得される。時系列データは、1つまたはそれを上回るデータセットを含んでもよい。各データセットは、複数の観察を含んでもよい。各観察は、(1)観察と関連付けられる時間のインジケーションと、(2)1つまたはそれを上回る変数の値とを含んでもよい。ステップ920では、時系列データの時間間隔が、判定される。ステップ930では、時系列データの1つまたはそれを上回る変数が、標的として識別される。随意に、時系列データの1つまたはそれを上回る変数はまた、特徴として識別されてもよい。ステップ940では、時系列データによって表される予測問題と関連付けられる「予想範囲」および「スキップ範囲」が、判定される。予想範囲は、標的の値が予測される、時間周期の持続時間を示してもよい。スキップ範囲は、予想範囲内の最古の予測と関連付けられる時間と、予想範囲内の予測が基づく最新の観察と関連付けられる時間との間の時間的遅延を示してもよい。 With reference to FIG. 9, method 900 for time series predictive modeling may include steps 910-980. In step 910, time series data is acquired. Time series data may include one or more datasets. Each dataset may contain multiple observations. Each observation may include (1) an indication of the time associated with the observation and (2) the value of one or more variables. In step 920, the time interval of the time series data is determined. In step 930, one or more variables of the time series data are identified as targets. Optionally, one or more variables of the time series data may also be identified as features. In step 940, the "expected range" and "skip range" associated with the prediction problem represented by the time series data are determined. The prediction range may indicate the duration of the time cycle in which the value of the target is predicted. The skip range may indicate a time delay between the time associated with the oldest prediction within the forecast range and the time associated with the latest observation based on the prediction within the forecast range.

ステップ950では、訓練データが、時系列データから生成される。訓練データは、データセットのうちの少なくとも1つの観察の第1のサブセットを含む。観察の第1のサブセットは、観察の訓練入力および訓練出力集合を含む。訓練入力および訓練出力集合内の観察と関連付けられる時間は、それぞれ、訓練入力時間範囲および訓練出力時間範囲に対応する。スキップ範囲は、訓練出力時間範囲の開始から訓練入力時間範囲の終了を分離する。訓練出力時間範囲の持続時間は、少なくとも予想範囲と同程度に長い。ステップ960では、試験データが、時系列データから生成される。試験データは、データセットのうちの少なくとも1つの観察の第2のサブセットを含む。観察の第2のサブセットは、観察の試験入力および試験検証集合を含む。試験入力および試験検証集合内の観察と関連付けられる時間は、それぞれ、試験入力時間範囲および試験検証時間範囲に対応する。スキップ範囲は、試験検証時間範囲の開始から試験入力時間範囲の終了を分離する。試験検証時間範囲の持続時間は、少なくとも予想範囲と同程度に長い。ステップ970では、予測モデルが、訓練データに適合される。ステップ980では、適合モデルが、試験データで試験される。 In step 950, training data is generated from the time series data. The training data includes a first subset of observations of at least one of the datasets. The first subset of observations includes training inputs and output sets of observations. The times associated with the observations in the training input and training output sets correspond to the training input time range and the training output time range, respectively. The skip range separates the start of the training output time range from the end of the training input time range. The duration of the training output time range is at least as long as the expected range. In step 960, test data is generated from the time series data. The test data includes a second subset of observations of at least one of the datasets. The second subset of observations includes the test inputs and test validation sets of the observations. The time associated with the test input and the observation in the test verification set corresponds to the test input time range and the test verification time range, respectively. The skip range separates the start of the test verification time range from the end of the test input time range. The duration of the test verification time range is at least as long as the expected range. At step 970, the prediction model is fitted to the training data. In step 980, the conforming model is tested with test data.

ステップ910では、時系列データが、取得される。時系列データは、任意の好適な技法を使用して、任意の好適なソースから取得されてもよい(センサを使用して測定される、通信ネットワークを介して受信される、コンピュータ可読媒体からロードされる等)。時系列データは、それぞれが、1つまたはそれを上回る観察を含み得る、1つまたはそれを上回るデータセットを含んでもよい。データセットは、上記で説明されるように、データの個別の「区分」に対応してもよい。データセット内の各観察は、観察と関連付けられる時間のインジケーション(例えば、タイムスタンプ)を含んでもよい。観察と関連付けられる時間は、観察の値が測定、報告、受信される等の時間であってもよい。観察と関連付けられる「時間」は、日付および/または時刻、もしくは任意の他の好適な時間データを含んでもよい。 In step 910, time series data is acquired. Time series data may be obtained from any suitable source using any suitable technique (measured using sensors, received over a communication network, loaded from a computer-readable medium). Etc.). The time series data may include one or more datasets, each of which may contain one or more observations. The dataset may correspond to individual "classifications" of data, as described above. Each observation in the dataset may include an indication of the time associated with the observation (eg, a time stamp). The time associated with the observation may be the time when the value of the observation is measured, reported, received, etc. The "time" associated with the observation may include date and / or time, or any other suitable time data.

ステップ920では、時系列データの時間間隔が、判定される。いくつかの実施形態では、データの時間間隔は、データと関連付けられるメタデータによって明示的に示される。いくつかの実施形態では、データの時間間隔は、(例えば、観察と関連付けられる時間インジケータの時間分解能に基づいて、および/または連続観察と関連付けられる時間の間の間隔に基づいて)データを分析することによって、判定される。 In step 920, the time interval of the time series data is determined. In some embodiments, the time interval of the data is explicitly indicated by the metadata associated with the data. In some embodiments, the time interval of the data analyzes the data (eg, based on the time resolution of the time indicator associated with the observation and / or the interval between the times associated with the continuous observation). By doing so, it is determined.

データセット内の観察の間の時間間隔は、一様または非一様であり得る。データセット内の観察の間の時間間隔が一様である場合、その一様な間隔は、データセットの時間間隔であってもよい。データセット内の観察の間の時間間隔が非一様である場合、データセットは、修正されたデータセット内の観察の間の時間間隔が一様であるように修正されてもよい。修正されたデータセットの時間間隔は、例えば、目的関数(例えば、加重目的関数)を元のデータセットに適用することによって、判定されてもよい。目的関数は、例えば、(1)非一様な持続時間のそれぞれを呈する複数対の連続観察の個別の割合、および/または(2)非一様な時間間隔の持続時間に基づいて、修正された時間間隔を判定してもよい。いくつかの実施形態では、修正された時間間隔は、最短共通時間周期(例えば、非一様な時間周期のそれぞれの整数の倍数である最短時間周期)である。 The time interval between observations in the dataset can be uniform or non-uniform. If the time interval between observations within the dataset is uniform, the uniform interval may be the time interval of the dataset. If the time intervals between observations within the dataset are non-uniform, the dataset may be modified so that the time intervals between observations within the modified dataset are uniform. The time interval of the modified dataset may be determined, for example, by applying an objective function (eg, a weighted objective function) to the original dataset. The objective function is modified based on, for example, (1) the individual proportions of multiple pairs of continuous observations exhibiting each non-uniform duration, and / or (2) the duration of the non-uniform time interval. The time interval may be determined. In some embodiments, the modified time interval is the shortest common time cycle (eg, the shortest time cycle that is a multiple of each integer of the non-uniform time cycle).

非一様な時間間隔を伴う元のデータセットは、元のデータセットの観察をサンプリング(例えば、ダウンサンプリング)および/または集約することによって、修正された一様な時間間隔を伴う修正されたデータセットに変換されてもよい。元のデータセットの観察をダウンサンプリングするステップは、元のデータセット内の観察によって網羅される時間周期内の修正された時間間隔のインスタンス毎に、時系列データの時間間隔のインスタンスに対応する時間と関連付けられる、元のデータセット内の全ての観察を識別するステップと、識別された観察を集約し、集約観察を生成するステップと、集約観察を修正されたデータセットの中に挿入するステップとを伴ってもよい。識別された観察のセットを集約するステップは、集約観察の中の各変数の値を、(1)識別された観察のうちの最古のものに含まれる、対応する変数値、(2)識別された観察のうちの最新のものに含まれる、対応する変数値、(3)識別された観察に含まれる、対応する変数値の最大値、(4)識別された観察に含まれる、対応する変数値の最小値、(5)識別された観察に含まれる、対応する変数値の平均、または(6)識別された観察に含まれる、対応する変数値の関数の値に設定することによって、実施されてもよい。 The original dataset with a non-uniform time interval is the modified data with a modified uniform time interval by sampling (eg, downsampling) and / or aggregating the observations of the original dataset. It may be converted into a set. The step of downsampling the observations of the original dataset is the time corresponding to the time interval instances of the time series data, for each modified time interval instance within the time cycle covered by the observations in the original dataset. A step that identifies all observations in the original dataset, a step that aggregates the identified observations to generate an aggregated observation, and a step that inserts the aggregated observations into a modified dataset. May be accompanied by. The step of aggregating the identified observations sets the value of each variable in the aggregated observation to (1) the corresponding variable value contained in the oldest of the identified observations, (2) identification. Corresponding variable value included in the latest of the observed observations, (3) Maximum value of the corresponding variable value included in the identified observation, (4) Corresponding included in the identified observation By setting the minimum value of the variable value, (5) the average of the corresponding variable values contained in the identified observation, or (6) the value of the function of the corresponding variable value contained in the identified observation. It may be carried out.

時系列データ内のデータセットの間の時間間隔は、一様または非一様であり得る。データセット間の時間間隔が一様である場合、その一様な間隔は、時系列データの時間間隔であってもよい。データセット間の時間間隔が非一様である場合、データセットのうちの1つまたはそれを上回るものは、修正されたデータセット間の時間間隔が一様であるように修正されてもよい。時系列データの修正された時間間隔は、データセットの間隔から選択される、または任意の他の好適な技法を使用して判定されてもよい。例えば、時系列データの修正された時間間隔は、(1)非一様な時間間隔のそれぞれを呈するデータセットに含まれる観察の個別の割合、および/または(2)データセットの非一様な時間間隔の持続時間に基づいて、目的関数(例えば、加重目的関数)を使用して計算されてもよい。いくつかの実施形態では、時系列データの修正された時間間隔は、最短共通時間周期(例えば、データセットの非一様な時間間隔のそれぞれの整数の倍数である最短時間周期)である。データセットの時間間隔を修正するための技法のいくつかの実施形態が、上記に説明される。 The time interval between datasets in time series data can be uniform or non-uniform. If the time intervals between the datasets are uniform, the uniform intervals may be the time intervals of the time series data. If the time intervals between the datasets are non-uniform, then one or more of the datasets may be modified so that the time intervals between the modified datasets are uniform. The modified time interval of the time series data may be selected from the interval of the dataset or determined using any other suitable technique. For example, the modified time intervals of time series data are (1) individual percentages of observations contained in the dataset exhibiting each of the non-uniform time intervals, and / or (2) non-uniformity of the dataset. It may be calculated using an objective function (eg, a weighted objective function) based on the duration of the time interval. In some embodiments, the modified time interval of the time series data is the shortest common time period (eg, the shortest time period that is a multiple of each integer of the non-uniform time intervals of the dataset). Some embodiments of the technique for modifying the time interval of a dataset are described above.

方法900のいくつかの実施形態では、特徴工学が、時系列データに実施されてもよい。そのような特徴工学は、例えば、時系列データの時間間隔が判定される前または後に実施されてもよい。いくつかの実施形態では、時系列データに特徴工学を実施するステップは、時間を表す値を有する、時系列データ内の第1の変数を識別するステップと、第2の変数の値を生成するステップであって、第2の変数の各値は、第1の変数の時間値と参照時間値との間のオフセットである、ステップと、第2の変数を時系列データに追加するステップ(例えば、第2の変数の各値を、第2の変数の値が導出された第1の変数の値を含む、観察に追加するステップ)とを含んでもよい。いくつかの実施形態では、第1の変数は、時系列データから除去されてもよい。いくつかの実施形態では、参照時間は、イベント(例えば、出生、結婚、学校からの卒業、雇用主に対する雇用の開始、特定の地位での仕事の開始等)の日付である。本特徴工学技法は、絶対時間値を相対時間値に変換するために使用されてもよく、これは、異なる時間周期に及ぶ異なるデータセットからのデータ内のパターン(例えば、エンティティの年齢に関連するパターン)の識別を大いに促進し得、したがって、そのようなパターンに関連する値の正確な予測を大いに促進し得る。 In some embodiments of Method 900, feature engineering may be performed on time series data. Such feature engineering may be performed, for example, before or after the time interval of the time series data is determined. In some embodiments, the steps of performing feature engineering on the time-series data generate a step of identifying a first variable in the time-series data that has a value representing time and a value of the second variable. A step in which each value of the second variable is an offset between the time value and the reference time value of the first variable, and a step of adding the second variable to the time series data (eg,). , Each value of the second variable may be added to the observation, including the value of the first variable from which the value of the second variable was derived). In some embodiments, the first variable may be removed from the time series data. In some embodiments, the reference time is the date of the event (eg, birth, marriage, graduation from school, start of employment for an employer, start of work in a particular position, etc.). This feature engineering technique may be used to convert absolute time values to relative time values, which relate to patterns in data from different datasets spanning different time periods (eg, related to the age of the entity). Patterns) can be greatly facilitated, and thus accurate prediction of values associated with such patterns.

いくつかの実施形態では、特徴工学を実施するステップは、時系列データを時間的にダウンサンプリングするステップを含む。時系列データを時間的にダウンサンプリングするためのいくつかの技法が、上記に説明される。時系列データを時間的にダウンサンプリングするステップは、時系列データに基づいて時系列モデル化技法の効率を増進してもよい(例えば、計算リソース使用を削減する)。 In some embodiments, the step of performing feature engineering includes the step of downsampling time series data in time. Several techniques for downsampling time series data over time are described above. The step of downsampling time series data over time may increase the efficiency of time series modeling techniques based on the time series data (eg, reduce computational resource usage).

方法900のいくつかの実施形態では、グラフィック情報(例えば、グラフまたはチャート)が、ユーザインターフェースを介して提示(例えば、表示)されてもよい。グラフィック情報は、1つの変数の値の変化と別の変数の値の相関変化との間の時間的遅延を示してもよい。そのような相関は、任意の好適な技法を使用して検出されてもよい。 In some embodiments of Method 900, graphic information (eg, graphs or charts) may be presented (eg, displayed) via a user interface. The graphic information may indicate a time delay between a change in the value of one variable and a change in the correlation of the value of another variable. Such correlations may be detected using any suitable technique.

ステップ930では、時系列データの1つまたはそれを上回る変数が、標的として識別される。標的は、例えば、時系列データと関連付けられるメタデータに基づいて、予測問題の説明に基づいて、および/またはユーザ入力に基づいて、識別されてもよい。随意に、時系列データの1つまたはそれを上回る変数はまた、特徴として識別されてもよい。特徴は、例えば、時系列データと関連付けられるメタデータに基づいて、予測問題の説明に基づいて、および/またはユーザ入力に基づいて、識別されてもよい。 In step 930, one or more variables of the time series data are identified as targets. Targets may be identified, for example, based on metadata associated with time series data, based on a description of the prediction problem, and / or based on user input. Optionally, one or more variables of the time series data may also be identified as features. Features may be identified, for example, based on metadata associated with time series data, based on a description of the prediction problem, and / or based on user input.

ステップ940では、時系列データによって表される予測問題と関連付けられる予想範囲が、判定される。予想範囲は、標的の値が予測される、時間周期の持続時間を示してもよい。予想範囲は、(1)時系列データの時間間隔、(2)時系列データに含まれる観察の数、(3)時系列データに含まれる観察によって網羅される時間周期、(4)マイクロ秒、ミリ秒、秒、分、時間、日、週、月、四半期、季節、年、10年、世紀、および1,000年から成る群から選択される、自然時間周期、(5)ユーザ入力等に基づいて、判定されてもよい。いくつかの実施形態では、予想範囲は、時系列データの時間間隔の整数の倍数である。一般に、予想範囲は、時系列データ内の観察の数が増加すると増加してもよい。 In step 940, the prediction range associated with the prediction problem represented by the time series data is determined. The prediction range may indicate the duration of the time cycle in which the value of the target is predicted. The expected range is (1) the time interval of the time series data, (2) the number of observations contained in the time series data, (3) the time cycle covered by the observations contained in the time series data, (4) microseconds, Natural time cycle selected from the group consisting of millisecond, second, minute, hour, day, week, month, quarter, season, year, 10 years, century, and 1,000 years, (5) for user input, etc. It may be determined based on. In some embodiments, the expected range is an integer multiple of the time interval of the time series data. In general, the expected range may increase as the number of observations in the time series data increases.

ステップ940では、時系列データによって表される予測問題と関連付けられるスキップ範囲が、判定される。スキップ範囲は、予想範囲内の最古の予測と関連付けられる時間と、予想範囲内の予測が基づく最新の観察と関連付けられる時間との間の時間的遅延を示してもよい。スキップ範囲は、少なくとも部分的に、時系列データの収集における待ち時間、時系列データの通信における待ち時間、時系列データを分析する際の待ち時間、時系列データの分析の通信における待ち時間、および/または時系列データの分析に基づいてアクションを実装することの待ち時間に基づいて、判定されてもよい。そのような待ち時間は、例えば、ユーザ入力および/または時系列データと関連付けられるメタデータに基づいて、判定されてもよい。いくつかの実施形態では、スキップ範囲は、時系列データと関連付けられるメタデータに基づいて判定される、またはユーザ規定される。 In step 940, the skip range associated with the prediction problem represented by the time series data is determined. The skip range may indicate a time delay between the time associated with the oldest prediction within the forecast range and the time associated with the latest observation based on the prediction within the forecast range. The skip range is, at least in part, the waiting time for collecting time series data, the waiting time for communication of time series data, the waiting time for analyzing time series data, the waiting time for communication for analyzing time series data, and / Or may be determined based on the latency of implementing the action based on the analysis of time series data. Such latency may be determined, for example, based on user input and / or metadata associated with time series data. In some embodiments, the skip range is determined or user-defined based on the metadata associated with the time series data.

ステップ950では、訓練データが、時系列データから生成される。訓練データは、データセットのうちの少なくとも1つの観察の第1のサブセットを含む。観察の第1のサブセットは、観察の訓練入力および訓練出力集合を含む。訓練入力および訓練出力集合内の観察と関連付けられる時間は、それぞれ、訓練入力時間範囲および訓練出力時間範囲に対応する。スキップ範囲は、訓練出力時間範囲の開始から訓練入力時間範囲の終了を分離する。訓練出力時間範囲の持続時間は、少なくとも予想範囲と同程度に長い。 In step 950, training data is generated from the time series data. The training data includes a first subset of observations of at least one of the datasets. The first subset of observations includes training inputs and output sets of observations. The times associated with the observations in the training input and training output sets correspond to the training input time range and the training output time range, respectively. The skip range separates the start of the training output time range from the end of the training input time range. The duration of the training output time range is at least as long as the expected range.

いくつかの実施形態では、訓練入力時間範囲の持続時間は、時系列データ内の観察の総数、変数のうちの少なくとも1つの値の経時的な変動の量、変数のうちの少なくとも1つの値の季節変動の量、複数の時間周期にわたる変数のうちの少なくとも1つの値の変動の一貫性、および/または予想範囲の持続時間に基づいて、判定される。 In some embodiments, the duration of the training input time range is the total number of observations in the time series data, the amount of variation over time of at least one value of the variable, of at least one value of the variable. It is determined based on the amount of seasonal variation, the consistency of variation in the value of at least one of the variables over multiple time periods, and / or the duration of the expected range.

いくつかの実施形態では、訓練データのサブセットが、全ての訓練データでモデルを訓練するのではなく、サブセットで予測モデルを訓練する目的のために識別される。訓練データのサブセットに基づくモデルを訓練するステップは、全ての訓練データに基づくモデルを訓練するよりも少ない計算リソース(および時間)を使用してもよい。いくつかの実施形態では、訓練データの各サブセットは、訓練入力時間範囲の終了時間に終了する。訓練データサブセットは、訓練入力時間範囲内の異なる時間に開始してもよい、および/または異なるサンプルレートで訓練入力時間範囲内の観察をサンプリングしてもよい。訓練データサブセットの持続時間は、予想範囲の持続時間の整数の倍数であってもよい。 In some embodiments, a subset of training data is identified for the purpose of training a predictive model on the subset rather than training the model on all training data. The step of training a model based on a subset of training data may use less computational resources (and time) than training a model based on all training data. In some embodiments, each subset of training data ends at the end time of the training input time range. The training data subset may start at different times within the training input time range and / or sample observations within the training input time range at different sample rates. The duration of the training data subset may be a multiple of an integer of the expected duration.

いくつかの実施形態では、訓練データは、ダウンサンプリング(例えば、時間的にダウンサンプリングまたはクロスセクショナルにダウンサンプリング)されてもよい。訓練データは、ダウンサンプリングされた時間間隔を選択し、ダウンサンプリングされた時間間隔に従って(例えば、上記に説明される技法を使用して)訓練データ内のデータセットのそれぞれをダウンサンプリングすることによって、時間的にダウンサンプリングされてもよい。訓練データは、訓練データからデータセットのうちの1つまたはそれを上回るものを除去することによって、クロスセクショナルにダウンサンプリングされてもよい。いくつかの実施形態では、訓練データは、時間的ダウンサンプリングおよびクロスセクショナルなダウンサンプリングの両方を行われてもよい。 In some embodiments, the training data may be downsampled (eg, downsampled in time or cross-sampling). The training data is selected by selecting a downsampled time interval and downsampling each of the datasets in the training data according to the downsampled time interval (eg, using the techniques described above). It may be downsampled in time. The training data may be cross-sectionally downsampled by removing one or more of the datasets from the training data. In some embodiments, the training data may be both temporally downsampled and cross-sectional downsampled.

ステップ960では、試験データが、時系列データから生成される。試験データは、データセットのうちの少なくとも1つの観察の第2のサブセットを含む。観察の第2のサブセットは、観察の試験入力および試験検証集合を含む。試験入力および試験検証集合内の観察と関連付けられる時間は、それぞれ、試験入力時間範囲および試験検証時間範囲に対応する。スキップ範囲は、試験検証時間範囲の開始から試験入力時間範囲の終了を分離する。試験検証時間範囲の持続時間は、少なくとも予想範囲と同程度に長い。 In step 960, test data is generated from the time series data. The test data includes a second subset of observations of at least one of the datasets. The second subset of observations includes the test inputs and test validation sets of the observations. The time associated with the test input and the observation in the test verification set corresponds to the test input time range and the test verification time range, respectively. The skip range separates the start of the test verification time range from the end of the test input time range. The duration of the test verification time range is at least as long as the expected range.

いくつかの実施形態では、試験入力時間範囲の持続時間は、時系列データ内の観察の総数、変数のうちの少なくとも1つの値の経時的な変動の量、変数のうちの少なくとも1つの値の季節変動の量、複数の時間周期にわたる変数のうちの少なくとも1つの値の変動の一貫性、および/または予想範囲の持続時間に基づいて、判定される。 In some embodiments, the duration of the test input time range is the total number of observations in the time series data, the amount of variation over time in at least one of the variables, the duration of at least one of the variables. It is determined based on the amount of seasonal variation, the consistency of variation in the value of at least one of the variables over multiple time periods, and / or the duration of the expected range.

いくつかの実施形態では、試験データのサブセットが、全ての訓練データでモデルを訓練するのではなく、サブセットで予測モデルを試験する目的のために識別される。試験データのサブセットに基づくモデルを訓練するステップは、全ての訓練データに基づくモデルを訓練するよりも少ない計算リソース(および時間)を使用してもよい。いくつかの実施形態では、訓練データの各サブセットは、訓練入力時間範囲の終了時間に終了する。試験データサブセットは、訓練入力時間範囲内の異なる時間に開始してもよい、および/または異なるサンプルレートで試験入力時間範囲内の観察をサンプリングしてもよい。試験データサブセットの持続時間は、予想範囲の持続時間の整数の倍数であってもよい。 In some embodiments, a subset of the test data is identified for the purpose of testing the predictive model on the subset rather than training the model on all training data. The step of training a model based on a subset of test data may use less computational resources (and time) than training a model based on all training data. In some embodiments, each subset of training data ends at the end time of the training input time range. The test data subset may start at different times within the training input time range and / or sample observations within the test input time range at different sample rates. The duration of the test data subset may be a multiple of an integer of the expected duration.

いくつかの実施形態では、試験データは、ダウンサンプリング(例えば、時間的にダウンサンプリングまたはクロスセクショナルにダウンサンプリング)されてもよい。時間的およびクロスセクショナルなダウンサンプリングのためのいくつかの技法が、上記に説明される。 In some embodiments, the test data may be downsampled (eg, downsampled in time or cross-sampling). Several techniques for temporal and cross-sectional downsampling are described above.

ステップ970では、予測モデルが、訓練データに適合される。ステップ980では、適合モデルが、試験データで試験される。交差検証(限定されないが、ネスト化交差検証を含む)およびホールドアウト技法が、予測モデルを適合および/または試験するために使用されてもよい。交差検証の目的のために、時系列データは、クロスセクショナルおよび/または時間的に分割されてもよい。 At step 970, the prediction model is fitted to the training data. In step 980, the conforming model is tested with test data. Cross-validation (including, but not limited to, nested cross-validation) and holdout techniques may be used to fit and / or test the predictive model. For cross-validation purposes, time series data may be cross-validated and / or temporally divided.

予測問題のための予測モデルを選択するための方法300のいくつかの実施形態が、時系列予測問題のための時系列予測モデルを選択するために使用されてもよい。いくつかの実施形態では、時系列データの特徴のうちの1つまたはそれを上回るもののモデル特有の予測値が、(例えば、下記に説明される方法1000の実施形態を使用して)判定されてもよい。いくつかの実施形態では、時系列予測モデルは、(例えば、本明細書に説明される技法を使用して)混合されてもよい。いくつかの実施形態では、時系列予測モデルは、(例えば、本明細書に説明される技法および/または性能増進を使用して)展開ならびに/もしくはリフレッシュされてもよい。いくつかの実施形態では、時系列データ内の2つまたはそれを上回る変数(例えば、特徴)の間の相互作用強度が、(例えば、本明細書に説明される技法を使用して)判定されてもよい。
普遍的特徴重要性
Several embodiments of method 300 for selecting a prediction model for a prediction problem may be used to select a time series prediction model for a time series prediction problem. In some embodiments, model-specific predictions of one or more of the features of the time series data are determined (eg, using the embodiment of Method 1000 described below). May be good. In some embodiments, the time series prediction models may be mixed (eg, using the techniques described herein). In some embodiments, the time series prediction model may be expanded and / or refreshed (eg, using the techniques and / or performance enhancements described herein). In some embodiments, the intensity of interaction between two or more variables (eg, features) in the time series data is determined (eg, using the techniques described herein). You may.
Universal feature importance

監視下の機械学習問題に取り組むとき、主要な課題は、多くの場合、標的の最予測値を有する特徴を測定することである。そのような特徴重要性を測定することは、予測モデル化における2つの別個の段階、すなわち、(1)一般に予測問題を理解すること、および(2)具体的適合モデルが予測結果を生成する方法を理解することにおいて有用であり得る。 When tackling supervised machine learning problems, the main challenge is often to measure features that have the best predictors of the target. Measuring the importance of such features is two separate steps in predictive modeling: (1) understanding prediction problems in general, and (2) how a concrete fit model produces prediction results. Can be useful in understanding.

目的(1)のために、特徴重要性の測定基準は、データセットの評価(例えば、方法400のステップ408)、(例えば、方法400のステップ410における)ユーザへの評価の提示、(例えば、方法400のステップ412における)ユーザがデータセットを精緻化する方法、および/または(例えば、ステップ422ならびに424における)試行する、もしくは試行を提案するモデル化技法を知らせてもよい。目的(2)のために、特徴重要性の測定基準は、(例えば、方法400のステップ432において)混合モデルの自動開発を知らせ、(例えば、方法400のステップ446において)代替的モデルの相対性能を理解する際にユーザを支援してもよい。 For purpose (1), the metric of feature importance is the evaluation of the dataset (eg, step 408 of method 400), the presentation of the rating to the user (eg, in step 410 of method 400), (eg, eg, step 410 of method 400). The user (in step 412 of method 400) may be informed of how to refine the dataset and / or modeling techniques to try or propose trials (eg, in steps 422 and 424). For purpose (2), feature importance metrics signal the automatic development of the mixed model (eg, in step 432 of method 400) and the relative performance of the alternative model (eg, in step 446 of method 400). You may assist the user in understanding.

実践では、第1の目的のための特徴重要性を判定するステップは、概して、特定のモデルまたはモデル族(例えば、ランダムフォレスト)の文脈内で起こる。当然ながら、各モデルは、特徴重要性を測定するためのデバイスとしての利益および欠点を有することができる。したがって、いくつかの異なるタイプのモデルを使用し、特徴重要性を計算するステップは、向上した理解を実現し得る。例えば、ランダムフォレスト、一般化付加モデル、およびサポートベクターマシンは、機械学習のための根本的に異なるタイプのモデルであり、同一のデータセットのための同一の特徴の重要性の異なる測定値を生成してもよい。そのような差異は、予測問題の構造へのより深い洞察を提供し、将来の探索の手段を提案してもよい。目的(2)のために、特徴重要性は、概して、検討中のモデルに特有である。 In practice, the step of determining feature importance for a primary purpose generally occurs within the context of a particular model or model family (eg, Random Forest). Of course, each model can have advantages and disadvantages as a device for measuring feature importance. Therefore, the step of calculating feature importance using several different types of models can achieve a better understanding. For example, random forests, generalized addition models, and support vector machines are radically different types of models for machine learning, producing different measurements of the importance of the same features for the same dataset. You may. Such differences may provide deeper insight into the structure of the prediction problem and suggest means of future exploration. For purpose (2), feature importance is generally specific to the model under consideration.

恣意的モデルのための特徴重要性を計算するための技法のいくつかの実施形態が、ここで説明される。 Some embodiments of techniques for calculating feature importance for arbitrary models are described herein.

データセット(またはその任意のサンプル)およびモデル化技法を考慮すると、探索エンジン110は、普遍的な部分的依存性を使用して、任意の特徴の重要性を計算してもよい。第1に、エンジン110は、モデル化技法を使用して、サンプルに適合された予測モデルに関して精度測定基準を取得する。エンジン110は、最初から本適合を実装するか、または前の適合を使用するのかいずれかを行うことができる。次いで、所与の特徴に関して、エンジン110は、全ての観察を横断して全てのその値をとり、それらをシャッフルし、それらを観察に再び割り当てる(例えば、それらを無作為に再び割り当てる)。本無作為シャッフルは、その特徴の任意の予測値を低減させ得る(例えば、破壊する)。エンジンは、次いで、シャッフルされた特徴値を伴うデータセット上でモデルを再スコア化し、精度測定基準の新しい値を生成してもよい。(随意に、シャッフルされたデータセット上の適合モデルの再スコア化の前に、エンジンは、モデルをシャッフルされたデータセットに再適合させてもよい。)モデルの精度の減少は、予測値が失われた量、したがって、モデルにとって、および/またはモデル化技法の範囲内の特徴の重要性を示す。 Given the dataset (or any sample thereof) and modeling techniques, the search engine 110 may use universal partial dependencies to calculate the importance of any feature. First, the engine 110 uses modeling techniques to obtain accuracy metrics for the predicted model fitted to the sample. Engine 110 can either implement this conformance from the beginning or use a previous fit. The engine 110 then takes all its values across all observations, shuffles them, and reassigns them to the observations (eg, randomly reassigns them) for a given feature. This random shuffle can reduce (eg, destroy) any predicted value of its features. The engine may then re-score the model on a dataset with shuffled feature values to generate new values for accuracy metrics. (Optionally, the engine may refit the model to the shuffled dataset before rescoring the fitted model on the shuffled dataset.) The reduced accuracy of the model is predicted. Shows the amount lost, and therefore the importance of features to the model and / or within the scope of the modeling technique.

1つのモデルおよび/またはモデル化技法のための1つの特徴の重要性を計算するための上記で説明される技法を使用して、エンジンは、特徴にわたって反復し、モデルおよび/またはモデル化技法内の特徴の相対重要性を判定する、モデルおよび/またはモデル化技法にわたって反復し、モデルならびに/もしくはモデル化技法を横断して特徴の相対重要性を判定する、または両方を行うことができる。 Using the techniques described above for calculating the importance of one feature for one model and / or modeling technique, the engine iterates across the features and within the model and / or modeling technique. The relative importance of a feature can be determined, iterative across the model and / or modeling technique, and the relative importance of the feature can be determined across the model and / or modeling technique, or both.

目的(1)を満たすために、エンジン110は、概して、特徴重要性の例証的結果を生成する、モデル化技法のリストを維持してもよい。データセットを評価するとき、エンジン110は、これらのモデル化技法の全てまたはいくつかを自動的に起動してもよい。エンジンは、データセットの優先順位に基づいて、起動するモデル化技法を選定してもよい。ユーザインターフェースは、使用されるモデル化技法毎に個別に、または使用される全てのモデル化技法を横断して比較的に、特徴重要性値を表示してもよい。エンジン110はまた、ユーザが、特徴重要性を測定するために使用するモデル化技法ライブラリ130から恣意的モデル化技法を選択することを可能にしてもよい。 To meet objective (1), engine 110 may generally maintain a list of modeling techniques that produce exemplary results of feature importance. When evaluating the dataset, engine 110 may automatically start all or some of these modeling techniques. The engine may choose the modeling technique to start based on the priority of the dataset. The user interface may display feature importance values individually for each modeling technique used or across all modeling techniques used. The engine 110 may also allow the user to select an arbitrary modeling technique from the modeling technique library 130 used to measure feature importance.

予測問題を理解する際にユーザを支援することに加えて、エンジン110は、特徴重要性の本適用から結果を使用し、付加的自動分析を誘導してもよい。例えば、ボードを横断して重要性において高くスコア化する特徴に関して、エンジンは、より多くのリソースを、これらの特徴の相互作用を探索することに割り付けてもよい。ボードを横断して重要性において低くスコア化する特徴に関して、エンジンは、データセットからこれらの特徴を完全にドロップしてもよい。いくつかの特徴が、いくつかのモデルまたはモデル化技法のために高い重要性、および他のモデルまたはモデル化技法のために低い重要性を有する場合において、エンジンは、より多くのモデル化技法を試行し、モデル空間探索プロセスの早期に、より多くのデータを使用する、予測モデルのより深い検索を指図してもよい。 In addition to assisting the user in understanding the prediction problem, the engine 110 may use the results from this application of feature importance to guide additional automated analysis. For example, for features that score high in importance across the board, the engine may allocate more resources to exploring the interactions of these features. For features that score low in importance across the board, the engine may completely drop these features from the dataset. When some features have high importance for some model or modeling technique, and low importance for other model or modeling technique, the engine will use more modeling technique. You may try and direct a deeper search of the predictive model, using more data earlier in the model space exploration process.

目的(2)を満たすために、エンジンは、自動的に、または要求に応じて、適合モデルの特徴重要性値を計算してもよい。自動的の場合、エンジン110は、全てのモデルまたはその一部のいずれかの特徴重要性値を計算してもよい。一部は、任意の好適な方法で計算されてもよい。例えば、一部は、N個の最高性能モデル、ある性能測定基準に関して少なくともあるレベルの性能の閾値を満たす全てのモデル、またはその性能測定基準が最上位モデルの性能の所与の部分内である全てのモデルを含んでもよい。いくつかの実施形態では、エンジンは、利用可能な計算リソースを考慮し、これらのリソースに比例してより大きく、または小さくなるように一部を調節してもよい。 To meet objective (2), the engine may calculate the feature importance values of the conforming model automatically or on demand. If automatic, the engine 110 may calculate feature importance values for any of all models or parts thereof. Some may be calculated by any suitable method. For example, some are N highest performance models, all models that meet at least a certain level of performance threshold for a performance metric, or that performance metric is within a given portion of the performance of the top model. All models may be included. In some embodiments, the engine may take into account the available computational resources and make some adjustments to be larger or smaller in proportion to these resources.

いくつかの実施形態では、ユーザは、要求に応じて特徴重要性計算を要求し得る。ある場合には、ユーザは、所与のモデルのためのいくつかまたは全ての特徴の重要性を確認することを所望し得る。他の場合では、ユーザは、異なるモデルを横断していくつかまたは全ての特徴の重要性を確認することを所望し得る。 In some embodiments, the user may request feature importance calculations on demand. In some cases, the user may wish to confirm the importance of some or all features for a given model. In other cases, the user may wish to confirm the importance of some or all features across different models.

上記で説明される技法を使用し、一般に予測問題または特定のモデルのいずれかの特徴重要性値を提供することは、多数の利益を有し得る。例えば、 Using the techniques described above to provide feature importance values for either predictive problems or specific models in general can have a number of benefits. For example

(1)特徴が、一般に、または少なくとも全ての正確なモデルにおいて、情報を与えない場合、その特徴に対応するデータの収集は、停止されてもよい。ある場合には、そのソース場所から特徴を抽出する、またはベンダにデータの代金を支払うという労働等の特徴を利用可能にするための実際の費用が存在する。 (1) If a feature does not provide information in general, or at least in all accurate models, the collection of data corresponding to that feature may be stopped. In some cases, there is an actual cost to extract features from their source location or to make available features such as labor, which pays the vendor for the data.

(2)特徴重要性のユーザの期待および測定された特徴重要性の差は、さらなる調査の正当な理由になり得る。相違を構成するデータセットの誤差が存在することが判明し得る、または差異が本物であり、予測問題への新しい洞察を提供することが判明し得る。 (2) User expectations of feature importance and differences in measured feature importance can be justified for further investigation. It can be found that there are errors in the datasets that make up the difference, or that the difference is genuine and provides new insights into the prediction problem.

(3)ある場合には、可能な限り少ない特徴を使用し、予測を行うモデルを生成することが望ましくあり得る。これらの場合において、ユーザは、最大重要性のN個の特徴のみ、または規定閾値を超える重要性値を有する特徴のみを用いて、具体的モデル化技法もしくは全てのモデル化技法の間の検索を再起動し得る。 (3) In some cases, it may be desirable to generate a model that makes predictions using as few features as possible. In these cases, the user searches between concrete modeling techniques or all modeling techniques using only the N features of maximum importance, or only features with importance values above a specified threshold. Can be restarted.

(4)重要である特徴を把握することは、最も重要な特徴を変換して組み合わせる異なる方法を用いて実験することによって、ユーザが予測モデルを改良することに役立ち得る。
データセットの1つまたはそれを上回る特徴の予測値を判定するための技法のいくつかの実施形態
(4) Understanding the important features can help the user improve the predictive model by experimenting with different methods of transforming and combining the most important features.
Some embodiments of the technique for determining the predicted value of one or more features of a dataset.

図10は、初期予測問題を表す初期データセットの1つまたはそれを上回る特徴の予測値(例えば、「重要性」)を判定するための方法1000を示す。いくつかの実施形態では、予測モデル化システム100は、(例えば、方法400のステップ408における)データセットの評価中に、および/または(例えば、方法300を参照して上記で説明されるように)データセットを処理するときに、方法1000(もしくはその部分)を実施してもよい。いくつかの実施形態では、方法1000は、任意の予測モデルまたは予測モデル化技法への任意のデータセット特徴の予測値を判定するために使用されることができる。 FIG. 10 shows method 1000 for determining predicted values (eg, "importance") of features that are one or more of the initial datasets that represent the initial prediction problem. In some embodiments, the predictive modeling system 100 is during evaluation of the dataset (eg, in step 408 of method 400) and / or as described above (eg, with reference to method 300). ) Method 1000 (or a portion thereof) may be performed when processing the dataset. In some embodiments, Method 1000 can be used to determine the predicted value of any dataset feature to any predictive model or predictive modeling technique.

ステップ1010では、システム100は、複数の予測モデル化プロシージャを実施する。予測モデル化プロシージャはそれぞれ、予測モデルと関連付けられる。各モデル化プロシージャを実施するステップは、関連付けられる予測モデルを、初期予測問題を表す初期データセットの少なくとも一部に適合させるステップを含む。初期データセットは、以前の観察を含み、各観察は、概して、初期データセットの特徴のうちの少なくともいくつかの値を含む。 In step 1010, system 100 implements a plurality of predictive modeling procedures. Each predictive modeling procedure is associated with a predictive model. The steps of performing each modeling procedure include adapting the associated prediction model to at least a portion of the initial data set that represents the initial prediction problem. The initial dataset contains previous observations, and each observation generally contains at least some of the features of the initial dataset.

ステップ1020では、システム100は、適合予測モデルのそれぞれの第1の精度スコアを判定する。適合モデルの第1の精度スコアは、適合モデルが初期予測問題の1つまたはそれを上回る成果を予測する精度を表す。限定ではないが、初期データセットのホールドアウト部分にモデルを試験するステップを含む、モデルの精度を判定するための任意の好適な測定基準および/または技法が、使用されてもよい。 In step 1020, system 100 determines each first accuracy score of the fit prediction model. The first accuracy score of the fitted model represents the accuracy with which the fitted model predicts the outcome of one or more of the initial prediction problems. Any suitable metric and / or technique for determining the accuracy of the model may be used, including, but not limited to, the step of testing the model in the holdout portion of the initial dataset.

ステップ1030では、システム100は、初期データセット内の観察を横断して特定の特徴Fの値を「シャッフル」し、それによって、修正された予測問題を表す、修正されたデータセットを生成する。いくつかの実施形態では、シャッフルは、それらの元の観察からの特徴Fの値を異なる観察に(例えば、無作為に)再び割り当てることによって実施される。本シャッフル動作は、特徴Fの任意の予測値を低減させ得る(例えば、破壊する)。限定ではないが、データセットから特徴Fを除去するステップ、または特徴Fの同一の値を各観察に再び割り当てるステップを含む、データセット内の特徴Fの予測値を低減させる(例えば、破壊する)ための他の技法が、可能である。いくつかの実施形態では、閾値を下回って特徴Fの予測値を低減させる任意の技法が、使用されてもよい。 At step 1030, system 100 "shuffles" the value of a particular feature F across the observations in the initial dataset, thereby producing a modified dataset that represents the modified prediction problem. In some embodiments, shuffling is performed by reassigning (eg, randomly) the values of feature F from those original observations to different observations. This shuffle operation can reduce (eg, destroy) any predicted value of feature F. Reducing (eg, destroying) the predicted value of feature F in the dataset, including, but not limited to, removing feature F from the dataset or reassigning the same value of feature F to each observation. Other techniques for this are possible. In some embodiments, any technique may be used that reduces the predicted value of feature F below the threshold.

ステップ1040では、システム100は、修正された予測問題のための適合予測モデルの第2の精度スコアを判定する。第2の精度スコアは、適合モデルが修正された予測問題の1つまたはそれを上回る成果を予測する精度を表す。限定ではないが、修正されたデータセットのホールドアウト部分にモデルを試験するステップを含む、モデルの精度を判定するための任意の好適な測定基準および/または技法が、使用されてもよい。いくつかの実施形態では、適合モデルは、第2の精度スコアを判定することに先立って、修正されたデータセットに再適合される。 In step 1040, system 100 determines a second accuracy score for the fitted prediction model for the modified prediction problem. The second accuracy score represents the accuracy with which the fitted model predicts the outcome of one or more of the modified prediction problems. Any suitable metric and / or technique for determining the accuracy of the model may be used, including, but not limited to, the step of testing the model on the holdout portion of the modified dataset. In some embodiments, the fit model is refitted to the modified dataset prior to determining the second accuracy score.

ステップ1050では、予測モデル化プロシージャ(または適合モデル)毎に、システム100は、特徴Fの予測値を計算する。いくつかの実施形態では、モデル化プロシージャまたはモデルのための特徴Fの予測値は、精度の変化に基づいて(例えば、モデルのための第1の精度スコアと第2の精度スコアとの間の差異に基づいて)計算される。いくつかの実施形態では、予測値が、概して、第1の精度スコアと第2の精度スコアとの間の差異が増加すると増加するように、第1および第2の精度スコアに基づいて、モデル化プロシージャまたはモデルのための特徴の予測値を判定するために、関数が使用される。ステップ1050において判定される予測値は、個々の予測値が特定のモデル化プロシージャまたはモデルに特有であり得るため、本明細書では「モデル特有の予測値」と称され得る。 In step 1050, for each predictive modeling procedure (or fit model), system 100 calculates the predictive value of feature F. In some embodiments, the predicted value of feature F for the modeling procedure or model is based on changes in accuracy (eg, between a first accuracy score and a second accuracy score for the model). Calculated (based on the difference). In some embodiments, the model is based on the first and second accuracy scores so that the predicted values generally increase as the difference between the first and second accuracy scores increases. A function is used to determine the predicted value of a feature for a transformation procedure or model. The predicted values determined in step 1050 may be referred to herein as "model-specific predicted values" because the individual predicted values may be specific to a particular modeling procedure or model.

ステップ1060では、システム100は、別の特徴の予測値を分析するかどうかを判定する。いくつかの実施形態では、本判定は、ユーザ入力に基づいて行われる(例えば、本システムは、ユーザによって規定される全ての特徴が分析されるまで、特徴の予測値を分析し続ける)。いくつかの実施形態では、本システムは、データセット内の全ての特徴を分析する。いくつかの実施形態では、本システムは、データセット内の特徴のサブセットのみを分析する。そのような特徴は、任意の好適な基準に基づいて選択されることができる。本システムが、分析する別の特徴が存在することをステップ1060において判定する場合、本システムは、次いで、その特徴に関してステップ1030−1050を繰り返す。 In step 1060, the system 100 determines whether to analyze the predicted value of another feature. In some embodiments, the determination is based on user input (eg, the system continues to analyze predicted features until all features specified by the user have been analyzed). In some embodiments, the system analyzes all features in the dataset. In some embodiments, the system analyzes only a subset of the features in the dataset. Such features can be selected based on any suitable criteria. If the system determines in step 1060 that another feature to analyze exists, the system then repeats steps 1030-1050 for that feature.

いくつかの実施形態では、方法1000は、ステップ1010において実施される予測モデル化プロシージャを選択する付加的ステップ(図示せず)を含む。システム100は、例えば、予測モデル化技法のライブラリ130から、モデル化プロシージャを選択してもよい。いくつかの実施形態では、システム100は、2つまたはそれを上回る異なる予測モデル化族から2つまたはそれを上回るモデル化プロシージャを選択する。予測モデル化族の実施例は、線形回帰技法(例えば、一般化付加モデル)、ツリーベースの技法(例えば、ランダムフォレスト)、サポートベクターマシン、ニューラルネットワーク(例えば、多層感知)等を含むことができる。例えば、システム100は、ツリー族からのモデル化プロシージャ(例えば、ランダムフォレストモデル化プロシージャ)、線形回帰族からの別のモデル化プロシージャ(例えば、一般化付加モデル)、およびサポートベクターマシンモデル化プロシージャを選択してもよい。 In some embodiments, method 1000 includes an additional step (not shown) of selecting a predictive modeling procedure performed in step 1010. System 100 may select modeling procedures from, for example, library 130 of predictive modeling techniques. In some embodiments, the system 100 selects two or more modeling procedures from two or more different predictive modeling families. Examples of the predictive modeling family can include linear regression techniques (eg, generalized addition models), tree-based techniques (eg, random forests), support vector machines, neural networks (eg, multilayer perceptron), and the like. .. For example, system 100 includes a modeling procedure from the tree family (eg, a random forest modeling procedure), another modeling procedure from a linear regression family (eg, a generalized addition model), and a support vector machine modeling procedure. You may choose.

システム100は、限定ではないが、(1)モデル特有の予測値に基づいてデータセットを処理するステップと、(2)データセットの評価をユーザに提示するステップ、(3)モデル特有の予測値に基づいて混合のための予測モデルを選定するステップと、(4)評価されたモデルおよびそれらの関連付けられるモデル特有の予測値をユーザに提示するステップと、(5)モデル特有の予測値に基づいて、予測問題のための潜在的予測モデル化ソリューションの空間を評価するプロセス中にリソースを割り付けるステップと、(6)特徴のモデル特有の予測値に基づいて、特徴のモデル非依存性予測値(特徴重要性値)を計算するステップとを含む、方法1000を通して判定される、モデル特有の予測値(特徴重要性値)のうちの1つまたはそれを上回るものを使用して、任意の好適なタスク(例えば、予測モデル化タスク)を実施してもよい。いくつかの実施形態では、モデル非依存性特徴重要性値を計算した後、システム100は、モデル非依存性特徴重要性値を使用して、任意の好適なタスク(例えば、前の文に説明されるようなタスク(1)−(5))を実施してもよい。 The system 100 includes, but is not limited to, (1) a step of processing the data set based on the model-specific predicted value, (2) a step of presenting the evaluation of the data set to the user, and (3) a model-specific predicted value. Based on the steps of selecting predictive models for mixing based on, (4) presenting the user with the evaluated models and their associated model-specific predictive values, and (5) model-specific predictive values. And, based on the steps of allocating resources during the process of assessing the space of the potential predictive modeling solution for the predictive problem, and (6) the model-specific predictive values of the features, the model-independent predictive values of the features ( Any suitable using one or more of the model-specific predicted values (feature importance values) determined through Method 1000, including the step of calculating the feature importance values). Tasks (eg, predictive modeling tasks) may be performed. In some embodiments, after calculating the model-independent feature importance value, the system 100 uses the model-independent feature importance value to describe any suitable task (eg, described in the previous sentence). Tasks (1)-(5)) may be carried out.

いくつかの実施形態では、予測モデル化プロシージャの一部として、(例えば、方法400のステップ408における)データセットの評価中に、および/または(例えば、方法300を参照して上記で説明されるように)データセットを処理するときに、システム100は、モデル特有の予測値に基づいて、特徴生成ならびに/もしくは特徴工学を実施する。例えば、システム100は、データセットから「あまり重要ではない」特徴を取り除いてもよい。本文脈では、特徴は、特徴の予測値が閾値未満である場合、特徴がデータセット内の特徴の間でM個の最低予測値のうちの1つを有する場合、特徴がデータセット内の特徴の間でN個の最高予測値のうちの1つを有していない場合等に、「あまり重要ではない」として分類されてもよい。別の実施例として、本システムは、データセット内の「より重要な」特徴から導出された特徴を作成してもよい。本文脈では、特徴は、特徴の予測値が閾値を上回る場合、特徴がデータセット内の特徴の間でN個の最高予測値のうちの1つを有する場合、特徴がデータセット内の特徴の間でM個の最低予測値のうちの1つを有していない場合等に、「より重要」として分類されてもよい。いくつかの実施形態では、システム100は、方法1000を使用して、導出された特徴の予測値を計算してもよい。 In some embodiments, as part of a predictive modeling procedure, during evaluation of a dataset (eg, in step 408 of method 400) and / or described above (eg, with reference to method 300). As such), the system 100 performs feature generation and / or feature engineering based on model-specific predictions when processing the dataset. For example, system 100 may remove "less important" features from the dataset. In this context, a feature is a feature in a dataset if the predicted value of the feature is less than a threshold and the feature has one of the M lowest predicted values among the features in the dataset. It may be classified as "less important" if it does not have one of the N highest predicted values among them. As another embodiment, the system may create features derived from "more important" features in the dataset. In this context, a feature is a feature of a feature in a dataset if the predicted value of the feature exceeds a threshold and the feature has one of the N highest predicted values among the features in the dataset. It may be classified as "more important" if it does not have one of the M minimum predicted values in between. In some embodiments, the system 100 may use method 1000 to calculate the predicted values of the derived features.

いくつかの実施形態では、本システム100は、(例えば、方法400のステップ410において)データセットの評価をユーザに提示(例えば、表示)してもよく、提示された評価は、データセットの特徴の予測値および/またはそこから導出される情報を含んでもよい。例えば、1つまたはそれを上回るモデル化プロシージャもしくはモデルに関して、システム100は、(1)「より重要な」および/または「あまり重要ではない特徴」を識別し、(2)特徴の予測値を表示し、(3)それらの予測値によって特徴をランク付けし、ならびに/もしくは(4)あまり重要ではない特徴の収集が停止されること、および/またはあまり重要ではない特徴がデータセットから除去されることを推奨してもよい。データセットの評価をユーザに提示することに応答して、システム100は、(例えば、方法400のステップ412において)データセットの精緻化を規定するユーザ入力を受信してもよい。 In some embodiments, the system 100 may present (eg, display) a rating of the dataset to the user (eg, in step 410 of method 400), and the presented rating is a feature of the dataset. And / or information derived from it may be included. For example, for one or more modeling procedures or models, the system 100 identifies (1) "more important" and / or "less important features" and (2) displays predicted values of the features. And (3) rank features by their predictors, and / or (4) stop collecting less important features and / or remove less important features from the dataset. May be recommended. In response to presenting the user with a rating of the dataset, the system 100 may receive user input (eg, in step 412 of method 400) that specifies the refinement of the dataset.

いくつかの実施形態では、システム100は、モデル特有の予測値に基づいて、混合のための予測モデルを選択し、(例えば、方法400のステップ432において)選択されたモデルを混合する。システム100は、任意の好適な技法を使用し、混合のための予測モデルを選択してもよい。例えば、システム100は、混合のための「補完的最上位モデル」を選択してもよい。本文脈では、「補完的最上位モデル」は、異なる機構を通してそれらの高い精度を達成する、正確なモデルを含んでもよい。システム100は、モデルの精度が閾値精度を上回る場合、モデルが適合モデルの間でN個の最高精度値のうちの1つを有する場合、モデルが適合モデルの間でM個の最低精度値のうちの1つを有していない場合等に、モデルを「最上位」モデルとして分類してもよい。本システムは、(1)モデルのための最も重要な特徴(例えば、モデルの最高予測値を有する特徴)が異なる、または(2)第1のモデルにとって重要である特徴が第2のモデルにとって重要ではなく、第1のモデルにとって重要ではない特徴が第2のモデルにとって重要である場合に、2つのモデルを「補完的モデル」として分類してもよい。本文脈では、特徴は、特徴がモデルの高い予測値(例えば、最高予測値、N個の最高予測値のうちの1つ、閾値を上回る予測値等)を有する場合に、モデルにとって「重要」であり得る。本文脈では、特徴は、特徴がモデルの低い予測値(例えば、最低予測値、N個の最低予測値のうちの1つ、閾値よりも低い予測値等)を有する場合に、モデルにとって「重要ではなく」であり得る。いくつかの実施形態では、システム100は、上記で説明される分類技法を使用し、混合のための2つまたはそれを上回る補完的最上位モデルを選択してもよい。 In some embodiments, the system 100 selects a prediction model for mixing based on model-specific predictions and mixes the selected models (eg, in step 432 of method 400). System 100 may use any suitable technique to select a predictive model for mixing. For example, system 100 may select a "complementary top-level model" for mixing. In this context, "complementary top-level models" may include accurate models that achieve their high accuracy through different mechanisms. System 100 has M minimum accuracy values among the conforming models when the model has one of the N highest accuracy values among the conforming models when the accuracy of the model exceeds the threshold accuracy. Models may be classified as "top-level" models, such as when they do not have one of them. The system has (1) different most important features for the model (eg, features with the highest predicted values of the model), or (2) features that are important for the first model are important for the second model. Instead, the two models may be classified as "complementary models" if features that are not important to the first model are important to the second model. In this context, a feature is "important" to the model if the feature has a high predictive value for the model (eg, the highest predictor, one of the N highest predictors, a predictor above a threshold, etc.). Can be. In this context, a feature is "important" to the model if the feature has a low predictive value for the model (eg, the lowest predictive value, one of the N lowest predictive values, a predictor value below the threshold, etc.). Not ". In some embodiments, the system 100 may use the classification techniques described above to select two or more complementary top-level models for mixing.

ある場合には、補完的最上位モデルを混合するステップは、構成要素モデルに対して、非常に高い精度を伴う混合モデルを生じさせてもよい。対照的に、非補完的モデルを混合するステップは、構成要素モデルよりも有意に高い精度を伴う混合モデルを生じさせない場合がある。 In some cases, the step of mixing complementary top-level models may give rise to a mixed model with very high accuracy for the component model. In contrast, the step of mixing non-complementary models may not result in a mixed model with significantly higher accuracy than the component model.

いくつかの実施形態では、システム100は、(例えば、方法400のステップ446において)評価された予測モデルおよびそれらの関連付けられるモデル特有の予測値をユーザに提示してもよい。いくつかの実施形態では、システム100は、予測モデルのサブセット(例えば、最上位モデル)のみの特徴重要性値を計算および/または表示する。特徴重要性値をユーザに提示するステップは、評価されたモデルの相対性能を理解する際にユーザを支援してもよい。例えば、提示された特徴重要性値に基づいて、ユーザ(またはシステム100)は、他の最上位モデルよりも優れている最上位モデルM、およびモデルMにとって重要であるが、他の最上位モデルにとって重要ではない、1つまたはそれを上回る特徴Fを識別してもよい。ユーザは、他の最上位モデルに対して、モデルMが特徴Fによって表される情報をより良好に利用していることを結論付けてもよい(またはシステム100は、それを示してもよい)。本発見に基づいて、モデルMによって予想される成果に関心を持つ関係者は、特徴Fを測定または制御するためのシステムに投資してもよく、これは、モデルが予測している成果を改良し得る。 In some embodiments, the system 100 may present to the user the predicted prediction models evaluated (eg, in step 446 of method 400) and their associated model-specific prediction values. In some embodiments, the system 100 calculates and / or displays feature importance values for only a subset of predictive models (eg, top-level models). The step of presenting the feature importance value to the user may assist the user in understanding the relative performance of the evaluated model. For example, based on the feature importance values presented, the user (or system 100) is the top model M, which is superior to the other top models, and the other top models, which are important to the model M. One or more features F may be identified that are not important to. The user may conclude that the model M makes better use of the information represented by the feature F with respect to the other top-level models (or the system 100 may indicate that). .. Based on this finding, stakeholders interested in the outcome expected by Model M may invest in a system for measuring or controlling feature F, which improves the outcome expected by the model. Can be done.

いくつかの実施形態では、(例えば、方法300を実施している間に)予測問題のための潜在的予測モデル化ソリューションの空間を評価するプロセス中に、システム100は、予測問題を表すデータセット内の特徴の予測値に基づいて、モデル化プロシージャの評価のためのリソースを割り付けてもよい。例えば、システム100は、(例えば、方法300のステップ310において、または方法400のステップ424において)評価する予測モデル化プロシージャを選択もしくは提案してもよい。上記で説明されるように、システム100は、データセットのために好適または高度に好適であると予測される、予測モデル化プロシージャを選択もしくは提案してもよい。規定特性を有するデータセットのためのモデル化プロシージャの好適性を判定するためのいくつかの技法が、上記に説明される。予測問題の特性に基づいて、予測問題のための予測モデル化プロシージャの好適性を判定するとき、システム100は、データセットのより重要な特徴の特性を予測問題の特性として扱ってもよい。このようにして、システム100によって生成される好適性スコアは、データセットのより重要な特徴に合わせられてもよい。システム100が好適性スコアに基づいてリソースを割り付けるため、好適性スコアをデータセットのより重要な特徴に合わせるステップは、部分的に特徴重要性に基づいて、リソースを予測モデル化プロシージャの評価に割り付けさせてもよい。 In some embodiments, during the process of evaluating the space of a potential predictive modeling solution for a predictive problem (eg, while performing method 300), the system 100 is a dataset representing the predictive problem. Resources for evaluation of the modeling procedure may be allocated based on the predicted values of the features in. For example, the system 100 may select or propose a predictive modeling procedure to evaluate (eg, in step 310 of method 300 or in step 424 of method 400). As described above, the system 100 may select or propose a predictive modeling procedure that is predicted to be suitable or highly suitable for the dataset. Several techniques for determining the suitability of a modeling procedure for a dataset with specified characteristics are described above. When determining the suitability of a predictive modeling procedure for a predictive problem based on the characteristics of the predictive problem, the system 100 may treat the characteristics of the more important features of the dataset as the characteristics of the predictive problem. In this way, the suitability score generated by System 100 may be matched to the more important features of the dataset. Because System 100 allocates resources based on aptitude scores, the step of matching aptitude scores to the more important features of the dataset is to allocate resources to the evaluation of the predictive modeling procedure, in part based on feature importance. You may let me.

加えて、または代替として、システム100は、(例えば、データセットの評価中に、および/または方法300もしくは方法400のステップ408を参照して上記で説明されるようにデータセットを処理するときに)より多くのリソースを、データセットのより重要な特徴を伴う特徴生成タスクに割り付け、ならびに/もしくは(例えば、方法400のステップ432において)より多くのリソースを補完的最上位モデルのリソースの混合に割り付けてもよい。 In addition, or as an alternative, the system 100 (eg, during evaluation of the dataset and / or when processing the dataset as described above with reference to step 408 of method 300 or method 400). ) Allocate more resources to feature generation tasks with more important features of the dataset, and / or mix more resources (eg, in step 432 of method 400) to the resources of the complementary top-level model. It may be assigned.

いくつかの実施形態では、システム100は、特徴のモデル特有の予測値に基づいて、特徴Fのモデル非依存性予測値を計算してもよい。システム100は、限定ではないが、(1)モデル特有の予測値の統計的測定値(例えば、平均値、中央値、標準偏差等)を計算するステップ、または(2)モデル特有の予測値の組み合わせを判定するステップを含む、任意の好適な技法を使用して、モデル非依存性予測値を計算してもよい。後者の場合、組み合わせは、加重組み合わせであってもよい。加重組み合わせでは、より正確なモデルのモデル特有の特徴値は、あまり正確ではないモデルのモデル特有の特徴値よりも重く加重されてもよい。いくつかの実施形態では、最も正確ではないモデル化プロシージャのモデル特有の特徴値は、本段落に説明される計算および/または組み合わせから除外されてもよい。
二次モデル
In some embodiments, the system 100 may calculate model-independent predictions for feature F based on model-specific predictions for features. The system 100 includes, but is not limited to, (1) a step of calculating statistical measurements of model-specific predicted values (eg, mean, median, standard deviation, etc.), or (2) model-specific predicted values. Model-independent predictions may be calculated using any suitable technique, including the step of determining the combination. In the latter case, the combination may be a weighted combination. In a weighted combination, the model-specific feature values of a more accurate model may be weighted more heavily than the model-specific feature values of a less accurate model. In some embodiments, the model-specific feature values of the least accurate modeling procedure may be excluded from the calculations and / or combinations described in this paragraph.
Secondary model

(例えば、「モデル展開エンジン」と題された節において)上記で議論されるように、好適な二次モデル化技法(例えば、RuleFit)を使用してモデルのうちのモデル(「二次モデル」を作成し、予測コードを生成するタスクを単純化する、および/またはモデルを作成するために使用されるモデル化技法の専用詳細の開示を防止することが望ましくあり得る。また、人々は、元のモデルよりも容易に二次モデルを解釈することが可能であり得、二次モデルは、別様に「ブラックボックス」モデルへの洞察を提供してもよい。 As discussed above (eg, in the section entitled "Model Deployment Engine"), a model of the model ("Secondary Model") using a suitable quadratic modeling technique (eg, RuleFit). It may be desirable to simplify the task of creating and generating predictive code, and / or to prevent disclosure of dedicated details of the modeling techniques used to create the model. It may be possible to interpret the quadratic model more easily than the model in the quadratic model, which may provide insight into the "black box" model in another way.

しかしながら、二次モデルがソースモデルよりも予測のために系統的にあまり正確ではない場合があるという懸念が存在する。ソースモデルから二次モデルに移行するステップと関連付けられる精度のいかなる損失も低減させる(例えば、最小限にする)ための(ある場合には、それらのソースモデルよりも高い精度を伴う二次モデルを生成するための)技法のいくつかの実施形態が、下記に説明される。 However, there are concerns that the secondary model may not be systematically less accurate for prediction than the source model. To reduce (eg, minimize) any loss of accuracy associated with the step of transitioning from the source model to the secondary model (in some cases, a secondary model with higher accuracy than those source models). Some embodiments of the technique (for generation) are described below.

いくつかの実施形態では、ユーザが(例えば、方法400のステップ446において)適合モデルおよび/または(例えば、方法400のステップ450において)最上位モデルに関するホールドアウト試験の結果を提示した後、ユーザは、(a)モデルを解釈して、それが特徴を使用し、正確な予測を生成する方法を理解する、および/または(b)展開エンジン140を使用してモデルを展開することを所望し得る。あるモデル化技法は、モデルを構築するための不透明および/または複雑な方法を使用し、それによって、モデルを理解しにくくし、少なくともある場合には、予測コードを生成することの困難を増加させ得る。専用モデル構築技法の開示を防止するステップは、モデルを理解可能にし、モデルのための予測コードを生成するという課題をさらに複雑化し得る。 In some embodiments, after the user presents the results of a holdout test on the conforming model (eg, in step 446 of method 400) and / or the top model (eg, in step 450 of method 400), the user , (A) interpret the model, understand how it uses features and generate accurate predictions, and / or (b) may desire to deploy the model using the deployment engine 140. .. Some modeling techniques use opaque and / or complex methods to build a model, thereby making the model difficult to understand and, at least in some cases, increasing the difficulty of generating predictive code. obtain. The steps to prevent disclosure of dedicated model building techniques can further complicate the task of making the model understandable and generating predictive code for the model.

いくつかの実施形態では、予測モデル化システム100は、ソースモデルの二次モデルを構築することによって、これらの問題に対処する。いくつかの実施形態では、予測モデル化システム100は、概して、解釈することが比較的容易であるモデルを生成し、予測コードが比較的容易に生成され得る、1つまたはそれを上回るモデル化技法(例えば、RuleFit、一般化付加モデル等)を使用して、二次モデルを構築する。そのような技法は、本明細書では「二次モデル化技法」と称される。エンジン110が適合「一次」モデル(例えば、ユーザがより良く理解することを所望する一次モデル、ユーザが予測コードを生成することを所望する一次モデル、および/または専用特徴を有する一次モデル)を生成した後、システム100は、二次モデル化技法を使用して、一次モデルの二次モデルを作成することができる。 In some embodiments, the predictive modeling system 100 addresses these issues by building a secondary model of the source model. In some embodiments, the predictive modeling system 100 generally produces a model that is relatively easy to interpret, and one or more modeling techniques in which the predictive code can be generated relatively easily. (For example, RuleFit, generalized addition model, etc.) are used to build a secondary model. Such techniques are referred to herein as "secondary modeling techniques." Engine 110 produces a fitted "primary" model (eg, a primary model that the user wants to better understand, a primary model that the user wants to generate a prediction code, and / or a primary model with dedicated features). After that, the system 100 can use the quadratic modeling technique to create a quadratic model of the primary model.

一次モデル内の特徴毎に、元のデータセットから、または元のデータセットから導出される、特徴値の対応するセットが存在する。二次モデル化技法は、一次モデルと同一の特徴を使用してもよく、したがって、二次モデル化技法の訓練および試験データに、そのような特徴の元の値またはそのサブセットを使用してもよい。いくつかの実施形態では、データセットからの標的の実際の値を使用する代わりに、二次モデル化技法は、一次モデルからの標的の予測値を使用する。 For each feature in the primary model, there is a corresponding set of feature values derived from or derived from the original dataset. The secondary modeling technique may use the same features as the primary model, and therefore the original values of such features or a subset thereof may be used for training and test data of the secondary modeling technique. Good. In some embodiments, instead of using the actual values of the target from the dataset, the secondary modeling technique uses the predicted values of the target from the primary model.

ある場合には、二次モデル化技法は、代替的もしくは補助的訓練および/または試験データを使用してもよい。そのような代替物は、同一もしくは異なるデータソースのいずれかからの他の現実世界データ、(例えば、内挿および外挿を介した)(例えば、現実世界サンプルに存在するよりも広い範囲の可能性を網羅する目的のための)機械生成データと組み合わせられた現実世界データ、または機械ベースの確率モデルによって完全に生成されるデータを含んでもよい。いくつかの実施形態では、二次モデルを訓練するために使用される標的変数の値は、一次モデルからの予測値である。 In some cases, secondary modeling techniques may use alternative or ancillary training and / or test data. Such alternatives are capable of a wider range of other real-world data from either the same or different data sources (eg, via interpolation and extrapolation) (eg, through real-world samples). It may include real-world data combined with machine-generated data (for sex-extrapolating purposes), or data entirely generated by machine-based stochastic models. In some embodiments, the value of the target variable used to train the secondary model is a predicted value from the primary model.

1つの懸念は、一次モデルにおける任意の誤差が、二次モデルを構築するときに複雑化または拡大され得、それによって、二次モデルの精度を系統的に低減させることである。第1に、本発明者らは、これが経験的に真実であるかどうかという疑問が存在することを認識および理解している。第2に、ある場合には、これが真実である場合、本発明者らは、より正確な一次モデルを使用することが、精度の損失を低減させる可能性が高いことを認識および理解している。例えば、混合モデル(例えば、「モデル化空間探索エンジン」と題された節の終わりに向かって説明されるような)が、ある時は、任意の単一のモデルよりも正確であるため、二次モデルを一次モデルの混合に適合させるステップは、二次モデル化と関連付けられる精度のいかなる損失も低減させ得る。 One concern is that any error in the primary model can be complicated or expanded when building the secondary model, thereby systematically reducing the accuracy of the secondary model. First, we recognize and understand that there is a question as to whether this is empirically true. Second, in some cases, if this is true, we recognize and understand that using a more accurate primary model is likely to reduce the loss of accuracy. .. For example, a mixed model (eg, as explained towards the end of the section entitled "Modeled Spatial Search Engine") is sometimes more accurate than any single model, so two. The step of adapting the next model to the mixture of the primary models can reduce any loss of accuracy associated with the secondary modeling.

本発明者らは、二次モデルの精度についての懸念が大部分は見当外れであることを経験的に判定している。1195個の分類および1849個の回帰一次モデルをもたらす、381個のデータセットについてのシステムの試験が、実施された。試験された分類モデルに関して、二次モデルの43%は、対応する一次モデルほど正確ではなかったが、わずか10%は、精度の対数損失測定値によると、より悪かった。二次モデルの30パーセントは、実際に、一次モデルよりも正確であった。事例の27%のみでは、10%を上回る二次モデルは、一次モデルほど正確ではなかった。これらの場合の約3分の1(全集団のほぼ9%)は、データセットが非常に小さいときに発生した。これらの事例のさらに3分の1(再度、全集団のほぼ9%)は、一次モデルが0.1未満の対数損失において非常に正確であり、二次モデルもまた、依然として、0.1未満の対数損失において非常に正確であったときに発生した。したがって、十分に大きいデータセットを伴う事例の90%超では、二次モデルは、一次モデルの10%以内であった、または二次モデルは、絶対標準によって非常に正確であったかのいずれかである。事例の41%において、最良二次モデルが、一次モデルの混合から導出された。 We have empirically determined that concerns about the accuracy of secondary models are largely misguided. Testing of the system was performed on 381 datasets, resulting in 1195 classifications and 1849 primary regression models. For the classification models tested, 43% of the secondary models were not as accurate as the corresponding primary models, but only 10% were worse, according to accurate log loss measurements. Thirty percent of the secondary models were actually more accurate than the primary model. In 27% of cases alone, secondary models above 10% were not as accurate as primary models. About one-third of these cases (nearly 9% of the total population) occurred when the dataset was very small. An additional third of these cases (again, nearly 9% of the total population) are very accurate in log loss where the primary model is less than 0.1, and the secondary model is still less than 0.1. Occurred when it was very accurate in log loss of. Thus, in more than 90% of cases with sufficiently large datasets, the secondary model was either within 10% of the primary model, or the secondary model was very accurate by absolute standard. .. In 41% of cases, the best secondary model was derived from a mixture of primary models.

試験された回帰モデルに関して、二次モデルの39%は、対応する一次モデルほど正確ではなかったが、わずか10%は、精度の残差平均平方誤差測定値によると、より悪かった。二次モデルの47パーセントは、実際に、一次モデルよりも正確であった。事例の14%のみでは、10%を上回る二次モデルは、一次モデルほど正確ではなかった。これらの事例の約10%(全集団のほぼ1.5%)は、データセットが非常に小さいときに発生した。全ての事例の35%では、最良二次モデルが、一次モデルの混合から導出された。 For the regression models tested, 39% of the secondary models were not as accurate as the corresponding primary models, but only 10% were worse, according to the residual mean square error measurements of accuracy. Forty-seven percent of the secondary models were actually more accurate than the primary model. In 14% of cases alone, secondary models above 10% were not as accurate as primary models. About 10% of these cases (nearly 1.5% of the total population) occurred when the dataset was very small. In 35% of all cases, the best secondary model was derived from a mixture of primary models.

本経験的データに基づいて、本発明者らは、元のデータセットが十分に大きい場合に、二次モデルが、概して、比較的に正確または絶対的に正確のいずれかであることを認識および理解している。多くの場合、二次モデルは、実際には、一次モデルよりも正確である。最終的に、試験される全ての分類および回帰問題の3分の1を上回るものにおいて、最も正確な二次モデルが、一次モデルの混合から導出された。 Based on this empirical data, we recognize that the quadratic model is generally either relatively accurate or absolutely accurate when the original dataset is large enough. I understand. In many cases, the secondary model is actually more accurate than the primary model. Finally, for more than one-third of all classification and regression problems tested, the most accurate secondary model was derived from a mixture of primary models.

本発明者らは、二次モデルが、(a)複雑な一次モデルを理解するため、(b)予測モデルのための予測コードを生成するタスクを単純化するため、および(c)専用モデル構築技法を保護するために有益であり得ることを認識および理解している。一次モデルの混合は、多くの場合、これらの利益を改良する。混合モデルは、大抵の時間に最良の予測結果を生成するが、それらはまた、混合に含まれる全てのモデルの全ての構成要素の複雑性を組み合わせるため、概して、より複雑である。また、混合モデルのための予測コードを生成するステップは、概して、混合に含まれる全ての構成要素モデルのための予測コードを生成するという課題も組み合わせる。これらの構成要素課題に加えて、混合モデルの全てが、概して、各予測を生成するように算出されるため、混合モデルは、概して、予測を生成することがより遅い(および/または予測を生成するためにより多くの計算リソースを要求する)。二次モデルは、概して、本時間(および/または計算リソースの使用)を単一のモデルを算出する時間まで短縮する。また、混合モデルは、各構成要素モデルの専用特徴を含有する。したがって、二次モデルおよび混合モデルは、高度に補完的な様式で動作する。 We find that the secondary model is (a) to understand a complex primary model, (b) to simplify the task of generating predictive code for a predictive model, and (c) to build a dedicated model. Recognize and understand that it can be beneficial to protect the technique. Mixing primary models often improves on these benefits. Mixed models produce the best predictions at most times, but they are also generally more complex because they combine the complexity of all the components of all the models involved in the mixture. The step of generating a prediction code for a mixed model also generally combines the task of generating a prediction code for all component models included in the mixture. In addition to these component tasks, mixed models are generally slower to generate predictions (and / or generate predictions) because all of the mixed models are generally calculated to generate each prediction. Requires more computing resources to do). Secondary models generally reduce this time (and / or the use of computational resources) to the time it takes to calculate a single model. The mixed model also contains the exclusive features of each component model. Therefore, the secondary and mixed models operate in a highly complementary fashion.

また、システム100が、データセットを、訓練、試験、およびホールドアウトパーティションに自動的に分離することができるため、本システムは、任意の特定の二次モデルが一次モデルと比較して十分に機能するかどうかを容易に判定することができる。
二次モデル化技法のいくつかの実施形態
In addition, the system 100 can automatically separate the dataset into training, testing, and holdout partitions, so that any particular secondary model works well compared to the primary model. It can be easily determined whether or not to do so.
Some embodiments of secondary modeling techniques

図11Aを参照すると、二次予測モデルを生成するための方法1100は、ステップ1110および1120を含んでもよい。ステップ1110では、適合一次予測モデルが、取得される。一次予測モデルは、1つまたはそれを上回る第1の入力変数の値に基づいて、予測問題の1つまたはそれを上回る出力変数の値を予測するように構成される。一次モデルは、任意の好適な技法(例えば、予測モデル化プロシージャを実装する機械実行可能モジュールを実行するステップ、予測モデル化方法300の実施形態を実施するステップ、2つまたはそれを上回る予測モデルを混合するステップ等)を使用して、取得されてもよく、任意の好適なタイプの予測モデル(例えば、時系列モデル等)であってもよい。ステップ1120では、二次予測モデル化プロシージャが、適合一次モデルに実施される。二次モデル化プロシージャは、二次予測モデル(例えば、RuleFitモデル、一般化付加モデル、条件付き規則のセットとして編成される任意のモデル、前述のタイプのモデルのうちの2つまたはそれを上回るものの混合等)と関連付けられる。 With reference to FIG. 11A, method 1100 for generating a quadratic prediction model may include steps 1110 and 1120. In step 1110, a fitted primary prediction model is acquired. The primary prediction model is configured to predict the value of one or more output variables in the prediction problem based on the value of one or more first input variables. The primary model may include any suitable technique (eg, a step of executing a machine executable module that implements a predictive modeling procedure, a step of implementing an embodiment of predictive modeling method 300, two or more predictive models. It may be obtained using mixing steps, etc.) or may be any suitable type of prediction model (eg, time series model, etc.). In step 1120, a quadratic predictive modeling procedure is performed on the fitted primary model. A quadratic modeling procedure is a quadratic predictive model (eg, a RuleFit model, a generalized addition model, any model organized as a set of conditional rules, two or more of the above types of models. (Mixed etc.) and associated.

図11Bを参照すると、二次予測モデル化プロシージャを実施するための方法1120は、ステップ1122、1124、1126、および1128を含んでもよい。ステップ1122では、二次入力データが、生成される。二次入力データは、複数の二次観察を含む。各二次観察は、1つまたはそれを上回る第2の入力変数の観察値と、第2の入力変数の値に対応する第1の入力変数の値に基づいて一次モデルによって予測される出力変数の値とを含む。二次入力データを生成するステップは、二次観察毎に、第2の入力変数の観察値および第1の入力変数の対応する観察値を取得するステップと、第1の入力変数の対応する観察値に一次予測モデルを適用し、出力変数の予測値を生成するステップとを含んでもよい。 Referring to FIG. 11B, method 1120 for performing a quadratic predictive modeling procedure may include steps 1122, 1124, 1126, and 1128. In step 1122, secondary input data is generated. The secondary input data includes a plurality of secondary observations. Each secondary observation is an output variable predicted by the primary model based on the observed value of one or more second input variables and the value of the first input variable corresponding to the value of the second input variable. Including the value of. The steps to generate the secondary input data are the step of acquiring the observation value of the second input variable and the corresponding observation value of the first input variable and the corresponding observation of the first input variable for each secondary observation. It may include a step of applying a first-order prediction model to the values and generating the predicted values of the output variables.

一次モデルおよび二次モデルは、入力変数の同一のセットを使用してもよい。代替として、二次モデルは、一次モデルの入力変数のうちの1つまたはそれを上回るもの(例えば、全て)を使用してもよく、また、1つまたはそれを上回る他の入力変数を使用してもよい。代替として、二次モデルは、一次モデルの入力変数のうちのいずれも使用しなくてもよく、1つまたはそれを上回る他の入力変数を使用してもよい。 The primary and secondary models may use the same set of input variables. Alternatively, the quadratic model may use one or more of the input variables of the primary model (eg, all), and may use one or more of the other input variables. You may. Alternatively, the quadratic model may not use any of the input variables of the primary model and may use one or more other input variables.

ステップ1124では、二次訓練データおよび二次試験データが、二次入力データから生成される。入力データセットから訓練データおよび試験データを生成するための技法のいくつかの実施形態が、本明細書に説明される。 In step 1124, secondary training data and secondary test data are generated from the secondary input data. Some embodiments of techniques for generating training and test data from input datasets are described herein.

ステップ1126では、適合一次モデルの適合二次予測モデルが、二次予測モデルを二次訓練データに適合させることによって生成される。ステップ1128では、適合一次モデルの適合二次予測モデルが、二次試験データで試験される。交差検証(限定されないが、ネスト化交差検証を含む)およびホールドアウト技法が、予測モデルを適合および/または試験するために使用されてもよい。 In step 1126, a fitted secondary prediction model of the fitted primary model is generated by fitting the secondary prediction model to the secondary training data. In step 1128, the conforming secondary prediction model of the conforming primary model is tested with the secondary test data. Cross-validation (including, but not limited to, nested cross-validation) and holdout techniques may be used to fit and / or test the predictive model.

いくつかの実施形態では、一次および二次適合モデルは、比較されてもよい。例えば、適合モデル毎の精度スコアが、判定されてもよい。各適合モデルの精度スコアは、適合モデルが1つまたはそれを上回る予測問題の成果を予測する精度を表してもよい。(いくつかの実施形態では、二次モデルの精度スコアは、適合モデルが一次モデルによって予測される標的変数値を予測する精度ではなく、適合モデルが標的変数の観察を予測する精度を表す。他の実施形態では、二次モデルの精度スコアは、適合モデルが一次モデルによって予測される標的変数値を予測する精度を表す。)ある場合には、適合二次モデルの精度スコアは、適合一次モデルの精度スコアを超える。別の実施例として、計算リソースの量は、1つまたはそれを上回る予測問題の成果を予測するために適合予測モデルのそれぞれによって使用される。いくつかの実施形態では、適合二次モデルによって使用される計算リソースの量は、適合一次モデルによって使用される計算リソースの量未満である。 In some embodiments, the primary and secondary conforming models may be compared. For example, the accuracy score for each fitted model may be determined. The accuracy score of each fitted model may represent the accuracy with which the fitted model predicts the outcome of one or more prediction problems. (In some embodiments, the accuracy score of the secondary model represents the accuracy with which the fitted model predicts the observation of the target variable, rather than the accuracy with which the fitted model predicts the target variable value predicted by the primary model. In the embodiment, the accuracy score of the quadratic model represents the accuracy with which the fitted model predicts the target variable value predicted by the primary model.) If there is, the accuracy score of the fitted quadratic model is the fitted primary model. Exceeds the accuracy score of. As another example, the amount of computational resources is used by each of the fitted prediction models to predict the outcome of one or more prediction problems. In some embodiments, the amount of computational resources used by the fitted secondary model is less than the amount of computational resources used by the fitted primary model.

いくつかの実施形態では、複数の二次モデル化プロシージャが、実施され、一次モデルの複数の二次モデルが、生成される。いくつかの実施形態では、二次モデルの精度スコアおよび/または計算リソース使用が、判定ならびに比較される。二次モデルのうちの1つまたはそれを上回るものは、少なくとも部分的に、モデルの精度スコアおよび/または計算リソース使用に基づいて、展開のために選択されてもよい。 In some embodiments, multiple quadratic modeling procedures are performed and multiple quadratic models of the primary model are generated. In some embodiments, the accuracy score and / or computational resource usage of the secondary model is determined and compared. One or more of the secondary models may be selected for deployment, at least in part, based on the model's accuracy score and / or computational resource usage.

予測問題のための予測モデルを選択するための方法300のいくつかの実施形態が、予測問題のための二次予測モデルを選択するために使用されてもよい。いくつかの実施形態では、入力データの特徴のうちの1つまたはそれを上回るもののモデル特有の予測値が、(例えば、下記に説明される方法1000の実施形態を使用して)二次モデルに関して判定されてもよい。いくつかの実施形態では、二次予測モデルは、(例えば、本明細書に説明される技法を使用して)混合されてもよい。いくつかの実施形態では、二次予測モデルは、(例えば、本明細書に説明される技法および/または性能増進を使用して)展開ならびに/もしくはリフレッシュされてもよい。 Several embodiments of method 300 for selecting a predictive model for a predictive problem may be used to select a secondary predictive model for the predictive problem. In some embodiments, model-specific predictions of one or more of the features of the input data are relative to the secondary model (eg, using the method 1000 embodiment described below). It may be determined. In some embodiments, the secondary prediction models may be mixed (eg, using the techniques described herein). In some embodiments, the secondary prediction model may be deployed and / or refreshed (eg, using the techniques and / or performance enhancements described herein).

予測問題のための予測モデルを選択するための方法300のいくつかの実施形態が、予測問題のための二次予測モデルを選択するために使用されてもよい。
テキスト言語条件付け
Several embodiments of method 300 for selecting a predictive model for a predictive problem may be used to select a secondary predictive model for the predictive problem.
Text language conditioning

データセットのいくつかの特徴は、非構造化テキストブロックを含んでもよい。異なる言語が異なる特性を有するため、最良の予測モデル化ステップは、非構造化テキスト特徴の中に存在する1つまたは複数の言語に依存し得る。 Some features of the dataset may include unstructured text blocks. Because different languages have different characteristics, the best predictive modeling step can depend on one or more languages present in the unstructured text features.

いくつかの実施形態では、システム100は、テキスト文字列の中の言語を検出する、またはより一般的には、文字列が所与の言語の中にある可能性を計算する。システム100は、条件付きテキスト処理を通して、テキスト言語の知識を予測モデル化プロセスに組み込んでもよい。例えば、モデル化技法は、テキストから構造化特徴を抽出するステップを含む、前処理ステップを含んでもよい。特徴抽出プロシージャは、言語に基づいて変動してもよい。別の実施例として、いくつかのモデル化技法は、特定の言語に具体的であるか、または異なる言語に関して異なるように機能するかのいずれかであってもよい。 In some embodiments, the system 100 detects a language in a text string, or more generally, calculates the likelihood that the string is in a given language. System 100 may incorporate knowledge of the text language into the predictive modeling process through conditional text processing. For example, modeling techniques may include preprocessing steps, including steps to extract structured features from text. The feature extraction procedure may vary based on language. As another example, some modeling techniques may either be specific to a particular language or behave differently with respect to different languages.

例えば、文字nグラムは、中国語テキストでうまく稼働する。それらは、多くの場合、英語テキストで良好な結果を生成するが、あまり一貫していないため、ワードnグラムが、通常、英語テキストの処理のために好ましい。また、ドイツ語およびフィンランド語等の多くの形態素から単一の言葉を形成する、「総合的」言語も存在する。ワードnグラムが、本構造の中の情報の多くを失い得るため、これらの言語の中のこれらの処理テキストは、概して、言葉から形態素を抽出するために付加的特殊トークン化を要求する。さらに、異なる言語からのテキストの処理は、ストップワード、語幹解釈、および見出語認定の除去のための異なる処置から利益を享受し得る。 For example, the character ngram works well with Chinese text. They often produce good results in English text, but are not very consistent, so word ngrams are usually preferred for processing English text. There are also "synthetic" languages that form a single word from many morphemes such as German and Finnish. These processed texts in these languages generally require additional special tokenization to extract morphemes from words, as word ngrams can lose much of the information in this structure. In addition, processing texts from different languages can benefit from different actions for the removal of stopwords, stem interpretations, and lemma recognition.

いくつかの実施形態では、個々のモデル化技法は、検出された言語に依存する、テキスト処理のための条件付き論理を有してもよい。例えば、モデル化技法は、ヨーロッパ言語にワードnグラム、および中国語に文字nグラムを使用してもよい。エンジン110は、実行のために発送されるときに、1つまたは複数の検出された言語をモデル化技法にパスしてもよい。 In some embodiments, the individual modeling techniques may have conditional logic for text processing that depends on the detected language. For example, modeling techniques may use word ngrams for European languages and letter ngrams for Chinese. Engine 110 may pass one or more detected languages to the modeling technique when shipped for execution.

いくつかの実施形態では、エンジン110は、言語に基づいて、評価からモデル化技法もしくはモデル化技法族を除外する、または言語に基づいて、それらのリソース割付(例えば、処理優先順位)を改変してもよい。いくつかの実施形態では、モデル化技法は、技法が好適である1つまたは複数の言語を規定する、関連付けられるメタデータを有してもよい。いくつかの実施形態では、モデル化技法は、技法が言語のセットに関して機能する可能性の程度を示す、関連付けられるメタデータを有してもよい。本性能推定値は、モデル化技法についての以前の情報に基づく、または異なるモデル化技法が異なる言語を用いて機能する程度に基づいてメタ機械学習を介して計算されてもよい。
相互作用強度
In some embodiments, engine 110 excludes modeling techniques or modeling technique families from the evaluation based on language, or modifies their resource allocation (eg, processing priority) based on language. You may. In some embodiments, the modeling technique may have associated metadata that defines one or more languages for which the technique is suitable. In some embodiments, the modeling technique may have associated metadata that indicates the degree to which the technique is likely to work with respect to a set of languages. The performance estimates may be calculated via meta-machine learning based on previous information about the modeling technique or the extent to which different modeling techniques work in different languages.
Interaction strength

予測モデルでは、ともにとられる2つまたはそれを上回る予測因子変数(例えば、特徴)は、別個にとられるこれらの変数に加えて、もしくはその代わりに、標的変数に影響を及ぼし得る。いくつかの実施形態では、本システムは、多種多様な予測問題を横断してそのような相互作用を示す、測定基準の値または測定基準のセットを判定する。いくつかの実施形態では、エンジン110は、適切な相互作用モデル化技法を自動的に適用するプロセスに測定基準を組み込む。いくつかの実施形態では、エンジン110は、ユーザが、代替的な事前パッケージ化された相互作用モデル化技法の間で選択する、またはそれらの独自のカスタム技法を適用することを可能にする。 In a predictive model, two or more predictor variables taken together (eg, features) can affect the target variables in addition to or in place of these variables taken separately. In some embodiments, the system determines a metric value or set of metric that exhibits such an interaction across a wide variety of predictive problems. In some embodiments, engine 110 incorporates metrics into the process of automatically applying appropriate interaction modeling techniques. In some embodiments, the engine 110 allows the user to choose between alternative pre-packaged interaction modeling techniques or apply their own custom techniques.

例えば、自動車保険との関連で、「年齢」と「性別」特徴との間の相互作用が存在し得る。いくつかの年齢において、女性は、男性よりも安全な運転者である。他の年齢において、男性および女性は、同等に安全である。そしてさらに他の年齢において、男性が、より安全である。別の実施例として、地理的分析との関連で、緯度と経度との間の相互作用が存在し得る。いかなる相互作用も伴わずに緯度および経度特徴のみを使用して、モデルは、シンガポールが、1人あたりのその非常に高いGDPの代わりに、1人あたりの低いGDPを有することを予測し得るが、相互作用情報を使用して、モデルは、シンガポールが1人あたりの高いGDPを有することを正しく予測し得る。 For example, in the context of car insurance, there may be interactions between "age" and "gender" characteristics. At some ages, women are safer drivers than men. At other ages, men and women are equally safe. And at yet other ages, men are safer. As another embodiment, there may be an interaction between latitude and longitude in the context of geographic analysis. Using only latitude and longitude features without any interaction, the model can predict that Singapore will have low GDP per capita instead of its very high GDP per capita. Using interaction information, the model can correctly predict that Singapore will have high GDP per capita.

一般に、相互作用を検出するステップは、2つまたはそれを上回る特徴の間の統計的に有意な相互作用を検出するための方法を実施するステップを伴う。いくつかの実施形態では、エンジン110は、(例えば、方法400のステップ408において)データセットを評価することに応じて、相互作用を検出してもよい。いくつかの実施形態では、個々のモデル化技法は、(例えば、モデル化技法ビルダ220によって)相互作用に関して個別に試験するように構築されてもよい。前者のアプローチは、一般的ソリューションを提供してもよく、後者のアプローチは、具体的状況に対処するためのさらなる融通性を提供してもよい。 In general, the step of detecting an interaction involves implementing a method for detecting a statistically significant interaction between two or more features. In some embodiments, the engine 110 may detect the interaction depending on the evaluation of the dataset (eg, in step 408 of method 400). In some embodiments, individual modeling techniques may be constructed to be individually tested for interactions (eg, by modeling technique builder 220). The former approach may provide a general solution and the latter approach may provide additional flexibility to deal with specific situations.

一般的な場合において、エンジン110は、(a)相互作用のための候補である特徴のサブセット、(b)試験する相互作用の順序、および(c)試験する具体的な特徴の組み合わせを判定してもよい。決定毎に、エンジン100は、発見的問題解決法または過去の予測問題についてのメタ機械学習の結果のいずれかを使用してもよい。例えば、いくつかの研究は、3方向または高次相互作用に関する試験が、殆ど改良された予測精度につながらないことを示す。したがって、いくつかの実施形態では、エンジン110は、ユーザによって具体的にオーバーライドされない、または特定の問題を示すメタ機械学習アルゴリズムが、高次相互作用をモデル化することが精度を改良するであろう例外的な事例であるという合理的な確率を有していない限り、2方向相互作用のみに関して試験する、もしくはデフォルトで2方向相互作用のみに関して試験してもよい。 In the general case, engine 110 determines a combination of (a) a subset of features that are candidates for an interaction, (b) the sequence of interactions to be tested, and (c) a specific combination of features to be tested. You may. For each decision, engine 100 may use either a discovery problem solution or the result of meta-machine learning for past prediction problems. For example, some studies show that testing for three-way or higher-order interactions leads to little improved prediction accuracy. Therefore, in some embodiments, the engine 110 will not be specifically overridden by the user, or a meta-machine learning algorithm that indicates a particular problem will improve accuracy by modeling higher-order interactions. Unless you have a reasonable probability that it is an exceptional case, you may test for only two-way interactions, or by default only for two-way interactions.

潜在的相互作用のセットを判定した後、エンジン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)を含む。 After determining the set of potential interactions, the engine 110 may select an interaction detection method. In some cases, the engine 110 may use the same interaction detection method for all possible interactions. In other cases, the engine 110 may select different interaction detection methods for different combinations of features based on the characteristics of the features. Some examples of the interaction method are ANOVA, Partial Dependence Functions (JH Friedman and BE Popescu, Prective learning learning via ruleLes evience, Liberation, Defense and interaction detection, Statistica Sinica 12 (2), 2002), Grove (D. Sorokina et al., Detecting statistical interactions with additive groves of trees, in ICML, 2008), and FAST (Yin Lou et al, Accurate intelligible models with Includes pairwise interactions, in KDD, 2013).

いくつかの実施形態では、システム100は、他の機械学習技法を実行するための上記に説明される同一の機構を使用して、相互作用を検出するためのそのような技法を実施する。エンジン110が相互作用検出結果を取得した後、エンジンは、(1)有意であるこれらの相互作用に基づいて、新しい特徴を構築して、それらをデータセットに追加し、および/または(2)モデル化技法が相互作用を直接取り扱う能力を有する場合において、パラメータとしての有意なパラメータのリストをモデル化技法にパスしてもよい。モデル化技法の実行は、次いで、上記に説明される方法で継続することができる。
予測性能増進
In some embodiments, the system 100 implements such techniques for detecting interactions using the same mechanism described above for performing other machine learning techniques. After the engine 110 obtains the interaction detection results, the engine builds new features based on these interactions that are significant (1) and adds them to the dataset and / or (2). If the modeling technique has the ability to handle interactions directly, a list of significant parameters as parameters may be passed to the modeling technique. Execution of the modeling technique can then be continued in the manner described above.
Predictive performance improvement

ユーザは、潜在的に、展開エンジンを使用して(例えば、モデル展開エンジン140を使用して)、モデルを独立予測サービスに適合させてもよい。ある場合には、特定のモデルを使用し、特徴の観察値から予測標的を計算するステップは、有意な計算リソースを要求し得る。いくつかの実施形態では、エンジン110は、特に、予測サービスが多くのモデルに対する要求ならびに/もしくは1つまたはそれを上回るモデルへの頻繁な要求を取り扱うときに、リソース消費を限定(例えば、最小限化)しながら、適時な応答を提供するように構成される。 The user may potentially use the deployment engine (eg, using the model deployment engine 140) to adapt the model to the independent prediction service. In some cases, the step of using a particular model and calculating predictive targets from feature observations can require significant computational resources. In some embodiments, engine 110 limits resource consumption (eg, minimal), especially when the prediction service handles demands on many models and / or frequent demands on one or more models. It is configured to provide a timely response.

実施例が、ここで説明される。オンラインゲームでは、ゲームプロバイダは、各タイプのゲームの多くのインスタンス、および各インスタンスにおいてプレーする多くのユーザを伴って、多くの異なるタイプのゲームをサポートし得る。ユーザ満足度およびゲームからの収入を増加させる(例えば、最適化する)ために、そのようなプロバイダは、ユーザがプレーするゲームの成果に基づいて、ユーザ挙動を予測することを所望し得る。そのようなプロバイダは、そのような予測を使用し、提案をプレーヤに提供する、またはその将来のゲーム体験を調節してもよい。したがって、そのようなプロバイダは、それぞれが、例えば、1日あたり数千から数百万もの予測を行うために使用され得る、数十から数百の異なるモデルに依拠し得る。また、モデルを横断する相対予測要求は、人口統計的効果、推移する人気、平均ゲーム完了時間の差異等に起因して、経時的に大いに変動し得る。 Examples are described herein. In online games, a game provider may support many different types of games, with many instances of each type of game, and many users playing in each instance. In order to increase (eg, optimize) user satisfaction and revenue from games, such providers may wish to predict user behavior based on the outcome of the game the user plays. Such providers may use such predictions to provide suggestions to players or adjust their future gaming experience. Thus, such providers may rely on dozens to hundreds of different models, each of which can be used, for example, to make thousands to millions of forecasts per day. Also, the relative prediction requirements across the model can fluctuate significantly over time due to demographic effects, changing popularity, differences in average game completion time, and the like.

動作予測を行うために、ユーザは、モデル構築コンピューティングインフラストラクチャから完全に分離している、独立予測サービスを所望し得る。独立予測サービスは、異なるコンピューティング環境内で起動する、または共有コンピューティング環境内で明確に異なる構成要素として管理されてもよい。いったんインスタンス化されると、サービスの実行、セキュリティ、および監視は、モデル構築環境から完全に分離され、ユーザが独立してそれを展開および管理することを可能にし得る。 To make behavior predictions, users may want an independent prediction service that is completely separate from the model-building computing infrastructure. Independent forecasting services may be launched within different computing environments or managed as distinctly different components within a shared computing environment. Once instantiated, service execution, security, and monitoring can be completely separated from the model building environment, allowing users to deploy and manage it independently.

サービスをインスタンス化した後、展開エンジンは、ユーザが適合モデルをサービスにインストールすることを可能にし得る。性能を増進する(例えば、最適化する)ために、モデルを適合するために好適なモデル化技法の実装は、予測を行うために準最適であり得る。例えば、モデルを適合するステップは、同一のアルゴリズムを繰り返し起動することを要求するため、多くの場合、アルゴリズムの高速並列実行を可能にすることに有意量の間接費を投資する価値がある。しかしながら、予測要求の期待率があまり高くない場合、その同一の間接費は、独立予測サービスのために価値がない場合がある。ある場合には、モデル化技法開発者は、予測環境内でより良好な性能特性を提供する、その構成要素実行タスクのうちの1つまたはそれを上回るものの特殊バージョンさえも提供してもよい。特に、高度並列実行または特殊プロセッサ上の実行のために設計される実装は、予測性能のために有利であり得る。同様に、モデル化技法がプログラミング言語で規定されるタスクを含む場合において、サービス始動またはそのモデルからの予測に対する初期要求まで待機するのではなく、サービスインスタンス化の時間にタスクを事前コンパイルするステップが、性能改良を提供し得る。 After instantiating the service, the deployment engine may allow the user to install the conformance model on the service. Implementations of modeling techniques suitable for fitting a model to enhance (eg, optimize) performance can be suboptimal for making predictions. For example, the step of fitting a model requires that the same algorithm be invoked repeatedly, so it is often worth investing significant overhead in enabling fast parallel execution of the algorithm. However, if the expected rate of the forecast request is not very high, the same overhead may be worthless due to the independent forecast service. In some cases, the modeling technique developer may even provide a special version of one or more of its component execution tasks that provides better performance characteristics within the predictive environment. In particular, implementations designed for highly parallel execution or execution on specialized processors can be advantageous for predictive performance. Similarly, when a modeling technique involves a task specified in a programming language, the step of precompiling the task at the time of service instantiation, rather than waiting for the initial request for service startup or prediction from that model, is , Can provide performance improvements.

また、モデル適合タスクは、概して、予測サービスと異なるコンピューティングインフラストラクチャを使用する。モデル化技法実行中にエラーからクラウドインフラストラクチャを保護するため、およびクラウド内の他のユーザからのモデル化技法へのアクセスを防止するために、モデル化技法は、モデル適合中にセキュアなコンピューティングコンテナ内で実行してもよい。しかしながら、予測サービスは、多くの場合、専用マシンまたはクラスタ上で起動してもよい。セキュアなコンテナ層を除去することは、したがって、いかなる実用的不利点も伴わずに間接費を削減し得る。 Also, the model fitting task generally uses a different computing infrastructure than the forecasting service. To protect the cloud infrastructure from errors during the execution of the modeling technique, and to prevent access to the modeling technique by other users in the cloud, the modeling technique provides secure computing during model fitting. It may be executed in the container. However, the prediction service may often be started on a dedicated machine or cluster. Removing the secure container layer can therefore reduce overhead costs without any practical disadvantages.

したがって、モデルのモデル化技法によって実行される具体的タスク、期待負荷、および予測のための標的コンピューティング環境の特性に基づいて、展開エンジンは、モデルをパッケージ化および展開するための規則のセットを使用してもよい。これらの規則は、実行を最適化してもよい。 Therefore, based on the specific tasks performed by the model modeling technique, the expected load, and the characteristics of the target computing environment for prediction, the deployment engine sets a set of rules for packaging and deploying the model. You may use it. These rules may optimize execution.

所与の予測サービスが複数のモデルを実行し得るため、サービスは、モデル毎に予測要求を横断して計算リソースを割り付けてもよい。2つの基本的事例、すなわち、1つまたはそれを上回るサーバマシンへの展開、およびコンピューティングクラスタへの展開が存在する。 Since a given prediction service can run multiple models, the service may allocate computational resources across prediction requests for each model. There are two basic cases: deployment to one or more server machines, and deployment to computing clusters.

サーバへの展開の場合において、課題は、複数のサーバの間で要求を割り付ける方法である。予測サービスは、いくつかのタイプの先験的情報を有してもよい。そのような情報は、(a)構成されたモデル毎に予測を実行するために要する時間の推定値、(b)異なる時間における構成されたモデル毎の要求の期待頻度、および(c)モデル実行の所望の優先順位を含んでもよい。実行時間の推定値は、1つまたはそれを上回る条件下でモデル毎に予測コードの実際の実行速度を測定することに基づいて、計算されてもよい。モデル実行の所望の優先順位は、サービス管理者によって規定されてもよい。要求の期待頻度は、そのモデルの履歴データから算出される、メタ機械学習モデルに基づいて予想される、または管理者によって提供され得る。 In the case of server deployment, the challenge is how to allocate requests among multiple servers. Prediction services may have several types of a priori information. Such information includes (a) an estimate of the time required to perform a prediction for each configured model, (b) the expected frequency of requests for each configured model at different times, and (c) model execution. May include the desired priority of. Estimates of execution time may be calculated based on measuring the actual execution speed of the prediction code for each model under one or more conditions. The desired priority of model execution may be specified by the service manager. The expected frequency of requests can be calculated from the historical data of the model, expected based on a meta-machine learning model, or provided by the administrator.

サービスは、これらの因子のうちのいくつかまたは全てを組み合わせ、各モデルに最初に割り付けられ得る、全ての利用可能なサーバの集約計算能力の一部を算出する、目的関数を含んでもよい。サービスが要求を受信および実行すると、実行時間および要求の期待頻度の推定値についての更新された情報を自然に取得する。したがって、サービスは、これらの部分を再計算し、それに応じて、モデルをサーバに再び割り付けてもよい。 The service may include an objective function that combines some or all of these factors to calculate some of the aggregate computing power of all available servers that can be initially allocated to each model. When a service receives and executes a request, it naturally gets updated information about execution times and estimates of the expected frequency of requests. Therefore, the service may recalculate these parts and reallocate the model to the server accordingly.

展開された予測サービスは、2つの異なるタイプのサーバプロセス、すなわち、ルータおよびワーカを有してもよい。1つまたはそれを上回るルータは、予測に対する要求を容認し、それらをワーカに割り付けるルーティングサービスを形成してもよい。着信要求は、使用する予測モデルを示すモデル識別子と、要求を行っているユーザもしくはソフトウェアシステムを示すユーザまたはクライアント識別子と、そのモデルのための予測因子変数の1つまたはそれを上回るベクトルとを有してもよい。 The deployed forecasting service may have two different types of server processes: routers and workers. One or more routers may form a routing service that accepts requests for predictions and assigns them to workers. An incoming request has a model identifier that indicates the predictive model to use, a user or client identifier that indicates the user or software system making the request, and a vector that is one or more predictor variables for that model. You may.

要求が専用予測サービスの中に入るとき、そのルーティングサービスは、モデル識別子、ユーザまたはクライアント識別子、および予測因子変数のベクターの数のある組み合わせを点検してもよい。ルーティングサービスは、次いで、要求をワーカに割り付け、(1)所与のモデルを実行する際に、および/または(2)所与のユーザもしくはクライアントに使用される、命令ならびにデータのためのサーバキャッシュヒットを増加(例えば、最大限化)させてもよい。ルーティングサービスはまた、予測因子変数のベクターの数も考慮し、待ち時間およびスループットの平衡を保つ各ワーカに提出される、バッチサイズの混合物を達成してもよい。 When a request enters a dedicated prediction service, the routing service may check a number of combinations of model identifiers, user or client identifiers, and vectors of predictor variables. The routing service then allocates the request to the worker and (1) runs the given model and / or (2) the server cache for instructions and data used by the given user or client. Hits may be increased (eg, maximized). The routing service may also consider the number of vectors of predictor variables and achieve a batch size mixture submitted to each worker that balances latency and throughput.

ワーカを横断してモデルに対する要求を割り付けるためのアルゴリズムの実施例は、ラウンドロビン、モデル計算強度および/またはワーカの計算能力に基づく加重ラウンドロビン、ならびに報告された負荷に基づく動的割付を含んでもよい。指定サーバへの要求の迅速なルーティングを促進するために、ルーティングサービスは、観察された特性(例えば、モデル識別子)の同一のセットを考慮すると、同一のサーバを選定する、ハッシュ関数を使用してもよい。ハッシュ関数は、単純なハッシュ関数または一貫したハッシュ関数であってもよい。一貫したハッシュ関数は、(この場合は、ワーカに対応する)ノードの数が変化するときに、より少ないオーバーヘッドを要求する。したがって、ワーカがダウンする、または新しいワーカが追加される場合、一貫したハッシュ関数は、再算出されなければならないハッシュキーの数を削減することができる。 Examples of algorithms for allocating requirements for models across workers include round robin, weighted round robin based on model computational strength and / or worker's computational power, and dynamic allocation based on reported loads. Good. To facilitate the rapid routing of requests to a designated server, the routing service uses a hash function to select the same server given the same set of observed characteristics (eg, model identifiers). May be good. The hash function may be a simple hash function or a consistent hash function. A consistent hash function requires less overhead as the number of nodes (in this case, corresponding to the worker) changes. Therefore, if a worker goes down or a new worker is added, a consistent hash function can reduce the number of hash keys that must be recalculated.

利用可能なサービスの間で予測要求を知的に分配することによって、性能を増進する(例えば、最適化する)ことに加えて、予測サービスは、各ワーカが各モデルを実行する方法を知的に構成することによって、個々のモデルの性能を増進(例えば、最適化)してもよい。例えば、所与のサーバがいくつかの異なるモデルに対する要求の混合を受信する場合、要求毎にモデルをロードおよびアンロードするステップは、大幅なオーバーヘッドを被り得る。しかしながら、バッチ処理のために要求を集約するステップは、大幅な待ち時間を被り得る。いくつかの実施形態では、サービスは、管理者がモデルのための待ち時間公差を規定する場合、本トレードオフを知的に行うことができる。例えば、緊急要求は、100ミリ秒のみの待ち時間公差を有し得、その場合、サーバは、1つだけ、または最大でもいくつかの要求を処理し得る。対照的に、2秒の待ち時間公差は、百単位でバッチサイズを可能にし得る。オーバーヘッドに起因して、待ち時間公差を2倍増加させるステップは、スループットを10倍〜100倍増加させ得る。 In addition to improving performance (eg, optimizing) by intelligently distributing forecast requests among available services, predictive services intelligently know how each worker executes each model. The performance of individual models may be enhanced (eg, optimized) by configuring in. For example, if a given server receives a mixture of requests for several different models, the step of loading and unloading the model for each request can incur significant overhead. However, the step of aggregating requests for batch processing can incur significant latency. In some embodiments, the service can intelligently make this trade-off if the administrator specifies a latency tolerance for the model. For example, an emergency request may have a latency tolerance of only 100 milliseconds, in which case the server may process only one or at most several requests. In contrast, a 2 second latency tolerance can allow batch size in hundreds. Due to the overhead, the step of doubling the latency tolerance can increase the throughput by 10 to 100 times.

同様に、オペレーティングシステムスレッドを使用するステップは、スレッド設定および初期化オーバーヘッドに起因して、待ち時間を増加させながら、スループットを改良し得る。ある場合には、予測は、極めて待ち時間に敏感であり得る。所与のモデルへの全ての要求が、待ち時間に敏感である可能性が高い場合には、サービスは、シングルスレッドモードで動作するように、これらの要求を取り扱うサーバを構成してもよい。また、要求のサブセットのみが、待ち時間に敏感である可能性が高い場合、サービスは、リクエスタが所与の要求を敏感としてフラグを付けることを可能にしてもよい。この場合、サーバは、具体的要求を果たしながら、シングルスレッドモードのみで動作してもよい。 Similarly, steps that use operating system threads can improve throughput while increasing latency due to thread configuration and initialization overhead. In some cases, the predictions can be extremely latency sensitive. If all requests to a given model are likely to be latency sensitive, the service may configure the server to handle these requests to operate in single-threaded mode. Also, if only a subset of requests are likely to be latency sensitive, the service may allow the requester to flag a given request as sensitive. In this case, the server may operate only in single-threaded mode while fulfilling specific requirements.

ある場合には、ユーザの団体は、団体が分散型コンピューティングクラスタを使用し、可能な限り急速に計算することを所望するという予測のバッチを有してもよい。分散型コンピューティングフレームワーク(例えば、Apache Spark)は、概して、団体がフレームワークを起動するクラスタを設定することを可能にし、フレークワークと連動するように設計される任意のプログラムは、次いで、データおよび実行可能命令を備えるジョブを提出することができる。 In some cases, a group of users may have a batch of predictions that the group wants to use distributed computing clusters and calculate as quickly as possible. A decentralized computing framework (eg, Apache Spark) generally allows organizations to set up clusters to launch the framework, and any program designed to work with the flakework then data. And can submit jobs with executable instructions.

モデル上の1つの予測の実行が、そのモデル上の別の予測の結果、またはいかなる他のモデルの結果にも影響を及ぼさないため、予測は、クラスタコンピューティングとの関連でステートレス動作であり、したがって、概して、並列にすることが非常に容易である。したがって、データおよび実行可能命令のバッチを考慮すると、フレームワークの分割および割付アルゴリズムの正常な挙動は、線形スケーリングをもたらし得る。 Predictions are stateless behavior in the context of cluster computing, because the execution of one prediction on a model does not affect the results of another prediction on that model, or the results of any other model. Therefore, in general, it is very easy to make them in parallel. Therefore, given the batch of data and executable instructions, the normal behavior of the framework's partitioning and allocation algorithms can result in linear scaling.

ある場合には、予測を行うステップは、データが多くのステップで生成および消費される、大規模ワークフローの一部であってもよい。そのような場合において、予測ジョブは、Apache Kafkaのようなパブリッシュ・サブスクライブ機構を通して他の動作と統合されてもよい。予測サービスは、予測を要求する新しい観察を生成する、チャネルにサブスクライブする。サービスが予測を行った後、他のプログラムが消費し得る、1つまたはそれを上回るチャネルにそれらをパブリッシュする。
性能増進
In some cases, the steps to make predictions may be part of a large workflow in which data is generated and consumed in many steps. In such cases, the predictive job may be integrated with other operations through a publish-subscribe mechanism such as Apache Kafka. Prediction services subscribe to channels that generate new observations that require predictions. After the service makes predictions, publish them to one or more channels that other programs can consume.
Performance improvement

適合モデル化技法および/または多数の代替的技法の間の検索は、計算集約的であり得る。計算リソースは、高価であり得る。予測モデルを生成するためのシステム100のいくつかの実施形態は、リソース消費を削減する機会を識別する。 Searching between fit modeling techniques and / or a number of alternative techniques can be computationally intensive. Computational resources can be expensive. Some embodiments of System 100 for generating predictive models identify opportunities to reduce resource consumption.

ユーザ選好に基づいて、エンジン110は、モデルが実行時間および計算リソースの消費を削減するために、その検索を調節してもよい。ある場合には、予測問題は、多くの訓練データを含んでもよい。そのような場合において、交差検証の利益は、通常、モデルバイアスを削減する観点から、より低い。したがって、5〜10倍のデータの量上の1回の起動の計算時間が、典型的には、5分の1〜10分の1のデータの量上の5〜10回の起動よりもはるかに少ないため、ユーザは、各交差検証層上ではなく、一度に全ての訓練データ上でモデルを適合させることを好み得る。 Based on user preference, the engine 110 may adjust its search so that the model reduces execution time and consumption of computational resources. In some cases, the prediction problem may contain a lot of training data. In such cases, the benefit of cross-validation is usually lower in terms of reducing model bias. Therefore, the calculation time for a single launch on a 5-10x amount of data is typically much greater than the 5-10 launches on a 1/5 to 1/10 amount of data. Users may prefer to fit the model on all training data at once, rather than on each cross-validation layer.

ユーザが比較的大きい訓練セットを有していない場合でさえも、ユーザは、依然として、時間およびリソースを節約することを所望し得る。そのような場合において、エンジン110は、いくつかのより積極的な検索アプローチを使用する、「より貪欲な」オプションを提供してもよい。第1に、エンジン110は、可能性として考えられるモデル化技法のより小さいサブセット(例えば、その期待性能が比較的高いもののみ)を試行することができる。第2に、エンジン110は、各回の訓練および評価において低性能モデルをより積極的に取り除いてもよい。第3に、エンジン110は、モデル毎に最適なハイパーパラメータを検索するときに、より大きいステップをとってもよい。 Even if the user does not have a relatively large training set, the user may still wish to save time and resources. In such cases, engine 110 may offer a "more greedy" option that uses some more aggressive search approaches. First, the engine 110 can try a smaller subset of possible modeling techniques (eg, only those with relatively high expected performance). Second, the engine 110 may more aggressively remove the low performance model in each training and evaluation. Third, the engine 110 may take larger steps when searching for optimal hyperparameters for each model.

一般に、より良好な(例えば、最適な)ハイパーパラメータを検索するステップは、高価であり得る。したがって、たとえユーザが、エンジン110が広範囲の潜在的モデルを評価し、それらを積極的に取り除かないことを所望しても、エンジンは、依然として、ハイパーパラメータ検索を限定(例えば、最適化)することによって、リソースを節約することができる。本検索の費用は、概して、データセットのサイズに比例する。1つの方略は、データセットのわずかな部分上でハイパーパラメータを調整し、次いで、これらのパラメータをデータセット全体に外挿することである。ある場合には、調節が、大量のデータを考慮するように行われる。いくつかの実施形態では、エンジン110は、2つの方略のうちの1つを使用することができる。第1に、エンジン110は、そのモデル化技法のための発見的問題解決に基づいて、調節を実施することができる。第2に、エンジン110は、メタ機械学習に従事し、各モデル化技法のハイパーパラメータがデータセットサイズとともに変動する方法を追跡し、これらのハイパーパラメータのメタ予測モデルを構築し、次いで、ユーザがトレードオフを行うことを所望する場合において、そのメタモデルを適用することができる。 In general, the steps to find better (eg, optimal) hyperparameters can be expensive. Thus, even if the user wants the engine 110 to evaluate a wide range of potential models and not actively remove them, the engine still limits (eg, optimizes) hyperparameter searches. Allows you to save resources. The cost of this search is generally proportional to the size of the dataset. One strategy is to adjust the hyperparameters on a small portion of the dataset and then extrapolate these parameters throughout the dataset. In some cases, adjustments are made to take into account large amounts of data. In some embodiments, the engine 110 can use one of two strategies. First, the engine 110 can make adjustments based on discoverable problem solving for its modeling technique. Second, the engine 110 engages in meta-machine learning, tracking how the hyperparameters of each modeling technique fluctuate with the dataset size, building a meta-predictive model of these hyperparameters, and then the user The metamodel can be applied where it is desired to make a trade-off.

カテゴリ予測問題と連動するとき、少数クラスおよび多数クラスが存在し得る。少数クラスは、不正検出の場合のように、はるかに小さいが比較的より重要であり得る。いくつかの実施形態では、エンジン110は、多数クラスのための訓練観察の数が、少数クラスのためのものにより類似するように、多数クラスを「ダウンサンプリング」する。ある場合には、モデル化技法は、モデル適合中に直接、そのような加重に自動的に適応してもよい。モデル化技法が、そのような加重に適応しない場合、エンジン110は、ダウンサンプリングの量に比例する適合後調節を行うことができる。本アプローチは、はるかに短い実行時間および低いリソース消費のために、ある程度の精度を犠牲にし得る。 When working with the category prediction problem, there can be minority and majority classes. The minority class can be much smaller but relatively more important, as in the case of fraud detection. In some embodiments, the engine 110 "downsamples" the majority class so that the number of training observations for the majority class is more similar to that for the minority class. In some cases, modeling techniques may automatically adapt to such weights directly during model fitting. If the modeling technique does not adapt to such weights, the engine 110 can make post-adaptation adjustments proportional to the amount of downsampling. This approach can sacrifice some accuracy due to much shorter execution times and lower resource consumption.

いくつかのモデル化技法は、他のものよりも効率的に実行してもよい。例えば、いくつかのモデル化技法は、並列コンピューティングクラスタ上または特殊プロセッサを伴うサーバ上で起動するように最適化されてもよい。各モデル化技法のメタデータは、任意のそのような性能利点を示してもよい。エンジン110がコンピューティングジョブを割り当てているとき、その利点が現在利用可能なコンピューティング環境内で適用される、モデル化技法のためのジョブを検出してもよい。次いで、各回の検索中に、エンジン110は、これらのジョブに、より大量のデータセットを使用してもよい。これらのモデル化技法は、次いで、より速く完了してもよい。また、それらの精度が十分に高い場合、比較的不良に機能している他のモデル化技法を試験する必要さえない場合がある。
ユーザインターフェース(UI)増進
Some modeling techniques may be performed more efficiently than others. For example, some modeling techniques may be optimized to start on parallel computing clusters or servers with specialized processors. The metadata for each modeling technique may show any such performance advantage. When engine 110 is allocating computing jobs, it may detect jobs for modeling techniques whose benefits apply within the currently available computing environment. The engine 110 may then use a larger dataset for these jobs during each search. These modeling techniques may then be completed faster. Also, if their accuracy is high enough, it may not even be necessary to test other modeling techniques that are functioning relatively poorly.
User interface (UI) enhancement

エンジン110は、モデル構築の前にユーザからさらなる情報を抽出することによって、ユーザがより良好な予測モデルを生成することに役立ち得、モデル適合後にモデル性能のさらなる理解をユーザに提供し得る。 The engine 110 can help the user generate a better predictive model by extracting more information from the user prior to model building and can provide the user with a better understanding of model performance after model fitting.

ある場合には、ユーザは、正確な予測モデルの検索をより良好に指図するために好適である、データセットについての付加的情報を有してもよい。例えば、ユーザは、ある観察が特別な意味を有することを把握し、その意味を示すことを所望し得る。エンジン110は、ユーザが本目的のために新しい変数を容易に作成することを可能にし得る。例えば、1つの合成変数は、エンジンが、特定の観察をそのようなパーティションに無作為に割り当てる代わりに、訓練、検証、またはホールドアウトデータパーティションの一部として特定の観察を使用するはずであることを示してもよい。本能力は、ある値が低頻度で発生し、対応する観察が異なるパーティションに慎重に割り付けられるはずである状況で、有用であり得る。本能力は、ユーザが、異なる機械学習システムを使用してモデルを訓練しており、訓練、検証、およびホールドアウトパーティションが同一である、比較を実施することを所望する状況で、有用であり得る。 In some cases, the user may have additional information about the dataset, which is suitable for better directing the search for an accurate predictive model. For example, the user may want to know that an observation has a special meaning and show that meaning. The engine 110 may allow the user to easily create new variables for this purpose. For example, one composite variable is that the engine should use a particular observation as part of a training, validation, or holdout data partition instead of randomly assigning that particular observation to such a partition. May be indicated. This ability can be useful in situations where certain values occur infrequently and the corresponding observations should be carefully assigned to different partitions. This ability can be useful in situations where the user is training a model using different machine learning systems and wants to perform a comparison where the training, validation, and holdout partitions are identical. ..

同様に、ある観察は、ユーザが付加的加重を割り当てることを所望する、特に重要なイベントを表してもよい。したがって、データセットの中に挿入される付加的変数は、各観察の相対加重を示してもよい。エンジン110は、次いで、モデルを訓練し、それらの精度を計算するときに、本加重を使用してもよく、目標は、より高い加重の条件下でより正確な予測を生成することである。 Similarly, some observations may represent particularly important events in which the user desires to assign additional weights. Therefore, the additional variables inserted into the dataset may indicate the relative weight of each observation. The engine 110 may then use this weighting when training the models and calculating their accuracy, the goal being to generate more accurate predictions under higher weighted conditions.

他の場合では、ユーザは、ある特徴がモデルにおいて挙動するはずである方法についての先験的情報を有してもよい。例えば、ユーザは、ある特徴が、ある範囲にわたって予測標的に単調な影響を及ぼすはずであることを把握し得る。自動車保険では、概して、事故の可能性が、30歳を過ぎると年齢とともに単調に増加すると考えられる。別の実施例は、別様に連続的な変数のための帯域を作成することである。個人所得は、連続的であるが、$10Kインクリメントから$100Kまでの帯域、次いで、$25K帯域から$250Kまで、および$250Kを上回る任意の所得に値を割り当てるための分析慣例が存在する。次いで、データセットへの制限が具体的特徴への制約を要求する場合が存在する。ある時は、カテゴリ変数は、データセットのサイズに対して非常に多数の値を有し得る。ユーザは、エンジン110が、ある数を上回る可能性として考えられるカテゴリを有するカテゴリ特徴を無視するはずであるか、またはカテゴリの数を最も頻繁なXに限定し、全ての他の値を「その他」カテゴリに割り当てるはずであるかのいずれかを示すことを所望し得る。これら全ての状況では、ユーザインターフェースは、(例えば、方法400のステップ412において)検出される特徴毎に本情報を規定するというオプションをユーザに提示してもよい。 In other cases, the user may have a priori information about how a feature should behave in the model. For example, the user may know that a feature should have a monotonous effect on a predictive target over a range. In car insurance, the likelihood of an accident is generally considered to increase monotonically with age after the age of 30. Another embodiment is to create a bandwidth for another continuous variable. Personal income is continuous, but there are analytical conventions for assigning values to the band from $ 10K increment to $ 100K, then from the $ 25K band to $ 250K, and to any income above $ 250K. There are then cases where restrictions on the dataset require constraints on specific features. At one point, a categorical variable can have a large number of values relative to the size of the dataset. The user should either ignore the category features where the engine 110 has categories that are likely to exceed a certain number, or limit the number of categories to the most frequent X and all other values "other". It may be desirable to indicate which one should be assigned to the category. In all these situations, the user interface may offer the user the option of defining this information for each feature detected (eg, in step 412 of method 400).

ユーザインターフェースは、特徴を変換することの誘導支援を提供してもよい。例えば、ユーザは、連続変数をカテゴリ変数に変換することを所望し得るが、その変数のための標準慣例が存在しない場合がある。分布の形状を分析することによって、エンジン110は、最適な数のカテゴリ帯域、および各帯域の間の境界を画定する「節点」を分布の中に設置する点を選定してもよい。随意に、ユーザは、節点を追加または削除すること、ならびに節点の場所を移動させることによって、ユーザインターフェース内でこれらのデフォルトをオーバーライドしてもよい。 The user interface may provide guidance assistance in transforming features. For example, a user may wish to convert a continuous variable to a categorical variable, but there may be no standard convention for that variable. By analyzing the shape of the distribution, the engine 110 may choose to place an optimal number of categorical bands and "nodes" demarcating the boundaries between each band in the distribution. Optionally, the user may override these defaults within the user interface by adding or removing nodes and moving the location of the nodes.

同様に、すでにカテゴリ別である特徴に関して、エンジン110は、1つまたはそれを上回るカテゴリを単一のカテゴリに合体させることによって、それらの表現を単純化してもよい。各観察されたカテゴリの相対頻度および他の特徴の値に対するそれらが出現する頻度に基づいて、エンジン110は、カテゴリを組み合わせる最適な方法を計算してもよい。随意に、ユーザは、組み合わせられたカテゴリから元のカテゴリを除去すること、および/または既存のカテゴリを組み合わせられたカテゴリの中に入れることによって、これらの計算をオーバーライドしてもよい。 Similarly, with respect to features that are already categorized, engine 110 may simplify their representation by combining one or more categories into a single category. Based on the relative frequency of each observed category and the frequency with which they appear relative to the values of other features, the engine 110 may calculate the optimal way to combine the categories. Optionally, the user may override these calculations by removing the original category from the combined category and / or putting an existing category inside the combined category.

ある場合において、予測問題は、不規則な間隔で起こるイベントを含んでもよい。そのような場合において、特定の時間枠内で起こったこれらのイベントの数を捕捉する、新しい特徴を自動的に作成することが有用であり得る。例えば、保険予測問題では、データセットは、保険契約者が請求を行った各時間の記録を有してもよい。しかしながら、将来のリスクを予測するためのモデルを構築する際に、保険契約者が過去X年間に行った請求の数を考慮することが、より有用であり得る。エンジンは、エンティティに対応する記録とイベントに対応する他の記録との間のデータ構造関係を検出することによって、データセットを評価するときに(例えば、方法400のステップ408)、そのような状況を検出してもよい。(例えば、ステップ410において)データセットをユーザに提示するとき、ユーザインターフェースは、そのような特徴を自動的に作成する、または作成することを提案してもよい。これはまた、本変数と将来のイベントの発生との間の統計的依存性を最大限にするように計算される、イベントが起こる頻度に基づいて、またはある他の発見的問題解決を使用して、時間枠閾値を提案してもよい。ユーザインターフェースはまた、ユーザが、そのような特徴の作成をオーバーライドする、そのような特徴の作成を強制する、および提案された時間枠閾値をオーバーライドすることも可能にしてもよい。 In some cases, the prediction problem may include events that occur at irregular intervals. In such cases, it may be useful to automatically create new features that capture the number of these events that have occurred within a particular time frame. For example, in an insurance forecasting problem, the dataset may have a record of each time the policyholder makes a claim. However, it may be more useful to consider the number of claims made by policyholders in the last X years when building a model for predicting future risks. Such a situation when the engine evaluates a dataset by detecting the data structure relationship between the record corresponding to the entity and the other records corresponding to the event (eg, step 408 of method 400). May be detected. When presenting a dataset to the user (eg, in step 410), the user interface may propose to automatically create or create such features. It is also calculated to maximize the statistical dependency between this variable and the occurrence of future events, based on how often the event occurs, or using some other discovery problem solving. You may also propose a time frame threshold. The user interface may also allow the user to override the creation of such features, force the creation of such features, and override the proposed time frame thresholds.

本システムがモデルに基づいて予測を行うとき、ユーザは、これらの予測を精査し、異常なものを探索することを所望し得る。例えば、ユーザインターフェースは、モデルのための予測の全てまたはサブセットのリストを提供し、予測因子の値の規模またはその値を有することのその低い確率のいずれかの観点から、極端であったものを示してもよい。また、極値の理由への洞察を提供することも可能である。例えば、自動車保険リスクモデルでは、特定の高い値は、「年齢<25および結婚歴=独身」という理由を有してもよい。 When the system makes model-based predictions, the user may wish to scrutinize these predictions and search for anomalies. For example, the user interface provides a list of all or a subset of predictions for the model, one that was extreme in terms of either the magnitude of the predictor's value or its low probability of having that value. May be shown. It is also possible to provide insight into the reasons for extrema. For example, in a car insurance risk model, a particular high value may have the reason "age <25 and marriage history = single".

いくつかの実施形態のさらなる説明
本明細書で提供される実施例は、別個のコンピュータ上に常駐するものとしてモジュール、または別個のコンピュータによって行われるものとして動作を説明した場合があるが、これらの構成要素の機能性は、単一のコンピュータ上で、または分散型様式において任意の多数のコンピュータ上で実装され得ることを理解されたい。
Further Description of Some Embodiments The examples provided herein have described operations as being resident on a separate computer, or as being performed by a separate computer. It should be understood that the functionality of the components can be implemented on a single computer or on any number of computers in a distributed fashion.

上記の実施形態は、多数の方法のうちのいずれかで実装されてもよい。例えば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実装されてもよい。ソフトウェアで実装されるとき、ソフトウェアコードは、単一のコンピュータの中で提供されるか、または複数のコンピュータの間で分散されるかどうかに関わらず、任意の好適なプロセッサもしくはプロセッサの集合の上で実行されることができる。さらに、コンピュータは、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータ等のいくつかの形態のうちのいずれかで具現化され得ることを理解されたい。加えて、コンピュータは、携帯情報端末(PDA)、スマートフォン、または任意の好適な携帯用もしくは固定電子デバイスを含む、概してコンピュータと見なされないが好適な処理能力を伴う、デバイスで具現化されてもよい。 The above embodiment may be implemented by any of a number of methods. For example, embodiments may be implemented using hardware, software, or a combination thereof. When implemented in software, software code is provided on any suitable processor or set of processors, whether provided within a single computer or distributed among multiple computers. Can be run on. Further, it should be understood that a computer can be embodied in any of several forms such as a rack mount computer, a desktop computer, a laptop computer, or a tablet computer. In addition, a computer may be embodied in a device, including a personal digital assistant (PDA), a smartphone, or any suitable portable or fixed electronic device, which is generally not considered a computer but has suitable processing power. Good.

そのようなコンピュータは、企業ネットワークまたはインターネットとして等、ローカルエリアネットワークもしくは広域ネットワークとしての形態を含む、任意の好適な形態の1つまたはそれを上回るネットワークによって相互接続されてもよい。そのようなネットワークは、任意の好適な技術に基づいてもよく、任意の好適なプロトコルに従って動作してもよく、無線ネットワーク、有線ネットワーク、または光ファイバネットワークを含んでもよい。 Such computers may be interconnected by one or more networks of any preferred form, including as a local area network or wide area network, such as as a corporate network or the Internet. Such networks may be based on any suitable technique, may operate according to any suitable protocol, and may include wireless networks, wired networks, or fiber optic networks.

また、本明細書で概説される種々の方法およびプロセスは、種々のオペレーティングシステムもしくはプラットフォームのうちのいずれか1つを採用する、1つまたはそれを上回るプロセッサ上で実行可能である、ソフトウェアとしてコード化されてもよい。加えて、そのようなソフトウェアは、いくつかの好適なプログラミング言語および/またはプログラミングもしくはスクリプト作成ツールのうちのいずれかを使用して、書き込まれてもよく、また、フレームワークまたは仮想マシン上で実行される実行可能機械言語コードもしくは中間コードとしてコンパイルされてもよい。 Also, the various methods and processes outlined herein are coded as software that can be run on one or more processors that employ any one of the various operating systems or platforms. It may be converted. In addition, such software may be written using any of several preferred programming languages and / or programming or scripting tools and may also be run on a framework or virtual machine. It may be compiled as executable machine language code or intermediate code.

本側面では、いくつかの実施形態は、1つまたはそれを上回るコンピュータもしくは他のプロセッサ上で実行されるときに、上記で議論される種々の実施形態を実装する方法を行う、1つまたはそれを上回るプログラムで符号化される、コンピュータ可読媒体(または複数のコンピュータ可読媒体)(例えば、コンピュータメモリ、1つまたはそれを上回るフロッピー(登録商標)ディスク、コンパクトディスク、光学ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイもしくは他の半導体デバイス内の回路構成、または他の有形コンピュータ記憶媒体)として具現化されてもよい。1つまたは複数のコンピュータ可読媒体は、一過性であり得る。1つまたは複数のコンピュータ可読媒体は、その上に記憶される1つまたは複数のプログラムが、上記で議論されるように予測モデル化の種々の側面を実装するように1つまたはそれを上回る異なるコンピュータもしくは他のプロセッサ上にロードされ得るように、可搬性であり得る。用語「プログラム」または「ソフトウェア」は、本開示に説明される種々の側面を実装するようにコンピュータもしくは他のプロセッサをプログラムするために採用され得る、任意のタイプのコンピュータコードまたはコンピュータ実行可能命令のセットを指すために、一般的意味において本明細書で使用される。加えて、本開示の一側面によると、実行されたときに予測モデル化方法を行う1つまたはそれを上回るコンピュータプログラムは、単一のコンピュータもしくはプロセッサ上に常駐する必要はないが、予測モデル化の種々の側面を実装するように、いくつかの異なるコンピュータまたはプロセッサの間でモジュール様式において分散され得ることを理解されたい。 In this aspect, some embodiments, when run on one or more computers or other processors, make a method of implementing the various embodiments discussed above, one or the other. Computer-readable media (or multiple computer-readable media) (eg, computer memory, one or more floppy® discs, compact discs, optical discs, magnetic tapes, flash memory) encoded by more than one program. , A circuit configuration within a field programmable gate array or other semiconductor device, or other tangible computer storage medium). One or more computer-readable media can be transient. One or more computer-readable media differ by one or more such that one or more programs stored on it implement various aspects of predictive modeling as discussed above. It can be portable so that it can be loaded on a computer or other processor. The term "program" or "software" is used in any type of computer code or computer executable instructions that may be employed to program a computer or other processor to implement the various aspects described in this disclosure. As used herein in a general sense to refer to a set. In addition, according to one aspect of the disclosure, one or more computer programs that perform a predictive modeling method when executed need not reside on a single computer or processor, but predictive modeling. It should be understood that it can be distributed in a modular fashion among several different computers or processors to implement various aspects of.

コンピュータ実行可能命令は、1つまたはそれを上回るコンピュータもしくは他のデバイスによって実行される、プログラムモジュール等の多くの形態であってもよい。概して、プログラムモジュールは、特定のタスクを行う、または特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。典型的には、プログラムモジュールの機能性は、種々の実施形態では、所望に応じて、組み合わせられる、または分散されてもよい。 Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. In general, a program module includes routines, programs, objects, components, data structures, etc. that perform a particular task or implement a particular abstract data type. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.

また、データ構造は、任意の好適な形態でコンピュータ可読媒体に記憶されてもよい。例証を簡単にするために、データ構造は、データ構造内の場所を通して関係付けられるフィールドを有することが示されてもよい。そのような関係は、同様に、フィールド間の関係を伝えるコンピュータ可読媒体内の場所を伴うフィールドのために記憶装置を割り当てることによって、達成されてもよい。しかしながら、ポインタ、タグ、またはデータ要素間の関係を確立する他の機構の使用を通すことを含む、任意の好適な機構が、データ構造のフィールド内の情報の間の関係を確立するために使用されてもよい。 The data structure may also be stored on a computer-readable medium in any suitable form. For simplicity of illustration, a data structure may be shown to have fields that are associated through locations within the data structure. Such relationships may also be achieved by allocating storage for fields with locations in computer-readable media that convey the relationships between fields. However, any suitable mechanism, including through the use of pointers, tags, or other mechanisms that establish relationships between data elements, is used to establish relationships between information within fields of a data structure. May be done.

また、予測モデル化技法は、その実施例が提供されている、方法として具現化されてもよい。方法の一部として行われる作用は、任意の好適な方法で順序付けられてもよい。故に、例証的実施形態では、連続作用として示されるが、いくつかの作用を同時に行うことを含み得る、作用が図示されるものと異なる順序で行われる、実施形態が構築されてもよい。 The predictive modeling technique may also be embodied as a method for which examples are provided. The actions performed as part of the method may be ordered in any suitable method. Thus, although shown as a continuous action in an exemplary embodiment, embodiments may be constructed in which the actions are performed in a different order than shown, which may include performing several actions simultaneously.

いくつかの実施形態では、本方法は、上記で説明されるプロセスに影響を及ぼす制御論理を提供するように、コンピュータのランダムアクセスメモリの部分に記憶されたコンピュータ命令として実装されてもよい。そのような実施形態では、プログラムは、FORTRAN、PASCAL、C、C++、C#、Java(登録商標)、javascript(登録商標)、Tcl、またはBASIC等のいくつかの高レベル言語のうちのいずれか1つで書かれてもよい。さらに、プログラムは、スクリプト、マクロ、またはEXCELもしくはVISUAL BASIC等の市販のソフトウェアに組み込まれた機能性で書かれてもよい。加えて、ソフトウェアは、コンピュータ上に常駐するマイクロプロセッサを対象としたアセンブリ言語で実装されてもよい。例えば、ソフトウェアは、IBM PCまたはPCクローン上で作動するように構成される場合、Intel 80x86アセンブリ言語で実装されてもよい。ソフトウェアは、フロッピー(登録商標)ディスク、ハードディスク、光学ディスク、磁気テープ、PROM、EPROM、またはCD−ROM等の「コンピュータ可読プログラム手段」を含むが、それらに限定されない、製造品上に組み込まれてもよい。 In some embodiments, the method may be implemented as computer instructions stored in a portion of the computer's random access memory to provide control logic that affects the processes described above. In such an embodiment, the program is one of several high-level languages such as FORTRAN, PASCAL, C, C ++, C #, Java®, Javascript®, Tcl, or BASIC. It may be written in one. In addition, the program may be written with scripts, macros, or functionality built into commercial software such as EXCEL or VISUAL BASIC. In addition, the software may be implemented in assembly language for microprocessors residing on the computer. For example, the software may be implemented in Intel 80x86 assembly language if configured to run on an IBM PC or PC clone. Software includes, but is not limited to, "computer-readable programming means" such as floppy (registered trademark) disks, hard disks, optical disks, magnetic tapes, PROMs, EPROMs, or CD-ROMs. May be good.

本開示の種々の側面は、単独で、組み合わせて、または前述で具体的に説明されていない種々の配列で使用されてもよく、したがって、本発明は、その適用が、前述の説明に記載される、または図面に図示される構成要素の詳細および配列に限定されない。例えば、一実施形態で説明される側面は、任意の様式で他の実施形態で説明される側面と組み合わせられてもよい。 The various aspects of the present disclosure may be used alone, in combination, or in various sequences not specifically described above, and thus the present invention describes its application as described above. Or not limited to the details and arrangement of components illustrated in the drawings. For example, the aspects described in one embodiment may be combined with the aspects described in another embodiment in any manner.

用語
本明細書で使用される表現法および用語は、説明の目的のためであり、限定的と見なされるべきではない。
Terminology The terminology and terminology used herein is for explanatory purposes only and should not be considered limiting.

明細書および請求項で使用されるような「a」および「an」という不定冠詞は、明確にそれとは反対に示されない限り、「少なくとも1つの」を意味すると理解されたい。明細書および請求項で使用されるような「および/または」という語句は、そのように結合された要素の「いずれか一方または両方」、すなわち、ある場合には接合的に存在し、他の場合においては離接的に存在する要素を意味すると理解されるべきである。「および/または」で記載される複数の要素は、同じように、すなわち、そのように結合された要素のうちの「1つまたはそれを上回る」と解釈されるべきである。「および/または」節によって具体的に識別される要素以外に、具体的に識別される要素に関係しようと、無関係であろうと、他の要素が随意的に存在してもよい。したがって、非限定的実施例として、「Aおよび/またはB」への言及は、「〜を備える」等の制約のない用語と併せて使用されると、一実施形態ではAのみ(随意でB以外の要素を含む)、別の実施形態ではBのみ(随意でA以外の要素を含む)、さらに別の実施形態ではAおよびBの両方(随意で他の要素を含む)等を指すことができる。 It should be understood that the indefinite articles "a" and "an" as used in the specification and claims mean "at least one" unless explicitly stated to the contrary. The phrase "and / or" as used in the description and claims is "one or both" of the elements so combined, i.e., in some cases conjunctive, and in the other. In some cases it should be understood to mean elements that exist distantly. Multiple elements described by "and / or" should be construed in the same manner, i.e., "one or more" of such combined elements. In addition to the elements specifically identified by the "and / or" clause, other elements may optionally be present, whether related to or unrelated to the specifically identified elements. Therefore, as a non-limiting example, the reference to "A and / or B", when used in conjunction with an unconstrained term such as "with", is only A in one embodiment (optionally B). (Including elements other than), in another embodiment only B (optionally including elements other than A), and in yet another embodiment both A and B (optionally including other elements), etc. it can.

明細書および請求項で使用されるように、「または」は、上記で定義されるような「および/または」と同一の意味を有すると理解されたい。例えば、リスト内の項目を分離するとき、「または」もしくは「および/または」は、包括的である、すなわち、少なくとも1つの包含であるが、また、いくつかの要素または要素のリストのうちの1つより多く、随意に、付加的な記載されていない項目を含むと解釈されるものとする。対照的に明確に示される、「〜のうちの1つのみ」または「〜のうちの正確に1つ」等の「のみ」の用語、もしくは請求項で使用されるときに、「〜から成る」は、いくつかの要素または要素のリストのうちの正確に1つの要素の包含を指すであろう。一般に、使用されるような用語「または」は、「いずれか一方」、「〜のうちの1つ」、「〜のうちの1つのみ」、または「〜のうちの正確に1つ」等の排他性の用語が先行するときに、排他的代替(すなわち、「両方ではなく一方または他方」)を示すとしてのみ解釈されるものとする。「本質的に〜から成る」は、請求項で使用されるとき、特許法の分野で使用されるようなその通常の意味を有するものとする。 As used in the specification and claims, "or" should be understood to have the same meaning as "and / or" as defined above. For example, when separating items in a list, "or" or "and / or" is inclusive, i.e. at least one inclusive, but also in some element or list of elements. It shall be construed to include more than one and optionally additional unlisted items. In contrast, clearly indicated "only" terms such as "only one of" or "exactly one of", or when used in a claim, "consisting of". "Will refer to the inclusion of exactly one element of several elements or a list of elements. Generally, the term "or" as used is "any one", "one of", "only one of", or "exactly one of", etc. When the term of exclusivity of is preceded, it shall be construed only as indicating an exclusive alternative (ie, "one or the other, not both"). By "essentially consisting of", when used in the claims, shall have its usual meaning as used in the field of patent law.

明細書および請求項で使用されるように、「少なくとも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(および随意で他の要素を含む)等を指すことができる。 As used in the specification and claims, the phrase "at least one" refers to a list of one or more elements and any one or more of the elements in the list of elements. It means at least one element selected from more than that, but does not necessarily include at least one of all the elements specifically described in the list of elements, any of the elements in the list of elements. It should be understood that the combination of is not excluded. This definition is also optional, in addition to the specifically identified elements in the list of elements, which the phrase "at least one" refers to, whether related to or unrelated to the specifically identified elements. Allow to be present in. Thus, as a non-limiting example, "at least one of A and B" (or equally "at least one of A or B", or equally "at least one of A and / or B". In one embodiment, none of B is present, optionally more than one, at least one A (and optionally including elements other than B), in another embodiment any A also does not exist, optionally contains more than one, at least one B (and optionally contains elements other than A), and in yet another embodiment, at least one A optionally contains more than one. , And at least one B (and optionally other elements), etc., including more than one at will.

「〜を含む」、「〜を備える」、「〜を有する」、「〜を含有する」、「〜を伴う」、およびそれらの変形例の使用は、その後に記載される項目および付加的項目を包含するように意図されている。 The use of "contains", "contains", "has", "contains", "with", and variants thereof is described in subsequent items and additional items. Is intended to include.

請求項要素を修飾するための請求項における「第1の」、「第2の」、「第3の」等の順序の用語の使用は、単独では、別の要素と比べた1つの請求項要素のいかなる優先順位、先行、または順序、もしくは方法の行為が行われる時間順序も含意しない。順序の用語は、請求項要素を区別するために、(順序の用語の使用のためであるが)ある名前を有する1つの請求項要素と、同一の名前を有する別の要素を区別する標識としてのみ使用される。
均等物
The use of ordering terms such as "first,""second,""third," etc. in a claim to modify a claim element alone is one claim compared to another element. It does not imply any priority, precedence, or order of the elements, or the time order in which the act of the method takes place. The term of order is used as a marker to distinguish one claim element having a certain name from another element having the same name (due to the use of the term of order) to distinguish the claim elements. Only used.
Equal

このようにして、本発明の少なくとも1つの実施形態のいくつかの側面を説明したが、種々の変更、修正、および改良が、当業者に容易に想起されるであろうことを理解されたい。そのような変更、修正、および改良は、本開示の一部であることを意図し、かつ本発明の精神および範囲内であることを意図している。したがって、前述の説明および図面は、一例にすぎない。 Although some aspects of at least one embodiment of the invention have been described in this way, it should be appreciated that various changes, modifications and improvements will be readily recalled to those skilled in the art. Such changes, modifications, and improvements are intended to be part of this disclosure and are intended to be within the spirit and scope of the invention. Therefore, the above description and drawings are merely examples.

Claims (1)

本明細書に記載の発明。The invention described herein.
JP2020176551A 2016-10-21 2020-10-21 System for analyzing prediction data, and method and device related thereto Pending JP2021012734A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662411526P 2016-10-21 2016-10-21
US62/411,526 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
US15/331,797 2016-10-21

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019520991A Division JP7107926B2 (en) 2016-10-21 2017-10-21 Systems and associated methods and apparatus for predictive data analysis

Publications (1)

Publication Number Publication Date
JP2021012734A true JP2021012734A (en) 2021-02-04

Family

ID=60421839

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019520991A Active JP7107926B2 (en) 2016-10-21 2017-10-21 Systems and associated methods and apparatus for predictive data analysis
JP2020176551A Pending JP2021012734A (en) 2016-10-21 2020-10-21 System for analyzing prediction data, and method and device related thereto

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019520991A Active JP7107926B2 (en) 2016-10-21 2017-10-21 Systems and associated methods and apparatus for predictive data analysis

Country Status (7)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102413588B1 (en) * 2021-11-15 2022-06-27 주식회사 테스트웍스 Object recognition model recommendation method, system and computer program according to training data
US11902182B2 (en) 2017-01-27 2024-02-13 Triangle IP Thin data warning and remediation system

Families Citing this family (53)

* 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
KR102283945B1 (en) 2017-04-03 2021-07-30 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) HARQ handling for nodes with variable processing times
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
US11568286B2 (en) * 2019-01-31 2023-01-31 Fair Isaac Corporation Providing insights about a dynamic machine learning model
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 (en) * 2019-07-10 2023-07-04 云南电网有限责任公司电力科学研究院 Distribution network planning overall process evaluation method and device
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 (en) * 2019-08-05 2023-05-09 山东农业大学 Crop yield prediction method based on machine learning
US11068758B1 (en) * 2019-08-14 2021-07-20 Compellon Incorporated Polarity semantics engine analytics platform
US11568187B2 (en) 2019-08-16 2023-01-31 Fair Isaac Corporation Managing missing values in datasets for machine learning models
KR102634916B1 (en) * 2019-08-29 2024-02-06 주식회사 엘지에너지솔루션 Determining method and device of temperature estimation model, and battery management system which the temperature estimation model is applied to
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 (en) * 2019-10-18 2020-09-07 (의료)길의료재단 The discrimination of panic disorder from other anxiety disorders based on heart rate variability and the apparatus thereof
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 (en) * 2019-10-28 2021-01-20 삼성에스디에스 주식회사 Processing method for result of medical examination
US11568367B2 (en) * 2019-11-07 2023-01-31 Zebel Group, Inc. Automated parameterized modeling and scoring intelligence system
CN112783890B (en) * 2019-11-08 2024-05-07 珠海金山办公软件有限公司 Method and device for generating data pivot table row
KR102153834B1 (en) * 2019-11-25 2020-09-09 티아이테크놀로지 주식회사 Method and quantifying a data based on final value and estimate
CN111008705B (en) * 2019-12-06 2024-02-13 东软集团股份有限公司 Searching method, device and equipment
KR102235588B1 (en) * 2019-12-09 2021-04-02 한국로봇융합연구원 Apparatus and method of the inference classification performance evaluation for each layer of artificial intelligence model composed of multiple layers
KR102328640B1 (en) * 2019-12-17 2021-11-18 충북대학교 산학협력단 Apparatus and method for processing education longitudinal study data
CN113052582B (en) * 2019-12-27 2024-03-22 中移动信息技术有限公司 Method, device, equipment and computer storage medium for checking bill
US20210217514A1 (en) * 2020-01-13 2021-07-15 Skygen USA, LLC Systems, methods, and media for generating peer group driven operational recommendations
CN113535829B (en) * 2020-04-17 2022-04-29 阿里巴巴集团控股有限公司 Training method and device of ranking model, electronic equipment and storage medium
US11231967B2 (en) * 2020-04-20 2022-01-25 Stratum, Llc Dynamically allocating and managing cloud workers
KR102352036B1 (en) * 2020-04-28 2022-01-18 이진행 Device and method for variable selection using stochastic gradient descent
JP6963062B1 (en) * 2020-06-22 2021-11-05 株式会社Yamato Information processing device and information processing method
KR102386782B1 (en) * 2020-08-24 2022-04-14 강원대학교산학협력단 Arc Signal Detection Method Using Logistic Regression
US11494285B1 (en) * 2020-09-30 2022-11-08 Amazon Technologies, Inc. Static code analysis tool and configuration selection via codebase analysis
CN114372569A (en) * 2020-10-14 2022-04-19 新智数字科技有限公司 Data measurement method, data measurement device, electronic equipment and computer readable medium
CN112395336B (en) * 2020-11-27 2024-03-19 北京卫星环境工程研究所 Long-time sequence data management and visualization method
CN112699113B (en) * 2021-01-12 2022-08-05 上海交通大学 Industrial manufacturing process operation monitoring system driven by time sequence data stream
CN112765891B (en) * 2021-01-27 2023-11-10 辽宁工程技术大学 Prediction method for maximum value of disaster-causing factors of mine fire disaster
KR102560263B1 (en) * 2021-02-03 2023-07-28 주식회사 크로커스 Power prediction device with mode decomposition and neural network
US11630446B2 (en) 2021-02-16 2023-04-18 Aspentech Corporation Reluctant first principles models
KR102290494B1 (en) * 2021-03-10 2021-08-17 주식회사 코루제약 Method of preparing filler composition containing hyaluronic acid to exhibit effect suitable for maintaining volume and elasticity of skin
CN113076339A (en) * 2021-03-18 2021-07-06 北京沃东天骏信息技术有限公司 Data caching method, device, equipment and storage medium
US20230064692A1 (en) * 2021-08-20 2023-03-02 Mediatek Inc. Network Space Search for Pareto-Efficient Spaces
KR102414821B1 (en) * 2021-11-02 2022-06-30 주식회사 에이젠글로벌 Method for generating artificial intelligence model for financial service and apparatus for performing the method
KR102635894B1 (en) * 2021-12-29 2024-02-08 한국남동발전 주식회사 Smart power generation fuel price prediction system and method thereof
CN114677022B (en) * 2022-03-31 2023-09-15 南通电力设计院有限公司 Multi-element fusion energy distributed management method and system
GB2622606A (en) * 2022-09-22 2024-03-27 Nokia Technologies Oy Capability reporting for multi-model artificial intelligence/machine learning user equipment features
KR102481814B1 (en) * 2022-09-23 2022-12-28 전남대학교산학협력단 Statistical learning framework for prediction with small sample size and imbalanced clinical dataset
CN116582702B (en) * 2023-07-11 2023-09-15 成都工业职业技术学院 Network video play amount prediction method, system and medium based on big data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581228A (en) * 1991-09-19 1993-04-02 Hitachi Ltd Method for constituting neural network and learning/ recollecting system
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 (en) * 2005-09-13 2013-07-04 프리스케일 세미컨덕터, 인크. Multi-threaded processor architecture
CN100547553C (en) * 2007-12-07 2009-10-07 华中科技大学 Simulating scenes automatic deployment method based on emulation graticule
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 (en) * 2009-08-03 2014-01-08 ソニー株式会社 Data processing apparatus, data processing method, and program
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 (en) * 2011-03-23 2014-02-19 株式会社デンソーアイティーラボラトリ Traffic volume prediction device, traffic volume prediction method and program
US8370280B1 (en) * 2011-07-14 2013-02-05 Google Inc. Combining predictive models in predictive analytical modeling
TWI451336B (en) * 2011-12-20 2014-09-01 Univ Nat Cheng Kung Method for screening samples for building prediction model and computer program product thereof
KR101369261B1 (en) * 2012-02-10 2014-03-06 서울대학교산학협력단 Method for providing real-time route inference of users using smart terminal and system there of
US8943252B2 (en) * 2012-08-16 2015-01-27 Microsoft Corporation Latency sensitive software interrupt and thread scheduling
CN104281492A (en) * 2013-07-08 2015-01-14 无锡南理工科技发展有限公司 Fair Hadoop task scheduling method in heterogeneous environment
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 (en) * 1991-09-19 1993-04-02 Hitachi Ltd Method for constituting neural network and learning/ recollecting system
WO2015179778A1 (en) * 2014-05-23 2015-11-26 Datarobot Systems and techniques for predictive data analytics

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11902182B2 (en) 2017-01-27 2024-02-13 Triangle IP Thin data warning and remediation system
KR102413588B1 (en) * 2021-11-15 2022-06-27 주식회사 테스트웍스 Object recognition model recommendation method, system and computer program according to training data

Also Published As

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

Similar Documents

Publication Publication Date Title
US11922329B2 (en) Systems for second-order predictive data analytics, and related methods and apparatus
JP7107926B2 (en) Systems and associated methods and apparatus for predictive data analysis
US20210326782A1 (en) Systems and techniques for predictive data analytics
US10496927B2 (en) Systems for time-series predictive data analytics, and related methods and apparatus
US10366346B2 (en) Systems and techniques for determining the predictive value of a feature
US20220076164A1 (en) Automated feature engineering for machine learning models
US10394532B2 (en) System and method for rapid development and deployment of reusable analytic code for use in computerized data modeling and analysis
US20220199266A1 (en) Systems and methods for using machine learning with epidemiological modeling
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
US20240193481A1 (en) Methods and systems for identification and visualization of bias and fairness for machine learning models
US20230051833A1 (en) Systems and methods for using machine learning with epidemiological modeling
US20230065870A1 (en) Systems and methods of multimodal clustering using machine learning
US20230206610A1 (en) Methods and systems for visual representation of model performance

Legal Events

Date Code Title Description
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: 20211210

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20221019