Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

comparação em DataFrame

Nesse codigo:

sem_outliers = df_prophet[(df_prophet['y'] > previsao['yhat_lower']) & (df_prophet['y'] < previsao['yhat_upper'])]

São usados dois dataframes para comparar os dados. previsao e df_prophet. A comparação é feita agrupando pela coluna "ds", porem isso não é informado. Em nenhum local é dito que o codigo deve procurar linhas cuja valor de "y" esteja entre os dois outros valores, "'yhat_lower" e "yhat_upper", comparando na igualdade de "ds".

Ja vi isso em outros códigos, mas nunca entendi. Como o código sabe que deve usar a coluna "ds" como referencia????

3 respostas
solução!

Olá, Ceilton! Como vai?

O código não especifica explicitamente que a coluna "ds" deve ser usada para garantir a ordem dos dataframes. Mas, a garantia de que os dataframes estejam na mesma ordem com base na coluna "ds" vem do próprio funcionamento do Prophet.

Vou passar mais detalhes sobre como isso acontece logo abaixo:

df_prophet: O dataframe df_prophet é o dataframe original que contém os dados da série temporal. A coluna "ds" representa a data de cada observação, e a ordem das linhas nesse dataframe é cronológica, ou seja, as datas estão em ordem crescente.

modelo.fit(df_prophet): Quando você usa o método fit do Prophet, ele recebe o dataframe df_prophet e o usa para treinar o modelo. Durante o treinamento, o Prophet armazena a ordem das datas da coluna "ds" do df_prophet.

modelo.make_future_dataframe(periods=0): Quando você usa o método make_future_dataframe com periods=0, o Prophet cria um novo dataframe com as mesmas datas da coluna "ds" do df_prophet, mas sem adicionar nenhuma data futura. A ordem das linhas nesse novo dataframe é a mesma da ordem das datas no df_prophet.

modelo.predict(futuro): Quando você usa o método predict para fazer a previsão, o Prophet usa o dataframe futuro (que tem a mesma ordem das datas do df_prophet) para gerar as previsões. As previsões são então armazenadas em um novo dataframe, que também tem a mesma ordem das datas do df_prophet e do futuro.

Em resumo, o Prophet garante que os dataframes df_prophet e previsao estejam na mesma ordem com base na coluna "ds" porque ele usa a ordem das datas do df_prophet para treinar o modelo e para gerar as previsões.

Espero ter ajudado!

Abraço ✨

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Entendi. Os dois dataframes tem de ter a mesma quantidade de linhas com a mesma informação na coluna ds, na mesma ordem. Se não for assim, nada funcionara.

Obrigado pelo retorno Maiully.

É isso mesmo! Sucesso nos estudos! ✨✨