azrai99 commited on
Commit
2b898e9
·
verified ·
1 Parent(s): 8d3eb2c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -9
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, ds_col):
64
- df[ds_col] = pd.to_datetime(df[ds_col])
65
- df = df.set_index(ds_col)
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, ds_col, freq):
162
  nf = NeuralForecast(models=[model], freq=freq)
163
- df[ds_col] = pd.to_datetime(df[ds_col])
164
  nf.fit(df)
165
  return nf
166
 
167
- def forecast_time_series(df, model_type, horizon, max_steps=200, ds_col='ds',y_col):
168
  start_time = time.time() # Start timing
169
- freq = determine_frequency(df, ds_col)
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, ds_col,freq)
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, ds_col='ds',y_col)
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": [