Я использую модель Auto ARIMA для прогнозирования спроса на набор данных временных рядов. Изучив результаты, я заметил, что прогнозируемые значения не очень хорошо согласуются с фактическими данными о спросе, хотя я рисую остатки и они случайны.
Вот код подгонки модели:
import pandas as pd
import matplotlib.pyplot as plt
from pmdarima import auto_arima
from sklearn.metrics import mean_squared_error
import numpy as np
# Assuming your DataFrame is 'df', which contains a 'demand' column
df['demand'] = df['demand'].interpolate(method='linear') # Use interpolation to fill NaN values
# Set the frequency (adjust as needed: 'D' for daily, 'M' for monthly, etc.)
df = df.asfreq('D')
# Split the dataset into train and test sets (80% training, 20% testing)
train_size = int(len(df) * 0.8)
train, test = df[:train_size], df[train_size:]
# Use Auto ARIMA to find the best model
model = auto_arima(train['demand'],
seasonal=True, # If seasonality is present
m=12, # Set to 7 for weekly seasonality (if daily data)
d=1, # Set non-seasonal differencing
D=1, # Set seasonal differencing
trace=True, # Prints the progress
suppress_warnings=True,
stepwise=True) # Use a stepwise search
# Print the best model summary
print(model.summary())
Я использую модель Auto ARIMA для прогнозирования спроса на набор данных временных рядов. Изучив результаты, я заметил, что прогнозируемые значения не очень хорошо согласуются с фактическими данными о спросе, хотя я рисую остатки и они случайны. Вот код подгонки модели: [code]import pandas as pd import matplotlib.pyplot as plt from pmdarima import auto_arima from sklearn.metrics import mean_squared_error import numpy as np
# Assuming your DataFrame is 'df', which contains a 'demand' column
df['demand'] = df['demand'].interpolate(method='linear') # Use interpolation to fill NaN values
# Set the frequency (adjust as needed: 'D' for daily, 'M' for monthly, etc.) df = df.asfreq('D')
# Split the dataset into train and test sets (80% training, 20% testing) train_size = int(len(df) * 0.8) train, test = df[:train_size], df[train_size:]
# Use Auto ARIMA to find the best model model = auto_arima(train['demand'], seasonal=True, # If seasonality is present m=12, # Set to 7 for weekly seasonality (if daily data) d=1, # Set non-seasonal differencing D=1, # Set seasonal differencing trace=True, # Prints the progress suppress_warnings=True, stepwise=True) # Use a stepwise search
# Print the best model summary print(model.summary()) [/code] Код построения графиков: [code]import numpy as np import matplotlib.pyplot as plt from sklearn.metrics import mean_squared_error
# Plot the test (actual) demand plt.plot(test.index, test['demand'], label='Actual Demand', color='blue')
# Plot the forecasted demand plt.plot(forecast_index, forecast, label='Forecasted Demand', color='red')
# Add labels and title plt.title('Actual vs Forecasted Demand (Zoomed In)') plt.xlabel('Date') plt.ylabel('Demand') plt.legend()
# Display RMSE on the plot plt.text(forecast_index[-1], test['demand'].max(), f'RMSE: {rmse:.2f}', fontsize=12, ha='right', color='black')
plt.show()
# Print the forecasted values for inspection print(forecast)
[/code] График результатов: введите здесь описание изображения. Я пытался изменить параметр m в auto ARIMA с разными значениями, но это было плодотворно!
У меня есть работающая модель прогнозирования временных рядов Prophet на основе данных об использовании за последние два года. Ради науки я также хочу воспроизвести на данных рабочую модель ARIMA, но что бы я ни пробовал, она не работает.
Я работаю над проблемой прогнозирования временных рядов, используя модель ARIMA из statsmodels. Моя цель — спрогнозировать транспортный поток для конкретного места (PEMS08). Первоначально я использовал произвольные параметры (p, d, q) = (2, 1, 2),...
Я работаю над проблемой прогнозирования временных рядов, используя модель ARIMA из statsmodels. Моя цель — спрогнозировать транспортный поток для конкретного места (PEMS08). Первоначально я использовал произвольные параметры (p, d, q) = (2, 1, 2),...
Я пытаюсь создать модель ARIMA для прогнозирования дорожного движения для одного узла, используя набор данных PEMS08, предварительно обработанный для ASTGCN. Я использовал библиотеку statsmodels вместе с функцией auto_arima библиотеки pmdarima,...
Использовать в случае
Учите класс с определенным атрибутом, во время компиляции ищите классы с этим атрибутом, оцените все свойства для класса, добавьте к свойствам, если у них еще нет декоратора .
Attrubty Dectbure, Dectride, Dectured,...