Prophet do automatycznego prognozowania
Facebook Prophet, punkty zmiany trendu, efekty świąt, przedziały niepewności, walidacja krzyżowa.
Prophet do automatycznego prognozowania to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.
Czym jest Prophet?
Prophet to biblioteka open source do prognozowania, opracowana przez firmę Meta. Automatycznie dopasowuje trend, sezonowość i wpływ świąt, dobrze radzi sobie z brakującymi danymi i wartościami odstającymi oraz wymaga znacznie mniej dostrajania niż ARIMA, dzięki czemu świetnie nadaje się do prognoz biznesowych.
Instalowanie i importowanie
Po zainstalowaniu Prophet wymaga tylko jednego importu.
# pip install prophet
from prophet import Prophet
import pandas as pdWymagany format DataFrame
Prophet wymaga dokładnie dwóch kolumn: ds (znacznik daty) oraz y (prognozowana wartość). Zmiana nazw kolumn na te nazwy jest obowiązkowa.
df = df.rename(columns={"date": "ds", "sales": "y"})
df["ds"] = pd.to_datetime(df["ds"])
print(df.head())Tworzenie modelu
Należy utworzyć instancję Prophet, opcjonalnie wybierając sposób łączenia sezonowości z trendem. Tryb multiplicative sprawdza się w szeregach, w których wahania sezonowe rosną wraz z poziomem wartości.
m = Prophet(seasonality_mode="multiplicative")Sezonowość addytywna a multiplikatywna
Domyślnie stosowana jest sezonowość addytywna (stała amplituda sezonowa). Trybu multiplicative należy użyć, gdy wartości szczytowe rosną wraz ze wzrostem trendu, na przykład gdy sprzedaż w latach o dużym wolumenie podlega większym wahaniom.
Dopasowywanie modelu
Należy wywołać fit dla przygotowanego obiektu DataFrame. Prophet automatycznie szacuje punkty zmiany trendu i składniki sezonowe.
m.fit(df)Budowanie przyszłego obiektu DataFrame
make_future_dataframe przedłuża indeks dat w przyszłość, dzięki czemu Prophet wie, dla których dat należy wykonać prognozę.
future = m.make_future_dataframe(periods=90, freq="D")
print(future.tail())Generowanie prognoz
predict zwraca obiekt DataFrame zawierający yhat (prognozę), a także granice niepewności yhat_lower i yhat_upper.
forecast = m.predict(future)
forecast[["ds", "yhat", "yhat_lower", "yhat_upper"]].tail()Rysowanie prognozy
Prophet ma wbudowane wykresy: wykres prognozy z niepewnością oraz wykres składników przedstawiający osobno trend i każdą sezonowość.
fig1 = m.plot(forecast)
fig2 = m.plot_components(forecast)Dodawanie świąt i regresorów
Można zarejestrować święta krajowe lub niestandardowe zdarzenia oraz dodać dodatkowe zmienne objaśniające za pomocą add_regressor, co często zwiększa dokładność w przypadku danych biznesowych.
m.add_country_holidays(country_name="US")
m.add_regressor("promo_flag")Walidacja krzyżowa
Prophet wykonuje walidację za pomocą kroczącej walidacji cross_validation, a następnie performance_metrics raportuje RMSE, MAE i MAPE dla kolejnych horyzontów.
from prophet.diagnostics import cross_validation, performance_metrics
cv = cross_validation(m, initial="365 days",
period="90 days", horizon="90 days")
performance_metrics(cv).head()Szybkie sprawdzenie
Sprawdź swoją wiedzę na temat Prophet.
Podsumowanie
Wykorzystano Prophet: zmieniono nazwy kolumn na ds i y, utworzono Prophet(seasonality_mode="multiplicative"), wywołano fit, zbudowano przyszły obiekt DataFrame za pomocą make_future_dataframe, wykonano predict, narysowano wykres i przeprowadzono walidację za pomocą cross_validation. Dalej: prognozowanie z użyciem LSTM.
Często zadawane pytania
Czy lekcja „Prophet do automatycznego prognozowania” jest bezpłatna?
Tak — pełny tekst „Prophet do automatycznego prognozowania” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.
Co nauczysz się w „Prophet do automatycznego prognozowania”?
Facebook Prophet, punkty zmiany trendu, efekty świąt, przedziały niepewności, walidacja krzyżowa. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?
Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Prophet do automatycznego prognozowania”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?
Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Składowe szeregów czasowych i stacjonarność
- Modele ARIMA i SARIMA
- Prophet do automatycznego prognozowania
- LSTM do prognozowania szeregów czasowych