PROJETO: Análise e detecção de fraudes em transações imobiliárias

Parte 1

A análise de fraude combina tecnologia e técnicas analíticas com interação humana para ajudar a detectar possíveis transações impróprias, como aquelas com base em fraude e/ou suborno, antes que as transações sejam concluídas ou depois que elas ocorrem.

O processo de análise de fraude envolve a coleta e armazenamento de dados relevantes e explorando-o em busca de padrões, discrepâncias e anomalias.

Definição do Problema

Uma empresa fornece seguros para imóveis na cidade de Nova Iorque nos EUA. Visando calcular o valor do seguro da melhor forma possível, a empresa deseja uma análise e detecção de fraude nos dados de transações imobiliárias de toda cidade.

Primeiro a empresa precisa de um relatório que demonstre que os dados são confiáveis e coerentes e que a qualidade da informação que eles oferecem pode ser usada para prever possíveis fraudes. Sendo assim, devemos apresentar um DQR –Data Quality Report com uma análise exploratória dos dados.

Por fim a empresa precisa de um score para cada transação a fim de checar aquelas com maior possibilidadede ter alguma fraude. O Score de Fraude (Fraud Score) deve ser o mais preciso possível e deve ser gerado um score para cada transação. Não há informação prévia se uma transação foi ou não fraudulenta.

Escopo do Projeto

Neste projeto iremos abordar a técnica de análise de fraude com base nos dados históricos e Não temos como objetivo fazer previsões em outros dados.

Vamos avaliar as transações e para cada transação o algoritmo irá retornar uma pontuação, as pontuações mais altas podem indicar que haja algo estranho, mas não temos como afirmar, porque vamos utilizar um algoritmo não-supervisionado e não temos a resposta para treinar o algoritmo.

O algoritmo será treinado para detectar os padrões existentes e calcularemos o score utilizando equações matemáticas, que são técnicas utilizadas na prática para detectar potenciais fraudes.

Os algoritmos usados serão PCA, para redução da dimensionalidade e Deep Learning com uso de Tensorflow e Autoencoder.

Etapas do Projeto

Este projeto foi dividido em 3 partes:

Apresentação dos resultados

Os resultados serão apresentados em forma de relatório no Power BI aos tomadores de decisão.

Sumário

Parte 1: Análise Exploratória

  1. Importando as bibliotecas e carregando os dados
  2. Análise Exploratória dos dados
  3. Conclusão

`Parte 2:` Limpeza, transformação e Feature Engineering

1. Importando as bibliotecas e carregando os dados
2. Limpeza e transformação dos dados
2.1 Limpando valores ausentes da variável: ZIP
2.2 Limpando valores ausentes das variáveis: FULLVAL, AVLAND, AVTOT, BLDFRONT, BLDDEPTH, LTFRONT e LTDEPTH
2.3 Limpando valores ausentes da variável: STORIES
3. Engenharia de Atributos
4. Conclusão

`Parte 3:` Modelagem e calculo do Score de Fraude

1. Importando as bibliotecas e carregando os dados
2. Padronização das variáveis
3. Aplicando PCA
3.1. Aplicação da Escala Z em componentes PCA Padronizados
3.2 Calculando o Fraud Score 1
4. Aplicacando Deep Learning
4.1 Construção do Modelo
4.2 Avaliação do modelo
4.3 Calculando o Fraud Score 2
5. Calculando o Score Final do Score de Fraude e apresentando os Resultados
6. Conclusão
7. Referências

Sobre os dados

Os dados são públicos e fornecidos pelo portal de dados abertos da cidade de Nova Iorque, podendo ser baixado clicando aqui.

As definições e termos podem ser obtidos neste site, clicando aqui.

1. Importando as bibliotecas e carregando os dados

Vamos fazer um resumo, colocando em Data Frame:

Análise:

Vamos personalizar um sumário estatístico, definindo o que significa cada coluna:

Para variáveis categóricas irei inserir mais uma coluna que são os valores mais comuns, isso ajuda a entender o padrão para este tipo de variáveis.

Análise:

Com base nesse resumo, uma das formas de se analisar, por exemplo, a variável B tem 5 valores únicos e provavelmente seja do tipo categórico, sendo que o valor que aparece mais vezes é o 4. Então poderíamos levar essas conclusões para a área de negócio e perguntar se nossas conclusões estão corretas, caso a gente não conheça ou não tem certeza.

Principalmente, nos confirmar se esse comportamento nos dados é normal, é esperado que ocorra dessa forma.

Análise Exploratória dos dados

Objetivo: Identificar, conhecer, explorar, compreender, visualizar, afim de verificar se os dados estão corretos de acordo com as regras do Negócio, analisar se há algo de errado ou alguma anomalia no conjunto.

Com base na análise das descrições do dicionário de dados, identificamos 16 variáveis que faça sentido para nosso objetivo. Algumas delas são variações de outras, então não faz sentido analisar essas variações, exceto se a variação for significativa, o conhecimento ou a área de negócios pode ajudar a selecionar essas variáveis.

Variável 1:

Nome: BBLE
Descrição: Concatenação de código Borough, código de bloco, código LOT; um número exclusivo para cada registro, tipo ID.

Variável 2:

Nome: B
Descrição: Códigos Borough, código de um bairro no qual o imóvel está localizado.

Análise:

Como já tínhamos observado em nosso resumo, a categoria 4 é o que mais tem registros, pelo dicionário de dados, é o bairro "QUEENS".

Variável 3:

Nome: BLOCK
Descrição: Número de até 5 dígitos que representam códigos de bloco em diferentes bairros.

Variável 4:

Nome: LOT
Descrição: Número de até 4 dígitos que representam códigos de lote em diferentes códigos Borough & Block

Variável 5:

Nome: EASEMENT
Descrição: Tipos de easement, é quando em uma propriedade há uma parte que não possa ser construída, pode ser reservada do governo, passando uma tubulação, por exemplos.

Análise:

O tipo E estamos confirmando que é o que tem mais registros, tivemos que fazer a transformação logaritma na escala do eixo y, para melhor visualizar, pois a diferença do E para os demais é muito grande.

Variável 6:

Nome: OWNER
Descrição: Proprietários dos imóveis

Análise:

Essa variável pode ser uma das mais importantes para a análise, observamos que o maior proprietário de imóveis na cidade de Nova York é o PARKCHESTER PRESERVAT e até faz sentido por ser uma imobiliária que aluga residências. Mas essa é quantidade é normal? A área de negócios deverá saber responder isso ou descobrimos através de pesquisas.

Os últimos registros são de pessoas físicas que é normal ter somente uma propriedade, no geral.

Variável 7:

Nome: BLDGCL
Descrição: Classe do imóvel

Análise:

Vale a mesma análise que da anterior, a quantidade de registros para cada classe de imóvel.

Variável 8:

Nome: TAXCLASS
Descrição: Código de classe de imposto de propriedade, próximo ao IPTU no Brasil.

Análise:

Checando nosso dicionário de dados, a classe 1 é do tipo são para quem possui de 1 à 3 residências. Enquanto que a última, menos frequente são bangalôs, faz sentido essa análise? Aparentemente sim.

E se a classe 1D não aparecesse em último e sim próximo dos mais frequentes, de cara já saberíamos que tem algo errado.

Variável 9:

Nome: LTFRONT
Descrição: Frente do lote em pés (feet).

A abordagem aqui será um pouco diferente, como o volume de dados é muito grande, vamos separar em percentis e definir um valor de corte para análise, mas antes vamos postar um histograma só para conhecermos sua distribuição.

Análise:

Podemos observar no primeiro gráfico que tivemos de normalizar utilizando um logaritmo do numpy, porque com os dados originais observamos uma calda muito grande, não possibilitando de analisar algo no gráfico.

A abordagem foi analisar pelos percentis, no qual podemos olhar o valor com 99,5% dos dados, com isso nos possibilita de executar um filtro, removendo esses valores muito extremos.

Então plotamos novamente a distribuição, com dados originais, e mesmo assim podemos ver ainda alguns outliers.

Mas a principal análise é que a frente dos lotes vai até aproximadamente 50 pés de tamanho. Será que isso corresponde ao padrões americanos? Aparentemente sim.

Variável 10:

Nome: LTDEPTH
Descrição: Profundidade do lote em pés.

Vamos seguir com a mesma estratégia que a anterior, filtrar e analisar pelos percentis.

Análise:

Novamente podemos observar que a concentração é nos lotes menores, pela nossa pesquisa faz sentido porque as casas em Nova York são aparentemente aglomeradas, então se houvesse maior concentração em lotes maiores, poderiamos desconfiar de alguma coisa, ou seja, este é o padrão esperado para esta variável.

Podemos observar (como em alguns outros gráficos) que o eixo y está em escala logaritmica, porque a distribuição em função dos valores extremos fica ruim de visualizar, e ao invés de colocarmos a variável nessa escala, colocamos somente o eixo y, podendo assim no eixo x, visualizar valores originais.

Variável 11:

Nome: EXT
Descrição: E-Extension, G-Garage, EG-Extension e Garage.

Análise:

A maior frequencia são de imóveis com garagem, isso é razoável, porque a grande maioria dos imóveis possuem somente garagem.

Variável 12:

Nome: STORIES
Descrição: Números de andares do edifício

Análise:

Quantos andares, normalmente, tem os prédios na cidade? Neste caso é esperado prédios de até 50 andares, por isso fizemos o filtro, podendo filtrar quantos andares forem necessários, com base na sua pesquisa, cidade e conhecimento do negócio.

O comportamento da distribuição é esperado, quanto mais andares, menor a frequencia.

Variável 13:

Nome: FULLVAL
Descrição: Valor de Mercado Total

Esta variável é o que se aproxima do IPTU no Brasil, ela contém o valor do terreno e do imóvel juntos, por isso é o valor total. Vamos fazer o filtro com US$ 3M, pois espera-se que as casas tenham seus valores menores que o nosso valor de filtro.

Análise:

Conforme esperado, a maioria das cadas tem valores mais baixos.

Variável 14:

Nome: AVLAND
Descrição: Valor de mercado do terreno

Esta variável corresponde somente ao valor do terreno.

Análise:

Podemos notar um comportamento esperado também, com a concentração de frequencia maior nos valores menores dos terrenos.

Variável 15:

Nome: EXLAND
Descrição: Valor provisório do terreno com isenção temporária

Corresponde às propriedades que tem isenção de impostos.

Análise:

Este tipo de variável é uma que possivelmente pode haver tentativas de fraudes, pois empresas de um determinado ramos, declara ser de outro para ter isenção.

Neste caso, não há necessáriamente uma concentração bem maior, no início tem um pouco mais com alguns picos, mas é comportamento normal.

Variável 16:

Nome: ZIP
Descrição: Código Postal

Análise:

Nos primeiros registros são os locais com maior concentração de cadas, pode ser um centro, um bairro maior na cidade enquanto que nas últimas com menor concentração de casas pode ser de subúrbio, por exemplo, ou próximo à saída da cidade.

3. Conclusão

A partir dos valores, resumos e gráficos, a área de negócios precisa certificar se essas informações que nós coletamos estão corretas, suas quantidades e variáveis.

Se necessário faça pesquisas, conheça sobre as variáveis, o que está analisando, consulte um especialista ou o próprio google.

A certificação dessas informações vai definir todo o sucesso do projeto, pois estamos atestando a qualidade dos dados e essa é a etapa no qual gastamos mais tempo.

Outro ponto a considerar é que nem sempre na análise exploratória você vai ver algum ponto explicito, e se não houver, não significa que não tem anomalia, de uma forma geral vamos detectar o que tiver de certa forma um pouco mais "gritante".

Outro nome a ser dado à esta etapa é DQR ou Data Quality Report, conclua com uma apresentação e valide com a área de negócio, caso não tenha domínio.

Até esse momento, selecionamos (junto com o time de negócios) as variáveis mais pertinentes para o projeto em questão e analisamos cada uma dessas variáveis de forma univariada, se houver necessidade e tempo é importante fazer uma análise bivariada ou multivariada.

Pois analisar alguns comportamentos de duas ou mais variéveis em conjunto pode trazer vários insights para seguimento do projeto.


Clique para Parte 2 - Transformação e Feature Engineering