Você está na página 1de 7

Relatório do desenvolvimento do modelo de regressão para os

dados transbyshop

Dados de entrada
Os dados são obtidos a partir de dois arquivos. Um arquivo csv que contém os
seguintes campos para venda:
 Fornecedor
 Descrição
 Categoria
 Data de venda
 Quantidade de vendas
 Preço de vendas

FORNECEDOR DESCRIC CATEGO DA VENDA PRECO


AO_SEC RIA TA _NO_M _NO_M
AO ES ES
MARISOL INDUSTRIA DO INFANTIL ACESSOR 201 474 19,48636
VESTUARIO LTDA FEMININ IO DE 1/1 364
O CABELO 0
MARISOL INDUSTRIA DO INFANTIL ACESSOR 201 259 16,93888
VESTUARIO LTDA FEMININ IO DE 1/1 889
O CABELO 1
MARISOL INDUSTRIA DO INFANTIL ACESSOR 201 155 15,31661
VESTUARIO LTDA FEMININ IO DE 1/1 538
O CABELO 2
MARISOL INDUSTRIA DO INFANTIL ACESSOR 201 35 16,92642
VESTUARIO LTDA FEMININ IO DE 1/7 857
O CABELO
MARISOL INDUSTRIA DO INFANTIL ACESSOR 201 70 25,57130
VESTUARIO LTDA FEMININ IO DE 1/8 435
O CABELO
Exemplo do arquivo de vendas mensais

FORNECEDOR DESCR CATEG DATA QUANTIDA PRECO_


ICAO ORIA _PED DE_ITENS_ MEDIO_C
IDO PEDIDOS OMPRA
ABC CONFECCOES FEMIN BODY 2014/ 322 5
LTDA – ME INA 10
ABC CONFECCOES MASC CAMISE 2014/ 770 10,58
LTDA – ME ULINA TA 10
ABC CONFECCOES MASC CAMISE 2014/ 320 10,5133333
LTDA – ME ULINA TA 11 3
ABC CONFECCOES MASC CAMISE 2014/ 2600 14,3025
LTDA – ME ULINA TA 9
AGF NUNES FEMIN BODY 2012/ 6 33,91
INA 3
Exemplo do arquivo de compras mensais

O outro arquivo csv contém esses mesmos respectivos valores para compras. Com
esses dados, criamos diferentes scripts para manipulá-los e agrupá-los de acordo com as
necessidades. A partir desses dados agrupados eram gerados arquivos csvs que seriam
utilizados como entrada de dados no Octave para geração de features.
As features criadas foram:

 Vendas dos 18 meses anteriores


 Log das vendas dos 18 meses anteriores
 Multiplicação da Venda pelo preço dos 18 meses anteriores
 Compras dos 18 meses anteriores
 Total de vendas dos 18 meses anteriores
 Venda por Compra dos 18 meses anteriores
 Indice de volume de vendas do varejo (INV) dos 18 meses anteriores
 Venda pelo INV dos 18 meses anteriores
 Venda menos venda de seu mês anterior relativo aos 17 meses anteriores da data
atual
 Venda por venda de seu mês anterior relativo aos 17 meses anteriores da data atual
 Venda pela venda de mesmo período do ano passado
 Desvio padrão dos 2 últimos meses
 Média aritmética dos 2 últimos meses
 Média geométrica dos 2 últimos meses
 Média harmônica dos 2 últimos meses
 Média aritmética móvel de 6 meses dos 13 possíveis períodos anteriores
 Média geométrica móvel de 6 meses dos 13 possíveis períodos anteriores
 Média harmônica móvel de 6 meses dos 13 possíveis períodos anteriores
 Exponencial da Divisão entre Venda da categoria total de vendas no mesmo mês
dos 18 últimos meses
 Proporção de ouro elevado a ((Subtração de um mês pelo seu anterior) dividido
pelo total de vendas deste Mês) dos últimos 17 meses
 Proporção de ouro elevado ao ln das 18 últimas vendas
 Cosseno hiperbólico das 18 últimas vendas
 Cálculo do: (Cosseno hiperbólico (vendas anteriores dividido pelo total de
vendas) multiplicado pelo eneperiano elevado as vendas anteriores dividido pelo
total de vendas) elevado a um sobre as vendas
 Mês
 Fornecedor
 Descrição
 Categoria

Agrupamento de dados
Para realizar os testes no Weka foram definidas diferentes formas de agrupar os
dados para criar um modelo de previsão de vendas mais eficiente. Os principais
agrupamentos foram os de categorias por fornecedor e os de categorias com maior
faturamento. Neste último agrupamento foram escolhidas as seguintes categorias que
totalizam cerca de 90% do faturamento:
 Calça Feminina
 Short Feminino
 Bermuda Feminina
 Blusa Feminina
 Bermuda Masculina
 Vestido Feminina
 Calça Masculina
 Camisa Masculina
 Saia Feminina
 Conjunto Infantil Feminino
 Conjunto Infantil Masculino

Criação do modelo
Para realizar os testes no Weka os arquivos arff eram gerados a partir de um script
que convertia os arquivos csvs com as features criadas no octave. Pra cada agrupamento
era gerado um arquivo com os dados de determinada categoria e um arquivo que
englobava todas as instâncias. Isso foi feito para verificar qual seria a melhor estretégia
para construir um modelo de previsão mais eficiente: um modelo geral treinado com todas
as instâncias, um modelo específico por categoria ou até mesmo utilizar ambos. Além
disso, os algoritmos testados serão os de Regressão Linear, M5P, Random Forest e
SMOReg.
As features foram escolhidas através de um algoritmo de seleção de atributos do
Weka, o Correlation-based Feature Subset Selection for Machine Learning, juntamente
com algumas outras features que nós decidimos inserir devido a análise dos dados. As
features seleciondas foram:
 Vendas dos 18 meses anteriores:
 VendaAnterior12
 VendaAnterior1

 Log das vendas dos 18 meses anteriores


 LogVendaAnterior12
 LogVendaAnterior1

 Multiplicação da Venda pelo preço dos 18 meses anteriores


 MultVendaPrecoAnterior12
 MultVendaPrecoAnterior1

 Compras dos 18 meses anteriores


 CompraAnterior12
 CompraAnterior1

 Total de vendas dos 18 meses anteriores


 TotalVendaAnterior12
 TotalVendaAnterior1

 Venda por Compra dos 18 meses anteriores


 DivVendaAnterior12CompraAnterior12
 DivVendaAnterior1CompraAnterior1

 Indice de volume de varejo (INV) dos 18 meses anteriores


 IndexVolumeRetailAnterior12
 IndexVolumeRetailAnterior11
 IndexVolumeRetailAnterior10
 IndexVolumeRetailAnterior9
 IndexVolumeRetailAnterior8
 IndexVolumeRetailAnterior7
 IndexVolumeRetailAnterior6
 IndexVolumeRetailAnterior5
 IndexVolumeRetailAnterior4
 IndexVolumeRetailAnterior3
 IndexVolumeRetailAnterior2
 IndexVolumeRetailAnterior1

 Venda pelo INV dos 18 meses anteriores


 MultIndexVolumeRetailAnterior11VendaAnterior11
 MultIndexVolumeRetailAnterior1VendaAnterior1

 Venda menos venda de seu mês anterior relativo aos 17 meses anteriores da data
atual
 SubVendaAnterior11VendaAnterior12
 SubVendaAnterior1VendaAnterior2

 Venda por venda de seu mês anterior relativo aos 17 meses anteriores da data atual
 DivVendaAnterior11VendaAnterior12
 DivVendaAnterior1VendaAnterior2

 Venda pela venda de mesmo período do ano passado


 DivVendaAnterior1VendaAnterior13

 Desvio padrão dos 2 últimos meses


 DesvioPadrao2VendasAnteriores

 Média aritmética dos 2 últimos meses


 MediaAritmetica2VendasAnteriores

 Média geométrica dos 2 últimos meses


 MediaGeometrica2VendasAnteriores

 Média harmônica dos 2 últimos meses


 MediaHarmonica2VendasAnteriores

 Média aritmética móvel de 6 meses dos 13 possíveis períodos anteriores


 MediaAritmeticaMovel6mesesAte1Anterior
 Média geométrica móvel de 6 meses dos 13 possíveis períodos anteriores
 MediaGeometricaMovel6mesesAte1Anterior

 Média harmônica móvel de 6 meses dos 13 possíveis períodos anteriores


 MediaHarmonicaMovel6mesesAte3Anterior

 Exponencial da Divisão entre Venda da categoria total de vendas no mesmo mês dos
18 últimos meses
 ExpDivVendaAnterior18_TotalVendas18
 ExpDivVendaAnterior17_TotalVendas17
 ExpDivVendaAnterior16_TotalVendas16
 ExpDivVendaAnterior15_TotalVendas15
 ExpDivVendaAnterior14_TotalVendas14
 ExpDivVendaAnterior13_TotalVendas13
 ExpDivVendaAnterior12_TotalVendas12
 ExpDivVendaAnterior11_TotalVendas11
 ExpDivVendaAnterior10_TotalVendas10
 ExpDivVendaAnterior9_TotalVendas9
 ExpDivVendaAnterior8_TotalVendas8
 ExpDivVendaAnterior7_TotalVendas7
 ExpDivVendaAnterior6_TotalVendas6
 ExpDivVendaAnterior5_TotalVendas5
 ExpDivVendaAnterior4_TotalVendas4
 ExpDivVendaAnterior3_TotalVendas3
 ExpDivVendaAnterior2_TotalVendas2
 ExpDivVendaAnterior1_TotalVendas1

 Proporção de ouro elevado a ((Subtração de um mês pelo seu anterior) dividido pelo
total de vendas deste Mês) dos últimos 17 meses
 PowRa_Div_SubVendaAnterior17VendaAnterior18_TotalVenda17
 PowRa_Div_SubVendaAnterior16VendaAnterior17_TotalVenda16
 PowRa_Div_SubVendaAnterior15VendaAnterior16_TotalVenda15
 PowRa_Div_SubVendaAnterior14VendaAnterior15_TotalVenda14
 PowRa_Div_SubVendaAnterior13VendaAnterior14_TotalVenda13
 PowRa_Div_SubVendaAnterior12VendaAnterior13_TotalVenda12
 PowRa_Div_SubVendaAnterior11VendaAnterior12_TotalVenda11
 PowRa_Div_SubVendaAnterior10VendaAnterior11_TotalVenda10
 PowRa_Div_SubVendaAnterior9VendaAnterior10_TotalVenda9
 PowRa_Div_SubVendaAnterior8VendaAnterior9_TotalVenda8
 PowRa_Div_SubVendaAnterior7VendaAnterior8_TotalVenda7
 PowRa_Div_SubVendaAnterior6VendaAnterior7_TotalVenda6
 PowRa_Div_SubVendaAnterior5VendaAnterior6_TotalVenda5
 PowRa_Div_SubVendaAnterior4VendaAnterior5_TotalVenda4
 PowRa_Div_SubVendaAnterior3VendaAnterior4_TotalVenda3
 PowRa_Div_SubVendaAnterior2VendaAnterior3_TotalVenda2
 PowRa_Div_SubVendaAnterior1VendaAnterior2_TotalVenda1

 Proporção de ouro elevado ao ln das 18 últimas vendas


 PowRa_LnVendaAnterior18
 PowRa_LnVendaAnterior17
 PowRa_LnVendaAnterior16
 PowRa_LnVendaAnterior15
 PowRa_LnVendaAnterior14
 PowRa_LnVendaAnterior13
 PowRa_LnVendaAnterior12
 PowRa_LnVendaAnterior11
 PowRa_LnVendaAnterior10
 PowRa_LnVendaAnterior9
 PowRa_LnVendaAnterior8
 PowRa_LnVendaAnterior7
 PowRa_LnVendaAnterior6
 PowRa_LnVendaAnterior5
 PowRa_LnVendaAnterior4
 PowRa_LnVendaAnterior3
 PowRa_LnVendaAnterior2
 PowRa_LnVendaAnterior1

 Mês (12 atributos)


 Fornecedor (80 atributos)
 Descrição (9 atributos)
 Categoria (112 atributos)

Categorias por fornecedor


Para criação de um modelo geral, todas as instâncias de todas categorias foram
colocadas em um único arquivo arff que ficou com um total de 22185 instâncias. Os
resultados com cada algoritmo estão listados a seguir:

Algorithm Correlation Mean Root Mean Relative Root Relative


Coeficient Absolute Squared Absolute Squared
Error Error Error Error
Linear 0,8474 32 108,0482 42,1771 53,1971
Regression
Random 0,8652 24 102,2521 31,5032 50,3434
Forest
M5P 0,4856 27,1785 306,2205 36,0677 150,7664

Categorias de maior faturamento


Para criação de um modelo geral, todas as instâncias das 12 categorias de maior
faturamento foram colocadas em um único arquivo arff que ficou com um total de 6827
instâncias. Os resultados com cada algoritmo estão listados a seguir:
Algoritmo Correlation Mean Root mean Relative Root
coefficient absolute squared absolute relative
error error error squared
error
Linear 0,8449 77,8422 184,4586 41,83% 53,60%
Regression
Random 0,8585 62,6288 177,2752 33,65% 51,52%
Forest
M5P 0,8429 64,4918 185,5686 34,6534 53,9255

Além disso, foi feito um modelo geral para as categorias restantes. Foi obtido o
seguinte resultado:
Algoritmo Correlation Mean Root mean Relative Root relative
coefficient absolute squared absolute squared error
error error error
Linear 0,7057 10,2819 39,8592 64,20% 71,93%
Regression
Random 0,7467 7,1756 37,1113 44,80% 66,97%
Forest
M5P 0,6794 7,9266 41,3839 49,49% 74,68%

Avaliação
A partir dos testes realizados, foi feita a análise dos indicadores mostrados pelo
Weka. Pra cada algoritmo, foi levado em consideração o coeficiente de correlação, o erro
médio absoluto, a raiz quadrada do erro médio absoluto, o erro relativo absoluto e a raiz
quadrada do erro relativo absoluto.
O coeficiente de correlação permite verificar o grau de correlação entre os
atributos X e o resultado Y. Seu cálculo basicamente consiste em identificar o ângulo
formado pelos vetores X e Y. Dessa forma, quanto mais próximo de 1, mais forte é a
correlação existente.
O erro médio absoluto é basicamente a média de erros calculada através da
somatória da diferença entre o valor previsto e o real. Já a raiz quadrada do erro médio
absoluto é calculado através do quadrado da diferença entre o previsto e o real divido pela
quantidade de instâncias e tirando sua raiz. Ambos são uma boa maneira de avaliar o
quanto o modelo está errando no geral.
O erro médio relativo e a raiz quadrada do erro médio relativo informa o quanto
os valores previstos diferem dos valores reais.

Conclusão
Com base nos dados coletados nos testes dos algoritmos, o modelo com os
melhores resultados é o do Random Forest treinado com as categorias por fornecedor.