quero fazer uma projeção de vendas e quero usar a regressão linear, mas eu quero fazer um calculo e chegando no faturamento futuro.
quero fazer uma projeção de vendas e quero usar a regressão linear, mas eu quero fazer um calculo e chegando no faturamento futuro.
Olá, Adeilton, tudo bem?
Desde já peço desculpas pela demora em obter um retorno.
Você pode utilizar o pacotepickle
para salvar o modelo treinado e usá-lo posteriormente. Para realizar isso, é necessário treinar um modelo de regressão linear utilizando os dados históricos de vendas como referência.
O código ficaria mais ou menos assim:
# Treinando o modelo
from sklearn.linear_model import LinearRegression
X = dados_historicos[['dia', 'mes', 'estoque']] # variáveis de entrada
y = dados_historicos['vendas'] # variável a ser prevista
modelo = LinearRegression().fit(X, y)
Após salvar o modelo e carregá-lo. Você poderá usar o predict
:
# Realizando a previsão para um dia específico
dia = 15
mes = 7
estoque = 100
entrada = [[dia, mes, estoque]]
print('Previsão de vendas: {0:.2f}'.format(lm_new.predict(entrada)[0]))
É importante lembrar que a regressão linear faz suposições sobre os dados, então é sempre uma boa ideia verificar se essas suposições são atendidas e se o modelo faz boas previsões com os dados históricos antes de usá-lo para fazer previsões futuras.
Espero ter ajudado.
Caso surja alguma dúvida, não hesite em compartilhar no fórum.
Abraços e bons estudos!
Muito Obrigado, Monalisa!
aproveitando a sua boa vontade, mais uma duvida, é que eu queria tipo, suponhamos que temos dados até o final de setembro-23, eu queria chegar no primeiro dia do Mês ter uma projeção de cada dia, ou seja sempre conseguir enxergar os próximos 30 dias. Consegue me dar um caminho? porque eu iria salvar isso em um dataframe e jogar banco de dados, para nosso Power BI ir acompanhando.
Olá Adeilton,
Para projetar vendas para os próximos 30 dias com o modelo de regressão linear que você treinou, siga estes passos:
import pandas as pd
from datetime import datetime, timedelta
data_inicial = datetime(2023, 9, 30)
data_final = data_inicial + timedelta(days=30) # Data final dos próximos 30 dias
datas_futuras = pd.date_range(start=data_inicial, end=data_final, freq='D')
previsoes = []
for data in datas_futuras:
dia = data.day
mes = data.month
estoque = ... # Preencha com o valor do estoque para esse dia, se aplicável
entrada = [[dia, mes, estoque]]
previsao = modelo.predict(entrada)
previsoes.append([data, previsao[0]])
Agora, você possui uma lista chamada previsoes
que contém as datas futuras e as previsões de vendas para cada dia. Transforme essa lista em um DataFrame e, em seguida, você pode armazená-lo em um banco de dados.
Lembre-se de os códigos acima é apenas um caminho, será necessário adaptações específicas ao seu projeto.
Espero ter ajudado.
Abraços e bons estudos!