Você está na página 1de 25

Análise dos dados da ANAC de

consumidores da aviação civíl


João Marcos Cipriani, Thiago Amorin, Tiago
Lopes
Índice

1 Introdução 2

2 Metodologia 2
2.1 Referencial Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Ciência de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 ETL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.3 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Resultados 10

4 Conclusões 24

5 Referências 25

1 INTRODUÇÃO
O modelo de avião comercial transformou‐de em um dos principais meios de transporte de
passageiros e cargas, quando se trata de médias distâncias. Governos e analistas apontam o setor
de transporte aéreo como estratégico para o país (Pasin e Lacerda, 2003). No brasil, que possui
grandes dimensões territoriais, o uso deste meio de transporte se destaca como elemento de
integração entre seus mais longínquos pontos. Sua importância pode ser mensurada devido as
proporções do mercado brasileiro, como o maior da américa latina, sendo responsável por cerca
de 3% do produto interno Bruto (PIB) (Araújo et al., 2006).

O setor de transporte aéreo brasileiro sofreu profundas mudanças ao longo do tempo,


principalmente em decorrência da liberalização do setor, (Soares de Mello et al., 2003), que
deram um novo tom à concorrência no segmento. A entrada no mercado da Gol Linhas Aéreas
Inteligentes, primeira companhia aérea LCC (Low Cost Carrier) da América Latina, em 2001,
acirrou ainda mais a concorrência (Evangelho et al., 2005). Para garantir sua competitividade, as
empresas aéreas viram‐se obrigadas a buscar um melhor aproveitamento dos seus recursos. Novas
transformações ocorreram em decorrência de problemas de infraestrutura física e operacional,
revelados pela ocorrência de graves acidentes nos anos de 2006 e 2007. O setor aéreo nacional
foi, então, colocado em cheque e vem aos poucos se recuperando desse período, marcado pela
insegurança e desconfiança.

Diante desse cenário, objetivo principal do projeto é utilizar os dados de 2021 para prever qual o
tempo ideal de resolução de cada categoria de problema. Com isso, as companhias aéreas possuirão
informações suficientes para aprimorar e redimensionar o seu atendimento, na busca de obter
melhores resultados nas avaliações dos clientes. O tempo de resolução ideal obtido deverá garantir
uma nota média para as empresas de no mínimo 3.

2 METODOLOGIA

EPS 7008 ‐ Gestão Estratégica da TI 2


2.1 REFERENCIAL TEÓRICO

2.1.1 CIÊNCIA DE DADOS

O termo Ciência de Dados, em inglês, Data Science, foi cunhado há, aproximadamente, 15 anos.
Os dados são um ativo crítico e a Ciência de Dados é o núcleo interdisciplinar que tem atraído cada
vez mais atenção e debate nas áreas de estatística, análise, computação, Ciências Sociais e outros
domínios e disciplinas científicas (CAO, 2016a).

Conforme afirmado por Cao (2016a) existem diferentes definições e interpretações, da Ciência de
Dados. Como campo científico, que desenvolve metodologias, teorias, tecnologias e aplicativos
relevantes para dados, desde a captura, criação, representação, armazenamento, pesquisa,
compartilhamento, privacidade, segurança, modelagem, análise, aprendizagem, apresentação e
visualização, até a integração de recursos complexos, heterogêneos e interdependentes para a
tomada de decisões em tempo real, colaboração, criação de valor e suporte à decisão.

Sobre a definição Ciência dos Dados, Cao (2017b) apresenta uma proposta que, de acordo com a
Figura 1, é centrada na transdisciplinaridade: “A ciência de dados é um novo campo transdisciplinar
que constrói e sintetiza várias disciplinas e corpos de conhecimento relevantes, incluindo estatística,
informática, computação, comunicação, gerenciamento e sociologia”.

Figura 1: CIÊNCIA DE DADOS

Wang também trabalhou o conceito de Ciência dos Dados por meio da exposição de diversos outros
conceitos elaborados por diferentes autores e de acordo com Wang (2018) “parece haver algum
consenso de que a ciência de dados é um campo interdisciplinar que diz respeito à identificação e

EPS 7008 ‐ Gestão Estratégica da TI 3


extração de padrões, convertendo dados em informação e conhecimento por meio de análise de
dados e mineração”.

Ainda se baseando em Wang (2018), que apresenta as contribuições de suma importância da Ciência
da Informação para a Ciência de ados como: Conceito de Dados, Controle de qualidade de dados,
Bibliotecário de dados e Teoria dos documentos.

2.1.2 ETL

Ambientes de Data Warehouse(DW) possibilitam a análise de volumes muito grandes de dados


que podem ser extraídos de diversas fontes. De uma forma geral os valores que são armazenados
na base de dados do DW não trazem informações sobre processos de uma única atividade, tendo
em vista que o seu principal propósito consiste no cruzamento e consolidação de várias bases de
informações que tratam de processos distintos. Na implantação do DW como grande armazém de
dados, o intuito passa a ser a estruturação de um repositório de dados responsável por ser a fonte
de informações para a tomada de decisão.

Segundo R. KIMBALL, os componentes que formam um DW completo são:

• Sistemas de Origem – sistemas onde se encontram as fontes de dados representam os locais


de onde são extraídos todos os valores que irão se integrar à base de dados. Data.

• Staging Area – essa é área que cria um ambiente intermediário de armazenamento e


processamento de dados oriundos de diversas aplicações e fontes atuando de forma
abrangente, desde o acesso à base dos dados nos sistemas de origem até a área de
apresentação. Todas as Regras de negócio regem as transformações e organizações
realizadas neste contexto. Geralmente, nessa área, os dados apresentam uma granularidade
fina, isto é, maiores detalhes possíveis sobre eles.

• Área de Apresentação de Dados – esta área responde pela interface onde o usuário
realiza consultas, gera relatórios e outras aplicações gerenciais de análise sobre os dados
devidamente organizados.

• Ferramenta de Acesso aos Dados – por meio de ferramentas de interação e visualização, os


dados consolidados se tornam acessíveis e visíveis aos usuários.

Um processo ETL concebido de maneira adequada realiza a extração de dados das mais diversas
fontes e tipos de valores, dos sistemas que são denominados como fonte de dados (Data Sources)
executando assim a primeira de sua importante tarefa. O objetivo deve estar sempre voltado
para dar a devida coerência e conformidade, sempre visando a sua adequabilidade às informações
associadas à futura apresentação da informação.

Pode‐se dividir o processo de ETL em três momentos: extração(extract), ransformação(transform)


e carregamento(load):

Como primeiro passo tem‐se a de extração na qual os dados brutos provenientes de diversos
sistemas de origem são usualmente carregados diretamente para a base do DW, como visto
na figura 2. A partir daí esses dados se apresentam com pouca reestruturação e por vezes são
epresentados de maneira incoerente, ou se sobrepõem ou se contradizem entre múltiplas fontes

EPS 7008 ‐ Gestão Estratégica da TI 4


de dados. Essa ocorrência se dá em razão das múltiplas e diversas fontes de dados que foram
desenvolvidas, implantadas e mantidas de maneira independente no intuito de atender a premência
específica de suas aplicações, até então, independentes. Por consequência, o resultado de tamanha
diversificação apresenta um alto grau de heterogeneidade, ou seja, valores que tratam de um
mesmo dado, porém são analisados de maneiras diferentes causando conflitos computacionais no
que se refere a erros sintáticos, estruturais e semânticos. Costumeiramente os dados estruturados
são extraídos em formato de arquivos e texto (TXT) ou em bancos relacionais.

Figura 2: EXTRAÇÃO DE DADOS DE DIFERENTES FONTES DE DADOS

A próxima etapa se trata da xtração, os valores, que neste instante estão no data staging area, são
submetidos ao passo de limpeza, isto é, as transformações dos incoerentes para dados confiáveis
(sujos e limpos respectivamente). Como “dados sujos” se entende que são aqueles que apresentam
erros ortográficos, redundantes em diferentes representações ou mesmo valores inválidos para
determinado tipo de dado. Em suma, a abordagem de limpeza trata diretamente do aumento da
qualidade dos dados.

As etapas da limpeza são:

• Elementarização – dentro do sub processo de limpeza de dados esta etapa distingue‐se


por infringir a separação dos dados em componentes distintos que receberão a alcunha de
“elementos”;

• Padronização – nesta etapa se apresenta a aplicação de formato padrão para cada elemento
previamente separado;

• Verificação – etapa que varre a base em busca de erros em cada elemento;

• Identificação – momento de detecção de elementos idênticos;

• House holding – como o próprio nome sugere trata da economia de dados, identificando
grupos de elementos que possuam características em comum;

EPS 7008 ‐ Gestão Estratégica da TI 5


• Documentação – trata da captura dos resultados dos passos anteriores no intuito da criação
de um dicionário de dados que facilite futuros exercícios de limpeza de dados;

E a última etapa é o carregamento, onde Integração de dados trata da estruturação dos dados
no esquema de, conciliando‐se as dimensões e buscando a padronização da tabela de fatos
(GONÇALVES, 2003). A integração deve ser feita para evitar‐se que um mesmo elemento em
tabelas diferentes tenha nomes distintos. Nesse momento os ados precisam estar na mesma
escala, ou nomenclatura. Na Figura 3 apresenta‐se um caso típico de integração de dados. O
caso mostra a integração de dados entre 5 aplicações diferentes, em cada uma dessas aplicações
o atributo “Sexo” é referido de uma forma, cabe a integração de dados definir qual deverá ser o
adrão de saída destes dados para o ambiente de DW, além de interpretar cada dado de origem.

Figura 3: INTEGRAÇÃO DE DADOS

2.1.3 MACHINE LEARNING

Sistemas de machine learning ou aprendizado de máquina são sistemas que aprendem a partir dos
dados e que deseja tomar decisão com a menor intervenção humana possível, uma opção muito
poderosa e muito utilizada do aprendizado de máquina cresceu exponencialmente por toda a ciência
da computação e outras áreas. Machine learning é usado em diferentes áreas, em pesquisa na web,
filtro de spam de e‐mails, sistemas de recomendação, anúncios, detecção de fraude, classificação
de imagens e muitos outras aplicações.

A aprendizagem é uma característica própria dos seres humanos. Graças a isso, enquanto executam
tarefas semelhantes, adquirem a capacidade de melhorar seu desempenho. Essa habilidade, quando
aplicada a sistemas computacionais, é chamada de aprendizado de máquina. (KONAR, 1999, p 788).

Para entender como o aprendizado e máquina gera conhecimento e aprende de padrões e dados,
precisamos entender sobre a hierarquia do aprendizado de sistema, que seria o processo de
indução, a forma de inferir lógica para obter conclusões genéricas sobre um conjunto particular de

EPS 7008 ‐ Gestão Estratégica da TI 6


exemplos. A indução é o recurso mais utilizado pelo cérebro humano para derivar conhecimento
novo. (MONARD; BARANAUSKAS, 2003) Para algum conceito ser aprendido na indução, gera‐se
várias hipóteses de conhecimento nos exemplos analisados, e essas hipóteses geradas podem
ou não ser algo verdadeiro. (CARVALHO et al., 2011) O processo de indução é algo que se
aplicado com o número baixo de dados, ou se as amostras não forem bem escolhidas e também
as variáveis/atributos dos dados, as hipóteses obtidas podem ser de pouco valor. Por isso, o
aprendizado de máquina precisa ter grandes volumes de amostras de dados para conseguir
aprender e retirar algo relevante para o problema que está sendo resolvido. E as variáveis nesse
conjunto de dados, tragam valor e gerem o maior número de hipóteses para o algoritmo aprender.
(CARVALHO et al., 2011).

2.1.3.1 Métodos Supervisionados O algoritmo preditivo ou supervisionado é uma função que, a


partir de conjuntos de dados já rotulados e conhecidos, constrói um modelo que consegue estimar
rótulos de novos dados. O rótulo é classe do dado ou atributo de saída. Se o domínio deste conjunto
de dados com valores nominais é considerado um classificador e caso seja um conjunto infinito e
ordenado de valores, tem um problema de regressão. Sendo através de um dado exemplo sem
rótulo, consegue identificar umas das possíveis classes ou valor real para dado. (CARVALHO et al.,
2011).

Os dados podem ser treinados como uma ou mais entradas chamadas de atributos de entrada e
na qual a saída chamada por classe desejada é conhecida. Por exemplo, pode ser o histórico do
streaming de filmes que uma pessoa use.

O algoritmo supervisionado busca através do espaço de hipóteses possíveis (classes) por aquele
que terá melhor desempenho para o dado, isso acontece também para conjuntos que não fazem
parte do conjunto de treinamento. Com um conjunto de testes de exemplos que são distintos
do conjunto de treinamento ou com novos exemplos com diferentes valores, podemos medir a
precisão de uma hipótese de um modelo gerado. Dizemos que uma hipótese generalizada bem se
prevê corretamente o valor de saída para novos exemplos. (NORVIG; RUSSELL, 2013).

2.1.3.2 Métodos não Supervisionados As tarefasdescritivas, ou não supervisionadas, procura


identificar informações relevantes em conjuntos de dados, auxiliar tomadas de decisões e
descobertas de padrões e onhecimentos nos dados. Não é necessário de um elemento externo
para guiar o aprendizado. Existem diferentes tipos de abordagem: sumarização, associação e
agrupamento. (CARVALHO et al., 2011).

Métodos supervisionados são apenas uma hipótese, dentro de todas as possibilidades possíveis,
o aprendizado não supervisionado tende a selecionar uma coleção inteira ou um agrupamento de
hipóteses. O agrupamento identifica grupos nos dados conforme suas similaridades. (NORVIG;
RUSSELL, 2013).

Nos dados de entrada não apresenta um ponto de saída, ponto de conclusão, não tem uma resposta
100% correta rotulada de saída. Cabe ao algoritmo descobrir semelhanças entre os dados e agrupá‐
los adequadamente. O objetivo é explorar os dados e encontrar alguma estrutura dentro deles.
O prendizado não‐supervisionado funciona bem com dados transacionais. Por exemplo, ele pode
identificar segmentos de clientes com atributos similares que podem, então, ser tratados de modo

EPS 7008 ‐ Gestão Estratégica da TI 7


igualmente em campanhas de marketing. Algoritmos populares utilizados incluem mapas auto
organizáveis, mapeamento por proximidade, agrupamento K‐means. Esses algoritmos também são
utilizados para segmentar tópicos de texto, recomendar itens e identificar pontos discrepantes nos
dados.

2.1.3.3 Random Forest O modelo de machine learning Random Forest é um algoritmo de


aprendizado de máquina utilizado para realizar predições. O algoritmo funciona como uma floresta,
criando de forma aleatória várias Árvores de Decisão e combina o resultado de todas elas para
chegar no resultado final. Por sua vez, árvores de decisão são estruturas de predição mais simples
que, de maneira geral, geram uma estrutura semelhante com uma árvore onde os ramos são os
diferentes “caminhos” que o algoritmo toma para chegar no valor previsto.

Uma das vantagens de usar o Random Forest retorna de maneira muito compreensiva a importância
atribuída para cada variável independente na hora de realizar as previsões. Com isso, é possível
medir o impacto de cada questão no resultado final. Entretanto, a desvantagem é que por ser um
algoritmo de aprendizado supervisionado, é preciso que seja fornecida uma variável resposta, ou
seja, uma única variável pode ser prevista.

Antes de tudo, como o Random Forest é um algoritmo de aprendizado supervisionado, é necessário


escolher uma variável a ser prevista, a variável dependente. No exemplo abaixo, a variável escolhida
foi a “Variável 1”, ou seja, essa será a variável que o algoritmo tentará prever.

O algoritmo criará aleatoriamente diversas árvores de decisão com as variáveis independentes


“Variável 2”, “Variável 3”, “Variável 4” e “Variável 5”, onde será escolhido através de testes estatísticos.
Cada nó representa uma condição a ser analisada para a tomada de decisão, e com cada condição
satisfeita ele fará sua previsão da variável dependente, a”Variável 1”.

O algoritmo escolherá aleatoriamente duas ou mais variáveis, e realizará os cálculos com base
nas amostras selecionadas, para definir qual dessas variáveis será utilizada no primeiro nó. Para
escolha da variável do próximo nó, novamente serão escolhidas duas ou mais variáveis, excluindo
as já selecionadas anteriormente, e o processo de escolha se repetirá. Desta forma a árvore será
construída até o último nó. A quantidade de variáveis a serem escolhidas pode ser definida na
criação do modelo.

O modelo random forest pode ser ilustrado de acordo com a figura 4.

2.1.3.4 Árvore de Decisão “Uma árvore de decisão representa uma função que toma como
entrada um vetor de valores de atributos e retorna uma”decisão” — um valor de saída único.”
(RUSSEL e NORVIG, 2014) É um algoritmo muito simples para a construção em cima de dados,
tem como base a estratégia de ser guloso de dividir para conquistar e sempre testar o atributo
mais importante em primeiro lugar, que vai ter maior diferença na classificação.

O modelo de árvore de decisão consiste na estratégia de dividir um problema complexo em


problemas mais simples, ao passo que a estratégia se repete recursivamente. Uma árvore de
decisão é um grafo acíclico, que não tem ligação com o próprio nó e pode seguir para um próximo
nó. Esta árvore é composta por nós, existem o nó de divisão e o nó folha. O nó de divisão tem
dois ou mais sucessores, contendo um teste condicional nos valores de um atributo para realizar

EPS 7008 ‐ Gestão Estratégica da TI 8


Figura 4: MODELO RANDOM FOREST

a divisão e dizer qual será o próximo nó dado um certo valor, exemplo: pode existir um nó com
teste condicional de idade, se a idade for maior que 18 é direcionado para um nó subsequente e
se for menor para outro nó subsequente. Já o nó folha é com o rótulo, com os valores das classes
do conjunto de dados, esse nó fica na ponta das árvores. (CARVALHO et al., 2011).

A representação da árvore se torna mais natural de entender para o ser humanos, pois são nós
encadeados com funções de decisão, então dado certo valor de entrada com seus atributos vai se
percorrendo a árvore pelos os nós, e em cada nó decidindo pelo atributo qual será o próximo nó,
até chegar no nó folha que terá o resultado desta entrada.

Em alguns problemas utilizando aprendizagem com árvore de decisão gera‐se árvores muito
grandes quando não se identificar algum padrão. A aprendizagem vai identificar os padrões que
estão apresentados nos dados, e ocorrer o problema de super adaptação (overfitting), e talvez
gerando nós redundantes e sem valor. (NORVIG; RUSSELL, 2013) Existe a técnica de poda, que
consiste em eliminar ruídos e o overfitting. Através de aprendizado genérico de uma hipótese
no conjunto de treinamento de forma a melhorar o desempenho da árvore, forma para reduzir
folhas redundantes e a profundidade da árvore gerada. Existem 2 formas a pré‐poda e pós‐poda,
a pré‐poda acontece durante a geração das hipóteses, alguns exemplos nos treinamentos serão
ignorados; e a pós‐poda criasse primeiramente as hipóteses no treinamento então é generalizando
as hipóteses e removendo partes, como o corte de alguns ramos em uma árvore de decisão.
(MONARD; BARANAUSKAS, 2003).

EPS 7008 ‐ Gestão Estratégica da TI 9


3 RESULTADOS
Para obtenção dos resultados esperados, iInicialmente fez‐se uma adequação do dataframe:

data <- read.csv ("DadosDoConsumidor2021.csv", sep= ";")


data <- data %>%
select(-DataAnálise, -HoraAnálise, -DataRecusa, -HoraRecusa,
-PrazoAnaliseGestor, -InteraçãoDoGestor, -EdiçãoDeConteúdo,
-AnáliseDaRecusa, -CódigoClassificadorANAC )
data$DataAbertura <- as.Date( data$DataAbertura, format="%d/%m/%Y" )
data$DataResposta <- as.Date( data$DataResposta, format="%d/%m/%Y" )
data$DataFinalização <- as.Date( data$DataFinalização, format="%d/%m/%Y" )
data$PrazoResposta <- as.Date( data$PrazoResposta, format="%d/%m/%Y" )

As primeira informações que podemos obter através da análise de dados são as chamadas totais
ocorridas mensalmente em um periodo anual. pela representação da figura 5 é possivel observar
uma sazonalidade de chamados, onde os meses finais do ano há uma quantidade muito maior de
ocorrências.

calls <- data %>%


group_by(MesAbertura) %>%
count() %>%
ggplot(aes(MesAbertura, n,label=n))+
geom_col(fill= "#17157D")+
geom_label()+
theme (axis.title.y = element_blank())+
xlab("Mês")+
scale_x_continuous(breaks = 1:12,
labels = c("Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set",
"Out","Nov","Dez"))
calls

EPS 7008 ‐ Gestão Estratégica da TI 10


42387
40000 39357
36366

30000 30765
25998
23808 23235
21183 21105
20000 19875
1922719521

10000

0
Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez
Mês

Figura 5: CHAMADOS POR MÊS

O grafico da figura 6 representa os canais de comunicação preferênciais para realização dos


chamados. É possivel notar a superioridade das escolhas dosusuários pelo método da plataforma,
cerca de web 99% das vezes.

ca_or <- data%>%


group_by(CanalDeOrigem) %>%
count()%>%
arrange(-n) %>%
ggplot((aes(reorder(CanalDeOrigem,-n),n,label=n)))+
geom_col(fill= "#32570B")+
geom_label()+
theme (axis.title.y = element_blank(),axis.title.x = element_blank())
ca_or

EPS 7008 ‐ Gestão Estratégica da TI 11


321585
3e+05

2e+05

1e+05

0e+00 900 342


Plataforma Web Plataforma Android Plataforma IOS

Figura 6: CANAL DE ORIGEM

fx_et <- data%>%


group_by(FaixaEtaria) %>%
count()%>%
arrange(-n) %>%
ggplot((aes(reorder(FaixaEtaria,n),n,label=n)))+
geom_col(fill= "#d5907f")+
geom_label()+
coord_flip()+
theme (axis.title.y = element_blank(), axis.title.x = element_blank())
fx_et

EPS 7008 ‐ Gestão Estratégica da TI 12


entre 31 a 40 anos 135417

entre 21 a 30 anos 70128

entre 41 a 50 anos 66042

entre 51 a 60 anos 29607

entre 61 a 70 anos 14988

mais de 70 anos 4680

até 20 anos 1965

0e+00 5e+04 1e+05

Figura 7: FAIXA ETARIA

Outro dado que podemos observar é a quantidades de aberturas de chamadas de acordo com a
faixa etária, que pela figura 7 os chamados ocorrem majoritariamente pela a faixa etaria de 31‐40
anos.

Uma relação explorada tambem foi a de chamadas de acordo com sexo do cliente, onde cerca de
56% das ocorrências foram feitas pelo sexo masculino, como representado pela figura 8.

genderf <- data%>% group_by(Sexo)%>% filter(Sexo== "F") %>% count()


genderm <- data%>% group_by(Sexo)%>% filter(Sexo== "M") %>% count()
gendero <- data%>% group_by(Sexo)%>% filter(Sexo== "O") %>% count()
gender = bind_rows(genderm, genderf,gendero)
chart<- gender %>%
ggplot(aes(x="",y=n,fill=Sexo))+
geom_bar(width = 1, stat = "identity")+ theme_void()

pie <- chart+ coord_polar("y", start=0) +


geom_text(aes(y = n / 2 + c(0,cumsum(n)[-length(n)]),
label = percent(n / sum(n),accuracy=0.01)), size = 7)
pie

EPS 7008 ‐ Gestão Estratégica da TI 13


0.04%
Sexo

44.06% F

55.90% M
O

Figura 8: CHAMADA DE ACORDO COM O SEXO

Outra informação extraida do banco de dados da ANAC foi a quantidade de reclamções de acordo
com a companhia aérea. Segundo a figura 9, a empresa GOL Linhas Aéreas foi a que obteve a maior
quantidade de chamados.

empr <- data%>%


count(NomeFantasia) %>%
slice_max(order_by = n, n = 10) %>%
mutate(NomeFantasia = forcats::fct_reorder(NomeFantasia, n)) %>%
ggplot() +
geom_col(
aes(y = NomeFantasia, x = n, fill = NomeFantasia),
show.legend = FALSE) +
theme (axis.title.y = element_blank(), axis.title.x = element_blank())
empr

EPS 7008 ‐ Gestão Estratégica da TI 14


Gol Linhas Aéreas

Latam Airlines (Tam)

Azul Linhas Aéreas

TAP Air Portugal

Itapemirim Transportes Aéreos

Alitalia

Iberia Lineas Aereas

Copa Airlines

Avianca − Voos internacionais

Aeromexico

0 25000 50000 75000 100000 125000

Figura 9: RECLAMAÇÕES POR EMPRESA

A maiorira dos atendimentos realizados não recebem nota, como é possivel observar pela figura
10, cerca de 40% dos chamados não receberam nota pelo consumidor em relação ao atendimento
fornecido .

rating <- data %>%


group_by(NotaDoConsumidor) %>%
count() %>%
arrange(-NotaDoConsumidor) %>%
ggplot((aes(reorder(NotaDoConsumidor, -NotaDoConsumidor),n,
label=n)))+
geom_col(fill= "#06557F")+
geom_label()+
theme (axis.title.y = element_blank(), axis.title.x = element_blank())
rating

EPS 7008 ‐ Gestão Estratégica da TI 15


133623

1e+05

70887 68451

5e+04

22245
17799
9822
0e+00

5 4 3 2 1 NA

Figura 10: AVALIAÇÕES

O tempo de atendimento dos chamados pelos clientes pode ser observado pelas curvas da figura
11, onde a curva preta representa a quantidade atendida de acordo com o tempo e a curva azul é
a tendêcia da distribuição da curva preta de modo acentuado.

time_resp <- data %>%


group_by(TempoResposta) %>%
count() %>%
ggplot(aes(TempoResposta, n,label=n))+
geom_line(fill= "#B46CB0")+
geom_label()+
theme (axis.title.y = element_blank())+
geom_smooth(se=FALSE)
time_resp

EPS 7008 ‐ Gestão Estratégica da TI 16


53577
50000

40000

30000 30783
29748 29796
28794
25239 24270
23667
21438 21993
20000

10000
6873
4032 4785447640235451
0 5 10 15
TempoResposta

Figura 11: TEMPO DE RESPOSTA

Em relação as notas dos clientes dividos por estado, segundo a figura 12, de maneira geral a média
das notas foi 4, com excessão dos estado do amazonas, Rio de Janeiro, Rio Grande do Sul, Santa
Catarina e São Paulo que obtiveram nota média igual a 3, alem do estado de Roraima que alcançou
média 5, entratanto foi observado que o estado de Roraima, em particular, não teve notas inferiores
a 2.

notas_UF <- data %>%


mutate(class = fct_reorder(UF, NotaDoConsumidor, .fun='length' )) %>%
ggplot(aes(x=UF, y= NotaDoConsumidor, fill=UF)) +
geom_boxplot() +
xlab("Estado") +
theme(legend.position="none") +
xlab("") +
xlab("")
notas_UF

EPS 7008 ‐ Gestão Estratégica da TI 17


5

4
NotaDoConsumidor

1
AC AL AMAP BA CE DF ESGOMAMGMSMT PA PB PE PI PR RJ RNRORRRSSC SE SP TO

Figura 12: NOTAS POR ESTADO

Para a realização dos teste dos modelos, inicialmente, definiu‐se os dados que serão utilizados
nos métodos de previsão. Neles foram incluídos: região, gestor, horários e datas de abertura
e finalização da reclamação, companhias aéreas, grupo problema, prazo de resposta, tempo de
resposta e nota do consumidor. A partir disso, foi filtrado pelas faixas etárias mais presentes no
banco de dados e plataforma mais utilizada, fazendo com que os modelos fossem otimizados. Além
disso, para atender ao objetivo filtrou‐se para analisar apenas as reclamações com notas iguais ou
maiores que 3.

notas <- c(5,4,3) #buscando prever o tempo de notas boas


idades <- c("entre 31 a 40 anos", "entre 21 a 30 anos", "entre 41 a 50 anos")

datah <- data %>%


mutate(HA=hour(strptime(HoraAbertura, '%H:%M:%S')))%>%
mutate(MA=minute(strptime(HoraAbertura,'%H:%M:%S')))%>%
mutate(SA=second(strptime(HoraAbertura,'%H:%M:%S')))%>%
mutate(HorarioAbertura= HA*60+MA+SA/60)%>%
mutate(HF=hour(strptime(HoraFinalizacao, '%H:%M:%S')))%>%
mutate(MF=minute(strptime(HoraFinalizacao,'%H:%M:%S')))%>%
mutate(SF=second(strptime(HoraFinalizacao,'%H:%M:%S')))%>%
mutate(HorarioFinalizacao = HF*60+MF+SF/60)

datadf <- datah %>%


tidyr::drop_na(TempoResposta)%>%

EPS 7008 ‐ Gestão Estratégica da TI 18


filter(NotaDoConsumidor == notas, FaixaEtaria == idades,
CanalDeOrigem == "Plataforma Web" ) %>%
select(Regiao, Gestor, HorarioAbertura, HorarioFinalizacao,
DataAbertura, DataFinalizacao, PrazoResposta, FaixaEtaria,
MesAbertura, NomeFantasia, GrupoProblema, TempoResposta,
NotaDoConsumidor) %>%
mutate(MesAbertura = factor(MesAbertura)) %>%
mutate(NotaDoConsumidor = factor(NotaDoConsumidor)) %>%
mutate_if(is.character, as.factor)

set.seed(1234)
datadf_split <- initial_split(datadf, strata=TempoResposta)

datadf_train <- training(datadf_split)


datadf_test <- testing(datadf_split)
datadf_fold <- vfold_cv(datadf_train)

datadf_rec <- recipe(TempoResposta ~ ., data = datadf_train) %>%


step_dummy(all_nominal()) %>%
step_impute_knn(TempoResposta) %>%
step_normalize(all_numeric())

datadf_wf <- workflow() %>%


add_recipe(datadf_rec)

lm_spec <- linear_reg() %>%


set_engine("lm")

lm_rs <- datadf_wf %>%


add_model(lm_spec) %>%
fit_resamples(resamples=datadf_fold,metrics=metric_set(rmse, rsq, mae),
control=control_resamples(save_pred=TRUE))

collect_metrics(lm_rs)%>%
kable(caption = "resultados Machine learning")

Tabela 1: RESULTADOS MACHINE LEARNING

.metric .estimator mean n std_err .config

mae standard 0.6135097 10 0.0052441 Preprocessor1_Model1


rmse standard 0.7741223 10 0.0054944 Preprocessor1_Model1

EPS 7008 ‐ Gestão Estratégica da TI 19


.metric .estimator mean n std_err .config

rsq standard 0.4019200 10 0.0072652 Preprocessor1_Model1

tree_spec <- decision_tree() %>%


set_engine("rpart") %>%
set_mode("regression")

tree_rs <- datadf_wf %>%


add_model(tree_spec) %>%
fit_resamples(resamples=datadf_fold,
metrics=metric_set(rmse, rsq, mae),
control=control_resamples(save_pred=TRUE))

collect_metrics(tree_rs)%>%
kable(caption = "resultados árvores de decisões")

Tabela 2: RESULTADOS ÁRVORES DE DECISÕES

.metric .estimator mean n std_err .config

mae standard 0.6009704 10 0.0043671 Preprocessor1_Model1


rmse standard 0.7734378 10 0.0051130 Preprocessor1_Model1
rsq standard 0.4018639 10 0.0070247 Preprocessor1_Model1

rf_spec <- rand_forest(trees=1000) %>%


set_engine("ranger") %>%
set_mode("regression")

rf_rs <- datadf_wf %>%


add_model(rf_spec) %>%
fit_resamples(resamples=datadf_fold,
metrics=metric_set(rmse, rsq, mae),
control=control_resamples(save_pred=TRUE))

collect_metrics(rf_rs)%>%
kable(caption = "resultados random forest")

Tabela 3: RESULTADOS RANDOM FOREST

.metric .estimator mean n std_err .config

mae standard 0.4459196 10 0.0047541 Preprocessor1_Model1

EPS 7008 ‐ Gestão Estratégica da TI 20


.metric .estimator mean n std_err .config

rmse standard 0.5989791 10 0.0068189 Preprocessor1_Model1


rsq standard 0.6644394 10 0.0090012 Preprocessor1_Model1

Resultado <- collect_metrics(lm_rs) %>%


mutate(modelo="lm") %>%
rbind(collect_metrics(tree_rs) %>%
mutate(modelo="tree")) %>%
rbind(collect_metrics(rf_rs) %>%
mutate(modelo="rf"))

Tabelaresultado <-Resultado %>%


select("modelo",".metric","mean","std_err") %>%
mutate(modelo = replace(modelo, modelo == "lm", "Regressão Linear")) %>%
mutate(modelo = replace(modelo, modelo == "tree","Árvore de Decisão")) %>%
mutate(modelo = replace(modelo, modelo == "rf", "Randon Forest")) %>%
mutate(.metric = replace(.metric , .metric == "mae", "MAE")) %>%
mutate(.metric = replace(.metric , .metric == "rmse", "RMSE")) %>%
mutate(.metric = replace(.metric , .metric == "rsq", "RSQ")) %>%
rename(Modelo = modelo) %>%
rename(Métrica = .metric) %>%
rename(Mean = mean) %>%
rename(Standard_error = std_err)

Graficoresultado <- Tabelaresultado %>%


ggplot(aes(Modelo, Mean, fill=Modelo))+
geom_col() +
facet_wrap(vars(Métrica
), scales = "free_y")+
scale_fill_viridis_d()+
theme(axis.title.y = element_blank(),
axis.title.x = element_blank(),
legend.position = "none",
axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))

Tabelaresultado%>%
kable(caption = "resultados total")

EPS 7008 ‐ Gestão Estratégica da TI 21


Tabela 4: RESULTADOS TOTAL

Modelo Métrica Mean Standard_error

Regressão Linear MAE 0.6135097 0.0052441


Regressão Linear RMSE 0.7741223 0.0054944
Regressão Linear RSQ 0.4019200 0.0072652
Árvore de Decisão MAE 0.6009704 0.0043671
Árvore de Decisão RMSE 0.7734378 0.0051130
Árvore de Decisão RSQ 0.4018639 0.0070247
Randon Forest MAE 0.4459196 0.0047541
Randon Forest RMSE 0.5989791 0.0068189
Randon Forest RSQ 0.6644394 0.0090012

Graficoresultado

MAE RMSE RSQ


0.8
0.6
0.6
0.6
0.4
0.4
0.4

0.2 0.2
0.2

0.0 0.0 0.0


Árvore de Decisão

Randon Forest

Regressão Linear

Árvore de Decisão

Randon Forest

Regressão Linear

Árvore de Decisão

Randon Forest

Regressão Linear

Figura 13: PARAMETROS DOS MODELOS

Diante do cenário exposto pelos resultados, através dos parametros descritos pela figura 13,
destaca‐se que o melhor resultado obtido foi pelo modelo de Random Forest, pois possui menor
MAE, menor RMSE e maior R2 quando comparado com os demais.

modelo_final <- datadf_wf %>%


add_model(rf_spec) %>%
last_fit(datadf_split)

EPS 7008 ‐ Gestão Estratégica da TI 22


Resultadofinal <- collect_metrics(modelo_final)

Tabelaresultadofinal <-Resultadofinal %>%


select(".metric",".estimate") %>%
mutate(.metric = replace(.metric , .metric == "rmse", "RMSE")) %>%
mutate(.metric = replace(.metric , .metric == "rsq", "RSQ")) %>%
rename(Métrica = .metric) %>%
rename(Estimativa = .estimate)
Tabelaresultadofinal%>%
kable(caption = "resultado final")

Tabela 5: RESULTADO FINAL

Métrica Estimativa

RMSE 0.6054770
RSQ 0.6547368

A partir do modelo funcionando corretamente de acordo com o objetivo preestabelecido, foi feita
a apresentação dos principais fatores que afetam nessa previsão. Onde ficou claro o peso relevante
que a companhia aérea possui, além disso também se destacam as variáveis de Data de Finalização,
Data de Abertura e o Prazo de resposta como apresentado a pela figura 14.

imp_spec <- rf_spec %>%


set_engine("ranger", importance = "permutation")

datadf_wf %>%
add_model(imp_spec) %>%
fit(datadf_train) %>%
pull_workflow_fit() %>%
vip(aesthetics = list(alpha = 0.8, fill = "green"))

EPS 7008 ‐ Gestão Estratégica da TI 23


NomeFantasia_Gol.Linhas.Aéreas

DataFinalizacao

DataAbertura

PrazoResposta

NomeFantasia_Azul.Linhas.Aéreas

NomeFantasia_Latam.Airlines..Tam.

HorarioAbertura

HorarioFinalizacao

NomeFantasia_TAP.Air.Portugal

MesAbertura_X2

0.0 0.2 0.4


Importance

Figura 14: PRINCIPAIS FATORES DECISIVOS

4 CONCLUSÕES
A partir da análise exploratória, podemos verificar que embora haja informações de 43 companhias,
a grande maioria das reclamações são referentes a Gol, Latam e Azul. Isso era esperado tendo em
vista que são as que possuem o maior volume de voos operando no Brasil.

Relacionad as Notas do Consumidor, verificou‐se que grande parte dos atendimentos não são
avaliados pelo consumidor. Os avaliados ficaram com notas mais concentradas em 5 ou 1, ou seja,
pode‐se inferir que os clientes sentiram‐se estimulados a avaliar mais quando houve um ótimo ou
péssimo atendimento. Logo, quando serviço prestado não despertou indignação e nem apreciação,
acredita‐se que muitos não avaliaram.

Também ressalta‐se que há certa sazonalidade nas reclamações, as quais são maiores no final do ano,
podendo ser culpa de uma maior demanda dos serviços de transporte aéreo nessa época de férias,
datas comemorativas e viagens de lazer e negócios. Logo, os canais de atendimento e resolução de
problemas tendem a variar consideravelmente ao longo do ano e dependo da região e companhia.

Diante dos resultados apresentados pelos modelos, pode‐se concluir que o modelo de machine
learning supervisionado criado com Randon Forest atingir o objetivo principal. Logo, o método
consegue realizar previsões do tempo de resposta que ajudam a garantir uma avaliação do
consumidor com nota 3 ou maior.

Por fim, ressalta‐se que seria benéfico alimentar o modelo com dados de outros anos para que seja
aprimorado e resulte em melhores previsões para cada uma das companhias.

EPS 7008 ‐ Gestão Estratégica da TI 24


5 REFERÊNCIAS
ARAÚjO, A. H., AVELAR, J. V. G., MILIOLI, A. Z. e MARINS, F. A. S., Eficiência e Desempenho do
Transporte Aéreo Regional Brasileiro, SPOLM, 2006.

CARVALHO, André et al. Inteligência Artificial: Uma abordagem de Aprendizado de Máquina. Rio
de Janeiro: Ltc, 2011.

EVANGELHO, F., HUSE, C. e LINHARES, A., Market entry of a low cost airline and impacts on the
Brazilian business travelers, Journal of Air Transport Management, 11, 99‐105. 2005.

GONÇALVES M. EXTRAÇÃO DE DADOS PARA DATA WAREHOUSE, Rio de Janeiro: AXCEL


BOOKS, 2003.

KIMBALL R., REEVES L., ROOS M. e THORNTHWAITE W., THE DATA WAREHOUSE LIFECYCLE
TOOLKIT, New York, USA: JOHN WILEY & SONS, 1998.

MONARD, Maria Carolina; BARANAUSKAS, José Augusto. Conceitos sobre Aprendizado de


Máquina. In: MONARD, Maria Carolina; BARANAUSKAS, José Augusto. Sistemas Inteligentes
Fundamentos e Aplicações. Barueri, Sp: Manole Ltda, 2003. p. 39‐56. Acesso em: 25 abr. 2019.

PASIN, J. A. B., LACERDA, S. M., A Reestruturação do Setor Aéreo e as Alternativas de Política para
a Aviação Civil no Brasil. Revista do BNDES, Rio de Janeiro, v.10, n. 19, junho 2003.

NORVIG, Peter; RUSSELL, Stuart. Inteligência artificial: Tradução da 3a Edição. 3. ed. Rio de
Janeiro: Elsevier Editora, 2013.

SOARES de Mello, J. C. C. B., ANGULO‐Meza, L., GOMES, E. G., SERAPIÃO, B. P. e Lins, M. P. E.,
Análise de envoltória de dados no estudo da eficiência e dos benchmarks para companhias aéreas
brasileiras, Pesquisa Operacional, 23(2), 325‐345. 2003

EPS 7008 ‐ Gestão Estratégica da TI 25

Você também pode gostar