Patent Description:
<CIT> describes a method for creating a heterogeneous earth model of a reservoir field including generating a group of wellsite models of the reservoir field based at least on cluster analysis and cluster tagging performed on log data of the group of wellsites of the reservoir field, generating a reference model by minimizing cluster tagging errors of the group of models and constructing a contour plot of the cluster tagging errors. At least one well location and associated core depth interval based on the contour plot is identified for obtaining additional sampling results, and the reference model is updated based on the additional sampling results to create the HEM. <CIT> describes developing a continuous model of a well using a log response and an analysis result based on continuous measurements from a core section of the well, <CIT> describes a method for identifying regions in a well using cluster analysis of data from the well. <CIT> describes a method for characterizing elastic properties of a subsurface formation at various fluid saturation conditions. <CIT> relates to mathematical modelling using an algorithm that generates outlier flags.

The present invention provides a method for determining a formation property as defined in claim <NUM>. The invention further resides in a computing system as defined in claim <NUM> and in a non-transitory computer-readable medium as defined in claim <NUM>.

In other instances, well-known methods, procedures, components, circuits and networks have not been described in detail so as not to obscure aspects of the embodiments.

These terms are used to distinguish one element from another.

The terminology used in the description of the invention herein is for the purpose of describing particular embodiments and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms "a," "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and/or" as used herein refers to and encompasses any possible combinations of one or more of the associated listed items. It will be further understood that the terms "includes," "including," "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Further, as used herein, the term "if' may be construed to mean "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context.

<FIG> illustrates an example of a system <NUM> that includes various management components <NUM> to manage various aspects of a geologic environment <NUM> (e.g., an environment that includes a sedimentary basin, a reservoir <NUM>, one or more faults <NUM>-<NUM>, one or more geobodies <NUM>-<NUM>, etc.). For example, the management components <NUM> may allow for direct or indirect management of sensing, drilling, injecting, extracting, etc., with respect to the geologic environment <NUM>. In turn, further information about the geologic environment <NUM> may become available as feedback <NUM> (e.g., optionally as input to one or more of the management components <NUM>).

In the example of <FIG>, the management components <NUM> include a seismic data component <NUM>, an additional information component <NUM> (e.g., well/logging data), a processing component <NUM>, a simulation component <NUM>, an attribute component <NUM>, an analysis/visualization component <NUM> and a workflow component <NUM>. In operation, seismic data and other information provided per the components <NUM> and <NUM> may be input to the simulation component <NUM>.

In an example embodiment, the simulation component <NUM> may rely on entities <NUM>. Entities <NUM> may include earth entities or geological objects such as wells, surfaces, bodies, reservoirs, etc. In the system <NUM>, the entities <NUM> can include virtual representations of actual physical entities that are reconstructed for purposes of simulation. The entities <NUM> may include entities based on data acquired via sensing, observation, etc. (e.g., the seismic data <NUM> and other information <NUM>). An entity may be characterized by one or more properties (e.g., a geometrical pillar grid entity of an earth model may be characterized by a porosity property). Such properties may represent one or more measurements (e.g., acquired data), calculations, etc..

In an example embodiment, the simulation component <NUM> may operate in conjunction with a software framework such as an object-based framework. In such a framework, entities may include entities based on pre-defined classes to facilitate modeling and simulation. A commercially available example of an object-based framework is the MICROSOFT®. NET® framework (Redmond, Washington), which provides a set of extensible object classes. NET® framework, an object class encapsulates a module of reusable code and associated data structures. Obj ect classes can be used to instantiate object instances for use in by a program, script, etc. For example, borehole classes may define objects for representing boreholes based on well data.

In the example of <FIG>, the simulation component <NUM> may process information to conform to one or more attributes specified by the attribute component <NUM>, which may include a library of attributes. Such processing may occur prior to input to the simulation component <NUM> (e.g., consider the processing component <NUM>). As an example, the simulation component <NUM> may perform operations on input information based on one or more attributes specified by the attribute component <NUM>. In an example embodiment, the simulation component <NUM> may construct one or more models of the geologic environment <NUM>, which may be relied on to simulate behavior of the geologic environment <NUM> (e.g., responsive to one or more acts, whether natural or artificial). In the example of <FIG>, the analysis/visualization component <NUM> may allow for interaction with a model or model-based results (e.g., simulation results, etc.). As an example, output from the simulation component <NUM> may be input to one or more other workflows, as indicated by a workflow component <NUM>.

As an example, the simulation component <NUM> may include one or more features of a simulator such as the ECLIPSE™ reservoir simulator (Schlumberger Limited, Houston Texas), the INTERSECT™ reservoir simulator (Schlumberger Limited, Houston Texas), etc. As an example, a simulation component, a simulator, etc. may include features to implement one or more meshless techniques (e.g., to solve one or more equations, etc.). As an example, a reservoir or reservoirs may be simulated with respect to one or more enhanced recovery techniques (e.g., consider a thermal process such as SAGD, etc.).

In an example embodiment, the management components <NUM> may include features of a commercially available framework such as the PETREL® seismic to simulation software framework (Schlumberger Limited, Houston, Texas). The PETREL® framework provides components that allow for optimization of exploration and development operations. The PETREL® framework includes seismic to simulation software components that can output information for use in increasing reservoir performance, for example, by improving asset team productivity. Through use of such a framework, various professionals (e.g., geophysicists, geologists, and reservoir engineers) can develop collaborative workflows and integrate operations to streamline processes. Such a framework may be considered an application and may be considered a data-driven application (e.g., where data is input for purposes of modeling, simulating, etc.).

In an example embodiment, various aspects of the management components <NUM> may include add-ons or plug-ins that operate according to specifications of a framework environment. For example, a commercially available framework environment marketed as the OCEAN® framework environment (Schlumberger Limited, Houston, Texas) allows for integration of add-ons (or plug-ins) into a PETREL® framework workflow. The OCEAN® framework environment leverages. NET® tools (Microsoft Corporation, Redmond, Washington) and offers stable, user-friendly interfaces for efficient development. In an example embodiment, various components may be implemented as add-ons (or plug-ins) that conform to and operate according to specifications of a framework environment (e.g., according to application programming interface (API) specifications, etc.).

<FIG> also shows an example of a framework <NUM> that includes a model simulation layer <NUM> along with a framework services layer <NUM>, a framework core layer <NUM> and a modules layer <NUM>. The framework <NUM> may include the commercially available OCEAN® framework where the model simulation layer <NUM> is the commercially available PETREL® model-centric software package that hosts OCEAN® framework applications. In an example embodiment, the PETREL® software may be considered a data-driven application. The PETREL® software can include a framework for model building and visualization.

As an example, a framework may include features for implementing one or more mesh generation techniques. For example, a framework may include an input component for receipt of information from interpretation of seismic data, one or more attributes based at least in part on seismic data, log data, image data, etc. Such a framework may include a mesh generation component that processes input information, optionally in conjunction with other information, to generate a mesh.

In the example of <FIG>, the model simulation layer <NUM> may provide domain objects <NUM>, act as a data source <NUM>, provide for rendering <NUM> and provide for various user interfaces <NUM>. Rendering <NUM> may provide a graphical environment in which applications can display their data while the user interfaces <NUM> may provide a common look and feel for application user interface components.

As an example, the domain objects <NUM> can include entity objects, property objects and optionally other objects. Entity objects may be used to geometrically represent wells, surfaces, bodies, reservoirs, etc., while property objects may be used to provide property values as well as data versions and display parameters. For example, an entity object may represent a well where a property object provides log information as well as version information and display information (e.g., to display the well as part of a model).

In the example of <FIG>, data may be stored in one or more data sources (or data stores, generally physical data storage devices), which may be at the same or different physical sites and accessible via one or more networks. The model simulation layer <NUM> may be configured to model projects. As such, a particular project may be stored where stored project information may include inputs, models, results and cases. Thus, upon completion of a modeling session, a user may store a project. At a later time, the project can be accessed and restored using the model simulation layer <NUM>, which can recreate instances of the relevant domain objects.

In the example of <FIG>, the geologic environment <NUM> may include layers (e.g., stratification) that include a reservoir <NUM> and one or more other features such as the fault <NUM>-<NUM>, the geobody <NUM>-<NUM>, etc. As an example, the geologic environment <NUM> may be outfitted with any of a variety of sensors, detectors, actuators, etc. For example, equipment <NUM> may include communication circuitry to receive and to transmit information with respect to one or more networks <NUM>. Such information may include information associated with downhole equipment <NUM>, which may be equipment to acquire information, to assist with resource recovery, etc. Other equipment <NUM> may be located remote from a well site and include sensing, detecting, emitting or other circuitry. Such equipment may include storage and communication circuitry to store and to communicate data, instructions, etc. As an example, one or more satellites may be provided for purposes of communications, data acquisition, etc. For example, <FIG> shows a satellite in communication with the network <NUM> that may be configured for communications, noting that the satellite may additionally or instead include circuitry for imagery (e.g., spatial, spectral, temporal, radiometric, etc.).

<FIG> also shows the geologic environment <NUM> as optionally including equipment <NUM> and <NUM> associated with a well that includes a substantially horizontal portion that may intersect with one or more fractures <NUM>. For example, consider a well in a shale formation that may include natural fractures, artificial fractures (e.g., hydraulic fractures) or a combination of natural and artificial fractures. As an example, a well may be drilled for a reservoir that is laterally extensive. In such an example, lateral variations in properties, stresses, etc. may exist where an assessment of such variations may assist with planning, operations, etc. to develop a laterally extensive reservoir (e.g., via fracturing, injecting, extracting, etc.). As an example, the equipment <NUM> and/or <NUM> may include components, a system, systems, etc. for fracturing, seismic sensing, analysis of seismic data, assessment of one or more fractures, etc..

As mentioned, the system <NUM> may be used to perform one or more workflows. A workflow may be a process that includes a number of worksteps. A workstep may operate on data, for example, to create new data, to update existing data, etc. As an example, a may operate on one or more inputs and create one or more results, for example, based on one or more algorithms. As an example, a system may include a workflow editor for creation, editing, executing, etc. of a workflow. In such an example, the workflow editor may provide for selection of one or more pre-defined worksteps, one or more customized worksteps, etc. As an example, a workflow may be a workflow implementable in the PETREL® software, for example, that operates on seismic data, seismic attribute(s), etc. As an example, a workflow may be a process implementable in the OCEAN®framework. As an example, a workflow may include one or more worksteps that access a module such as a plug-in (e.g., external executable code, etc.).

The systems and methods disclosed herein may predict formation properties that are normally interpreted or measured directly, using Machine Learning (ML) Algorithms. The systems and methods disclosed herein use of Mud Gas Logs (MGL) and Drilling Data (DD), rather than Wireline (WL) or Logging-While-Drilling (LWD) logs, in the prediction of formation properties such as water saturation or total porosity. The systems and methods disclosed herein may also use of two classes of ML algorithms, called Random Forest (RF) and Support Vector Machines (SVM). RF algorithms combine multiple decision trees to yield a more accurate result with less bias and variance. RF is an ensemble method because it utilizes the output of many decision trees. SVM algorithms use a small number of data samples to capture complex decision boundaries in classification applications.

In addition to prediction with a measure of uncertainty, the systems and methods disclosed herein may use additional ideas that result in the creation of a complete automated system, which enables a non-expert to also build, select, and update ML models. The systems and methods disclosed herein use available cloud technologies for storage and quick access to massive amounts of data, the inherent HPC environment for quick number crunching of large amounts of data, and internet technologies for quick transmission of data and results. While the ideas are illustrated using well logs, the concepts are applicable to many other data types encountered in the oil industry.

The systems and methods disclosed herein use ML to predict a formation property where the ground truth does not exist. As used herein, the "ground truth" refers to information provided by direct measurement (i.e. empirical evidence) as opposed to information that is provided by inference. With reference to ML, the term "ground truth" is the standard that the ML algorithm needs to learn from. This is used in statistical models to prove or disprove hypotheses. The formation property can be one of the two types: interpreted or measured directly. An interpreted formation property is one that is computed from available direct measurements using a formula or a chart, and some a-priori information. One example is the determination of water saturation from Mud Gas Logs and Drilling Data. There is no direct measurement for water saturation, as it may be computed from triple-combo logs (e.g., density, neutron, deep resistivity), using, for example, Archie's formula, which, in addition to logs, uses a-priori information for water salinity, cementation, and saturation exponents (Rw, m, n). The systems and methods disclosed herein may also be used to predict formation properties that can be directly measured, by using combining data from different sources as inputs. One example would be the prediction of compressional slowness log, either from the triple-combo logs, or from the MGL+DD combination, or a mix of the two.

An ML prediction may be accompanied by uncertainty information to help guide the end-user to determine whether the answer is robust and consistent for making business decisions. The assessment may be provided automatically, with metrics that are clear and easily understood by the non-expert.

One example includes a large data set for N wells, with logs, core, MGLs, DD, etc. for each well, covering a specific formation in this particular field. A new well is going to be drilled in the field and water saturation may be predicted from MGL+DD during the drilling of the well, prior to running WL logs. The user may determine which of the N wells should be used in the model building. The question of which wells to include in the model creation phase (also called "training") cannot be answered solely on basis of proximity, because the wrong choice of wells may result in an ML model that will make inconsistent predictions. The systems and methods disclosed herein include ML-based algorithms that aid the model building in an automated fashion.

One example includes the case where an ML model has already been built for a specific formation/field, and appropriate data from a new well in the proximity of the field (e.g., without ground truth) becomes available and is to be used in predicting a desired formation property. The first question to be answered at this point is whether the existing model is the right one for the new well. Another example includes the more general case where a large number of models, built for specific formations in specific fields, have been catalogued in the form of a global library. Given a well from a formation and field that is not anywhere near any of the fields covered in the global library, a matching model may be identified in the library, and the model-building may be skipped, which would save time and cost. The systems and methods disclosed herein may offer an ML-based automated solution that can be used to achieve this. The case of a global library uses additional considerations, which are discussed separately.

If ground truth for a test well becomes available at a later time, the information from this particular well may be used to update an existing model. An automated solution for this purpose is included herein.

As the art is practiced in different formations/fields, the models built over time can be stored in a global library for later use. If the models are catalogued, such that a search can be executed efficiently and quickly, it can prevent the building of new models, resulting in savings of cost, time, and storage. Each model may be catalogued with attributes that carry a small foot print, so that search algorithms can run quickly.

The systems and methods disclosed herein use tree-based ensemble methods called Random Forest (RF) which are relatively new compared to other forms of machine learning techniques such as neural networks (NN). A flavor of the original RF algorithm, called Quantile Regression Forest (QRF), may be used to assess uncertainty.

A modern classification algorithm called Support Vector Machines may be used.

RF algorithms use high computing power (HPC) for industrial applications, and such platforms have recently become reliable and economically feasible, encouraging the use of tree-based decision systems.

Big data algorithms, as the name implies, process large amounts of data, and the cloud offers an environment where large amounts of data can be stored and accessed, economically and quickly. The Internet is also used in this setup, as models or results can be sent to the user almost simultaneously.

Automation is used to reduce human involvement/intervention to increase efficiencies and turnaround times. If a process is manual, where petrophysicists are replaced by data scientists/software engineers, then the gains are minimal. Automation may result in using fewer people. ML combined with automation allows lower levels of expertise/experience on the part of the user since the expertise is captured during the training phase and automation does not use the presence of data scientists/engineers.

Mud Gas Logs (MGL) or Drilling Data (DD), alone, may be used in the qualitative prediction of formation properties. In another embodiment, they may be used together (i.e., simultaneously) for quantitative prediction of formation properties. Quantitative here implies results that have comparable uncertainty to those obtained from traditional methods, such as wireline logs and/or core.

High-quality predictions may be made using automated systems that are used to select training wells, match existing ML models to new test wells, and quality control the ground truth and input data.

The inputs to the systems and methods disclosed herein are unlimited. Any type of data can be used, either from MGL, or DD, or other sources. For example, C1, C2, to C5, and their various linear and non-linear combinations (C1/C3, C1/C1+C2+C3. ) may be used as inputs. Cuttings shows, or any classifiers such as sand, shale, carbonate, etc. may be added. Routine in the process is the use of GR, either from a WL or LWD/MWD run. GR can also be obtained from cuttings. Another idea is to use an LWD/MWD resistivity log, which is quite common on land wells.

GR may be used, which helps in clastic environments. GR may not be used in conventional methods because their quasi-deterministic approach use formulas to relate the outputs to the inputs.

The results of the methods disclosed herein are quantitative, where uncertainty is comparable to those of WL or LWD logs. Conventional results are qualitative, based on first-hand experience, and change depending on how the use picks the lines.

The method disclosed herein offers a metric for uncertainty, whereas conventional methods create no such information.

The method disclosed herein is automatic, whereas conventional methods are heavily manual and subject to user experience level.

The method disclosed herein can predict a certain property, and use it as an input in the prediction of another quantity.

Conventional methods pick the trend lines from scratch for each well. The characteristics of a trend picked for one well has no value for another. Each one is picked individually. The method disclosed herein is based on models, which can be used again and again, when certain criteria is satisfied, by removing the "begin-from-scratch" concept.

The systems and methods disclosed herein can be executed in real-time (e.g., while drilling a well, or logging a well), or offline (e.g., when the well has been drilled and completed, and no more operations are possible). In either case, the systems and methods disclosed herein may be offered as a cloud-based service, where the combinations of answers are computed and delivered over the Internet, very quickly, and at low cost.

The service may be fully automated, not using experts or specialists to run. In one example, water saturation may be predicted for a new well that is just being drilled, and MGL+DD+GR may be made available in near real-time (e.g., with a short delay of a few hours):.

The systems and methods disclosed herein can be used to cross-check input data, ground truth, or interpreted results, automatically. The systems and methods disclosed herein can be used to find poorly interpreted logs (e.g., wrong choice of input parameters such as Rw, m, n), logs affected by deep invasion, washouts, whole mud invasion, in addition to bad data due to tool malfunctions or calibrations.

As MGL+DD are available at the time of the cutting of the formation (e.g., as soon as the drill bit churns up the rock), they represent the earliest information in the record and are free of invasion effects. These two measurements may be less affected by invasion than some of the LWD measurements, because, depending on the position of a sensor, a certain measurement may be made under some invasion conditions due to slow drilling speeds. An invasion-free measurement opens the way to a number of applications. For example, acoustic impedance computed from invasion-free logs may render superfluous doing fluid substitution, which is often the case when using WL logs. Or, acoustic impedance computed from MGL+DD can be used to validate the assumptions made in a fluid substitution application. Having a real-time invasion-free acoustic impedance log opens the door to many applications, such as real-time seismic-ties, overpressure detection, geo-steering, etc..

While the WL or LWD logs may not have the resolution to detect laminated pay, MGL+DD, in combination with cuttings shows and other non-traditional data can be used to flag zones containing hydrocarbons. Early knowledge of such a zone may then lead to the collection of additional petrophysical information (e.g., cores or MDT tests) to validate the predictions.

A prediction may be applied to WL or LWD logs (or a combination thereof) to predict petrophysical quantities such as Sw and PHIT. While trivial at first sight, this approach removes the involvement of experts for providing almost real-time answers at the well site. Consider a field where an ML model has been built, using WL or LWD logs, for Sw and other properties. In a new well, data in real-time can be sent over the Internet to obtain answers without involving petrophysicists. One can also download the ML model to a field computer before the job, and produce answers at the wellsite in real-time, without involving petrophysicists or experienced personnel.

Consider a case where one of the logs on the WL run is bad, for example, the density log. Either the problem is discovered too late to repeat the measurement, or a rerun is not considered for operational reasons. A replacement "density" log can be created in a number of ways: (i) using from MGL+DD alone from adjacent wells, (ii) using WL or LWD logs from adjacent wells, (iii) using a combination of (i) and (ii). The caveat in the third case is that invasion physics may be taken into account when combining data acquired at different times during the drilling of a well.

Another variation is a well where there is no log data, due to well collapse, stuck pipe, instability, etc. Replacement logs can be computed from MGL+DD, as they would be acquired as soon as the bit penetrated the formation.

In the absence of Open Hole (OH logs), Cased Hole (CH) logs can be used in the evaluation of petrophysical properties, assuming that the CH logs are run after sufficient time is allowed for the dispersion of invasion effects in the flushed zone probed by the CH tools. CH interpretation may use a-priori information, such as total porosity, VShale, which are computed from OH logs. In the absence of OH logs, MGL+DD can be used to predict the inputs, further to be used in CH interpretation.

Consider a case where the LWD string includes GR+Resistivity, which is quite popular in onshore wells for cost considerations. This combination may not allow the computation of either porosity of water saturation, in the absence of porosity tools, and the systems and methods disclosed herein can be used to combine MGL+DD+Limited LWD data to compute Sw or PHIT (or other properties).

It is possible to build a specific model for a specific well, during an LWD operation, even if there is no other data available from other wells. This particular application may work in those cases where the formation is thicker than the distance between lower most and upper most LWD sensor to be used in supplying the ground truth data. Once the LWD string is sufficiently deep into the reservoir to provide the ground truth, say for Sw, the user can build a model on the fly, most likely in the surface, and start predicting Sw from MGL+DD, ahead of the LWD data. This option may be particularly attractive in horizontal/high angle wells, where the thickness vs sensor length criterion is easily satisfied.

The following equation represents an ML-based prediction process, executed by the predict algorithm, which takes two inputs: <MAT> where Y is the response matrix, M is the ML model, and X is the predictor matrix. The type of the model is denoted by a subscript, for example, MRF represents a random-forest model.

The function that creates an ML model is given by the operation: <MAT>.

Where the type can be RF, SVM or QRF; standing for Random-Forest, Support Vector Machine or Quantile Regression Forest, respectively.

In general, Y is a column vector, as formation properties are predicted one at a time. Furthermore, Yp and Yt are used to distinguish a response that is predicted from ML vs. a response that is used as ground truth, respectively.

The predictor matrix X is multidimensional. Xij, a row of X, corresponds to the predictor vector for the depth index i. Each column, subscripted by j, represents a specific type of measurement. For example, consider a data set that has C1, C2, C3, ROP, RPM, WOB and GR measurements for each depth, and assume that the measurements are ordered as listed. Then, the first column Xi1 would represent the C1 values; the fourth column Xi4 would contain the ROP values. Rows are ordered by depth, and a higher i value indicates a deeper depth.

In addition, subscripts MGL, DD, WL, etc. are also used to identify the type of data contained in the predictor matrix. For example, XMGL+DD indicates that the predictor matrix has data from Mud Gas Logs and Drilling Data.

A superscript for X or Y indicates a specific well. For example, <MAT> represents the predicted response, for the chosen property from well <NUM>, whereas <MAT> represents the predictor matrix used in the case of well <NUM>. A superscript in capital letters indicates a domain of wells, for example, given W={<NUM>,<NUM>,<NUM>,<NUM>,<NUM>} and T={<NUM>,<NUM>,<NUM> }; XW corresponds to the predictor matrix for wells <NUM> to <NUM>, whereas XT corresponds to the predictor matrix for wells <NUM>, <NUM> and <NUM>. T=W-{<NUM>,<NUM>}, using set notation.

The two operators vertcat and horzcat represent the vertical or horizontal concatenation of matrices. For example, given X<NUM> and X<NUM>, <MAT> corresponds to the following using matrix notation: <MAT> Similarly, X = horzcat(X<NUM>, X<NUM>), is equivalent to: <MAT>.

Prediction of formation properties using ML is the main task in this section. There are three subtasks, discussed in detail:.

The systems and methods disclosed herein use MGL+DD+GR, for Sw, PHIT and other properties.

In this subtask, an already existing Random-Forest model MRF is used to predict an interpreted formation property such as Sw or PHIT: <MAT>.

The application is not limited to just Sw or PHIT. A user can duplicate the process for any interpreted formation property, such as Volume of Shale (VSH), Volume of Clay (VCLY), Acoustic Impedance (AIMP), Absolute Permeability (KABS), Young's Modulus (YM), Poisson's Ratio (PR), amongst many others.

An interpreted formation property (as opposed to a directly measured property) is one that is computed from WL or LWD logs (e.g., such as resistivity, neutron, density, sonic, etc.), using analytic formulas or cross-plots techniques, implemented in the form of computer algorithms. One example is using Archie's formula to calculate Sw in clean formations from WL logs. In addition to logs, the process uses a-priori information, such as formation water salinity; cementation, and saturation exponents (m,n); knowledge of lithology (e.g., quartz, calcite, kaolinite), formation temperature/pressure profiles; and fluid properties. An experienced petrophysicst executes the workflow, by picking/selecting various parameters used by the modules contained in the workflow. <FIG> illustrates the interpretation workflow.

In an ML model built to predict an interpreted property, the ground truth Yt used to train the model M can be wrong if the interpreter fails to properly quality control the data used to compute Yt, or selects in accurate input parameters. An improperly built model may lead to inconsistent predictions. This is the reason for the emphasis and distinction on interpreted, vs. measured. The systems and methods disclosed herein offer ML-based automated workflows to ensure the consistency of the ground truth, through the use of a number of ML based automated algorithms, as outlined in the section entitled Model Building.

The systems and methods disclosed herein may use non-traditional logs, such as Mud Gas Logs (MGL) and Drilling Data (DD), with the addition of a GR log obtained from cuttings or an MWD/LWD run, to predict interpreted formation properties, that may also be determined from WL or LWD logs. Specifically, given <MAT> this translates to the following equations: <MAT> and <MAT>.

The two predictor matrices XMGL and XDD are formed by the horizontal concatenation logs, where each log is represented by a column vector: <MAT> <MAT>.

A different model is used in Sw prediction vs. PHIT, since the ground truth used in each case is different. In other words, by defining the model building as: <MAT> the ground truth used differs:.

even though the predictor matrix is identical for both (XMGL+DD+GR).

The ground truth may be obtained from a workflow built around the quantiELAN module of Techlog: <MAT>.

ELAN (short for quantiELAN) is a multi-component petrophysical interpretation module that takes in logs and a set of parameters. ELAN uses careful quality control of input logs and selection of input parameters. Results from an ELAN, or any other petrophysical package, may be validated against core measurements.

<FIG> illustrates the model building and prediction. The top row is for training, and the bottom row is for prediction. In this specific example, the input data are MGL+DD+GR, and the ground truth is either Sw or PHIT.

While training, the machine learns (or the Random-Forest Algorithm, top row, middle) <NUM> to predict Sw or PHIT, given as the ground truth coming from ELAN (top row, right) <NUM> and the predictor matrix containing MGL+DD+GR (top row, left) <NUM>. The learning is saved in the model MRF, which is an ensemble of hundreds of decision trees (bottom row, middle) <NUM>.

The wells used in the training or Model Building are called the training wells. A well in the training-set has the corresponding data for both the predictor and the ground truth (MGL+DD+GR, and Sw or PHIT, respectively).

Given an ML model, the user then uses it to predict the formation properties, for the test wells, as shown in the bottom row. Unlike the training-wells, test-wells do not have the ground truth. Given the ML model (bottom row, middle) <NUM>, predictor data from any test-well (bottom row, left) <NUM> is fed into the model, and formation properties (Sw and PHIT in this case) are predicted (bottom row, right) <NUM>. The model may be built once, for a given formation in a given field. The model building process may have to be built for a different field, starting from scratch, using a new set of training-wells.

An example for Sw prediction is shown in <FIG>, which shows three tracks <NUM>, <NUM>, <NUM>. Given a set of <NUM> wells, with MGL, DD, WL and core data, a RF model for Sw may be built from two wells, and applied to the remaining four wells. The comparison of the ground truth vs. the prediction, from one of the wells is shown in the middle track <NUM> of <FIG>. The agreement between the predicted Sw and ELAN based SW is strong, supporting the case that the predictions are quantitative and have the accuracy/precision expected from logs.

<FIG> shows the case for PHIT. The curves in the left track <NUM> of <FIG> correspond to GR (shown for reference). The curves in the right track <NUM> of <FIG> correspond to the ground truth and predicted properties (e.g., total porosity). The Random Forest model was trained from two wells, where the ground truth was obtained from ELAN. The agreement between the two curves is strong, indicating WL quality.

The workflow is identical to what is described in the previous subsection and as illustrated in <FIG>, with the difference that the ground truth (top row, right) <NUM> is a specific WL or LWD log. One example is the prediction of a thermal neutron log acquired in bad-hole conditions, again from MGL+DD+GR. Since the input data (MGL+DD+GR) is acquired at the time of drilling and before borehole deterioration, it can be used to predict a thermal neutron log free of washout effects (often in the form of excessive porosity). There is no interpretation involving a petrophysicist for the ground truth in this case. The predicted quantity is a measurement that is normally acquired directly by a logging tool.

<FIG> shows a graph <NUM> characterizing the prediction of compressional acoustic slowness, from a set of MGL+DD+GR. One curve is the ground truth for the test well. The other curve is the ML prediction. The predicted log mimics the ground truth quite well, with low bias and variance. In case of a bad sonic log, the ML prediction may be used for further interpretation, such as the computation of acoustic impedance for seismic-log ties. In another embodiment, the user can predict sonic logs in near real-time from MGL+DD+GR, and use it for the assessment of geomechanical properties, before WL logs are run. In the case of LWD logging, the compressional slowness may be provided by the ML process, in case an acoustic LWD log were not available.

The user may ask why this sub task is different from the previous one. The reason for separation is to emphasize the time-zero nature of MGL+DD, and exploit it in different embodiments to obtain formation properties prior to invasion. Even in the case of LWD logging, given the fact that most sensors are distanced from the bit, MGL+DD are the earliest information collected on the rocks penetrated. The differences between the curves in <FIG> may have other explanations. Perhaps, the differences are due to invasion, for example, gas being invaded by liquid mud filtrate. Borehole enlargement because of lack of geomechanical integrity may be another reason, since the MGL+DD would be acquired before any washouts.

While the quality control (QC) of directly measured or interpreted formation properties may sound trivial, doing this in an automated fashion, using ML algorithms in a cloud environment, over thousands of logs with very short turn-around-times (TAT) is very appealing and economically enticing. <FIG> can be used to illustrate the idea, even though it is actually intended for the Model Building. <FIG> includes four tracks: <NUM>, <NUM>, <NUM>, <NUM>.

The first track <NUM> includes caliper vs. bit size. The shading indicates washouts, which are severe in this example. The second track <NUM> includes GR. The shading indicates reservoir. The third track <NUM> includes water saturation, ground truth vs. prediction. One curve is the ground truth for Sw obtained from logs. Another curve is the prediction, from the ML algorithm. The results shown in the third track <NUM> were created from a training well set that included a well with bad interpretation (i.e., the porosity was calculated using inaccurate hydrocarbon properties). Because the ML model is contaminated due to the inclusion of a bad interpretation, the predictions are also inaccurate. The fourth track <NUM> includes the same features at the third track <NUM>, except that the ML model has been re-trained with properly interpreted logs form the training wells. Because the machine has learned from accurate data, the resulting predicted Sw shows improvement.

The curves in the third and fourth tracks <NUM>, <NUM> in <FIG> correspond to two Sw computations from the set same set of logs in the same well (from a set of <NUM> wells). Track <NUM> shows the ML result based on inaccurate ground truth provided by an inexperienced petrophysicist. Track <NUM> shows the ML result, for the same well. The ML model was based on ground truth originating from two of the original set of six wells, interpreted by an experienced petrophysicist, using accurate inputs and parameters. The difference between the two curves may be seen, and can easily be picked by an automated process.

In fact, any of the algorithms: ALG2, ALG3, ALG8, ALG9 or ALG10, can be used to identify the inaccurate interpretations, or direct measurements that are bad. The point here is the automated nature of the implementation, where guidance is given to the algorithm to clearly label the properties that are not representative.

To decide whether the predictions made by the ML model are reliable enough for decision-making, the end-user may use some metric to assess the quality of the answers provided. Such metrics are referred to as measures of "uncertainty," and there are many different approaches and algorithms to produce them.

Regardless of the specific metric chosen, the information provided may be quantitative and definitive for the non-specialist for practical use. This is the way to realize the efficiency gains, as the involvement of specialists would slow down the process and increase operational costs.

The underlying concept for assessing uncertainty is that of Conditional Probability Density Function (CPDF), available from a variation of the original Random Forest Algorithm, called Quantile Regression Forest (QRF). Prediction Interval (PI), obtained from the application of QRF may be used to assess uncertainty.

<FIG> and <FIG> illustrate graphs showing the uncertainty, in the form of PI. <FIG> includes four tracks <NUM>, <NUM>, <NUM>, <NUM>, and <FIG> includes four tracks <NUM>, <NUM>, <NUM>, <NUM>. The first tracks <NUM>, <NUM> represent caliper vs. bit size. The shading indicates washouts, which are severe in this example. The second tracks <NUM>, <NUM> represent GR. Shading indicates reservoir. The third tracks <NUM>, <NUM> represent water saturation and ground truth vs. prediction. One curve is the ground truth for Sw obtained from logs. Another curve is the prediction from the ML algorithm. The fourth tracks <NUM>, <NUM> represent uncertainty for Sw. The curve is the same predicted Sw curve from ML. The left and right boundaries correspond to +/-<NUM>% confidence bands around the predicted value.

Two wells with different levels of uncertainty are compared. The PI for Sw in the case of well <NUM> is much wider than that of Well <NUM>. The increased level is due to the washouts (e.g., enlarged borehole conditions) affecting the measurements. Comparison of the predicted Sw vs. the ground truth, shown in the third track <NUM>, <NUM> for both wells, is also consistent with the uncertainty assessment: while the predicted answer in the case of well <NUM> closely tracks the ground truth, variations of larger magnitude are observed in the case of well <NUM>.

A model may be built using a given a number of candidate training wells. The candidate wells have both the input data to be used in the prediction (e.g., MGL+DD+GR) and the ground truth to be used in the training (Sw, PHIT). The candidate wells may also have the WL or LWD logs that are used in the determination of the ground truth. The question to be asked at this stage revolves around the selection of the training wells, starting with a domain of wells contained in W. In other words, given: XW, <MAT>, where W = {<NUM>,. , N}, what is the domain S for model building, such that S ⊆ W? The systems and methods disclosed herein include several automated ML solutions, that can be deployed to define S, given W.

Given a group of wells clustered based on physical proximity, a well that meets any of the following conditions may be excluded from the training set:.

Each one of these cases is discussed in more detail below, with a set of algorithms recommended as solutions. Table <NUM> shows a summary case-solution pairs.

The zone of interest is from a different field/formation. Given that models are most likely to be specific for a given formation in a given field, wells from different formations in different fields may not be mixed. This is due to the fact that inherent formation properties such as mineralogy (e.g., clastic vs carbonate), water salinity, hydrocarbon type (e.g., gas vs oil), formation temperature and pressure, porosity range, wettability, and others will result in log responses that are different. While proximity of the wells may appear as the most practical selection criterion, there may be others because of the possibility of differing formation properties. Algorithms ALG2, ALG8, and ALG12 can be used to determine if a well should be kept in the training set.

ALG2, called LOOWCVRF (for Leave-Out One-Well Cross-Validation Random-Forest) is analogous to the LOOCV (Leave-One-Out Cross-Validation) method used in Statistical Learning. In ALG2, in each iteration includes:.

At the end of the loop, a plot of the chosen error type vs. well number is made, and the wells with error levels above the threshold are removed from the training set. <FIG> is a graph <NUM> showing an example of an inaccurate interpretation of the ground truth for ALG2, and <FIG> is a graph <NUM> showing an example of an accurate interpretation of the ground truth for ALG2. Wells <NUM> and <NUM> have error levels above the threshold and would be kept out of the training set for building a model. ALG8, LOOWCVSVM is the SVM counterpart of ALG2.

Bad input data is used in the determination of ground truth. Consider a case of wells with quad combo data, where one has a severe washouts, or has a bad log (e.g., density) due to a tool malfunction. If formation parameters, such as Sw or PHIT, are computed from such a set of logs, the results may be inconsistent with the ground truth obtained from wells where such anomalies were not present. Furthermore, bad results included in the training set may contaminate the ML model and lead to low quality results. Several algorithms are included to deal with this problem: ALG2, ALG3, ALG4, ALG6, ALG8, ALG9 and ALG10. An example of ALG3 can be seen in <FIG>. The error for well <NUM> is higher compared to others, because the GR reading in well <NUM> was highly impacted by large washouts. After the identification of the problem, a borehole modification was applied to GR log, which in turn led to lower errors for Sw prediction.

Bad input data, for example, MGL from a faulty or uncalibrated sensor, may lead to the creation of an unstable ML model, since the ML algorithm will learn from bad data. Depending on the severity of the problem, either a number of variables or the entire data from that well may be excluded from the training process. The solutions offered for Case b also apply to Case c. Cases b and c are handled separately to point out where the ground truth is actually questioned in Case b.

Consider an example where quad combo logs are used in the determination of Sw. Also consider that the salinity of the formation is <NUM> kppm, while a petrophysicist improperly uses <NUM> kppm. The Sw computed in this case will be quite different from Sw computed in wells with the accurate water salinity. Hence, even if the input logs used in the determination of the ground truth are deemed of good quality, the ground truth may be validated before the well can be included in the training set. An example is shown in <FIG>. Porosity in one of the wells included in the training set was computed inaccurately due to using wrong hydrocarbon density. This led to an inaccurate porosity calculation, which in turn impacted the calculated Sw. The inclusion of the bad well in the training resulted in an ML model that was trained on bad data, resulting in the prediction shown in the third track <NUM>, which is completely off the ground truth. After detecting the problem using one of the approaches, the calculations were repeated with accurate input parameters. When training was repeated using the same training-wells, but with the accurate interpretation, the improved Sw for the same test well can be seen in the fourth track <NUM> of <FIG>. The algorithms used for this case are ALG2 and ALG8.

Consider the case of the initiation of an exploration campaign where the first well is being drilled. Consider further that some MGL and DD data become available, and the exploration team wants to predict Sw and PHIT, to test their play concept as well as assessing potential changes to the logging program. An ML model for the formation in this new play cannot be built in the absence of ground truth, but could one of the models stored in the global library of ML models be a match? The task described in this thought experiment, defined as Model Search, is the focus of this section.

Consider the case where a few wells have already been drilled, but ground truth has not been made available due to ongoing core work. The Model Search workflow has use even in the case of drilling programs where an ML has already been built. For example, as new wells are drilled towards the fringes of the field, where the interwell distances between the new wells vs. the original wells the model was built from increase, can a user still use the existing model to make predictions in the new wells?.

Given the background that a global library of petrophysical machine learning models is available, and that the models represent varied basins, formation types (e.g., clastics, carbonates) and fluid contents, the basic idea in Model Search is to efficiently scan the global petrophysical library, and return one or more models that can be applied to the data from the new well.

One criterion for matching the new well data against the library of stored models is to minimize the amount of extrapolation that occurs when applying a model to the new well data. It is known that predictive models tend towards poor performance in extrapolation situations: those where the predictor variables for the new well fall outside the range of the training set for which the model was designed. Whereas it may seem trivial to detect extrapolation situations in the case of one or two predictors, in higher dimensions it may be difficult. Even in two dimensions, measurements which fall inside the range of each training predictor taken individually can still be outside the joint distribution of the predictors in the training set.

To address this problem, the application of the footprint computed from a one-class support vector machine may be extended as follows:.

ALG11, named RankModels, is designed to aid the Model Search process by returning a ranked index of models from a global ML model library.

One decision point arrives in the lifecycle of an ML model when the ground truth from a well becomes available. Consider that a model M, built for a domain of wells W, already exists and has been used to make predictions for well {n} which at the time did not have the ground truth. In other words, starting with:.

should the existing model for this formation/field be updated by adding well n into W, once <MAT> becomes available?.

Another associated question is whether the predictions made for other wells in the field - which do not have ground truth - should be replaced with a new set of predictions made using the updated model? The decision to replace can have serious consequences, for the effort and time that it would take, in addition to the possible changes in reserve estimates if the predicted properties were used in building static or dynamic models.

An error threshold is used to decide if the model should be updated, to prevent updates originating from numerically minor values of Δe. Some threshold values for Sw and PHIT are <NUM> and <NUM>, respectively.

The idea of building a global library is straightforward and appealing. As the art is practiced in different formations/fields, the models are stored in a global library, which one day may have an already built ML model for a majority of cases to be encountered.

While the concept of building a library part is trivial, it is populated with already computed components to enable an automated and efficient search workflow that can scan through hundreds of models quickly. The mechanism for the search task has already been discussed in the Model Search Section, through the use of ALG11. What remains is the definition of the data/model components to be stored in the library for an efficient search, in addition to the triplets of {X, Y, MRF} for each model. Given that ALG11 uses the one-class SVM algorithm, storing each MSVM completes the solution. Hence, each member of the library has the following data/model components and parameters: <MAT>.

The systems and methods disclosed herein use Random-Forest techniques. In other embodiments, similar applications may be built using other ML algorithms such as SVM (Support Vector Machines), Deep Learning (an advanced version of Neural Networks), GL (Genetic Algorithms), amongst some others. The systems and methods disclosed herein use Mud Gas Logs (C1 to C5), Drilling Data (ROP, RPM, WOB and Flow Rate), and basic logs such as GR. Other data types may also be used, such as Mud Weight, Mud composition, wellsite geology answers (e.g., cuttings descriptions, shows), new types of mud logs (C6, C7, C8, N<NUM>O, C<NUM>O, H<NUM>O. ) and drilling data (e.g., torque, vibration, etc.). In one embodiment, a limited suit of LWD measurements may be added. For example, a user can combine MGL+DD with LWD, GR, Resistivity, and Density. There are similar combinations like this for LWD and WL.

The systems and methods disclosed herein may use measurements made at the surface. In other embodiments, drilling measurements made at the bit may be used (e.g., using a downhole tool/sensor). It is also possible to use a downhole sensor to duplicate the mud log measurement (e.g., to obtain the measurement downhole, rather than at the surface). Hence, a mud log measurement made downhole can be used as a differentiator. In another embodiment, the prediction may be done downhole (e.g., the measurements and the ML prediction part). The user can load the ML model to an LWD tool, process the data from mud-log and drilling sensors in real-time, downhole, and send the predicted quantities uphole using mud telemetry. Although the methods have focused on Sw, PHIT, and some direct measurements other properties, such as anisotropy, stress, maturity, flow rates, relative perm, acoustic impedance, wettability, etc. may also be used.

Random forest is a machine learning algorithm that has been successfully applied to a variety of classification and regression problems. The idea of random forests is to construct a large number of regression trees from bootstrap samples of the training data. For each tree and each node, a random selection is made when choosing which variable to split on. In addition, a random subset of the predictors is considered as candidates for splitting at each node. The size of the random subset is one of the few tuning parameters of the algorithm, and the minimum number of samples in each node of the tree is another. Random forests perform well without extensive tuning of these parameters.

Taken on their own, each tree is a noisy but unbiased predictor of the response. In regression, a prediction from a random forest model is the average response across the trees. Averaging the predicted response across the trees in a random forest reduces the variance of the predictions and provides a model that can capture complex relationships between the predictors and the response.

The following equation summarizes the process described by <NUM> and <NUM> above: <MAT> where subscript t in Yt highlights that the response matrix corresponds to the ground-truth.

Given a model MRF, and data predictor matrix from the nth well, prediction of the desired formation property is given below (as described in <NUM> above):
<MAT>.

Both Y and X contain the same types of variables, in the model building and prediction portions.

Applied to regression problems, a random forest based model can provide a good approximation to the conditional mean of the response variable from a number of input predictor variables. However, on its own, the conditional mean does not provide any assessment of the uncertainty associated with the prediction or any information about how the response variable might be expected to fluctuate around the conditional mean prediction. The Quantile Regression Forest (QRF) offers a solution.

QRF has shown that a random forest model can be used to go beyond prediction of the conditional mean by providing more complete information about the conditional distribution of the response variable. The full conditional distribution of the response variable represents a description of the uncertainty on the response variable given the predictor variables and provides information on how the expected variability of the response variable given the measured values of the predictor variables.

The conditional distribution can be described in terms of the conditional probability density function (CPDF) or its integral, the conditional cumulative distribution function (CCDF). The conditional mean is just the first moment of the CPDF. The second moment or conditional variance may be taken as a measure of the uncertainty on the response variable but is not a useful description of uncertainty when the shape of the CPDF is not Gaussian. Quantile regression techniques have been developed to address this problem by capturing the conditional distribution in a general way, without any assumptions on its shape.

The idea of quantile regression is to estimate the conditional quantiles of the distribution, and quantile regression can be performed in the context of random forests. The idea is that whereas random forests store the mean of the observations that fall in each node of each tree, quantile regression forests store the values of each of the observations that fall in each node of each tree. Storing this extra information enables the estimation of features of the conditional distribution, such as conditional quantiles, and thereby goes beyond prediction of the conditional mean alone to a full non-parametric estimation of the conditional distribution.

Quantile regression forests address the problem of uncertainty assessment by estimating conditional quantiles. To describe the full conditional distribution, the systems and methods disclosed herein use a discretized approach by specifying a number of quantiles equally distributed across the range of probabilities between <NUM> to <NUM>%. For each new prediction of the response variable, the conditional quantiles are computed from the quantile regression forest resulting in a discretized CCDF where regularly sampled probability values map to their corresponding irregularly sampled quantile values. Assuming a fine enough discretization, linear interpolation enables the rapid calculation of the CCDF at any value of the response variable. For display purposes, it may be useful to resample the CCDF on to a regular grid of response values so that multiple CCDFs, each sharing the same sampling of response values and corresponding to predictions made at different measured depths in a well, can be displayed as an image in a well log display. Such a display enables the petrophysicist to visualize the variations in the character of response variable conditional distribution along the well track. A discretized CPDF can be easily computed from the CCDF by differencing.

The discretized CPDF can be used to quantify the reduction in uncertainty that occurs when predicting the response. By way of illustration, consider the case of predicting water saturation - before the predictor measurements are accounted for, our knowledge of the water saturation may be represented by a uniform distribution between <NUM>% and <NUM>% saturation. This uniform prior distribution expresses complete lack of knowledge of the true value of saturation since the values have equal probability. After accounting for our predictor measurements, the conditional distribution from the quantile regression forest represents the posterior distribution of water saturation. The change between the prior and posterior distribution can be summarized using a concept from information theory called Kullback-Leibler divergence, also called the information gain or relative entropy, which provides a measure of the distance between the uniform prior distribution and the posterior. Using this approach to an uncertainty assessment may lead to results can be easily displayed in a standard well log display as a single log curve.

Quantile regression forests can also be used to compute prediction intervals that address the question of how reliable is a new prediction of the response variable. Prediction intervals are closely related to the conditional distribution, for example, a <NUM>% prediction interval is the interval between the <NUM>% and <NUM>% quantiles of the conditional distribution and defines an interval which should contain the response with high probability. The width of the prediction interval may vary considerably as a function of the values of the predictor variables. Wider prediction intervals indicate increase uncertainty on the response. The definition of the prediction interval can be made by the user, another common choice is the <NUM>% prediction between the <NUM>% and <NUM>% quartiles which is called the inter-quartile range (IQR).

The prediction interval approach may improve the uncertainty assessment because the results can be easily displayed in a standard well log display as an interval between two curves defining the upper and lower quantiles. The width of the prediction interval can also be displayed as a single log curve that is simple summary of the uncertainty of the prediction since wider (narrower) prediction intervals correspond to more (less) uncertain predictions. In contrast, the full conditional distribution is more difficult to display and also perhaps more difficult for the petrophysicist to interpret.

A sample algorithm for the computation of variables used in uncertainty assessment is given below in pseudo-code:.

The process of petrophysical novelty detection includes two parts: (a) the description of a high-dimensional training set of well logs representing the normal or expected range of measurements and (b) the detection of anomalous measurements that are unexpected or novel with respect to the training set. The measurements may be due to valid measurements of formation properties that are not represented in the training set, or they may be caused by errors due to tool failures or bad hole conditions. Conversely, the absence of detections when testing measurements from a new well indicates that the measurements are consistent with formation properties already known.

A classification algorithm called the Support Vector Machine (SVM) may be used where the idea of the algorithm is to choose a small number of the training data samples (these are the so-called support vectors) to define a decision boundary which governs the classification process. SVMs have proven to be popular due to their flexibility in capturing complex decision boundaries. An extension to SVMs may allow the user to trace the boundary of a training data set, a problem they call domain description. In this approach, the training data is treated as belonging to a single class, in contrast to normal classification problems where there may be several classes. Therefore, it is known as a one-class support vector machine.

The parameters that control the algorithm are:.

The outlier fraction is a parameter in training the one-class SVM model for outlier detection. An automated procedure is used to pick the value of this parameter, as follows:.

The term footprint is used to describe the decision boundary computed from a one-class support vector machine. In practice, a well may have multiple footprints if partitioning the logs into related groups MDL, DD, WL etc. A well can also have multiple footprints formed by splitting its logs by zone, facies or fluids. <FIG> illustrate footprints <NUM>, <NUM> computed for a single well using a one-class support vector machine on a dataset including two logs, X1 and X2. The raw log measurements are plotted in <FIG> and the footprint that describes the boundary of the data, is shown in <FIG> as the filled region. The footprint is defined by a small number of the raw data samples shown as open symbols that are called the support vectors since they effectively hold the boundary in place. This particular footprint identifies a small fraction of the data samples as outlier points. The outlier fraction is an input parameter to the algorithm that controls the position of the footprint.

This suggests the following workflow for log quality control with a statically trained footprint, also summarized in ALG6:.

The workflow above may be extended such that the number of input wells varies or the process is applied iteratively. The main options are:.

The idea of the footprints computed from one-class support vector machines can be extended to analyzing the log data from multiple wells and identifying which wells are similar based on their log measurements. The ability to automate this process may be used for data quality control and selecting which wells to include in a machine learning training data set.

Given a large number of wells, the footprint can be calculated by well using the same set of log curves. In general, the amount of (multi-dimensional) overlap between two footprints is a measure of similarity between two wells. <FIG> illustrate the concept of comparing the amount of overlap between pairs of well footprints as a means to identify similar or dissimilar wells. <FIG> shows that the footprints of wells <NUM> and <NUM> are very similar and almost completely overlap with some small mismatch; <FIG> includes a comparison of wells <NUM> and <NUM> showing a degradation in similarity and less overlap; and <FIG> shows that wells <NUM> and <NUM> have no footprint overlap.

As discussed in greater detail below, in order to quantify the similarity between two footprints, the user may consider the concept of Jaccard similarity, which is a measure of the similarity between two sets computed by measuring the set intersection over the set union. Sets that are identical have a Jaccard similarity equal to one, whereas set that are disjoint have a similarity of zero. The Jaccard similarity can be interpreted as a measure of the "petrophysical similarity" between two wells. A closely related term is the Jaccard distance, which is simply one minus the Jaccard similarity. This distance can be interpreted as a measure of "petrophysical distance" between two wells and is the quantity that is used to cluster groups of wells by their data footprint.

Rather than directly computing intersection and union of two multidimensional footprints like those shown in <FIG>, the sample data themselves may be used as the basis of the calculation. This avoids the problem of integrating the footprints in multi-dimensions. Instead, the calculation is based on simply counting the number of samples from the first well that fall inside the footprint of the second well and vice versa. Basing the distance calculation on the sample data automatically compensates for variations in the data density since mismatch between two footprints in regions where the data density is low has a smaller contribution to the overall Jaccard distance than mismatch in regions of high data density. <FIG> illustrate the data and footprints computed from two wells using the one-class support vector machine. The footprints and data from wells <NUM> & <NUM> form the basis of the calculation of Jaccard distance. The data from well <NUM> is tested against the footprint of well <NUM> by classifying (or labelling) the data samples as normal or outlier, and likewise well <NUM> is tested against the footprint of well <NUM>, as illustrated in <FIG>. The data sample labelling from each case is used to calculate the Jaccard distance between wells <NUM> and <NUM> according to ALG <NUM>.

Computing the distance between the pairs of wells defines a distance matrix that captures the structure of the multi well dataset. The information in the distance matrix can be interpreted as a graph network where each well is a node and the elements in the matrix define the length of the edges between the nodes. The distance matrix forms the basis of techniques for visualizing and clustering wells into groups that have a similar footprints.

Multi-dimensional scaling (MDS) of the inter-well distance matrix is a way to visualize its structure by projecting the wells into a low dimensional space, ideally two dimensional so that it can be easily visualized as a map. The idea is to compute coordinates of each well such that the distances between the wells in this new coordinate system approximates the inter-well distances in the matrix.

There are several ways to cluster wells based on the distance matrix. Hierarchical Agglomerative Clustering (HAC) produces a tree-like representation of the inter-well distances in which clusters at a given level in the hierarchy are formed by merging clusters at the next level down. The clusters chosen for merging are the pair that are most similar. At the lowest level, each cluster contains a single well. At the highest, there is a single cluster containing each of the wells.

Spectral clustering (SC) is another method for clustering the distance matrix that splits the distance graph into clusters such that wells (or nodes) which are near are assigned to same cluster and those that are far are assigned to different clusters.

This suggests the following workflow for identifying groups of wells that share the same patterns of log measurements:.

ALG12 is an abstraction of the workflow to compute the inter-well distance matrix as described in <NUM> to <NUM> above. <FIG> illustrates the complete workflow. An inter-well distance matrix for <NUM> wells is shown in <FIG> representing the petrophysical distances between pairs of wells based on their openhole logs. A diagnostic plot for MDS in <FIG> shows that the inter-well distances can be approximately reproduced using the first two MDS coordinates. In <FIG>, the wells are plotted according to the first two MDS coordinates giving a pseudo map display where similar wells plot close together and dissimilar wells plot far apart. The arrangement of wells in <FIG> shows that <NUM> wells which are very similar can be grouped together to form cluster <NUM>. A further <NUM> wells can be grouped to form cluster <NUM> whereas the remaining well is far from the others and is probably an outlier.

In this section, pseudo code is provided for the various algorithms. A specific algorithm is referred to by its algorithm number (such as ALG1 for the ComputePredictionError algorithm), rather than its full name for ease of use. <IMG>
<IMG>
<IMG>
<IMG>
<IMG>
<IMG>
<IMG>
<IMG>
<IMG>
<IMG>
<IMG>
<IMG>.

Jaccard similarity is a measure of the similarity between two sets computed as the size of the intersection over the size of the union. Sets that are identical have a Jaccard similarity of one, whereas sets that are disjoint have a similarity of zero.

Rather than directly computing the intersection and union of two multi-dimensional footprints, the sample data is used as the basis of the calculation. This avoids the problem of integrating the footprints in multiple dimensions. Instead, the intersection calculation is based on counting the number of samples that fall inside both footprints, and the union calculation is based on counting the number of samples that fall inside either footprint.

Basing the similarity calculation on the sample data automatically compensates for variations in the data density because the mismatch between two footprints in regions where the data density is low has a smaller contribution to the overall Jaccard similarity than mismatch in regions of high data density. <MAT> or: <MAT>.

By definition, Jaccard similarity is symmetric, i.e., Jaccard(A, B) = Jaccard(B,A) and has a value between one and zero.

Jaccard similarity is not sensitive to situations where the footprint of well A is a subset of well B. In these situations, Jaccard similarity will be less than one, even if the footprint of well A is completely contained within the footprint of well B. A user may identify these situations because, in this case, well B would be a strong candidate to build a predictive model to reconstruct logs in well A. Overlap similarity provides a way to identify such overlaps.

By definition, Overlap similarity is symmetric i.e., Overlap(A,B) = Overlap(B,A) and has a value between one and zero. In contrast to Jaccard similarity, Overlap similarity is equal to one when footprint A is entirely a subset of footprint B or vice versa.

On its own, the Overlap similarity does not tell a user which well footprint A or B is the subset, but it is trivial to obtain this information as the subset well is the one which is selected by the minimum in the denominator. In the displays, this is shown as the subset/superset matrix. To interpret this matrix, take the row of well A and read across the columns to tell if well A is a subset or a superset relative to well B in a particular column.

In the Overlap similarity calculation, the denominator is selected to be the smaller of A and B, and this choice identifies which footprint is the subset (smaller) and which is the superset (larger). Overlap similarity by row is an extension of Overlap similarity designed to probe the degree to which footprint A is a subset of footprint B. This is done by forcing the choice of footprint A in the denominator. <MAT> or: <MAT>.

In the displays, this is shown as the Overlap by row matrix. To interpret this matrix, a user may take the row of well A and read across the columns to tell the extent to which well A overlaps relative to well B in a particular column.

Overlap by row takes a value between one and zero but is not symmetric i.e., Overlap by Row(A,B) != Overlap by Row(B,A) and cannot be directly used in MDS etc. without modifications such as averaging the lower and upper triangles.

The previous measures combine the data points from wells A and B into one set and use the combined set to probe the similarity between the two footprints. This measure adopts a different approach of comparing the data points from well A to the footprint of well B. The calculation gives the fraction of data points from well A that fall in the footprint of well B.

In the displays, this is shown as the One-way Overlap by Row matrix. To interpret this matrix, take the row of well A and read across the columns to tell the fraction of data from well A that falls in the footprint of well B in a particular column.

One-way Overlap by Row takes a value between one and zero but is not symmetric i.e., One-way Overlap by Row(A,B) != One-way Overlap by Row(B,A).

Similarity metrics that are not symmetric cannot be directly used in MDS etc. without modification to force symmetry. Two methods are used to do this:.

The similarity metrics described above represent the similarity of petrophysical responses between wells. There is also information in the relative spatial location of the wells that may be used to weight the similarity of their petrophysical responses. Two wells that are relatively close spatially should have their petrophysical similarity weighted more highly than two wells that are further apart. A spatial proximity matrix is defined as a measure of proximity for each pairs of wells: <MAT> Where xA and xB are the spatial coordinates of wells A and B respectively, e.g., the position of the well head or the average position of the zone of interest in the subsurface when the well is deviated or is a lateral. The proximity metric defined above is close to <NUM> when the wells are near, and close to <NUM> when the wells are far apart. The range parameter σ controls the distance at which the proximity approaches zero. There are other proximity functions that could be used in the function above, the one shown in a Gaussian function.

Modifications of spatial proximity are also possible to incorporate geological knowledge, e.g., proximity can be penalized when the separation vector between wells crosses a fault. Spatial proximity can be combined with any of the petrophysical similarity metrics described in the previous section. The combined similarity metric can be calculated by two methods as:.

In case (b), the mixing weight controls the contribution of the petrophysical and spatial components in the output. W = <NUM> gives pure spatial proximity, W = <NUM> give pure petrophysical similarity, <NUM> < W < <NUM> gives a blend.

The PageRank algorithm may be used to sort wells according their relevance in the similarity matrix, where the relevance of a well is a measure of the strength of its footprint similarity compared to the other wells. The process produces a list of wells ranked by the relevance of their footprints in representing the petrophysical responses seen in the entire dataset.

<FIG> illustrates a flowchart of a method <NUM> for predicting a formation property, according to an embodiment. The method <NUM> may include receiving well log data for one or more (e.g., a plurality of) wells, as at <NUM>. The well log data may be captured by a downhole tool (e.g., a wireline tool, a logging-while-drilling (LWD) tool, or a measurement-while-drilling (MWD) tool). In another embodiment, the well log data may be captured at the surface by analyzing mud logs, drilling data, cuttings, and/or core data. The well log data may include gamma ray measurements, density measurements, neutron logs, core data, and the like. The well log data may be captured and/or received in real-time.

The method <NUM> may also include generating a flag, as at <NUM>. The flag may be generated using the well log data. The flag is a variable with a binary value (e.g., either <NUM> or <NUM>). The flag may be an outlier flag or an inlier flag. If the flag is an outlier flag, a <NUM> represents an outlier, and a <NUM> represents an inlier. If the flag is an inlier flag, a <NUM> represents an inlier, and a <NUM> represents an outlier. An outlier flag indicates a valid measurement of formation properties that is not represented in a training set, or a measurement that is in error due to tool failures or bad wellbore conditions. An inlier flag is the complement of the outlier flag.

The outlier flag may be generated using a one-class unsupervised support vector machine (SVM) model. The SVM model may be generated using an outlier fraction that is user-supplied or automated. The SVM model may be generated on a well-by-well basis, a global basis, or both, as described above.

The method <NUM> may also include sorting the wells into groups, as at <NUM>. The wells may be sorted based on the well log data and/or the flag. The wells may be sorted into groups using a petrophysical similarity analysis. The petrophysical similarity analysis may include computing a similarity matrix using the well log data and/or the flag. The similarity metrics used in the similarity analysis may include Jaccard, overlap, etc., as described in greater detail above. The results from the similarity analysis may be visualized.

The wells may be sorted into groups on a well-by-well basis (e.g., using one or more of the similarity metrics). In another embodiment, the wells may be sorted into groups using dimension reduction via multi-dimensional scaling (MDS). This may be done by applying clustering to the results of the MDS, and the results of the MDS (e.g., one or more matrices) may be visualized. In yet another embodiment, the wells may be sorted into groups using a combined metric utilizing spatial well proximity.

The method <NUM> may also include building a model for each of the wells, as at <NUM>. The model may be built using the well log data, the flag, and/or the groups. Once built, the model(s) may be added to a library of models. The model(s) may be updated when additional ground truth becomes available. In at least one embodiment, the library may be searched for a model that corresponds to one or more of the wells, and, if the model is not found in the library, then the model may be built.

The method <NUM> may also include predicting a formation property, as at <NUM>. The formation property may be predicted using the well log data and/or the model(s) (e.g., the built model, the models in the library, or both). The formation property may be or include water saturation, porosity, permeability, compressional slowness, and the like. In at least one embodiment, the well log data used to predict the formation property may be or include mud log data, drilling data, and gamma ray data.

The method <NUM> may also include determining an uncertainty of the predicted formation property, as at <NUM>. The uncertainty may be predicted using one or more prediction intervals from the Quantile Regression Forest (QRF).

The method <NUM> may also include performing a physical action, as at <NUM>. The physical action may be performed (e.g., automatically) in response to the formation property and/or the uncertainty. The physical action may include identifying/selecting an additional well to be interpreted manually by a human, reviewing a logging program, changing a drilling plan for a well (e.g., steering to change the trajectory), varying properties of fluid (e.g., mud) being pumped into a well, actuating a valve, or the like. In at least one embodiment, predicted formation property and/or the uncertainty may then result in a notification to a user that instructs the user to analyze one of the wells in more detail (e.g., manually).

<FIG> illustrates a schematic view of a computing system <NUM>, according to an embodiment. The computing system <NUM> may include a computer or computer system 1301A, which may be an individual computer system 1301A or an arrangement of distributed computer systems. The computer system 1301A includes one or more analysis module(s) <NUM> configured to perform various tasks according to some embodiments, such as one or more methods disclosed herein. To perform these various tasks, the analysis module <NUM> executes independently, or in coordination with, one or more processors <NUM>, which is (or are) connected to one or more storage media <NUM>. The processor(s) <NUM> is (or are) also connected to a network interface <NUM> to allow the computer system 1301A to communicate over a data network <NUM> with one or more additional computer systems and/or computing systems, such as 1301B, 1301C, and/or 1301D (note that computer systems 1301B, 1301C and/or 1301D may or may not share the same architecture as computer system 1301A, and may be located in different physical locations, e.g., computer systems 1301A and 1301B may be located in a processing facility, while in communication with one or more computer systems such as 1301C and/or 1301D that are located in one or more data centers, and/or located in varying countries on different continents).

The storage media <NUM> can be implemented as one or more computer-readable or machine-readable storage media. Note that while in the example embodiment of <FIG> storage media <NUM> is depicted as within computer system 1301A, in some embodiments, storage media <NUM> may be distributed within and/or across multiple internal and/or external enclosures of computing system 1301A and/or additional computing systems. Storage media <NUM> may include one or more different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories, magnetic disks such as fixed, floppy and removable disks, other magnetic media including tape, optical media such as compact disks (CDs) or digital video disks (DVDs), BLU-RAY® disks, or other types of optical storage, or other types of storage devices. Note that the instructions discussed above can be provided on one computer-readable or machine-readable storage medium, or can be provided on multiple computer-readable or machine-readable storage media distributed in a large system having possibly plural nodes. Such computer-readable or machine-readable storage medium or media is (are) considered to be part of an article (or article of manufacture). The storage medium or media can be located either in the machine running the machine-readable instructions, or located at a remote site from which machine-readable instructions can be downloaded over a network for execution.

In some embodiments, computing system <NUM> contains one or more formation property prediction module(s) <NUM>. In some embodiments, a single formation property prediction module <NUM> may be used to perform at least some aspects of one or more embodiments of the methods. In other embodiments, a plurality of formation property prediction modules <NUM> may be used to perform at least some aspects of the methods.

It should be appreciated that computing system <NUM> is one example of a computing system, and that computing system <NUM> may have more or fewer components than shown, may combine additional components not depicted in the example embodiment of <FIG>, and/or computing system <NUM> may have a different configuration or arrangement of the components depicted in <FIG>. The various components shown in <FIG> may be implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and/or application specific integrated circuits.

These modules, combinations of these modules, and/or their combination with general hardware are included within the scope of protection of the invention.

Claim 1:
A computer-implemented method (<NUM>) for determining a formation property, comprising:
receiving (<NUM>) well log data for a plurality of well (<NUM>, <NUM>);
generating (<NUM>) a flag based at least partially on the well log data, wherein the flag comprises a binary value and indicates whether a sample in the well log data comprises an error;
sorting (<NUM>) the wells into groups based at least partially on the well log data, the flag, or both; and
building (<NUM>) one or more models for the wells based at least partially on the well log data, the flag, and the groups,
the method being characterized in that
building a model comprises:
generating a first footprint defining a decision boundary for a first well of the plurality of wells using a support vector machine, where at least some of the well log data associated with the first well is outside of the first footprint and at least some of the well log data associated with the first well is within the first footprint;
comparing the first footprint to one or more second footprints generated using the model representing one or more second wells, the model being configured to predict a one or more formation parameters based at least in part on well log data;
determining that the first well is similar to the one or more second wells based on the comparison; and
updating the model representing the one or more second wells based at least partially on the well log data from the first well, in response to determining that the first well is similar to the one or more second wells;
predicting (<NUM>) a formation property based at least partially on the well log data and the one or more models; and
identifying a physical action to be performed in response to the predicted formation property.