Predicting the rate at which an oil well is drilling is an important part of managing oil and gas exploration operations. Labeled as ROP, Rate of Penetration, this metric is used to determine the cost of a new well, as well as to plan and schedule the different activities required to complete the same. The metric is the result of a physical activity in which a bit is rotated in the ground at a certain speed, and certain weight is applied. This results in the removal of rock by which the depth of the oil well is increased. Although these two drilling parameters can be considered as the main predictors of ROP, others are also known to have an effect. Mainly the effect of the lithology or composition of the earth being drilled are to be considered. Much work has been done to derive models that predict rate of penetration from these two and other predictors, and many models are available which show good results with the data presented. But it isn’t uncommon to find such models behave rather poorly when applied to different datasets. The work here proposed rather than looking at building yet a new model, will concentrate on discussing a framework to analyze drilling data and determine if linear regression modeling techniques are appropriate for the dataset. Results of applying this framework to a given Gulf Of Mexico dataset will be presented as well as potential resulting models.
linear regression, outlier analysis, data exploration, autoregression, ROP modeling, ROP data analysis framework
Trying to predict the rate of penetration of drilling a well has long been the subject of much study. From recent work using machine learning techniques (Diaza 2019), to work done decades ago (Bernaola 1987) that were more empirical in nature. Models showing good results are presented as a results. But it is a known occurrence than trying to generalize these model or simply use them with new datasets is a challenge that has generally resulted in their used being relegated to the academic environment. The resulting models seem to be overfitted to particular scenarios, which limit their use beyond such constrains. Some work has been done to layout methodologies for analyzing data with the goal of predicting ROP (Keshavarz 2016), but much of this work is also narrow in scope and difficult to generalize. The work here presented takes a slightly different approach. Instead of building complicated models which might result in overfitting and narrow scopes, steps to analyze data, inspect its characteristics against the requirements of a common modeling technique, and assessment of the same against the requirements of such technique are presented. The common modeling technique of linear modeling is used the reference and data from a pool of well from the Gulf of Mexico is used to explain steps for a ROP prediction modeling framework.
For the analysis here presented, data from wells drilled in the Gulf of Mexico is analyzed.
Figure 1. Gulf of Mexico wells used in analysis
From the wells available, there was a total of 6977700 rows available of predictor data. This data was randomly sampled to derive a statistical representative sample with a total of 69777 rows.
Data was analyzed foolling a a data exploration thru model selection framework. Starting from exploring and identifying the data at had, and culminating with an assessment of the data analysis and the models derived.
In order to predict ROP, the two predictors, rotary speed or RPM (Revolutions per Minute - RPM) and weight on the drill bit (Weight on Bit - WOB) are to be included.
The data obtained consisted of two data tables for the wells and corresponding data selected in the random sampling process described above. One table contained the well metadata or header data with information such as location, operating or customer name. The data for each well in this table was as follows:
## [1] "wellName" "Customer.Name" "Lat" "Lon"
## [5] "bad_Coordinates" "bad_WellName" "mean_ROP" "low_CI"
## [9] "high_CI"
The second table in the dataset contains all the drilling parameter data, such as ROP and WOB, as well as the earth gamma ray radiation data.
## [1] "depth" "wellName" "rop_inst"
## [4] "spp_avg" "wob_avg" "rpm_surface_avg"
## [7] "pump_1_rate" "pump_2_rate" "pump_3_rate"
## [10] "pump_4_rate" "torque_abs_avg" "gamma_ray"
These two tables were joined and used through out the analysis.
## wellName depth rop_inst
## Williams 26H-2:41496 Min. : 1995 Min. :0.000000
## AW001_ST00BP00:15799 1st Qu.:14343 1st Qu.:0.001793
## Bergold 29H-2 : 2071 Median :15617 Median :0.005553
## A009_BP02 : 1591 Mean :17156 Mean :0.008802
## Sugarberry 13 : 1100 3rd Qu.:24084 3rd Qu.:0.012005
## Sugarberry 12 : 1006 Max. :25148 Max. :1.014524
## (Other) : 0
## spp_avg wob_avg rpm_surface_avg pump_1_rate
## Min. : 0 Min. :-215496 Min. :-820.255 Min. :0.0000
## 1st Qu.: 63236 1st Qu.: 16507 1st Qu.: 6.375 1st Qu.:0.0000
## Median : 99220 Median : 162017 Median : 50.001 Median :0.0000
## Mean :235976 Mean : 117243 Mean : 189.742 Mean :0.1773
## 3rd Qu.:585838 3rd Qu.: 188163 3rd Qu.: 478.604 3rd Qu.:0.0000
## Max. :939641 Max. : 258569 Max. : 899.301 Max. :1.5067
##
## pump_2_rate pump_3_rate pump_4_rate torque_abs_avg
## Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. : 0
## 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:12769
## Median :0.0000 Median :0.0000 Median :0.0000 Median :13595
## Mean :0.1697 Mean :0.3516 Mean :0.3922 Mean :15153
## 3rd Qu.:0.0000 3rd Qu.:0.0000 3rd Qu.:1.4690 3rd Qu.:15252
## Max. :1.6570 Max. :1.6730 Max. :1.6720 Max. :34276
## NA's :45618
## gamma_ray Customer.Name Lat
## Min. : 0.00 AUSTRALIS TMS INC. :43567 Min. : 0.00
## 1st Qu.: 33.09 No Company Name :15799 1st Qu.: 0.00
## Median : 99.65 BAYOU BOUILLON OPERATING LLC: 2106 Median :29.90
## Mean : 81.19 Shell Western E&P : 1591 Mean :22.38
## 3rd Qu.:118.38 0 : 0 3rd Qu.:29.94
## Max. :287.87 Anadarko Petroleum Corp. : 0 Max. :30.27
## (Other) : 0
## Lon bad_Coordinates bad_WellName mean_ROP
## Min. :-91.62 Min. :0.0000 Min. :0 Min. : 26.00
## 1st Qu.:-90.68 1st Qu.:0.0000 1st Qu.:0 1st Qu.: 26.00
## Median :-90.68 Median :0.0000 Median :0 Median : 49.73
## Mean :-67.96 Mean :0.2505 Mean :0 Mean : 79.70
## 3rd Qu.: 0.00 3rd Qu.:1.0000 3rd Qu.:0 3rd Qu.:156.89
## Max. : 0.00 Max. :1.0000 Max. :0 Max. :156.89
##
## low_CI high_CI
## Min. : 22.98 Min. : 29.88
## 1st Qu.: 22.98 1st Qu.: 29.88
## Median : 45.96 Median : 53.39
## Mean : 66.07 Mean : 94.87
## 3rd Qu.:124.93 3rd Qu.:193.49
## Max. :124.93 Max. :193.49
##
Table 1. Dataset raw descriptive statistics.
The data summary shows that except for Torque, we do not have missing data. The Torque variable is very sparse. We look at a plot of missing data for this variable to gain better insight.
Figure 2. Torque Missing Data.
We observe we are missing about three quarters of the torque data. At this time we do not know if the variable will be a significant predictor of ROP. When modeling we will consider models with and without this variable, but we entire rows with missing Torque data will not be dropped in all modeling, only in analysis where Torque is included as a predictor. We also know Torque is actually the result of RPM and WOB, the speed of the drill bit and the weight we put on the bit. We look at the correlation between these variables to understand the relationship.
## wob_avg rpm_surface_avg torque_abs_avg
## wob_avg 1.0000000 -0.6154101 0.7707905
## rpm_surface_avg -0.6154101 1.0000000 0.7559335
## torque_abs_avg 0.7707905 0.7559335 1.0000000
The correlation matrix shows a fairly good correlation of ~0.75 between Torque and our two variables RPM and WOB.
In the data preparation section we will use this info to fill out missing values of Torque by using a linear regression. This will allow us to continue with modeling using a single set of data. It is expected that milticolinearity will be high for these variables, but this way modeling method that handle such an issue will take care of the data, rather than having to manually delete the variable when producing the models.
In the dataset we find several drilling parameters which can be used as predictors which include the two main one in this analysis: ROP and WOB. This is numerical data that will be used in the modeling design as such. The earth gamma ray is also included as a numerical value. The header data portion of the data set also includes several non-numeric data that can also be used in the analysis. This categorical data can be used to classify different wells by company drilling it and its location. Two operational quality variables are also included here which tell us if procedures to capture the data were properly followed. These variables are labelled bad, and are given a value of 1 if respective procedures were lot adhered to. These variables were not expected to have significance in modeling, but were considered anyhow.
As an exploratory step, the target variable of ROP was plotted against the two main drilling parameters to be considered, WOB and ROP.
Figure 3. Main drilling parameters plot.
We quickly observe that although we do not have any data missing (other than Torque), there are data values that do not have physical meaning, such as negative WOB and RPM. We also see some points with very high values which are very likely outliers. These will be dealt with in different ways in the data preparation section and in model design. A plot of the other numerical predictors gives us a wide view of the nature and quality of this dataset.
Based on the data discovery, several steps were identified to prepare the data.
1) Zero values
Although no data row contained missing values, for the regression analysis only non-zero data points are to be considered. What we are trying to model is a dynamic physical system in which the predictors transfer energy to the system and that is reflected and an increase or decrease in ROP. Values of zero do not have a valid physical meaning in this system. They are probably the result of poor sensor reading or potentially malfunction of a component of the drilling system.
Figure 3. WOB and RPM positive only data.
2) Output variable base unit
The output variable ROP has a standard industry unit of feet/hour. The data measured by the sensors is supplied as feet/sec, so the appropriate unit conversion is applied.
3) Pump rates
Drilling units have anywhere between 2 to 4 fluid pumps. These are not design to be used all at once in every operation, but rather to supply in unison a total flow rate. The real input into the drilling operation is the sum of the rates of all four possible pumps. A new variable was added to the dataset resulting in the addition of the four pump rates, and the individual rates were dropped for simplicity.
4) Torque
As discovered in Data Exploration, the Torque variable contains many missing values. By plotting WOB and RPM against torque we find we have a good amount of data to build a lineal model for the Torque. But we also observe that we will be using extrapolations of the model to calculate the missing Torque. This is evident in the graphs below.
Figure 4. WOB and RPM against Torque plots
The WOB plot especially shows how the data we have against Torque is for certain regions only. We can see a large about of data missing for Torque that correspond to high WOB.
Figure 5. WOB and RPM against Torque plots 3D plot
In the 3D plot however we see how we still have a good amount of data for all three variables. To fill in for the missing Torque data, we design a model that uses RPM and WOB as predictors, we only use data that has a corresponding Torque value.
Figure 6. RPM and WOB data with corresponding Torque values.
##
## Call:
## lm(formula = torque_abs_avg ~ rpm_surface_avg + wob_avg, data = torqueModelData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6014.1 -1051.0 -418.8 351.1 17457.0
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.917e+03 8.968e+01 21.38 <2e-16 ***
## rpm_surface_avg 1.762e+01 1.599e-01 110.17 <2e-16 ***
## wob_avg 1.875e-01 1.575e-03 119.02 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1947 on 14777 degrees of freedom
## Multiple R-squared: 0.7743, Adjusted R-squared: 0.7742
## F-statistic: 2.534e+04 on 2 and 14777 DF, p-value: < 2.2e-16
Table 2. Torque Lineal Model summary
Figure 7. Torque Lineal Model Plots
The model shows being statistically significant, as well as both of its predictors. It also explains a fair amount of variance in Torque with an \(R^2\) of 0.77. The residual plot shows good variance, without very clear patterns, although data seems to be groups in segments. The Q-Q plot however doesn’t show the residuals being very normal as they digress from the line. This might suggest the presence of outliers. We experiment with a robust lineal model, which assigned weights to the different data points based on Cook’s Distance.
##
## Call: rlm(formula = torque_abs_avg ~ rpm_surface_avg + wob_avg, data = torqueModelData)
## Residuals:
## Min 1Q Median 3Q Max
## -5957.7 -686.3 -86.3 698.4 17532.8
##
## Coefficients:
## Value Std. Error t value
## (Intercept) 2459.0807 55.5302 44.2836
## rpm_surface_avg 16.2470 0.0990 164.0514
## wob_avg 0.1807 0.0010 185.2307
##
## Residual standard error: 1023 on 14777 degrees of freedom
Table 3. Torque Robust Lineal Model summary
Figure 8. Torque Robust Lineal Model Plots
The robust model shows essentially the same results as the simple lineal model. The more simple initial model is selected based on the fact that it is less complex.
A 3D plot is used to see the complete linear model selected.
Figure 7. Predictions for Torque from training WOB and RPM data.
The model is then used to replace all N/A values of Torque in the original dataset.
The new plots show how the N/A values have been replaced by those of the model, while the original values for Torque are kept rather than replaced by the model predictions.
Figure 8. WOB and RPM against Torque plots replacing N/A with model predictions
Figure 9. WOB and RPM against Torque plots 3D plot replacing N/A with model predictions
Figure 10. Plot showing all Torque data is not present in dataset
5) Final Dataset
With these changes a final dataset is obtained which will be used in modeling and analysis of ROP.
## wellName depth rop_inst spp_avg
## Williams 26H-2:29326 Min. : 2015 Min. : 0.00 Min. : 0
## AW001_ST00BP00:13375 1st Qu.:14428 1st Qu.: 12.90 1st Qu.: 73112
## A009_BP02 : 1384 Median :15670 Median : 25.16 Median :107899
## Sugarberry 13 : 21 Mean :18066 Mean : 35.59 Mean :275190
## AE001_ST00BP00: 0 3rd Qu.:24567 3rd Qu.: 49.65 3rd Qu.:620574
## AE006_ST00BP00: 0 Max. :25148 Max. :630.63 Max. :939641
## (Other) : 0
## wob_avg rpm_surface_avg gamma_ray
## Min. : 1.09 Min. : 0.0625 Min. : 0.00
## 1st Qu.: 16717.44 1st Qu.: 26.5271 1st Qu.: 29.58
## Median :160395.25 Median : 81.2523 Median : 95.41
## Mean :122312.23 Mean :236.1177 Mean : 77.95
## 3rd Qu.:184271.41 3rd Qu.:543.1176 3rd Qu.:116.81
## Max. :257618.00 Max. :899.3005 Max. :287.87
##
## Customer.Name Lat Lon
## AUSTRALIS TMS INC. :29326 Min. : 0.00 Min. :-91.62
## No Company Name :13375 1st Qu.: 0.00 1st Qu.:-90.68
## Shell Western E&P : 1384 Median :29.90 Median :-90.68
## BAYOU BOUILLON OPERATING LLC: 21 Mean :20.79 Mean :-63.15
## 0 : 0 3rd Qu.:29.94 3rd Qu.: 0.00
## Anadarko Petroleum Corp. : 0 Max. :29.94 Max. : 0.00
## (Other) : 0
## bad_Coordinates bad_WellName mean_ROP low_CI
## Min. :0.0000 Min. :0 Min. : 26.00 Min. : 22.98
## 1st Qu.:0.0000 1st Qu.:0 1st Qu.: 26.00 1st Qu.: 22.98
## Median :0.0000 Median :0 Median : 49.73 Median : 45.96
## Mean :0.3032 Mean :0 Mean : 78.20 Mean : 65.37
## 3rd Qu.:1.0000 3rd Qu.:0 3rd Qu.:156.89 3rd Qu.:124.93
## Max. :1.0000 Max. :0 Max. :156.89 Max. :124.93
##
## high_CI pump_rate newTorque
## Min. : 29.88 Min. :0.000 Min. : 3948
## 1st Qu.: 29.88 1st Qu.:0.000 1st Qu.:15209
## Median : 53.39 Median :0.000 Median :32784
## Mean : 92.80 Mean :1.318 Mean :29009
## 3rd Qu.:193.49 3rd Qu.:3.827 3rd Qu.:37514
## Max. :193.49 Max. :5.177 Max. :50271
##
Table 4. Analysis dataset summary table.
The modeling technique of linear regression is used to obtain a prediction of ROP. This modeling technique makes clear assumption to be taken into consideration. The framework presented starts by considering all of these assumptions and testing them agains the dataset and the resulting models. The idea is that if a different modeling technique is chosen, the assumptions for such a technique are analyzed in the same way. Particular for the analysis here presented, these are the assumptions to be considered: - Linear relationship. It is expected to find none linear relationships between our predictors and the ROP response variable. Transformation technique will be explored to handle this constraint of the chosen modeling technique. - Multivariate normality. Data transformation will again be explored to address any issues with the predictor on hand. - No or little multicollinearity. The selection of predictors will include analyzing correlation between them, which will help determine if they should be included in the analysis. - No auto-correlation. It is possible that the data shows some autocorrelation. Although the dataset isn’t a time series of such, it is collected as the well is being drilled. Considering the data as a time series in which well depth replaced the temporal time variable will be explored. Autocorrelation and partial autocorrelation techniques will be used to potentially identify seasonality and trend. Because oil wells are drilled in sections, autocorrelation might reveal similarities in these sections that can be exploited in modeling. - Homoscedasticity. Residuals of models will be analyzed.Transformation including autocorrelation techniques will be explored to solve issues identified in the models derived in this work.
First is a naive model using all the predictor variables in the dataset.
##
## Call:
## lm(formula = rop_inst ~ ., data = allData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -129.81 -19.48 -5.45 12.41 531.37
##
## Coefficients: (9 not defined because of singularities)
## Estimate Std. Error t value
## (Intercept) 3.161e+01 2.295e+02 0.138
## wellNameAW001_ST00BP00 -2.003e+01 2.294e+02 -0.087
## wellNameSugarberry 13 4.350e+01 1.774e+01 2.453
## wellNameWilliams 26H-2 -2.693e+00 1.595e+01 -0.169
## depth -1.408e-03 2.830e-04 -4.974
## spp_avg 1.431e-05 4.551e-06 3.143
## wob_avg -1.458e-03 3.455e-05 -42.198
## rpm_surface_avg -6.105e-02 3.347e-03 -18.241
## gamma_ray -2.384e-02 4.784e-03 -4.984
## Customer.NameBAYOU BOUILLON OPERATING LLC NA NA NA
## Customer.NameNo Company Name NA NA NA
## Customer.NameShell Western E&P NA NA NA
## Lat 7.166e-09 8.181e+00 0.000
## Lon NA NA NA
## bad_Coordinates NA NA NA
## bad_WellName NA NA NA
## mean_ROP NA NA NA
## low_CI NA NA NA
## high_CI NA NA NA
## pump_rate -5.756e+00 5.668e-01 -10.155
## newTorque 8.118e-03 1.728e-04 46.969
## Pr(>|t|)
## (Intercept) 0.89042
## wellNameAW001_ST00BP00 0.93040
## wellNameSugarberry 13 0.01418 *
## wellNameWilliams 26H-2 0.86588
## depth 6.60e-07 ***
## spp_avg 0.00167 **
## wob_avg < 2e-16 ***
## rpm_surface_avg < 2e-16 ***
## gamma_ray 6.25e-07 ***
## Customer.NameBAYOU BOUILLON OPERATING LLC NA
## Customer.NameNo Company Name NA
## Customer.NameShell Western E&P NA
## Lat 1.00000
## Lon NA
## bad_Coordinates NA
## bad_WellName NA
## mean_ROP NA
## low_CI NA
## high_CI NA
## pump_rate < 2e-16 ***
## newTorque < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 28.02 on 44094 degrees of freedom
## Multiple R-squared: 0.2159, Adjusted R-squared: 0.2157
## F-statistic: 1104 on 11 and 44094 DF, p-value: < 2.2e-16
Table 5.Linear regression with all predictors summary table
Figure 11.Linear regression with all predictors plots
##
## Call:
## lm(formula = rop_inst ~ depth + spp_avg + wob_avg + rpm_surface_avg +
## pump_rate + newTorque, data = allData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -131.55 -19.49 -5.41 12.52 532.18
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.506e+01 1.912e+00 23.560 <2e-16 ***
## depth -3.283e-03 1.039e-04 -31.590 <2e-16 ***
## spp_avg 3.329e-05 3.645e-06 9.133 <2e-16 ***
## wob_avg -1.465e-03 3.281e-05 -44.648 <2e-16 ***
## rpm_surface_avg -6.623e-02 3.049e-03 -21.720 <2e-16 ***
## pump_rate -5.821e+00 4.581e-01 -12.707 <2e-16 ***
## newTorque 8.383e-03 1.627e-04 51.508 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 28.06 on 44099 degrees of freedom
## Multiple R-squared: 0.2134, Adjusted R-squared: 0.2133
## F-statistic: 1994 on 6 and 44099 DF, p-value: < 2.2e-16
Table 6.Linear regression with drilling parameters and gamma ray predictors summary table
Figure 12.Linear regression with drilling parameters and gamma ray predictors plots
##
## Call: rlm(formula = rop_inst ~ depth + spp_avg + wob_avg + rpm_surface_avg +
## pump_rate + newTorque, data = allData)
## Residuals:
## Min 1Q Median 3Q Max
## -108.958 -16.109 -2.953 15.104 534.227
##
## Coefficients:
## Value Std. Error t value
## (Intercept) 53.9592 1.5449 34.9277
## depth -0.0036 0.0001 -43.2973
## spp_avg 0.0000 0.0000 -2.8614
## wob_avg -0.0014 0.0000 -51.0856
## rpm_surface_avg -0.0084 0.0025 -3.3998
## pump_rate -6.0237 0.3701 -16.2771
## newTorque 0.0077 0.0001 58.2288
##
## Residual standard error: 23.34 on 44099 degrees of freedom
##
## Call:
## glm(formula = rop_inst ~ depth + spp_avg + wob_avg + rpm_surface_avg +
## pump_rate + newTorque, family = gaussian(link = log), data = allData)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -191.84 -19.86 -5.77 12.56 521.90
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.036e+00 4.120e-02 97.951 < 2e-16 ***
## depth -9.183e-05 1.951e-06 -47.070 < 2e-16 ***
## spp_avg 1.390e-06 6.800e-08 20.444 < 2e-16 ***
## wob_avg -1.518e-05 5.699e-07 -26.639 < 2e-16 ***
## rpm_surface_avg -3.453e-04 5.837e-05 -5.916 3.32e-09 ***
## pump_rate -1.321e-01 9.219e-03 -14.330 < 2e-16 ***
## newTorque 9.923e-05 2.690e-06 36.892 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 807.2934)
##
## Null deviance: 44150217 on 44105 degrees of freedom
## Residual deviance: 35599608 on 44099 degrees of freedom
## AIC: 420407
##
## Number of Fisher Scoring iterations: 11
| Model 1 | Model 2 | Model 3 | Model 4 | |
|---|---|---|---|---|
| AIC | 419184.925786749 | 419313.540843695 | 420395.016028411 | 420406.655148253 |
| BIC | 419297.952351134 | 419383.095652548 | 420464.570837264 | 420476.209957106 |
Results for all derived models will be presented. First the validity of the derived models will be assed. This is an important step in the framework. If is important to understand if the data at hand can be used with the proposed modeling techniques to begin with. The idea is to determine any overfitting pitfalls seen in other work.
The conclusion of this work will be based on three basic questions that we are trying to answer: - First and central to the work proposed, is can we define a framework based on a modeling techniques constrains, to properly analyze drilling data to derive rate of penetration. - Second can we identify and asses different linear regression model using this framework. Can we use this assessment to select the best performing model. - What characteristics did we find in our drilling dataset using the framework and performing the linear regression modeling. Can we find interesting characteristic such as autocorrelation which can give us clues of what more sophisticated modeling techniques should be considered.
1- Predicting rate of penetration during drilling of deep geothermal well in Korea using artificial neural networks and real-time data collection. Melvin B.Diaza, Kwang Yeom, KimbHyu-Soung, ShinbLiZhuangb. Journal of Natural Gas Science and Engineering, Volume 67, July 2019, Pages 225-232.
2- Bernaola, J., & Oyanguren, P. R. (1987, January 1). Penetration Rate Prediction In Percussive Drilling. International Society for Rock Mechanics and Rock Engineering.
2- Drilling rate of penetration prediction and optimization using response surface methodology and bat algorithm.Mostafa Keshavarz, Moravejia MeysamNaderib.Journal of Natural Gas Science and Engineering, Volume 31, April 2016, Pages 829-841.