Heterogeneity Index: It is a tool used to measure the performance variability between wells in the same field. This indicator helps in analyzing production data and identifying wells that need improvement or maintenance, which enhances production efficiency and reduces costs.
##Load Dataset
dataset=read.csv("C:/Users/hp ZBook/OneDrive/Desktop/karpur.csv")
head(dataset)
## depth caliper ind.deep ind.med gamma phi.N R.deep R.med SP
## 1 5667.0 8.685 618.005 569.781 98.823 0.410 1.618 1.755 -56.587
## 2 5667.5 8.686 497.547 419.494 90.640 0.307 2.010 2.384 -61.916
## 3 5668.0 8.686 384.935 300.155 78.087 0.203 2.598 3.332 -55.861
## 4 5668.5 8.686 278.324 205.224 66.232 0.119 3.593 4.873 -41.860
## 5 5669.0 8.686 183.743 131.155 59.807 0.069 5.442 7.625 -34.934
## 6 5669.5 8.686 109.512 75.633 57.109 0.048 9.131 13.222 -39.769
## density.corr density phi.core k.core Facies
## 1 -0.033 2.205 0.339000 2442.590 F1
## 2 -0.067 2.040 0.334131 3006.989 F1
## 3 -0.064 1.888 0.331000 3370.000 F1
## 4 -0.053 1.794 0.349000 2270.000 F1
## 5 -0.054 1.758 0.350644 2530.758 F1
## 6 -0.058 1.759 0.353152 2928.314 F1
Load a CSV file named “karpur.csv” into a dataset and displays the first few rows.
##Sort Dataset
dataset=dataset[order(dataset$k.core,decreasing = TRUE),]
k=dataset$k.core
Sorts the dataset by the column k.core in descending
order and stores the sorted k.core values in
k.
##Create Sample Index
sample=c(1:length(k))
Generates a sequence of integers from 1 to the length of
k.
##Calculate Percentage
k_percent=(sample*100)/length(k)
Calculates the percentage of samples relative to the total number of samples.
##Plot Data
xlab="Portion of Total Samples Having Larger or Equal k "
ylab="permeability(md)"
plot(k_percent,k,log = 'y',xlab = xlab,ylab = ylab,pch=10,cex=0.5,col='#001c49')
Creates a scatter plot of k_percent vs. k,
with a logarithmic scale on the y-axis.
##Linear Model
log_k=log(k)
model=lm(log_k~k_percent)
plot(k_percent,log_k,xlab = xlab,ylab = ylab,pch=10,cex=0.5,col='#001c49')
abline(model,col='green',lwd=2)
Fits a linear model to the log of k against
k_percent and plots it, adding the regression line.
##Model Summary
summary(model)
##
## Call:
## lm(formula = log_k ~ k_percent)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.8697 -0.2047 0.1235 0.3150 0.4280
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.2584172 0.0377994 244.94 <2e-16 ***
## k_percent -0.0425617 0.0006541 -65.07 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5404 on 817 degrees of freedom
## Multiple R-squared: 0.8382, Adjusted R-squared: 0.838
## F-statistic: 4234 on 1 and 817 DF, p-value: < 2.2e-16
Displays a summary of the linear model, including coefficients and statistics.
##Prediction
new_data=data.frame(k_percent=c(50,84.1))
predicted_values=predict(model,new_data)
heterogeneity_index=(predicted_values[1]-predicted_values[2])/predicted_values[1]
heterogeneity_index
## 1
## 0.2035464