2024年Python最全时间序列预测的7种Python工具包,总有一款适合你,2024年最新2024Python大厂面试知识分享

文末有福利领取哦~

👉一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。img

👉二、Python必备开发工具

img
👉三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
img

👉 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
img

👉五、Python练习题

检查学习结果。
img

👉六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
img

img

👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

data.columns = [‘month’,‘Passengers’]

data[‘month’] = pd.to_datetime(data[‘month’],infer_datetime_format=True,format=‘%y%m’)

data.index = data.month

df_air = data.drop([‘month’], axis = 1)

Select the models you want to run:

models = [‘ARIMA’,‘Prophet’]

run_models = AutomatedModel(df = df_air, model_list=models, forecast_len=10)

该软件包提供了一组完全自动化的不同模型。以下是可用型号的截图:

Github: https://github.com/firmai/atspy

6、kats:

Kats 是 Facebook 研究团队最近开发的另一个专门处理时间序列数据的库。该框架的目标是为解决时间序列问题提供一个完整的解决方案。使用此库,我们可以执行以下操作:

  • 时间序列分析

  • 模式检测,包括季节性、异常值、趋势变化

  • 产生65个特征的特征工程模块

  • 对时间序列数据建立预测模型,包括Prophet、ARIMA、Holt Winters等。

它刚刚发布了第一个版本。一些教程可以在这里找到

https://github.com/facebookresearch/Kats/tree/master/tutorials

7、sktime:

Sktime 库是一个统一的 python 库,它适用于时间序列数据,并且与 scikit-learn 兼容。它有时间序列预测、回归和分类模型,开发的主要目标是与 scikit-learn 进行互操作。

举个预测例子来介绍 sktime 的使用方法

from sktime.datasets import load_airline

from sktime.forecasting.base import ForecastingHorizon

from sktime.forecasting.model_selection import temporal_train_test_split

from sktime.forecasting.theta import ThetaForecaster

from sktime.performance_metrics.forecasting import mean_absolute_percentage_error

y = load_airline()

y_train, y_test = temporal_train_test_split(y)

fh = ForecastingHorizon(y_test.index, is_relative=False)

forecaster = ThetaForecaster(sp=12) # monthly seasonal periodicity

forecaster.fit(y_train)

y_pred = forecaster.predict(fh)

mean_absolute_percentage_error(y_test, y_pred)

0.08661467738190656

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值