Реализация модели NeuralProphet с помощью Python
Прогнозирование цен на акции – одна из самых широко используемых областей машинного обучения. Это – непредсказуемая область, так как существует множество факторов, которые могут повлиять на курс акций в любое время. В этой статье я познакомлю вас с моделью Facebook NeuralProphet и машинным обучением на Python, которая является одним из лучших методов прогнозирования цен на акции.
Модель NeuralProphet
Модель NeuralProphet – это библиотека Python с открытым исходным кодом, созданная Facebook для моделирования временных рядов. Это модель прогнозирования временных рядов, основанная на PyTorch, улучшенная версия модели Facebook Prophet. Самое лучшее в ней то, что эта модель основана на искусственных нейронных сетях.
Модель NeuralProphet решает некоторые ключевые моменты, касающиеся настройки, масштабируемости и расширяемости. Поскольку она построена на основе статистических и нейросетевых моделей для моделирования временных рядов, можно сказать, что она в основном используется для прогнозирования временных рядов и обнаружения аномалий.
В следующем разделе я расскажу вам о машинном обучении модели NeuralProphet с использованием Python, чтобы увидеть, как эта модель работает.
Модель NeuralProphet с Python: Руководство
Вы можете легко установить эту библиотеку с помощью команды pip; pip install neuralprophet [live]. Теперь давайте импортируем необходимые библиотеки и посмотрим, как работать с этой моделью машинного обучения:
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from neuralprophet import NeuralProphet
Набор данных, который я использую, представляет собой данные о ценах на акции Coal India. Давайте импортируем набор данных:
df = pd.read_csv("COALINDIA.csv", parse_dates=["Date"])
Теперь давайте подготовим набор данных, который впишется в модель. Нужно следовать тому же способу, который используется в модели Facebook Prophet для представления временных меток как ds и зависимых переменных как y:
df = df[["Date", "VWAP"]] df.rename(columns={"Date": "ds", "VWAP": "y"}, inplace=True)
Теперь давайте поместим набор данных в модель:
model = NeuralProphet() metrics = model.fit(df, validate_each_epoch=True, freq="D")
Теперь последний шаг – сделать прогнозы:
future = model.make_future_dataframe(df, periods=365, n_historic_predictions=len(df)) forecast = model.predict(future) fig, ax = plt.subplots(figsize=(8,8)) model.plot(forecast, xlabel="Date", ylabel="VWAP", ax=ax) ax.xaxis.label.set_size(28) ax.yaxis.label.set_size(28) ax.tick_params(axis='both', which='major', labelsize=24) ax.set_title("Coal India Stocks", fontsize=28, fontweight="bold")
fig_comp = model.plot_components(forecast)
Вывод
Таким образом, мы можем говорить о снижении цен на акции. Надеюсь, вам понравилась эта статья о модели NeuralProphet в машинном обучении с помощью Python. Очень легко использовать и понять, как анализировать данные временных рядов с помощью этой модели.