Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -60,9 +60,9 @@ def generate_forecast(model, df,tag=False):
|
|
60 |
forecast_df = model.predict(df=df)
|
61 |
return forecast_df
|
62 |
|
63 |
-
def determine_frequency(df
|
64 |
-
df[
|
65 |
-
df = df.set_index(
|
66 |
freq = pd.infer_freq(df.index)
|
67 |
return freq
|
68 |
|
@@ -158,19 +158,19 @@ def select_model(horizon, model_type, max_steps=200):
|
|
158 |
else:
|
159 |
raise ValueError(f"Unsupported model type: {model_type}")
|
160 |
|
161 |
-
def model_train(df,model,
|
162 |
nf = NeuralForecast(models=[model], freq=freq)
|
163 |
-
df[
|
164 |
nf.fit(df)
|
165 |
return nf
|
166 |
|
167 |
-
def forecast_time_series(df, model_type, horizon, max_steps=200,
|
168 |
start_time = time.time() # Start timing
|
169 |
-
freq = determine_frequency(df
|
170 |
st.sidebar.write(f"Data frequency: {freq}")
|
171 |
|
172 |
selected_model = select_model(horizon, model_type, max_steps)
|
173 |
-
model = model_train(df, selected_model,
|
174 |
|
175 |
forecast_results = {}
|
176 |
st.sidebar.write(f"Generating forecast using {model_type} model...")
|
@@ -265,6 +265,7 @@ def dynamic_forecasting():
|
|
265 |
# unique_id_col = st.text_input("Unique ID column (default: '1')", value="1")
|
266 |
|
267 |
df = df.rename(columns={ds_col: 'ds', y_col: 'y'})
|
|
|
268 |
df['unique_id']=1
|
269 |
df = df[['unique_id','ds','y']]
|
270 |
st.session_state.df = df
|
@@ -279,7 +280,7 @@ def dynamic_forecasting():
|
|
279 |
dynamic_max_steps = st.sidebar.number_input('Max steps', value=200)
|
280 |
|
281 |
|
282 |
-
forecast_time_series(df, dynamic_model_choice, dynamic_horizon, dynamic_max_steps,
|
283 |
|
284 |
pg = st.navigation({
|
285 |
"Overview": [
|
|
|
60 |
forecast_df = model.predict(df=df)
|
61 |
return forecast_df
|
62 |
|
63 |
+
def determine_frequency(df):
|
64 |
+
df['ds'] = pd.to_datetime(df['ds'])
|
65 |
+
df = df.set_index('ds')
|
66 |
freq = pd.infer_freq(df.index)
|
67 |
return freq
|
68 |
|
|
|
158 |
else:
|
159 |
raise ValueError(f"Unsupported model type: {model_type}")
|
160 |
|
161 |
+
def model_train(df,model, freq):
|
162 |
nf = NeuralForecast(models=[model], freq=freq)
|
163 |
+
df['ds'] = pd.to_datetime(df['ds'])
|
164 |
nf.fit(df)
|
165 |
return nf
|
166 |
|
167 |
+
def forecast_time_series(df, model_type, horizon, max_steps=200,y_col):
|
168 |
start_time = time.time() # Start timing
|
169 |
+
freq = determine_frequency(df)
|
170 |
st.sidebar.write(f"Data frequency: {freq}")
|
171 |
|
172 |
selected_model = select_model(horizon, model_type, max_steps)
|
173 |
+
model = model_train(df, selected_model,freq)
|
174 |
|
175 |
forecast_results = {}
|
176 |
st.sidebar.write(f"Generating forecast using {model_type} model...")
|
|
|
265 |
# unique_id_col = st.text_input("Unique ID column (default: '1')", value="1")
|
266 |
|
267 |
df = df.rename(columns={ds_col: 'ds', y_col: 'y'})
|
268 |
+
|
269 |
df['unique_id']=1
|
270 |
df = df[['unique_id','ds','y']]
|
271 |
st.session_state.df = df
|
|
|
280 |
dynamic_max_steps = st.sidebar.number_input('Max steps', value=200)
|
281 |
|
282 |
|
283 |
+
forecast_time_series(df, dynamic_model_choice, dynamic_horizon, dynamic_max_steps,y_col)
|
284 |
|
285 |
pg = st.navigation({
|
286 |
"Overview": [
|