User Tools

Site Tools


ai_predictive_forecaster

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ai_predictive_forecaster [2025/05/29 15:15] – [Class Overview] eagleeyenebulaai_predictive_forecaster [2025/05/29 15:50] (current) – [Class Overview] eagleeyenebula
Line 83: Line 83:
   * List or pandas Series containing numeric time-series values.   * List or pandas Series containing numeric time-series values.
  
-**Method: "forecast(steps=5)"+**Method:** "forecast(steps=5)"
 **Signature**: **Signature**:
 <code> <code>
Line 96: Line 96:
  
 **Process**: **Process**:
-1. Ensures the model is pre-fitted (**fit()** called prior). +  * Ensures the model is pre-fitted (**fit()** called prior). 
-2. Uses the **forecast()** method of the fitted **ARIMA** model to provide future predictions.+  Uses the **forecast()** method of the fitted **ARIMA** model to provide future predictions.
  
 **Parameters**: **Parameters**:
Line 103: Line 103:
  
 **Error Handling**: **Error Handling**:
-   * Raises errors if the model is not fitted before calling `forecast()`.+   * Raises errors if the model is not fitted before calling **forecast()**.
  
  
 ===== Workflow ===== ===== Workflow =====
  
-### Step-by-Step Usage Workflow:+**Step-by-Step Usage Workflow:**
  
 1. **Import the Class**: 1. **Import the Class**:
-   Import the `PredictiveForecaster` module into your script: +     Import the `PredictiveForecaster` module into your script: 
-   ```python+<code> 
 +   python
    from ai_predictive_forecaster import PredictiveForecaster    from ai_predictive_forecaster import PredictiveForecaster
-   ```+</code>
  
 2. **Initialize the Forecaster**: 2. **Initialize the Forecaster**:
-   Set ARIMA parameters and instantiate the `PredictiveForecaster`: +     Set ARIMA parameters and instantiate the `PredictiveForecaster`: 
-   ```python+<code> 
 +   python
    forecaster = PredictiveForecaster(model_order=(5, 1, 0))    forecaster = PredictiveForecaster(model_order=(5, 1, 0))
-   ```+</code>
  
 3. **Fit the Model**: 3. **Fit the Model**:
-   Provide time-series historical data to train the model: +     Provide time-series historical data to train the model: 
-   ```python+<code>    
 +   python
    historical_data = [100, 110, 125, 130, 120, 150]    historical_data = [100, 110, 125, 130, 120, 150]
    forecaster.fit(historical_data)    forecaster.fit(historical_data)
-   ```+</code>
  
 4. **Forecast Future Values**: 4. **Forecast Future Values**:
    Specify how many time steps to predict:    Specify how many time steps to predict:
-   ```python+<code> 
 +   python
    future_predictions = forecaster.forecast(steps=5)    future_predictions = forecaster.forecast(steps=5)
    print(f"Forecast: {future_predictions}")    print(f"Forecast: {future_predictions}")
-   ``` +</code>
- +
----+
  
 ===== Advanced Examples ===== ===== Advanced Examples =====
Line 142: Line 144:
 These advanced examples illustrate real-world scenarios and optimizations for predictive forecasting: These advanced examples illustrate real-world scenarios and optimizations for predictive forecasting:
  
---- 
  
 ==== Example 1: Custom ARIMA Parameters for Complex Data ==== ==== Example 1: Custom ARIMA Parameters for Complex Data ====
  
 Experiment with various ARIMA configurations to improve forecast accuracy: Experiment with various ARIMA configurations to improve forecast accuracy:
-```python +<code> 
-Data+python 
 +</code> 
 +**Data** 
 +<code>
 sales_data = [400, 420, 460, 510, 490, 550, 580, 600] sales_data = [400, 420, 460, 510, 490, 550, 580, 600]
- +</code> 
-Advanced forecaster with custom ARIMA parameters+**Advanced forecaster with custom **ARIMA** parameters** 
 +<code>
 forecaster = PredictiveForecaster(model_order=(2, 1, 2)) forecaster = PredictiveForecaster(model_order=(2, 1, 2))
 forecaster.fit(sales_data) forecaster.fit(sales_data)
- +</code> 
-Generate a forecast for the next 7 days+**Generate a forecast for the next 7 days** 
 +<code>
 custom_predictions = forecaster.forecast(steps=7) custom_predictions = forecaster.forecast(steps=7)
 print(f"Custom Forecast: {custom_predictions}") print(f"Custom Forecast: {custom_predictions}")
-``` +</code>
- +
----+
  
 ==== Example 2: Use with pandas DataFrames ==== ==== Example 2: Use with pandas DataFrames ====
  
 Include timestamps in your dataset for indexed prediction: Include timestamps in your dataset for indexed prediction:
-```python+<code> 
 +python
 import pandas as pd import pandas as pd
- +</code> 
-Generate time-indexed data+**Generate time-indexed data** 
 +<code>
 data_index = pd.date_range(start="2023-01-01", periods=10, freq="D") data_index = pd.date_range(start="2023-01-01", periods=10, freq="D")
 data_values = [100, 120, 140, 130, 150, 160, 180, 200, 210, 230] data_values = [100, 120, 140, 130, 150, 160, 180, 200, 210, 230]
 time_series_data = pd.Series(data=data_values, index=data_index) time_series_data = pd.Series(data=data_values, index=data_index)
- +</code> 
-Fit and forecast+**Fit and forecast** 
 +<code>
 forecaster = PredictiveForecaster(model_order=(5, 1, 0)) forecaster = PredictiveForecaster(model_order=(5, 1, 0))
 forecaster.fit(time_series_data) forecaster.fit(time_series_data)
- +</code> 
-Predict next 5 periods+**Predict next 5 periods** 
 +<code>
 future_data = forecaster.forecast(steps=5) future_data = forecaster.forecast(steps=5)
 print(f"Forecast: {future_data}") print(f"Forecast: {future_data}")
-``` +</code>
- +
----+
  
 ==== Example 3: Using on Seasonal Data ==== ==== Example 3: Using on Seasonal Data ====
  
 Adapt ARIMA to handle seasonality by preprocessing data with differencing: Adapt ARIMA to handle seasonality by preprocessing data with differencing:
-```python+<code> 
 +python
 def seasonal_differencing(data, lag): def seasonal_differencing(data, lag):
     return [data[i] - data[i - lag] for i in range(lag, len(data))]     return [data[i] - data[i - lag] for i in range(lag, len(data))]
- +</code> 
-Seasonal data simulation+**Seasonal data simulation** 
 +<code>
 seasonal_data = [10, 20, 30, 40, 50, 60, 30, 20, 10, 40, 50] seasonal_data = [10, 20, 30, 40, 50, 60, 30, 20, 10, 40, 50]
 seasonally_differenced = seasonal_differencing(seasonal_data, lag=4) seasonally_differenced = seasonal_differencing(seasonal_data, lag=4)
Line 200: Line 208:
  
 print("Future Seasonal Forecast:", future_forecast) print("Future Seasonal Forecast:", future_forecast)
-``` +</code>
- +
----+
  
 ==== Example 4: Evaluating Model Accuracy ==== ==== Example 4: Evaluating Model Accuracy ====
  
-Assess forecast accuracy using metrics such as Mean Absolute Error (MAE): +  * Assess forecast accuracy using metrics such as Mean Absolute Error (MAE): 
-```python+<code> 
 +python
 from sklearn.metrics import mean_absolute_error from sklearn.metrics import mean_absolute_error
- +</code> 
-Training Data+**Training Data** 
 +<code>
 train_data = [10, 20, 30, 40, 50] train_data = [10, 20, 30, 40, 50]
 test_data = [60, 70, 80]  # Known test values test_data = [60, 70, 80]  # Known test values
- +</code> 
-Fit and predict+**Fit and predict** 
 +<code>
 forecaster = PredictiveForecaster(model_order=(3, 1, 0)) forecaster = PredictiveForecaster(model_order=(3, 1, 0))
 forecaster.fit(train_data) forecaster.fit(train_data)
 predictions = forecaster.forecast(steps=3) predictions = forecaster.forecast(steps=3)
- +</code> 
-Evaluate using MAE+**Evaluate using MAE** 
 +<code>
 mae = mean_absolute_error(test_data, predictions) mae = mean_absolute_error(test_data, predictions)
 print(f"Mean Absolute Error: {mae}") print(f"Mean Absolute Error: {mae}")
-``` +</code>
- +
----+
  
 ===== Best Practices ===== ===== Best Practices =====
  
 1. **Optimize ARIMA Parameters**: 1. **Optimize ARIMA Parameters**:
-   Experiment with parameters (`p``d``q`) to find the best-fitting model for your data.+     Experiment with parameters (**p****d****q**) to find the best-fitting model for your data.
  
 2. **Consider Seasonality**: 2. **Consider Seasonality**:
-   Ensure seasonal trends are accounted for before fitting. Use differencing to remove seasonal effects.+     Ensure seasonal trends are accounted for before fitting. Use differencing to remove seasonal effects.
  
 3. **Evaluate Predictions**: 3. **Evaluate Predictions**:
-   Assess prediction quality with metrics such as MAE, RMSE, or MAPE to measure errors and refine parameters.+     Assess prediction quality with metrics such as **MAE****RMSE**, or **MAPE** to measure errors and refine parameters.
  
 4. **Data Preprocessing**: 4. **Data Preprocessing**:
-   Clean data by removing outliers, handling missing values, and normalizing trends for better results.+     Clean data by removing outliers, handling missing values, and normalizing trends for better results.
  
 5. **Integrate into Pipelines**: 5. **Integrate into Pipelines**:
-   Use the forecaster in orchestration tools or CI/CD pipelines for recurring forecast updates. +     Use the forecaster in orchestration tools or **CI/CD** pipelines for recurring forecast updates.
- +
----+
  
 ===== Extensibility ===== ===== Extensibility =====
  
-### Adding Alternative Models +**Adding Alternative Models** 
-Extend support to models like SARIMA, Prophet, or neural network-based models: +   * Extend support to models like **SARIMA**, Prophet, or neural network-based models: 
-```python+ 
 +<code> 
 +python
 from fbprophet import Prophet from fbprophet import Prophet
  
Line 263: Line 271:
         forecast = self.model.predict(future)         forecast = self.model.predict(future)
         return forecast.tail(steps)         return forecast.tail(steps)
-``` +</code>
- +
----+
  
 ===== Conclusion ===== ===== Conclusion =====
  
-The **AI Predictive Forecaster** offers solid framework for time-series forecasting, relying on the proven ARIMA model to provide accurate and adaptable predictions. Its simplistic yet extensible design makes it a powerful tool for data scientists and engineers working with chronological datasets. From sales forecasts to anomaly detectionthis flexible utility simplifies the prediction process while ensuring accuracy and reproducibility.+The **AI Predictive Forecaster** delivers reliable and intuitive framework for time-series forecasting, enabling users to generate high-quality predictions with ease. Built upon the trusted **ARIMA** model from statsmodels, it allows analysts and engineers to capture seasonality, trends, and noise within chronological datasets. Its clean **API** and modular structure make integration straightforward, whether in stand-alone scripts or as part of larger AI systems, ensuring rapid deployment and iteration. 
 + 
 +Beyond its core functionality, the tool is built with extensibility in mind allowing for customization and experimentation with different parameter sets or even model substitutions. From forecasting sales, demand, and resource utilization to detecting anomalies in system metrics or financial time series, the AI Predictive Forecaster stands as a versatile asset. It bridges statistical rigor with practical usability, empowering teams to make informed, data-driven decisions confidently and consistently.
ai_predictive_forecaster.1748531705.txt.gz · Last modified: 2025/05/29 15:15 by eagleeyenebula