Luiz Felipe P. Figueiredo
  • Home
  • Tech Skills
  • Skill Sets
  • Work Experience
  • Projects
  • Dashboards
  • Blog
  • About me

Nesta página

  • Objetivo
  • Importando o Necessário
  • Leitura dos Dados
  • Descrição dos Dados
  • Dicionário de Dados:
  • EDA e Vintage Analysis (Safra)
  • Feature Engineering
    • Variável Resposta

Aprovação de Credito Utilizando Machine Learning (EM CONSTRUÇÃO)

Python
EDA
Plotly
Machine Learning
Vintage Analysis
Aplicação de vários algoritmos de Machine Learning para aprovação de cartões de crédito.
Autor

Luiz Felipe P. Figueiredo

Data de Publicação

16/08/2023

O cartão de crédito é um recurso extremamente popular entre as pessoas, seja pela praticidade ou segurança que oferece. Devido a essa alta demanda, bancos, fintechs e operadoras de cartão de crédito recebem muitos pedidos de cartões. Muitos desses pedidos são rejeitados por motivos como saldos elevados de empréstimos, baixos níveis de renda ou muitas consultas no relatório de crédito do solicitante. Analisar manualmente todas essas candidaturas é uma tarefa propensa a erros e que consome muito tempo (e tempo é dinheiro!). Felizmente, com o poder do aprendizado de máquina, essa tarefa pode ser automatizada, e atualmente, praticamente todos os bancos comerciais o fazem.

Image by pikisuperstar on Freepik

Objetivo

Para este projeto, vamos utilizar utilizar diversos algoritmos de ML como Regressão Logística, Árvore de Decisão e SVM para prever a aprovação de pedidos de cartão de crédito.

Importando o Necessário

import numpy as np
import pandas as pd  
from lifelines import NelsonAalenFitter, CoxPHFitter, KaplanMeierFitter
from lifelines.statistics import logrank_test 
import plotly.io as pio
pio.renderers.default = "plotly_mimetype+notebook"
import plotly.colors as colors
import plotly.express as px
import plotly.graph_objects as go
from imblearn.over_sampling import SMOTE
import itertools

from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, confusion_matrix
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier

from xgboost import XGBClassifier
from lightgbm import LGBMClassifier
from catboost import CatBoostClassifier
from sklearn import svm
from sklearn.ensemble import RandomForestClassifier

pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 100)

Leitura dos Dados

# Carregando os dados.
application_record = pd.read_csv("datasets/application_record.csv", encoding = 'utf-8') 
credit_record = pd.read_csv("datasets/credit_record.csv", encoding = 'utf-8') 

print("Dataset: application_record.csv \n")
display(application_record)
print("Dataset: credit_record.csv \n")
display(credit_record)
Dataset: application_record.csv 

Dataset: credit_record.csv 
ID CODE_GENDER FLAG_OWN_CAR FLAG_OWN_REALTY CNT_CHILDREN AMT_INCOME_TOTAL NAME_INCOME_TYPE NAME_EDUCATION_TYPE NAME_FAMILY_STATUS NAME_HOUSING_TYPE DAYS_BIRTH DAYS_EMPLOYED FLAG_MOBIL FLAG_WORK_PHONE FLAG_PHONE FLAG_EMAIL OCCUPATION_TYPE CNT_FAM_MEMBERS
0 5008804 M Y Y 0 427500.0 Working Higher education Civil marriage Rented apartment -12005 -4542 1 1 0 0 NaN 2.0
1 5008805 M Y Y 0 427500.0 Working Higher education Civil marriage Rented apartment -12005 -4542 1 1 0 0 NaN 2.0
2 5008806 M Y Y 0 112500.0 Working Secondary / secondary special Married House / apartment -21474 -1134 1 0 0 0 Security staff 2.0
3 5008808 F N Y 0 270000.0 Commercial associate Secondary / secondary special Single / not married House / apartment -19110 -3051 1 0 1 1 Sales staff 1.0
4 5008809 F N Y 0 270000.0 Commercial associate Secondary / secondary special Single / not married House / apartment -19110 -3051 1 0 1 1 Sales staff 1.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
438552 6840104 M N Y 0 135000.0 Pensioner Secondary / secondary special Separated House / apartment -22717 365243 1 0 0 0 NaN 1.0
438553 6840222 F N N 0 103500.0 Working Secondary / secondary special Single / not married House / apartment -15939 -3007 1 0 0 0 Laborers 1.0
438554 6841878 F N N 0 54000.0 Commercial associate Higher education Single / not married With parents -8169 -372 1 1 0 0 Sales staff 1.0
438555 6842765 F N Y 0 72000.0 Pensioner Secondary / secondary special Married House / apartment -21673 365243 1 0 0 0 NaN 2.0
438556 6842885 F N Y 0 121500.0 Working Secondary / secondary special Married House / apartment -18858 -1201 1 0 1 0 Sales staff 2.0

438557 rows × 18 columns

ID MONTHS_BALANCE STATUS
0 5001711 0 X
1 5001711 -1 0
2 5001711 -2 0
3 5001711 -3 0
4 5001712 0 C
... ... ... ...
1048570 5150487 -25 C
1048571 5150487 -26 C
1048572 5150487 -27 C
1048573 5150487 -28 C
1048574 5150487 -29 C

1048575 rows × 3 columns

Descrição dos Dados

Faremos uso de dois datasets:

  • Histórico de Aplicação (application_record.csv): contém informações gerais sobre o aplicante, como gênero, nascimento, grau de escolaridade, etc.

    • Este dataset conta com 438557 linhas e 18 variáveis, em que 12 são categóricas, 5 são continuas e 1 variável para o ID do aplicante.
  • Histórico de crédito (credit_record.csv): contém o histórico de pagamento dos aplicantes.

    • Este dataset conta com 1048575 linhas e somente 3 variáveis estão presentes neste datasets, 1 categórica, 1 continua e 1 para o ID do aplicante.

Dicionário de Dados:

application_record.csv:

  • ID - Id do Cliente
  • CODE_GENDER - Gênero
  • FLAG_OWN_CAR - Possui carro
  • FLAG_OWN_REALTY - Possui imóvel
  • CNT_CHILDREN - Número de filhos
  • AMT_INCOME_TOTAL - Renda anual
  • NAME_INCOME_TYPE - Categoria de renda
  • NAME_EDUCATION_TYPE - Nível de educação
  • NAME_FAMILY_STATUS - Estado civil
  • NAME_HOUSTNG_TYPE - Tipo de moradia
  • DAYS_BIRTH - Data de nascimento (contagem regressiva a partir do dia atual, 0 significa hoje, -1 significa ontem)
  • DAYS_EMPLOYED - Data de início do emprego (contagem regressiva a partir do dia atual, se for positivo, significa que a pessoa está desempregada)
  • FLAG_MOBIL - Possui telefone móvel
  • FLAG_WORK_PHONE- Possui telefone de trabalho
  • FLAG_PHONE-Possui telefone
  • FLAG_EMAIL - Possui e-mail
  • OCCUPATION_TYPE - Ocupação
  • CNT_FAM_MEMBERS - Número de membros da família

credit_record.csv:

  • ID - Id do Cliente
  • MONTHS_BALANCE - Mês do Registro
  • STATUS - Status 0: 1-29 dias em atraso
    1: 30-59 dias em atraso
    2: 60-89 dias em atraso
    3: 90-119 dias em atraso
    4: 120-149 dias em atraso
    5: Mais de 150 dias em atraso ou dívidas incobráveis
    C: Pago naquele mês
    X: Sem empréstimo para o mês

EDA e Vintage Analysis (Safra)

Em risco de crédito, Vintage Analysis também conhecida como Safra, é um método popular para gerenciar o risco de crédito. O termo ‘Vintage’ refere-se ao mês ou trimestre em que a conta foi aberta (empréstimo foi concedido). Em palavras simples, a analise de vintage mede o desempenho de um portfólio de crédito em diferentes períodos de tempo após o empréstimo (ou cartão de crédito) ter sido concedido. O desempenho pode ser medido na forma de taxa acumulada de inadimplência, proporção de clientes com atraso de 30/60/90 dias, taxa de utilização, saldo médio, etc.

A analise de vintage será utilizada para definir a variável alvo, com base na variável “STATUS”, a fim de distinguir entre clientes considerados “bons” e “maus”. Nesse contexto, é necessário identificar um limiar que estabeleça o critério para classificar os clientes.

A analise de vintage permite avaliar o desempenho de uma carteira de clientes ao longo do tempo após a concessão do empréstimo ou cartão de crédito. A variável “STATUS” representa o status do cliente em relação aos pagamentos, com valores que indicam diferentes estágios de inadimplência.

Com base no nosso dicionário de dados, podemos verificar que existem muito mais entradas no dataset credit_score.csv em relação ao application_record.csv, é preciso verificar quais clientes estão em ambos os dados.

# Converter os dados de credit_record para um formato amplo em que cada ID é uma linha
pivot_df = credit_record.pivot(
    index='ID', columns='MONTHS_BALANCE', values='STATUS')

# Calcular o menor e o maior valor de MONTHS_BALANCE para cada ID
pivot_df['mes_abertura'] = credit_record.groupby('ID')['MONTHS_BALANCE'].min()
pivot_df['mes_encerramento'] = credit_record.groupby('ID')['MONTHS_BALANCE'].max()

# Reindexar o dataframe
pivot_df.reset_index(inplace=True)

# Criar um novo dataframe com as colunas relevantes
pivot_df = pivot_df[['ID', 'mes_abertura', 'mes_encerramento']]

# Calcular a janela de observação
pivot_df['janela_observacao'] = pivot_df['mes_encerramento'] - \
    pivot_df['mes_abertura']

# Mesclar as informações calculadas com o dataframe original
credit_record = pd.merge(credit_record, pivot_df, on='ID', how='left')

# Criar uma cópia do dataframe
credit_record0 = credit_record.copy()

# Remover os usuários cuja janela de observação é inferior a 20
credit_record = credit_record[credit_record['janela_observacao'] > 20]

# Analisar os atrasos superiores a 60 dias e atribuir 1 se verdadeiro, 0 caso contrário
credit_record['status'] = np.where(
    credit_record['STATUS'].isin(['2', '3', '4', '5']), 1, 0)

# Converter a coluna 'status' para o tipo de dados int8
credit_record['status'] = credit_record['status'].astype(np.int8)

# Calcular o mês desde a abertura da conta
credit_record['meses_portfolio'] = credit_record['MONTHS_BALANCE'] - \
    credit_record['mes_abertura']

# Ordenar o dataframe por ID e mês desde a abertura da conta
credit_record.sort_values(by=['ID', 'meses_portfolio'], inplace=True)


# Calcula o denominador para a análise de vintage
# Conta quantos usuários há em cada mês de abertura da conta
denominador = pivot_df.groupby(['mes_abertura']).agg({'ID': ['count']})
denominador.reset_index(inplace=True)
# Renomeia as colunas para 'mes_abertura' e 'contagem_total'
denominador.columns = ['mes_abertura', 'contagem_total']

# Cria a tabela vintage para a análise
# Conta quantos usuários há em cada combinação de mês de abertura e mês no livro
vintage = credit_record.groupby(
    ['mes_abertura', 'meses_portfolio']).agg({'ID': ['count']})
vintage.reset_index(inplace=True)
# Renomeia as colunas para 'mes_abertura', 'meses_portfolio' e 'contagem_total'
vintage.columns = ['mes_abertura', 'meses_portfolio', 'contagem_total']
# Inicializa a coluna 'contagem_atraso' com valores NaN (vazios)
vintage['contagem_atraso'] = np.nan
# Remove a coluna de agregação da tabela vintage
vintage = vintage[['mes_abertura', 'meses_portfolio', 'contagem_atraso']]
# Junta a coluna 'contagem_total' à tabela vintage usando o 'mes_abertura' como chave de junção
vintage = pd.merge(vintage, denominador, on=['mes_abertura'], how='left')
for mes_abertura in range(-60, 1):  # Laço externo: mês em que a conta foi aberta
    lista_id_atraso = []
    for meses_portfolio in range(0, 61):  # Laço interno: tempo após a concessão do cartão de crédito
        ids_atraso = list(credit_record[(credit_record['status'] == 1) & (credit_record['meses_portfolio'] == meses_portfolio) & (credit_record['mes_abertura'] == mes_abertura)]['ID'])  # Obtém os IDs que satisfazem a condição
        lista_id_atraso.extend(ids_atraso)  # À medida que o tempo passa, adiciona clientes inadimplentes à lista
        vintage.loc[(vintage['meses_portfolio'] == meses_portfolio) & (vintage['mes_abertura'] == mes_abertura), 'contagem_atraso'] = len(set(lista_id_atraso))  # Calcula o número de IDs não duplicados usando set()

vintage['taxa_atraso'] = vintage['contagem_atraso'] / vintage['contagem_total']  # Calcula a taxa acumulada de clientes inadimplentes

vintage
mes_abertura meses_portfolio contagem_atraso contagem_total taxa_atraso
0 -60 0 0.0 415 0.000000
1 -60 1 0.0 415 0.000000
2 -60 2 0.0 415 0.000000
3 -60 3 0.0 415 0.000000
4 -60 4 0.0 415 0.000000
... ... ... ... ... ...
1655 -21 17 15.0 858 0.017483
1656 -21 18 15.0 858 0.017483
1657 -21 19 15.0 858 0.017483
1658 -21 20 15.0 858 0.017483
1659 -21 21 15.0 858 0.017483

1660 rows × 5 columns

A coluna mes_abertura na tabela acima mostra quantos meses se passaram desde a abertura da conta. Por exemplo, um valor de -60 significa que a conta foi aberta há 60 meses. Isso é feito porque não temos informações sobre o mês e o ano em que as contas foram abertas.

# Tabela Vintage em formato wide
vintage_wide = vintage.pivot(index='mes_abertura',
                             columns='meses_portfolio',
                             values='taxa_atraso')
vintage_wide
meses_portfolio 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
mes_abertura
-60 0.00000 0.000000 0.000000 0.000000 0.000000 0.002410 0.002410 0.007229 0.007229 0.009639 0.009639 0.012048 0.014458 0.016867 0.016867 0.016867 0.016867 0.016867 0.016867 0.016867 0.016867 0.019277 0.019277 0.019277 0.019277 0.021687 0.021687 0.021687 0.021687 0.024096 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.026506 0.028916 0.028916 0.028916 0.028916 0.028916 0.028916 0.028916 0.028916 0.031325 0.031325 0.031325
-59 0.00000 0.000000 0.000000 0.004926 0.004926 0.004926 0.007389 0.007389 0.007389 0.012315 0.012315 0.019704 0.019704 0.019704 0.019704 0.019704 0.019704 0.019704 0.022167 0.024631 0.024631 0.027094 0.027094 0.027094 0.027094 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.029557 0.032020 0.032020 0.032020 0.032020 0.032020 0.032020 NaN
-58 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.004545 0.006818 0.006818 0.011364 0.013636 0.013636 0.013636 0.013636 0.013636 0.013636 0.015909 0.018182 0.018182 0.018182 0.022727 0.022727 0.022727 0.022727 0.022727 0.022727 0.022727 0.022727 0.022727 0.022727 0.022727 0.022727 0.022727 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 NaN NaN
-57 0.00000 0.000000 0.000000 0.000000 0.002500 0.002500 0.002500 0.007500 0.007500 0.007500 0.007500 0.007500 0.010000 0.017500 0.017500 0.017500 0.017500 0.017500 0.017500 0.017500 0.017500 0.017500 0.017500 0.017500 0.020000 0.020000 0.020000 0.020000 0.020000 0.020000 0.020000 0.020000 0.020000 0.020000 0.020000 0.022500 0.022500 0.022500 0.022500 0.022500 0.022500 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 0.025000 NaN NaN NaN
-56 0.00000 0.000000 0.004255 0.004255 0.008511 0.010638 0.010638 0.017021 0.017021 0.021277 0.021277 0.025532 0.029787 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.034043 0.036170 0.036170 0.036170 0.036170 0.038298 0.038298 NaN NaN NaN NaN
-55 0.00000 0.000000 0.002058 0.006173 0.012346 0.016461 0.022634 0.022634 0.022634 0.024691 0.024691 0.024691 0.026749 0.032922 0.034979 0.037037 0.039095 0.039095 0.039095 0.039095 0.039095 0.039095 0.039095 0.039095 0.039095 0.039095 0.041152 0.041152 0.041152 0.041152 0.041152 0.041152 0.041152 0.043210 0.043210 0.043210 0.043210 0.043210 0.043210 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 0.045267 NaN NaN NaN NaN NaN
-54 0.00000 0.000000 0.000000 0.002137 0.004274 0.004274 0.006410 0.012821 0.012821 0.017094 0.019231 0.019231 0.023504 0.027778 0.027778 0.029915 0.029915 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 0.032051 NaN NaN NaN NaN NaN NaN
-53 0.00000 0.002028 0.002028 0.002028 0.004057 0.004057 0.008114 0.010142 0.010142 0.012170 0.014199 0.014199 0.014199 0.014199 0.014199 0.014199 0.014199 0.014199 0.016227 0.016227 0.016227 0.016227 0.016227 0.016227 0.016227 0.016227 0.020284 0.020284 0.020284 0.020284 0.020284 0.020284 0.020284 0.020284 0.024341 0.024341 0.024341 0.024341 0.024341 0.024341 0.024341 0.024341 0.024341 0.024341 0.024341 0.024341 0.024341 0.026369 0.028398 0.028398 0.028398 0.028398 0.028398 0.028398 NaN NaN NaN NaN NaN NaN NaN
-52 0.00000 0.000000 0.007233 0.009042 0.009042 0.009042 0.012658 0.012658 0.014467 0.016275 0.016275 0.016275 0.018083 0.018083 0.018083 0.019892 0.019892 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.021700 0.023508 0.023508 0.023508 0.023508 0.023508 0.023508 0.023508 0.023508 0.023508 0.023508 0.023508 0.023508 0.023508 0.023508 0.023508 0.023508 NaN NaN NaN NaN NaN NaN NaN NaN
-51 0.00000 0.001718 0.001718 0.003436 0.003436 0.008591 0.010309 0.013746 0.013746 0.015464 0.015464 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.018900 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 0.020619 NaN NaN NaN NaN NaN NaN NaN NaN NaN
-50 0.00000 0.000000 0.001842 0.003683 0.007366 0.007366 0.007366 0.007366 0.007366 0.009208 0.009208 0.009208 0.009208 0.009208 0.009208 0.011050 0.011050 0.011050 0.011050 0.011050 0.011050 0.011050 0.011050 0.011050 0.011050 0.012891 0.012891 0.012891 0.012891 0.012891 0.012891 0.012891 0.012891 0.012891 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 0.016575 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-49 0.00000 0.000000 0.000000 0.000000 0.005425 0.005425 0.005425 0.007233 0.007233 0.009042 0.010850 0.010850 0.010850 0.010850 0.010850 0.014467 0.014467 0.014467 0.014467 0.014467 0.014467 0.014467 0.014467 0.014467 0.014467 0.016275 0.016275 0.016275 0.016275 0.016275 0.016275 0.016275 0.016275 0.016275 0.016275 0.016275 0.016275 0.016275 0.018083 0.018083 0.018083 0.018083 0.018083 0.018083 0.018083 0.018083 0.018083 0.018083 0.018083 0.018083 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-48 0.00000 0.000000 0.000000 0.001721 0.005164 0.006885 0.008606 0.010327 0.012048 0.012048 0.015491 0.017212 0.017212 0.017212 0.018933 0.020654 0.020654 0.022375 0.022375 0.022375 0.024096 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.025818 0.027539 0.027539 0.027539 0.027539 0.027539 0.027539 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-47 0.00000 0.000000 0.000000 0.003273 0.004910 0.004910 0.013093 0.013093 0.013093 0.014730 0.014730 0.014730 0.014730 0.016367 0.016367 0.016367 0.016367 0.016367 0.016367 0.021277 0.021277 0.021277 0.022913 0.022913 0.024550 0.024550 0.024550 0.024550 0.024550 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 0.026187 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-46 0.00000 0.000000 0.000000 0.001739 0.003478 0.005217 0.006957 0.012174 0.012174 0.012174 0.013913 0.013913 0.017391 0.019130 0.019130 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 0.020870 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-45 0.00000 0.000000 0.000000 0.001653 0.004959 0.006612 0.006612 0.009917 0.009917 0.011570 0.011570 0.013223 0.013223 0.013223 0.014876 0.014876 0.014876 0.014876 0.014876 0.014876 0.014876 0.014876 0.014876 0.014876 0.014876 0.014876 0.014876 0.014876 0.014876 0.014876 0.016529 0.016529 0.016529 0.016529 0.016529 0.016529 0.016529 0.016529 0.016529 0.016529 0.016529 0.016529 0.016529 0.016529 0.016529 0.016529 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-44 0.00000 0.001692 0.003384 0.005076 0.005076 0.006768 0.008460 0.011844 0.011844 0.011844 0.013536 0.015228 0.015228 0.015228 0.015228 0.015228 0.015228 0.015228 0.015228 0.016920 0.016920 0.016920 0.018613 0.018613 0.018613 0.018613 0.018613 0.018613 0.018613 0.018613 0.018613 0.018613 0.018613 0.018613 0.020305 0.020305 0.020305 0.020305 0.020305 0.020305 0.020305 0.020305 0.020305 0.020305 0.020305 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-43 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.001541 0.001541 0.004622 0.004622 0.006163 0.007704 0.010786 0.010786 0.010786 0.010786 0.010786 0.010786 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 0.012327 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-42 0.00000 0.000000 0.001425 0.004274 0.007123 0.007123 0.009972 0.009972 0.011396 0.012821 0.012821 0.014245 0.015670 0.015670 0.015670 0.017094 0.017094 0.017094 0.017094 0.017094 0.017094 0.018519 0.018519 0.018519 0.018519 0.018519 0.018519 0.018519 0.018519 0.019943 0.019943 0.019943 0.019943 0.019943 0.019943 0.021368 0.021368 0.021368 0.021368 0.021368 0.021368 0.021368 0.021368 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-41 0.00000 0.000000 0.000000 0.001435 0.008608 0.008608 0.010043 0.011478 0.012912 0.014347 0.015782 0.017217 0.020086 0.020086 0.020086 0.020086 0.020086 0.020086 0.020086 0.020086 0.020086 0.021521 0.021521 0.021521 0.021521 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 0.022956 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-40 0.00000 0.000000 0.002714 0.002714 0.006784 0.008141 0.008141 0.008141 0.008141 0.010855 0.012212 0.012212 0.013569 0.016282 0.016282 0.016282 0.016282 0.016282 0.016282 0.018996 0.018996 0.018996 0.018996 0.018996 0.018996 0.018996 0.018996 0.020353 0.021710 0.021710 0.021710 0.021710 0.021710 0.021710 0.024423 0.024423 0.024423 0.024423 0.024423 0.024423 0.024423 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-39 0.00000 0.001203 0.001203 0.001203 0.001203 0.003610 0.003610 0.004813 0.006017 0.006017 0.006017 0.007220 0.007220 0.009627 0.009627 0.009627 0.009627 0.009627 0.012034 0.012034 0.012034 0.013237 0.013237 0.013237 0.013237 0.015644 0.015644 0.015644 0.015644 0.016847 0.016847 0.016847 0.016847 0.016847 0.018051 0.018051 0.018051 0.018051 0.018051 0.018051 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-38 0.00134 0.001340 0.001340 0.001340 0.002681 0.002681 0.002681 0.004021 0.005362 0.006702 0.008043 0.008043 0.009383 0.009383 0.009383 0.009383 0.009383 0.010724 0.010724 0.010724 0.010724 0.010724 0.010724 0.010724 0.012064 0.013405 0.013405 0.013405 0.013405 0.014745 0.014745 0.014745 0.014745 0.014745 0.014745 0.014745 0.014745 0.014745 0.014745 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-37 0.00000 0.000000 0.000000 0.000000 0.001389 0.001389 0.001389 0.006944 0.006944 0.008333 0.012500 0.012500 0.012500 0.013889 0.013889 0.015278 0.015278 0.015278 0.018056 0.018056 0.018056 0.019444 0.019444 0.019444 0.020833 0.020833 0.020833 0.020833 0.022222 0.022222 0.022222 0.022222 0.022222 0.023611 0.023611 0.023611 0.023611 0.023611 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-36 0.00000 0.000000 0.000000 0.001443 0.002886 0.005772 0.005772 0.007215 0.010101 0.011544 0.014430 0.014430 0.015873 0.015873 0.015873 0.015873 0.015873 0.015873 0.017316 0.017316 0.017316 0.017316 0.017316 0.017316 0.017316 0.018759 0.018759 0.018759 0.018759 0.020202 0.020202 0.020202 0.020202 0.020202 0.020202 0.020202 0.020202 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-35 0.00000 0.000000 0.000000 0.001312 0.001312 0.001312 0.001312 0.002625 0.005249 0.006562 0.011811 0.013123 0.013123 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 0.014436 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-34 0.00000 0.000000 0.000000 0.000000 0.000000 0.001344 0.002688 0.006720 0.006720 0.008065 0.009409 0.010753 0.010753 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.013441 0.013441 0.013441 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-33 0.00000 0.000000 0.001377 0.001377 0.001377 0.001377 0.001377 0.004132 0.004132 0.004132 0.004132 0.004132 0.005510 0.006887 0.006887 0.006887 0.006887 0.006887 0.006887 0.008264 0.008264 0.009642 0.009642 0.009642 0.009642 0.009642 0.011019 0.011019 0.011019 0.012397 0.012397 0.012397 0.012397 0.012397 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-32 0.00000 0.000000 0.001344 0.001344 0.002688 0.002688 0.004032 0.004032 0.006720 0.006720 0.008065 0.008065 0.008065 0.009409 0.009409 0.009409 0.009409 0.009409 0.010753 0.010753 0.010753 0.010753 0.010753 0.010753 0.010753 0.010753 0.012097 0.012097 0.012097 0.012097 0.012097 0.012097 0.013441 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-31 0.00000 0.000000 0.000000 0.000000 0.000000 0.002674 0.004011 0.004011 0.004011 0.004011 0.004011 0.004011 0.006684 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 0.009358 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-30 0.00000 0.000000 0.000000 0.001244 0.001244 0.002488 0.002488 0.006219 0.006219 0.008706 0.008706 0.008706 0.009950 0.011194 0.012438 0.012438 0.012438 0.012438 0.012438 0.013682 0.013682 0.013682 0.013682 0.013682 0.013682 0.014925 0.014925 0.014925 0.014925 0.014925 0.014925 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-29 0.00000 0.000000 0.000000 0.001282 0.002564 0.005128 0.005128 0.006410 0.007692 0.007692 0.010256 0.010256 0.010256 0.010256 0.011538 0.011538 0.011538 0.011538 0.011538 0.011538 0.011538 0.011538 0.011538 0.011538 0.011538 0.011538 0.011538 0.011538 0.011538 0.011538 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-28 0.00000 0.000000 0.001241 0.001241 0.001241 0.002481 0.003722 0.004963 0.006203 0.007444 0.008685 0.008685 0.008685 0.009926 0.009926 0.011166 0.011166 0.011166 0.011166 0.011166 0.012407 0.012407 0.012407 0.013648 0.013648 0.014888 0.014888 0.014888 0.014888 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-27 0.00000 0.000000 0.000000 0.001196 0.002392 0.003589 0.003589 0.004785 0.005981 0.008373 0.008373 0.008373 0.009569 0.010766 0.010766 0.010766 0.010766 0.010766 0.010766 0.013158 0.013158 0.013158 0.014354 0.014354 0.014354 0.014354 0.015550 0.015550 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-26 0.00000 0.000000 0.000000 0.002660 0.003989 0.005319 0.005319 0.006649 0.006649 0.006649 0.006649 0.007979 0.007979 0.007979 0.007979 0.007979 0.007979 0.007979 0.007979 0.007979 0.007979 0.007979 0.007979 0.007979 0.007979 0.007979 0.007979 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-25 0.00000 0.000000 0.001159 0.002317 0.004635 0.006952 0.006952 0.010429 0.010429 0.010429 0.010429 0.013905 0.015064 0.015064 0.015064 0.015064 0.016222 0.016222 0.016222 0.016222 0.016222 0.016222 0.017381 0.017381 0.017381 0.017381 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-24 0.00000 0.000000 0.000000 0.000000 0.000000 0.001119 0.002237 0.003356 0.003356 0.004474 0.004474 0.004474 0.005593 0.005593 0.005593 0.005593 0.005593 0.005593 0.005593 0.005593 0.006711 0.006711 0.006711 0.006711 0.006711 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-23 0.00000 0.000000 0.000000 0.002225 0.004449 0.005562 0.005562 0.005562 0.006674 0.006674 0.006674 0.007786 0.007786 0.007786 0.007786 0.007786 0.007786 0.007786 0.007786 0.007786 0.007786 0.007786 0.007786 0.007786 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-22 0.00000 0.000000 0.001156 0.002312 0.002312 0.003468 0.003468 0.004624 0.005780 0.005780 0.005780 0.009249 0.009249 0.009249 0.010405 0.010405 0.010405 0.010405 0.010405 0.011561 0.011561 0.011561 0.011561 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-21 0.00000 0.000000 0.000000 0.003497 0.004662 0.004662 0.006993 0.009324 0.010490 0.010490 0.011655 0.013986 0.015152 0.016317 0.016317 0.016317 0.016317 0.017483 0.017483 0.017483 0.017483 0.017483 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

Nesta tabela, as linhas representam os meses de abertura das contas, enquanto as colunas representam os meses decorridos desde a abertura das contas. Os valores apresentados são as taxas acumuladas de atraso no pagamento. À medida que o mês de abertura se aproxima de zero, a janela de observação diminui, resultando em valores ausentes NaN preenchendo a metade inferior triangular da tabela. Isso ocorre porque não há dados disponíveis para os meses mais recentes, já que o período de observação é mais curto.

Feature Engineering

Variável Resposta

TO BE CONTINUED…



1+4
3
This work is licensed under CC BY-SA 4.0
Designed and Developed collaboratively by
Jose C. S. Junior & Luiz F. P. Figueiredo
Built with Quarto