Prognose: Die FB-Prophet-Funktion startet nicht beim letzten Datenpunkt in PythonPython

Python-Programme
Anonymous
 Prognose: Die FB-Prophet-Funktion startet nicht beim letzten Datenpunkt in Python

Post by Anonymous »

Mir ist aufgefallen, dass die Prophet-Funktion von Facebook bei Prognosen gute Arbeit leistet. Bei meinen Daten beginnt es jedoch nie beim letzten Wert von y-predict. Wie Sie im Bild sehen können, ist der letzte Wert von Total_Issues 168, aber die Funktion sagt voraus, dass der nächste Wert 143 ist.
Gibt es eine Möglichkeit, eine „kumulative“ Option zu aktivieren, damit die Vorhersagen niemals an Wert verlieren?
Image

Code: Select all

df.set_index('Creation_date', inplace=True)
pd.to_datetime(df.index)

### Create one issue per row
df["Total_Issues"] = range(len(df))
df["Total_Issues"] = df["Total_Issues"] + 1

### Drops duplicate date values so we can create a time series
df = df.loc[~df.index.duplicated(keep='last'), :]
print("Removed duplicated dates")
print(df)

## Only Select the columns we need
df = df.loc[:,["Total_Issues"]]

## Fill empty dates so we get a full time series
df = df.resample('D').bfill()

### Predict Future ###
horizon = 180
forecast_df = df['Total_Issues']
last_date = forecast_df.index.max()

forecaster = Prophet()
forecaster.fit(forecast_df)
fh = ForecastingHorizon(
pd.date_range(str(last_date),
freq="D", periods = horizon),
is_relative=False
)

## Create prediction
y_pred = forecaster.predict(fh)

## Create confidence interval
ci = forecaster.predict_interval(fh, coverage=0.9)

## Plot
plt.show()
plt.plot(
forecast_df.tail(horizon*3),
label="Actual",
color="black"
)
plt.gca().fill_between(
ci.index, (ci.iloc[:,0]),
(ci.iloc[:,1]),
alpha=0.1,
)
plt.plot(y_pred, label="Predicted")
plt.ylim(bottom=0)
plt.legend()
plt.show()

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post