Machine on Rocks: uso de machine learning para análise geológica e petrofísica de rocha reservatório de petróleo
Aluno: João Paulo Teixeira da Fonseca.
Orientadora: Dra. Manoela Rabello Kohler.
Trabalho apresentado ao curso BI MASTER como pré-requisito para conclusão de curso e obtenção de crédito na disciplina "Projetos de Sistemas Inteligentes de Apoio à Decisão".
-
Trabalhos relacionados:
Esse trabalho é uma prova de conceito da aplicação de técnicas de agrupamento e classificação para a avaliação de rochas carbonáticas carstificadas semelhantes a reservatórios de petróleo. Foram utilizadas descrições petrográficas e análises laboratoriais de 157 amostras de rochas carbonáticas carstificadas.
No condicionamento da base de dados, os dados passam por etapas de limpeza, remoção de valores nulos, filtragem, conversão de unidades e padronização de valores categóricos. Na análise exploratória são analisados a distribuição e correlação entre os atributos e orienta para a melhor seleção de atributos para cada caso. São testados dois algoritmos de agrupamento: K-médias e hierárquico aglomerativo para geração de fácies petrofísicas. E para a classificação de fácies geológicas, são criados dois modelos de classificação baseados em algoritmos diferentes: Decision Tree e Random Forest.
Os resultados mostram que o modelo de agrupamento hierárquico aglomerativo apresenta uma melhor discriminação dos grupos com base nos atributos analisados. Já o modelo de classificação com Random Forest obteve uma melhor performance em relação ao Decision Tree, porém ainda precisa ser aprimorado para acertar a classe FAC 20.
Conclui-se que a abordagem de agrupamento hierárquico aglomerativo integrando dados petrográficos e petrofísicos é eficaz na definição de grupos de rochas com características semelhantes. Além disso, a classificação de fácies com o modelo Random Forest mostra-se viável, mas requer melhorias para acertar todas as classes. O método proposto tem potencial para aplicação em dados históricos e não exige revisitar imagens petrográficas, podendo utilizar dados tabulares ou textuais.
This work is a proof of concept for the application of clustering and classification techniques in the evaluation of carstified carbonate rocks similar to petroleum reservoirs. Petrographic descriptions and laboratory analyses of 157 carstified carbonate rock samples were utilized.
In the data conditioning phase, the data undergo cleaning, removal of missing values, filtering, unit conversion, and standardization of categorical values. In the exploratory analysis, the distribution and correlation between attributes are analyzed, guiding the selection of the most suitable features for each case. Two clustering algorithms, K-means and agglomerative hierarchical clustering, are tested for generating petrophysical rock types. For the classification of geological facies, two classification models based on Decision Tree and Random Forest, are created.
The results indicate that the agglomerative hierarchical clustering model demonstrates better discrimination of groups based on the analyzed features. The Random Forest classification model outperforms the Decision Tree model, although further improvements are required to accurately classify class 2.
In conclusion, the approach of integrating petrographic and petrophysical data through agglomerative hierarchical clustering proves effective in defining groups of rocks with similar characteristics. Moreover, the classification of facies using the Random Forest model shows promise but requires enhancements to accurately classify all classes. The proposed method has the potential for application in legacy data without revisiting petrographic images, as it can utilize tabular or textual data.
A geologia do petróleo e petrofísica são áreas com uma variedade de tipos de dados, desde textos como às descrições petrográficas (de rocha), variáveis categóricas como classes de rocha e dados numéricos como ensaios laboratoriais e perfis de poços, além de imagens 2D e 3D de rocha e perfis (Xu et al 2019 e McDonald, 2021). A análise integrada desses dados gera uma oportunidade para aplicação de técnicas de inteligência artificial e que foi bem resumido por Cuddy (2021).
Essa prova de conceito tem como objetivo aplicar técnicas de agrupamento e classificação para avaliação de rocha carbonáticas carstificadas análogas a reservatórios de petróleo com a motivação de criar grupos de rochas com características semelhantes para armazenamento de petróleo e fluxo de fluido e posterior classificação de fácies de rochas.
A modelagem consiste de 3 etapas descritas a seguir:
- Condicionamento da base de dados (ETL)
- Análise Exploratória e Seleção de atributos
- Inferência
Foi utilizado principalmente a biblioteca SciKit-Learn (Pedregosa et al, 2011), versão 1.2.2.
Para esse trabalho utilizou-se de descrição petrográfica de rochas carbonáticas e análises laboratoriais de geoquímica e petrofísica básica realizadas em 157 amostras de rocha carbonática carstificada e publicadas em Bagni (2021).
A fase de extração, transformação e carga (Extract, Transformation, Load - ETL) consiste na leitura dos arquivos csv (disponibilizado na pasta dataset link, limpeza dos dados, remoção de valores nulos, filtragem, conversão de unidades, e padronização de valores categórico.
Segue a lista dos atributos selecionados e a sua descrição:
Atributos utilizados:
- Sample: categórico, código da amostra
- Lithology: categórico, litologia
- Grain Size / Crystallinity: categórico, tamanho de grão/cristal
- Sorting: categórico, seleção do tamanha do grão
- Pore type 1st: categórico, tipo de poro principal
- Cement 1st: categórico, tipo de cimento principal
- Pore Size: categórico, tamanho do poro
- Pore Size Mean (mm): numérico, tamanho do poro em milimetros
- Pore Size Max Vug Size in plug (mm): numérico, tamanho do poro tipo vugular medido em plug em milimetros
- Depositional System: categórico, classificação do sistema deposicional
- Main Diagenetic Environment: categórico, classificação do ambiente diagenético
- Microfacies: categórico, classificação de microfácies
- Facies: categórico, associação de microfácies
- Calcite+: numérico, teor de mineral calcite proveniente da análise geoquímica
- Dolomite+: numérico, teor de mineral dolomita proveniente da análise geoquímica
- QFM+: numérico, teor de minerais quartzo-feldspato-mica proveniente da análise geoquímica
- Phi (fraction): numérico, porosidade em decimal (v/v) proveniente da análise petrofísica
- Kabs (mD): numérico, permeabilidade absoluta em miliDarcy proveniente da análise petrofísica
- GrainDensity (g/cc): numérico, média da massa específica do grão em g/cm3 proveniente da análise petrofísica
Modelagem petrofísica (Petrophysical Rock-Type, PRT)
Foi aplicado a modelagem petrofísica conforme realizado em Bagni et al (2022) para obtenção de propriedades relacionados a fácies petrofísicas com o método Flow Zone Indicator (FZI) proposto por Amaefule et al (1993).
A análise exploratória dos dados mostra uma relação não linear da porosidade com a permeabilidade e FZI por isso adotou-se a correlação de Spearman (rs) para analisar o grau de dependência das variáveis.
A figura 01 mostra um gráfico de dispersão relacionando os atributos de porosidade (no X) e permeabilidade (no Y), tendo como rótulos os atributos o tipo de poro e a média do tamanho de poro como tamanho do símbolo do rótulo. Nota-se a relação não-linear forte entre porosidade e permeabilidade (rs = 0,74).
Figura 01: Porosidade x Permeabilidade e por tipo e tamanho de poro
Agrupamento de fácies petrofísicas
Para a modelagem de fáceis petrofísicas (Petrophysical Rock Type, PRT) por agrupamento foram selecionados atributos categóricas de “tipo de poro” (Pore type 1st) e “tamanho de poro” (Pore Size) e atributos numéricos “porosidade” (Phi, fraction), “massa específica de grão (GrainDensity, g/cc)” e “permeabilidade” (Kabs(mD)). Esses atributos são as mais utilizadas nos métodos convencionais (Amaefule, 1993 e Lucia, 1995).
Classificação de fácies geológicas
Para a classificação de fácies sedimentares (litofácies), foram selecionados os atributos categóricas relacionados a litologia e mineralogia, tais como “litologia” (lithology), “tamanho de grão” (GrainSize / Crystallinity), “seleção de grão” (Sorting), “tipo de cimento” (Cement 1st), e numéricas da análise geoquímica “teor de minerais siliciclásticos" (QFM+), “Teor de calcita” (Calcite+) e "teor de dolomita” (Dolomite+). Foi inserido o grupo de “PRT KHierarquico” definido na etapa anterior com a proposta de relacionar as classes litológicas com as fácies petrofísicas.
A inferência consistiu na geração de um modelo de agrupamento de fácies petrofísicas e outro de classificação de fácies geológicas. Cada modelo tem uma característica específica de atributos selecionados, pré-processamento e algoritmo aplicado. Esta etapa é ciclica e foram realizados vários experimentos até atingir a melhor performance.
2.3.1. Modelagem dos Grupos de Fácies Petrofísica (Petrophysical Rock Type, PRT)
Pré-processamento
A partir das características dos atributos selecionados, adotou-se um fluxo de pré-processamento dos dados separando em dados categóricos, numéricos lineares e numéricos não-linear conforme o fluxo da figura 02.
Figura 02: Fluxo de pré-processamento
Modelagem
Testou-se dois tipos de algoritmo de agrupamento (clustering):
- K-médias (Kmeans), e
- Hierárquico aglomerativo.
A especificação do número ideal de grupos para aplicação no algoritmo de K-médias foi baseado na análise integrada das métricas:
- Soma do quadrado das distâncias do centro dos cluster (WCSS), “análise do cotovelo”;
- Indice de Calinski-Harabasx (1974), busco do maior valor;
- Indice de Davies-Bouldin (1979), busca do menor valor; e
- Coeficiente de Silhueta de Rousseew (1987), busca de valores mais próximos de +1.
A figura 03 mostra os gráficos gerados e a identificação de número otimizado de grupos sendo 6 de modo a melhor atender os critérios.
Figura 03: Busca de melhor número de grupos para aplicação no algoritmo de K-médias
Com base na análise do melhor número de grupos, constuiu-se o modelo de k-médias com os hiper-parâmetros mostrados no quadro 01.
Quadro 01: Hiper-parâmetros dos modelos do modelo de agrupamento K-médias
Hiper-parâmetro | Modelo K-médias |
---|---|
N_clusters | 6 |
N_init | 50 |
Random_state | 1 |
Max_iter | 500 |
Obtou-se em gerar um modelo com o algoritmo de agrupamento hierárquico aglomerativo por ser mais flexível que o agrupamento de K-média e acomodar variáveis não numéricas e ser mais sensível na descoberta de grupos anormais (ou outliers) (Bruce & Bruce 2019).
O único hiper-parâmetros ajustado foi o corte de distância dos grupos (distance_threshold) conforme exposto no quadro 02.
Quadro 02: Hiper-parâmetros dos modelos do modelo de agrupamento hierárquico aglomerativo
Hiper-parâmetro | Modelo Hierarquico Aglomerativo |
---|---|
corte de distância (distance_threshold) | 10 |
2.3.2. Abordagem para classificação de fácies
Pré-processamento
O pré-processamento foi o mesmo adotado para os modelos de agrupamento. Sendo que ocorreu a separação entre dado de treino (70% dos dados) e teste (30% dos dados) de modo estratificado.
Devido a número muito baixo de amostras, adotou-se uma associação de microfácies (Facies) com base na descrição detalhada de Bagni (2021) e foi necessário adotar um balanceamento através do algoritmo de naive random over-sampling; a figura 04 mostra os estado inicial do número de amostras nos dados de treino e o resultado após balanceamento.
Figura 04: Balanceamento das amostras para classificação
Modelagem
Criou-se dois modelos baseados em algoritmos diferentes, (1) Modelo com Decision Tree e (2) Modelo com Random Forest. A função GridSearchCV da biblioteca Scikit-learn foi aplicada para realizar uma busca dos melhores hiper-parâmetros para aplicação em cada um dos modelos de classificação. O quadro 03 resume os hiper-parâmetros selecionados por modelo.
Quadro 03: Hiper-parâmetros dos modelos de classificação
Hiper-parâmetro | Decision Tree | Random Forest |
---|---|---|
Critério | entropy | gini |
Max_depth | 10 | 8 |
Min_samples_leaf | 1 | 1 |
N_estimators | 20 |
O quadro 04 apresenta as métricas de performance de cada modelo de agrupamento em comparação com a descrição de classes de rocha definidos pelo conceitual do especialista em geologia. Nota-se que os valores são bem semelhantes.
Quadro 04: Métricas dos modelos de agrupamento
Métrica | Modelo K-médias | Modelo Hierárquico Aglomerativo |
---|---|---|
Rand Index | 0,676 | 0,689 |
Homogeneity Score | 0,242 | 0,328 |
Completeness Score | 0,221 | 0,205 |
V Measure Score | 0,231 | 0,252 |
Como as métricas de perfomance não ajudam na avaliação dos grupos, foi adotado a comparação de boxplots com os atributos de interesse petrofísico para avaliar qual o modelo modelo. As figuras 05 e 06 mostram o gráficos boxplot com atributos de interesse e os grupos gerados por cada modelo.
Figura 05: Boxplot de propriedades petrofísicas por grupos gerados pelo modelo K-médias
Figura 06: Boxplot de propriedades petrofísicas por grupos gerados pelo modelo Hierárquico Aglomerativo
Pela análise dos boxplots identifica-se o modelo Hierárquico Aglomerativo como o melhor pois discrimina com mais resolução os grupos em base dos atributos. Explorando um pouco mais esse modelo em um gráfico de dispersão com os atributos porosidade e permeabilidade, e como rótulo os grupos (figura 07), nota-se que é possível identificar que há grupos aparentementes semelhantes nessa dimensão porém o modelo discrimina em mais grupos levando em consideração os outros atributos, sendo útil para uma subamostragem mais detalhada.
Figura 07: Gráfico Phi x K por grupos gerados pelo modelo Hierárquico Aglomerativo
A figura 08 apresenta o dendograma do modelo hierárquico aglomerativo e as distâncias de cada grupo.
Figura 08: Dendograma dos grupos gerados pelo modelo Hierárquico Aglomerativo
O quadro 05 apresenta as métricas de performance dos modelos de classificação. Nota-se a melhor performance do modelo Random Forest. Os atributos com os maiores impactos no modelo Random Forest (figura 09) são:
- Lithology,
- Calcite+,
- Dolomite+,
- GrainSize / Crystallinity.
Quadro 05: Métricas dos modelos de classificação
Métrica | Decision Tree | Random Forest |
---|---|---|
Acurácia | 0,617 | 0,766 |
Acurácia Ponderada | 0,429 | 0,750 |
Kappa | 0,417 | 0,662 |
F1 | 0,512 | 0,693 |
Figura 09: Atributos com maiores impactos no modelo Random Forest
As figuras 10 e 11 apresentam as Matriz de Confusão de cada modelo. Nota-se que o modelo Random Forest tem melhores acertos nas classes FAC 200, FAC 30 e FAC 40 e que ambos modelos não acertam a classe FAC 20.
Figura 10: Matriz de confusão do modelo Decision Tree
Figura 11: Matriz de confusão do modelo Random Forest
A adoção do modelo de agrupamento hierárquico aglomerativa com a integração de dados de tipo de poro e tamanho do poro e dados de porosidade, permeabilidade e massa específica do grão colaborou para uma melhor definição de grupos de rocha com características permo-porosas semelhantes. Essa abordagem provou a possibilidade do uso de dados categóricos comuns na descrição petrográfica de amostras de rochas e dados numéricos oriundos dos ensaios laboratoriais de petrofísica básica para a definição de fácies petrofísicas.
Esse método tem potencial em aplicação em dados históricos dados históricos (legados) visto ser necessário apenas dados comumente armazenadas em forma tabular ou textual, não sendo necessário revisitar imagens 2D de lâminas petrográficas. Esses dados também podem ser obtidos de análise de imagem 2D de lâminas petrográficas e volumes (3D) de micro-tomografia, sendo necessário apenas que os dados sejam discretizados em forma de tabelas (arrays).
A classificação de fácies com o método com Random Forest mostrou-se viável e ágil porém tem que ser melhor analisado as performances para acerto da classe FAC 20. A quantidade de amostras para treino e teste são bem pequenas o que causa muito impacto nas métricas. Apesar desse resultado, mostra-se possível aplicar métodos de aprendizado de máquina para a classificação automática de fácies de rocha, reduzindo o viés da subjetividade de interepretação de cada especialista em geologia na classificação da lâmina petrográfica.
Amaefule, J.O., Altunbay, M., Tiab, D., Kersey, D.G., Keelan, D. 1993. Enhanced reservoir description: using core and log data to identify hydraulic (flow) units and predict permeability in uncored interval/wells. Houston: SPE 68th annual technical conference. SPE-26436.
Bruce, P., Bruce, A. 2019. Estatística prática para cientistas de dados: 50 conceitos essenciais, tradução Luciana Ferraz. Rio de Janeiro: Alta Books. 320p.
Cuddy, S. 2021. The benefits and dangers of using artificial intelligences in petrophysics. Artificial Intelligence in Geoscienses (2): 1-10.
Lucia, F.J. 1995. Rock-fabric/petrophysical classification of carbonate pore space for reservoir characterization. AAPG Bull. (79): 1275-1300.
McDonald, A. 2021. Data quality considerations for petrophysical machine learning models. SPWLA: 62nd annual logging symposium. SPE-195068-MS.
Pedregosa, F., Varoquaux, G., Gramfort, A. Michel, V., Thirion, B., Grisel, O., Blondel, M. Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., Duchesnay, E. 2011. Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research v12: 2825-2830.
Xu, C., Misra, S., Srinivasan, P., Ma, S. 2019. When petrophysics meets big data: what can machine do?. Bahrain: SPE Middle Est Oil and gas Show and Conference. SPE-195068-MS
Matrícula: 211.101.145
Pontifícia Universidade Católica do Rio de Janeiro
Curso de Pós Graduação Business Intelligence Master