Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -2,9 +2,14 @@ import gradio as gr
|
|
2 |
import pandas as pd
|
3 |
import numpy as np
|
4 |
from statsmodels.tsa.seasonal import STL
|
5 |
-
from
|
6 |
import matplotlib.pyplot as plt
|
7 |
|
|
|
|
|
|
|
|
|
|
|
8 |
def detect_anomalies(series, seasonality_window=7, anomaly_threshold=0.05):
|
9 |
# Decompose series using Seasonal-Trend decomposition using LOESS (STL)
|
10 |
decomposition = STL(series, seasonal=seasonality_window).fit()
|
@@ -42,9 +47,8 @@ def anomaly_detection_app(time_series_txt):
|
|
42 |
df['Date'] = pd.to_datetime(df['Date'])
|
43 |
df = df.set_index('Date')
|
44 |
|
45 |
-
# Determinar a periodicidade da série
|
46 |
-
|
47 |
-
periodicity = 1
|
48 |
|
49 |
# Detectar anomalias na série temporal
|
50 |
anomalies = detect_anomalies(df['Value'], seasonality_window=periodicity)
|
@@ -54,9 +58,6 @@ def anomaly_detection_app(time_series_txt):
|
|
54 |
|
55 |
return anomalies
|
56 |
|
57 |
-
# Resto do código continua o mesmo
|
58 |
-
|
59 |
-
|
60 |
# Interface do Gradio
|
61 |
iface = gr.Interface(
|
62 |
fn=anomaly_detection_app,
|
|
|
2 |
import pandas as pd
|
3 |
import numpy as np
|
4 |
from statsmodels.tsa.seasonal import STL
|
5 |
+
from pmdarima import auto_arima
|
6 |
import matplotlib.pyplot as plt
|
7 |
|
8 |
+
def detect_periodicity(series):
|
9 |
+
# Use o método auto_arima para determinar a periodicidade da série
|
10 |
+
stepwise_model = auto_arima(series, start_p=1, start_q=1, max_p=3, max_q=3, m=12, seasonal=True, trace=True)
|
11 |
+
return stepwise_model.seasonal_order[0]
|
12 |
+
|
13 |
def detect_anomalies(series, seasonality_window=7, anomaly_threshold=0.05):
|
14 |
# Decompose series using Seasonal-Trend decomposition using LOESS (STL)
|
15 |
decomposition = STL(series, seasonal=seasonality_window).fit()
|
|
|
47 |
df['Date'] = pd.to_datetime(df['Date'])
|
48 |
df = df.set_index('Date')
|
49 |
|
50 |
+
# Determinar a periodicidade da série automaticamente
|
51 |
+
periodicity = detect_periodicity(df['Value'])
|
|
|
52 |
|
53 |
# Detectar anomalias na série temporal
|
54 |
anomalies = detect_anomalies(df['Value'], seasonality_window=periodicity)
|
|
|
58 |
|
59 |
return anomalies
|
60 |
|
|
|
|
|
|
|
61 |
# Interface do Gradio
|
62 |
iface = gr.Interface(
|
63 |
fn=anomaly_detection_app,
|