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!