Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -240,7 +240,7 @@ def transfer_learning_forecasting():
|
|
| 240 |
|
| 241 |
columns = df.columns.tolist()
|
| 242 |
ds_col = st.selectbox("Select Date/Time column", options=columns, index=columns.index('ds') if 'ds' in columns else 0)
|
| 243 |
-
target_columns = [col for col in columns if (col != ds_col) and (col !=
|
| 244 |
y_col = st.selectbox("Select Target column", options=target_columns, index=0)
|
| 245 |
|
| 246 |
st.session_state.ds_col = ds_col
|
|
@@ -342,7 +342,7 @@ def dynamic_forecasting():
|
|
| 342 |
|
| 343 |
columns = df.columns.tolist()
|
| 344 |
ds_col = st.selectbox("Select Date/Time column", options=columns, index=columns.index('ds') if 'ds' in columns else 0)
|
| 345 |
-
target_columns = [col for col in columns if (col != ds_col) and (col !=
|
| 346 |
y_col = st.selectbox("Select Target column", options=target_columns, index=0)
|
| 347 |
|
| 348 |
st.session_state.ds_col = ds_col
|
|
@@ -398,7 +398,7 @@ def timegpt_fcst():
|
|
| 398 |
|
| 399 |
columns = df.columns.tolist()
|
| 400 |
ds_col = st.selectbox("Select Date/Time column", options=columns, index=columns.index('ds') if 'ds' in columns else 0)
|
| 401 |
-
target_columns = [col for col in columns if (col != ds_col) and (col !=
|
| 402 |
y_col = st.selectbox("Select Target column", options=target_columns, index=0)
|
| 403 |
h = st.number_input("Forecast horizon", value=14)
|
| 404 |
|
|
@@ -410,19 +410,19 @@ def timegpt_fcst():
|
|
| 410 |
df = df[['unique_id','ds','y']]
|
| 411 |
|
| 412 |
|
| 413 |
-
|
| 414 |
|
| 415 |
-
|
| 416 |
-
|
| 417 |
-
|
| 418 |
-
|
| 419 |
-
|
| 420 |
-
|
| 421 |
-
|
| 422 |
-
|
| 423 |
-
|
| 424 |
-
|
| 425 |
-
|
| 426 |
|
| 427 |
if 'forecast_df' in st.session_state:
|
| 428 |
forecast_df = st.session_state.forecast_df
|
|
@@ -465,7 +465,7 @@ def timegpt_anom():
|
|
| 465 |
|
| 466 |
columns = df.columns.tolist()
|
| 467 |
ds_col = st.selectbox("Select Date/Time column", options=columns, index=columns.index('ds') if 'ds' in columns else 0)
|
| 468 |
-
target_columns = [col for col in columns if (col != ds_col) and (col !=
|
| 469 |
y_col = st.selectbox("Select Target column", options=target_columns, index=0)
|
| 470 |
|
| 471 |
df = df.rename(columns={ds_col: 'ds', y_col: 'y'})
|
|
@@ -474,16 +474,16 @@ def timegpt_anom():
|
|
| 474 |
df['unique_id']=id_col
|
| 475 |
df = df[['unique_id','ds','y']]
|
| 476 |
|
| 477 |
-
|
| 478 |
|
| 479 |
-
|
| 480 |
-
|
| 481 |
-
|
| 482 |
-
|
| 483 |
-
|
| 484 |
-
|
| 485 |
-
|
| 486 |
-
|
| 487 |
|
| 488 |
if 'anom_df' in st.session_state:
|
| 489 |
anom_df = st.session_state.anom_df
|
|
|
|
| 240 |
|
| 241 |
columns = df.columns.tolist()
|
| 242 |
ds_col = st.selectbox("Select Date/Time column", options=columns, index=columns.index('ds') if 'ds' in columns else 0)
|
| 243 |
+
target_columns = [col for col in columns if (col != ds_col) and (col != 'unique_id')]
|
| 244 |
y_col = st.selectbox("Select Target column", options=target_columns, index=0)
|
| 245 |
|
| 246 |
st.session_state.ds_col = ds_col
|
|
|
|
| 342 |
|
| 343 |
columns = df.columns.tolist()
|
| 344 |
ds_col = st.selectbox("Select Date/Time column", options=columns, index=columns.index('ds') if 'ds' in columns else 0)
|
| 345 |
+
target_columns = [col for col in columns if (col != ds_col) and (col != 'unique_id')]
|
| 346 |
y_col = st.selectbox("Select Target column", options=target_columns, index=0)
|
| 347 |
|
| 348 |
st.session_state.ds_col = ds_col
|
|
|
|
| 398 |
|
| 399 |
columns = df.columns.tolist()
|
| 400 |
ds_col = st.selectbox("Select Date/Time column", options=columns, index=columns.index('ds') if 'ds' in columns else 0)
|
| 401 |
+
target_columns = [col for col in columns if (col != ds_col) and (col != 'unique_id')]
|
| 402 |
y_col = st.selectbox("Select Target column", options=target_columns, index=0)
|
| 403 |
h = st.number_input("Forecast horizon", value=14)
|
| 404 |
|
|
|
|
| 410 |
df = df[['unique_id','ds','y']]
|
| 411 |
|
| 412 |
|
| 413 |
+
freq = determine_frequency(df)
|
| 414 |
|
| 415 |
+
df = df.drop_duplicates(subset=['ds']).reset_index(drop=True)
|
| 416 |
+
|
| 417 |
+
# st.write(df)
|
| 418 |
+
if st.sidebar.button("Submit"):
|
| 419 |
+
forecast_df = nixtla_client.forecast(
|
| 420 |
+
df=df,
|
| 421 |
+
h=h,
|
| 422 |
+
freq=freq,
|
| 423 |
+
level=[90]
|
| 424 |
+
)
|
| 425 |
+
st.session_state.forecast_df = forecast_df
|
| 426 |
|
| 427 |
if 'forecast_df' in st.session_state:
|
| 428 |
forecast_df = st.session_state.forecast_df
|
|
|
|
| 465 |
|
| 466 |
columns = df.columns.tolist()
|
| 467 |
ds_col = st.selectbox("Select Date/Time column", options=columns, index=columns.index('ds') if 'ds' in columns else 0)
|
| 468 |
+
target_columns = [col for col in columns if (col != ds_col) and (col != 'unique_id')]
|
| 469 |
y_col = st.selectbox("Select Target column", options=target_columns, index=0)
|
| 470 |
|
| 471 |
df = df.rename(columns={ds_col: 'ds', y_col: 'y'})
|
|
|
|
| 474 |
df['unique_id']=id_col
|
| 475 |
df = df[['unique_id','ds','y']]
|
| 476 |
|
| 477 |
+
freq = determine_frequency(df)
|
| 478 |
|
| 479 |
+
df = df.drop_duplicates(subset=['ds']).reset_index(drop=True)
|
| 480 |
+
if st.sidebar.button("Submit"):
|
| 481 |
+
anom_df = nixtla_client.detect_anomalies(
|
| 482 |
+
df=df,
|
| 483 |
+
freq=freq,
|
| 484 |
+
level=90
|
| 485 |
+
)
|
| 486 |
+
st.session_state.anom_df = anom_df
|
| 487 |
|
| 488 |
if 'anom_df' in st.session_state:
|
| 489 |
anom_df = st.session_state.anom_df
|