最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
提供置信区间预测值的下限和上限。
-
它训练各种各样的模型,如统计的,机器学习以及深度学习模型
-
它还可以执行最佳模型的自动集成
-
它还可以通过学习最优NaN插补和异常值去除来处理混乱的数据
-
它可以运行单变量和多变量时间序列
让我们以苹果股票数据集为例,更详细地了解一下:
Loading the package
from autots import AutoTS
import matplotlib.pyplot as plt
import pandas as pd
Reading the data
df = pd.read_csv(‘…/input/apple-aapl-historical-stock-data/HistoricalQuotes.csv’)
Doing some preprocessing
def remove_dollar(x):
return x[2:]
df[’ Close/Last’] = df[’ Close/Last’].apply(remove_dollar)
df[’ Close/Last’] = df[’ Close/Last’].astype(float)
df[‘Date’] = pd.to_datetime(df[‘Date’])
Plot to see the data:
df = df[[“Date”, " Close/Last"]]
df[“Date”] = pd.to_datetime(df.Date)
temp_df = df.set_index(‘Date’)
temp_df[" Close/Last"].plot(figsize=(12, 8), title=“Apple Stock Prices”, fontsize=20, label=“Close Price”)
plt.legend()
plt.grid()
plt.show()
model = AutoTS(forecast_length=40, frequency=‘infer’, ensemble=‘simple’, drop_data_older_than_periods=100)
model = model.fit(df, date_col=‘Date’, value_col=’ Close/Last’, id_col=None)
这将运行数百个模型。你将在输出窗格中看到运行的各种模型。让我们看看模型如何预测:
prediction = model.predict()
forecast = prediction.forecast
print(“Stock Price Prediction of Apple”)
print(forecast)
temp_df[’ Close/Last’].plot(figsize=(15,8), title= ‘AAPL Stock Price’, fontsize=18, label=‘Train’)
forecast[’ Close/Last’].plot(figsize=(15,8), title= ‘AAPL Stock Price’, fontsize=18, label=‘Test’)
plt.legend()
plt.grid()
plt.show()
更多详细信息可以查看 Github: https://github.com/winedarksea/AutoTS
官网文档: https://winedarksea.github.io/AutoTS/build/html/source/tutorial.html
3、Prophet
Prophet是Facebook研究团队开发的知名时间序列软件包,于2017年首次发布,适用于具有强烈季节性影响的数据和多个季节的历史数据。它具有高度的用户友好性和可定制性,只需进行最少的设置。
让我们看一个简单的例子:
Loading the library
import pandas as pd
import matplotlib.pyplot as plt
from fbprophet import Prophet
Loading the data from the repo:
df = pd.read_csv(“https://raw.githubusercontent.com/facebook/prophet/master/examples/example_wp_log_peyton_manning.csv”)
Fitting the model
model = Prophet()
model.fit(df) #fit the model.
Predict
future = model.make_future_dataframe(periods=730) # predicting for ~ 2 years
forecast = model.predict(future) # Predict future
Plot results
fig1 = model.plot(forecast) # Plot the fit to past data and future forcast.
fig2 = model.plot_components(forecast) # Plot breakdown of components.
plt.show()
forecast # Displaying various results in table format.
趋势图和季节性图如下所示:
我们还可以看到预测以及所有的置信区间
更多详细信息可以查看Github: https://github.com/facebook/prophet
文档: https://facebook.github.io/prophet/
4、darts:
Darts 是另一个 Python 包,它有助于时间序列的操作和预测。语法是“sklearn-friendly”,使用fit和predict函数来实现目标。此外,它还包含了从 ARIMA 到神经网络的各种模型。
该软件包最好的部分是它不仅支持单变量,而且还支持多变量时间序列和模型。该库还可以方便地对模型进行回溯测试,并将多个模型的预测和外部回归组合起来。让我们举一个简单的例子来了解它的工作原理:
#Loading the package
from darts import TimeSeries
from darts.models import ExponentialSmoothing
import matplotlib.pyplot as plt
Reading the data
data = pd.read_csv(‘…/input/air-passengers/AirPassengers.csv’)
series = TimeSeries.from_dataframe(data, ‘Month’, ‘#Passengers’)
print(series)
Splitting the series in train and validation set
train, val = series.split_before(pd.Timestamp(‘19580101’))
Applying a simple Exponential Smoothing model
model = ExponentialSmoothing()
model.fit(train)
Getting and plotting the predictions
prediction = model.predict(len(val))series.plot(label=‘actual’)
prediction.plot(label=‘forecast’, lw=3)
plt.legend()
更多详细信息可以查看Github: https://github.com/unit8co/darts
文档: https://unit8co.github.io/darts/README.html
5、AtsPy
AtsPy 代表Python 中的自动时间序列模型。该库的目标是预测单变量时间序列。你可以加载数据并指定要运行的模型,如下例所示:
Importing packages
import pandas as pd
from atspy import AutomatedModel
Reading the data:
data = pd.read_csv(‘…/input/air-passengers/AirPassengers.csv’)
Preprocessing data
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!