Heterogeneity Index
The Heterogeneity Index measures the variability of
geological properties within a reservoir, focusing on factors like
porosity and permeability. It employs methods such as the
Dykstra-Parsons method, which analyzes permeability
distributions using a log-normal probability graph and normalizes data
to avoid extreme values. This index helps characterize spatial diversity
in reservoir parameters.
#importing data and sorting the permeability values in a descending order.
data <- read.csv("karpur.csv")
data = data[order(data$k.core, decreasing=TRUE), ]
head(data)
#Calculating Number of Samples >= k
sample = c(1: length(data$k.core))
# Calculating % >= k
k_percent = (sample / length(data$k.core) ) * 100
plotting samples with permeability
plot(k_percent, data$k.core, log = 'y',
xlab = "Portion of total samples having larger or equal K",
ylab = "Permeability (md)",
pch = 19, cex = 0.4, col = "yellow4")

Machine learning ( linear regression model )
model = lm(log(data$k.core) ~ k_percent)
summary(model)
Call:
lm(formula = log(data$k.core) ~ 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
plot(k_percent, log(data$k.core),
xlab = "Portion of Total Samples Having Larger or Equal K",
ylab = "Permeability (md)",
pch = 19, cex = 0.4, col = "blue4")
abline(model, col = 'red4', lwd = 2)

Calculating the Heterogeneity Index
new_df = data.frame(k_percent = c(50, 84.1))
predicted_values = predict(model, new_df)
HI = (predicted_values[1] - predicted_values[2]) / predicted_values[1]
HI
1
0.2035464
HI = 0.2035464 ; The reservoir has moderate heterogenetiy.
LS0tDQp0aXRsZTogIkNhbGN1bGF0aW5nIHRoZSBIZXRlcm9nZW5laXR5IEluZGV4Ig0KYXV0aG9yOiAiQWxpIE1hemluIE1vaGFtbWVkIC0gQlVPRyINCmRhdGU6ICIyMCBPY3R1YmVyIDIwMjQiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojIyAqKkhldGVyb2dlbmVpdHkgSW5kZXgqKg0KDQpUaGUgKipIZXRlcm9nZW5laXR5IEluZGV4KiogbWVhc3VyZXMgdGhlIHZhcmlhYmlsaXR5IG9mIGdlb2xvZ2ljYWwgcHJvcGVydGllcyB3aXRoaW4gYSByZXNlcnZvaXIsIGZvY3VzaW5nIG9uIGZhY3RvcnMgbGlrZSBwb3Jvc2l0eSBhbmQgcGVybWVhYmlsaXR5LiBJdCBlbXBsb3lzIG1ldGhvZHMgc3VjaCBhcyB0aGUgKipEeWtzdHJhLVBhcnNvbnMqKiBtZXRob2QsIHdoaWNoIGFuYWx5emVzIHBlcm1lYWJpbGl0eSBkaXN0cmlidXRpb25zIHVzaW5nIGEgbG9nLW5vcm1hbCBwcm9iYWJpbGl0eSBncmFwaCBhbmQgbm9ybWFsaXplcyBkYXRhIHRvIGF2b2lkIGV4dHJlbWUgdmFsdWVzLiBUaGlzIGluZGV4IGhlbHBzIGNoYXJhY3Rlcml6ZSBzcGF0aWFsIGRpdmVyc2l0eSBpbiByZXNlcnZvaXIgcGFyYW1ldGVycy4NCg0KYGBge3J9DQojaW1wb3J0aW5nIGRhdGEgYW5kIHNvcnRpbmcgdGhlIHBlcm1lYWJpbGl0eSB2YWx1ZXMgaW4gYSBkZXNjZW5kaW5nIG9yZGVyLg0KZGF0YSA8LSByZWFkLmNzdigia2FycHVyLmNzdiIpDQpkYXRhID0gZGF0YVtvcmRlcihkYXRhJGsuY29yZSwgZGVjcmVhc2luZz1UUlVFKSwgXQ0KaGVhZChkYXRhKQ0KYGBgDQoNCmBgYHtyfQ0KI0NhbGN1bGF0aW5nIE51bWJlciBvZiBTYW1wbGVzID49IGsNCnNhbXBsZSA9IGMoMTogbGVuZ3RoKGRhdGEkay5jb3JlKSkNCg0KIyBDYWxjdWxhdGluZyAlID49IGsNCmtfcGVyY2VudCA9IChzYW1wbGUgLyBsZW5ndGgoZGF0YSRrLmNvcmUpICkgKiAxMDANCmBgYA0KDQpwbG90dGluZyBzYW1wbGVzIHdpdGggcGVybWVhYmlsaXR5DQoNCmBgYHtyfQ0KcGxvdChrX3BlcmNlbnQsIGRhdGEkay5jb3JlLCBsb2cgPSAgJ3knLA0KICAgICB4bGFiID0gIlBvcnRpb24gb2YgdG90YWwgc2FtcGxlcyBoYXZpbmcgbGFyZ2VyIG9yIGVxdWFsIEsiLA0KICAgICB5bGFiID0gIlBlcm1lYWJpbGl0eSAobWQpIiwNCiAgICAgcGNoID0gMTksIGNleCA9IDAuNCwgY29sID0gInllbGxvdzQiKQ0KYGBgDQoNCk1hY2hpbmUgbGVhcm5pbmcgKCBsaW5lYXIgcmVncmVzc2lvbiBtb2RlbCApDQoNCmBgYHtyfQ0KbW9kZWwgPSBsbShsb2coZGF0YSRrLmNvcmUpIH4ga19wZXJjZW50KQ0Kc3VtbWFyeShtb2RlbCkNCg0KYGBgDQoNCmBgYHtyfQ0KcGxvdChrX3BlcmNlbnQsIGxvZyhkYXRhJGsuY29yZSksDQogICAgIHhsYWIgPSAiUG9ydGlvbiBvZiBUb3RhbCBTYW1wbGVzIEhhdmluZyBMYXJnZXIgb3IgRXF1YWwgSyIsIA0KICAgICB5bGFiID0gIlBlcm1lYWJpbGl0eSAobWQpIiwNCiAgICAgcGNoID0gMTksIGNleCA9IDAuNCwgY29sID0gImJsdWU0IikNCmFibGluZShtb2RlbCwgY29sID0gJ3JlZDQnLCBsd2QgPSAyKQ0KYGBgDQoNCkNhbGN1bGF0aW5nIHRoZSBIZXRlcm9nZW5laXR5IEluZGV4DQoNCmBgYHtyfQ0KbmV3X2RmID0gZGF0YS5mcmFtZShrX3BlcmNlbnQgID0gYyg1MCwgODQuMSkpDQpwcmVkaWN0ZWRfdmFsdWVzID0gcHJlZGljdChtb2RlbCwgbmV3X2RmKQ0KSEkgPSAocHJlZGljdGVkX3ZhbHVlc1sxXSAtIHByZWRpY3RlZF92YWx1ZXNbMl0pIC8gcHJlZGljdGVkX3ZhbHVlc1sxXQ0KSEkNCmBgYA0KDQpISSA9IDAuMjAzNTQ2NCA7IFRoZSByZXNlcnZvaXIgaGFzIG1vZGVyYXRlIGhldGVyb2dlbmV0aXkuDQo=