This commit is contained in:
fhm 2025-07-09 05:11:19 +07:00
parent 04d8284011
commit b929e64b22
3 changed files with 5 additions and 4 deletions

View File

@ -18,7 +18,7 @@ def predict_auto(request: AutoPredictionRequest):
series = df['amount']
result = auto_arima_forecast(series, forecast_periods=1)
result = auto_arima_forecast(series, forecast_periods=request.future_steps)
return AutoPredictionResponse(
rmse=result["rmse"],
@ -47,14 +47,14 @@ def predict_manual(request: ManualPredictionRequest):
p, d, q = request.arima_model
result = manual_arima_forecast(series, p=p, d=d, q=q, forecast_periods=1)
result = manual_arima_forecast(series, p=p, d=d, q=q, forecast_periods=request.future_steps)
return ManualPredictionResponse(
arima_order=tuple(result["arima_order"]),
prediction=result["prediction"],
lower=result["lower"],
upper=result["upper"],
success=True
success=True,
)
except ValueError as ve:

View File

@ -8,6 +8,7 @@ class BasePredictionRequest(BaseModel):
value_column: str='sold_qty'
date_column: str='date'
date_regroup: bool=False
future_steps: int=1
class AutoPredictionRequest(BasePredictionRequest):

View File

@ -6,7 +6,7 @@ import pandas as pd
import numpy as np
warnings.filterwarnings("ignore", category=FutureWarning)
def auto_arima_forecast(series: pd.Series, train_ratio=0.8, forecast_periods: int = 1) -> dict:
def auto_arima_forecast(series: pd.Series, train_ratio=0.7, forecast_periods: int = 1) -> dict:
if series is None or series.empty:
raise ValueError("Data tidak valid atau kosong.")