Você está na página 1de 11

UNIVERSIDADE FEDERAL DO CEARÁ

CENTRO DE ECONOMIA
DEPARTAMENTO DE ECONOMIA

Trabalho Empírico II
Organização Industrial II

Fortaleza | Ceará
2023

Ana Elissa Aceiro, Giovanna Lameu, Luís Haroldo e João Victor Pinheiro.
II Trabalho empírico de OI2 (ago 2023)
*Entrega no dia 23 de novembro, por e-mail (srgdesouz@gmail.com)

Considere os dados sobre imóveis disponíveis no Sigaa UFC em formato csv intitulado
“base_cidades_aluguel_interacoes.csv”

a) (2,5 pontos) Estime modelo de previsão usando MQO. Comente resultados.

O código inicial para fazer os splits em treino/teste para a cross-validation do estudo foi
feito de acordo com o visto em aula (já alterando o aluguel para o seu valor em logaritmo):

Já para construir o modelo do MQO, conseguimos obter ele com o seguinte código que
retorna o seguinte summary apenas com os resultados obtidos para análise descritiva:
Com um R² que nos mostra que 55% da variância no log de aluguel é respondida pelas
features selecionadas, temos um resultado interessante junto com a significância estatística
a menos de 1% em todas as variáveis (menos a variável quartos.banheiro). Logo em um
modelo de natureza explicativa/descritiva, este é um modelo que pode ser interessante,
entretanto, esses foram os resultados obtidos apenas no treino e além disso a interpretação
vista agora não foi de natureza preditiva, que é o almejado pelo estudo. Ao tentar utilizar
esse modelo para previsão, obtemos os seguintes resultados utilizando o Erro Quadrático
Médio (MSE) e Erro Percentual Médio Absoluto (MAPE), que são medidas comumente
utilizadas para avaliação de modelos de previsão:

Logo, com esses resultados, com a transformação do valor de aluguel em log transformou o
resultado do MSE como um número de difícil comparação caso tenhamos modelos mais
precisos, o MAPE se torna mais “visível” na hora de avaliar e escolher qual o melhor. Dessa
forma, temos um erro médio absoluto de 2,56% (ou uma precisão de 97,44%). Como na
versão logarítmica perdemos um pouco a mensuração real da falta de precisão que temos
(pois não temos uma ótima interpretabilidade ao analisar variação em 0,0042 em um log de
aluguel), retirar o log para o resto do estudo pode vir a calhar, mas vale ressaltar a alteração
dos resultados, que ao deixarmos de utilizar logaritmo retornou as seguintes métricas:

Ou seja, estamos errando 5,30% no valor absoluto do aluguel e esse erro quadrático é como
se errássemos 268,62 para cada 1000 reais de aluguel (lembrando que é ao quadrado esse
valor). Como as métricas apresentam resultados consideráveis, ao observar o ótimo
desempenho no treino e um resultado “bom” no teste, existe a possibilidade de não
estarmos sofrendo fortemente de underfitting ou overfitting.

b) (2,5 pontos )Estime modelo de previsão usando Ridge. Comente resultados.

No caso do modelo Ridge, temos um coeficiente de “penalidade” em que reduz o impacto


de variáveis redundantes ou que não trazem grande valor para a precisão do modelo, ao
escrever o seguinte código, obtivemos também as seguintes métricas respectivamente:
Como estamos utilizando um modelo com foco em previsão, a estimação dos coeficientes e
sua significância se torna menos relevante do que as próprias métricas de erro. No caso do
modelo de Ridge em ambas as métricas quando colocamos nosso valor de alpha em 0 (como
visto no código), entretanto, ao alterar o mesmo para 0.1, temos uma melhora em
comparação ao modelo de Ridge inicial, mas não em comparação ao modelo de regressão
simples

Isso pode ser explicado pois nesse ponto não estamos tão próximos do valor que minimiza o
erro como o desejado, o gráfico abaixo mostra o desempenho que teríamos ao ajustar o
hiperparâmetro da penalidade de acordo com quanto aumentamos esse valor.
c) (2,5 pontos ) Estime modelo de previsão usando Lasso. Comente resultados.

Como aumentar o valor do hiperparâmetro da “penalidade” de Ridge pode melhorar o


nosso modelo como visto anteriormente, o modelo de Lasso se torna útil pois a penalidade
dele é ainda mais forte do que a de Ridge pois ele ainda ajuda na feature selecion pois ele
consegue reduzir para zero o quanto uma variável influencia nas previsões, dessa forma, o
valor de alpha na equação do modelo de ridge que antes foi 0 e 0,1 agora se torna em 1 ou
maior para poder penalizar ainda mais as variáveis redundantes ou que pouco influenciam
na previsão real, dessa forma, o modelo foi construído da seguinte forma e resultando nos
resultados seguintes respectivamente:
Mesmo que os resultados obtidos nos coeficientes não sejam o maior interesse para os
modelos de previsão, eles evidenciam a penalidade utilizada no modelo de Lasso, pois ele
reduziu eles até chegar à zero de forma que a redução na dimensionalidade desse modelo
se torne útil para criações de novos modelos utilizando apenas essas variáveis.

Entretanto com os resultados das métricas piorando em relação ao modelo de MQO, ao


reduzir o número de variáveis podemos estar obtendo evidências de que o principal
problema na previsão está sendo a falta de variância (underfitting pois no treino e teste
estamos fracos), então adicionar variáveis ou aumentar o grau de de variância delas (tornar
ao quadrado algumas) pode incrementar os nossos resultados. Para terminar a parte do
modelo de Lasso, foi aumentado o valor do hiperparâmetro de penalidade para poder
verificar o que ocorreria e os resultados foram os seguintes:

Ou seja, observamos alterações no MSE, no MAPE e no número de variáveis que foi


reduzido, entretanto, essas variações não reduziram nossos erros de previsão, ou seja,
aumentar o peso da penalidade não está realmente sendo suficiente para melhorar os
modelos.

d) (1 ponto) Qual o melhor modelo? Justifique.

Como não foram encontrados resultados que diminuíssem o erro obtido no modelo do
MQO, até o ponto que foi mostrado no trabalho ele se mantém como o modelo mais
preciso. Entretanto, vale ressaltar que no código visto em sala, o split treino teste feito no
MQO e o feito nos modelos Ridge e Lasso são diferentes. Enquanto o primeiro é focado na
divisão 80-20 de forma aleatória, nos outros modelos utilizamos a k-fold cross-validation.
Enquanto na normal aleatorizamos a posição dos dados e apenas separamos em 80% para
Treinamento (obtenção da escolha dos parâmetros dos estimadores) e 20% para o Teste, no
k-fold temos uma aleatorização dos dados junto com separações em secções que evitam o
data leakage e aumentam ainda mais a aleatorização da amostragem para treinamento,
obtendo um processo semelhante à seguinte imagem:
Logo, observa-se que os resultados da k-fold é uma média de múltiplas separações
aleatórias dos dados que em cada “step” da imagem existe uma aleatorização feita igual a
vista no modelo MQO, logo, se a ordenação dos dados na CV normal do 80-20 no MQO foi
uma sortuda e na k-fold evitamos que isso ocorra, tentar reaplicar outra 80-20 CV no MQO
ou uma k-fold nele também torna nossos resultados mais próximos da realidade ou mais
justificáveis. Após alterar a seed de aleatoriedade de ordenação dos dados, obtivemos o
seguinte resultado:

Ou seja, ele continua sendo o melhor mesmo após isso, como não foi possível obter uma
estruturação no código que permitisse a k-fold CV no mqo por limitação em conhecimento
em R pela equipe, infelizmente esses resultados terão que ser os aceitos.

e) (1,5 ponto) Tente melhorar previsão por meio de outras formas funcionais para
variáveis explicativas (dica: use potências de ordem mais elevada, logs, modelo elastic-net
etc.)
Com o provável problema de underfitting, foi tentado utilizar equilíbrios de valores da
penalidade de Lasso e Ridge entre os valores de 0 e 1 com incremento de 0,1 para cada
tentativa, sendo o melhor resultado obtido o da seguinte formulação:

Com isso observamos uma redução em relação a ambos os modelos iniciais de Lasso e Ridge
vistos anteriormente, mas não um resultado melhor do que o MQO.
Mas como tivemos as estimativas de quartos, banheiros e vagas, tentaremos colocar elas ao
quadrado e ao cubo para poder aumentar a variância mas ao adicionar mais variáveis
utilizando esse novo modelo conseguimos:

Um resultado pior que o anterior e ao tentar utilizar no MQO os mesmos dados já que ele
era o melhor modelo, o resultado obtido foi:

Dessa forma não foi possível o desenvolvimento de modelos mais precisos.

Você também pode gostar