Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -176,9 +176,9 @@ def forecast_time_series(df, model_type, freq, horizon, max_steps=200):
|
|
176 |
|
177 |
@st.cache_data
|
178 |
def load_default():
|
179 |
-
df =
|
180 |
return df
|
181 |
-
|
182 |
def transfer_learning_forecasting():
|
183 |
st.title("Transfer Learning Forecasting")
|
184 |
|
@@ -192,7 +192,7 @@ def transfer_learning_forecasting():
|
|
192 |
# Model selection and forecasting
|
193 |
st.subheader("Model Selection and Forecasting")
|
194 |
model_choice = st.selectbox("Select model", ["NHITS", "TimesNet", "LSTM", "TFT"])
|
195 |
-
horizon = st.
|
196 |
|
197 |
# Determine frequency of data
|
198 |
frequency = determine_frequency(df)
|
@@ -219,33 +219,33 @@ def transfer_learning_forecasting():
|
|
219 |
time_taken = end_time - start_time
|
220 |
st.success(f"Time taken for {model_choice} forecast: {time_taken:.2f} seconds")
|
221 |
|
222 |
-
|
223 |
st.title("Dynamic Forecasting")
|
224 |
-
|
225 |
# Upload dataset
|
226 |
uploaded_file = st.file_uploader("Upload your time series data (CSV)", type=["csv"])
|
227 |
if uploaded_file:
|
228 |
df = pd.read_csv(uploaded_file)
|
229 |
else:
|
230 |
df = load_default()
|
231 |
-
|
232 |
# Dynamic forecasting
|
233 |
st.subheader("Dynamic Model Selection and Forecasting")
|
234 |
dynamic_model_choice = st.selectbox("Select model for dynamic forecasting", ["NHITS", "TimesNet", "LSTM", "TFT"], key="dynamic_model_choice")
|
235 |
-
dynamic_horizon = st.
|
236 |
-
|
237 |
# Determine frequency of data
|
238 |
frequency = determine_frequency(df)
|
239 |
st.write(f"Detected frequency: {frequency}")
|
240 |
-
|
241 |
-
forecast_time_series(df, dynamic_model_choice, frequency, dynamic_horizon
|
242 |
-
|
243 |
# Define the main navigation
|
244 |
pg = st.navigation({
|
245 |
"Overview": [
|
246 |
# Load pages from functions
|
247 |
-
st.Page(transfer_learning_forecasting, title="Transfer Learning Forecasting", default=True, icon=":material/
|
248 |
-
st.Page(dynamic_forecasting, title="Dynamic Forecasting", icon=":material/
|
249 |
]
|
250 |
})
|
251 |
|
|
|
176 |
|
177 |
@st.cache_data
|
178 |
def load_default():
|
179 |
+
df = AirPassengersDF.copy()
|
180 |
return df
|
181 |
+
|
182 |
def transfer_learning_forecasting():
|
183 |
st.title("Transfer Learning Forecasting")
|
184 |
|
|
|
192 |
# Model selection and forecasting
|
193 |
st.subheader("Model Selection and Forecasting")
|
194 |
model_choice = st.selectbox("Select model", ["NHITS", "TimesNet", "LSTM", "TFT"])
|
195 |
+
horizon = st.number_input("Forecast horizon", value=18)
|
196 |
|
197 |
# Determine frequency of data
|
198 |
frequency = determine_frequency(df)
|
|
|
219 |
time_taken = end_time - start_time
|
220 |
st.success(f"Time taken for {model_choice} forecast: {time_taken:.2f} seconds")
|
221 |
|
222 |
+
def dynamic_forecasting():
|
223 |
st.title("Dynamic Forecasting")
|
224 |
+
|
225 |
# Upload dataset
|
226 |
uploaded_file = st.file_uploader("Upload your time series data (CSV)", type=["csv"])
|
227 |
if uploaded_file:
|
228 |
df = pd.read_csv(uploaded_file)
|
229 |
else:
|
230 |
df = load_default()
|
231 |
+
|
232 |
# Dynamic forecasting
|
233 |
st.subheader("Dynamic Model Selection and Forecasting")
|
234 |
dynamic_model_choice = st.selectbox("Select model for dynamic forecasting", ["NHITS", "TimesNet", "LSTM", "TFT"], key="dynamic_model_choice")
|
235 |
+
dynamic_horizon = st.number_input("Forecast horizon", value=18)
|
236 |
+
|
237 |
# Determine frequency of data
|
238 |
frequency = determine_frequency(df)
|
239 |
st.write(f"Detected frequency: {frequency}")
|
240 |
+
|
241 |
+
forecast_time_series(df, dynamic_model_choice, frequency, dynamic_horizon)
|
242 |
+
|
243 |
# Define the main navigation
|
244 |
pg = st.navigation({
|
245 |
"Overview": [
|
246 |
# Load pages from functions
|
247 |
+
st.Page(transfer_learning_forecasting, title="Transfer Learning Forecasting", default=True, icon=":material/query_stats:"),
|
248 |
+
st.Page(dynamic_forecasting, title="Dynamic Forecasting", icon=":material/monitoring:"),
|
249 |
]
|
250 |
})
|
251 |
|