前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python用ARIMA模型预测CO2浓度时间序列实现|附代码数据

python用ARIMA模型预测CO2浓度时间序列实现|附代码数据

原创
作者头像
拓端
发布于 2023-03-15 15:53:19
发布于 2023-03-15 15:53:19
1.4K00
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

全文下载链接:http://tecdat.cn/?p=20424

最近我们被客户要求撰写关于ARIMA的研究报告,包括一些图形和统计输出。

时间序列为预测未来数据提供了方法。根据先前的值,时间序列可用于预测经济,天气的趋势。时间序列数据的特定属性意味着通常需要专门的统计方法

在本教程中,我们将首先介绍和讨论自相关,平稳性和季节性的概念,然后继续应用最常用的时间序列预测方法之一,称为ARIMA。

Python中可用的一种用于建模和预测时间序列的未来点的方法称为 SARIMAX,它表示带有季节性回归的 季节性自回归综合移动平均线。在这里,我们将主要关注ARIMA,用于拟合时间序列数据以更好地理解和预测时间序列中的未来点。

为了充分利用本教程,熟悉时间序列和统计信息可能会有所帮助。

在本教程中,我们将使用 Jupyter Notebook 处理数据。

第1步-安装软件包

要设置我们的时间序列预测环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd environments
 
. my_env/bin/activate

从这里开始,为我们的项目创建一个新目录。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir ARIMA
cd ARIMA 

现在 我们安装 statsmodels和数据绘图软件包 matplotlib

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install pandas numpy statsmodels matplotlib

第2步-导入包并加载数据

要开始使用我们的数据,我们将启动Jupyter Notebook:

要创建新的笔记本文件,请 从右上方的下拉菜单中选择“ 新建”  >“  Python 3 ”:

首先导入所需的库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import warnings
import itertools
import pandas as pd
import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')

我们将使用CO2数据集,该数据集收集了从1958年3月至2001年12月CO2样本。我们可以将这些数据引入如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
y = data.data

让我们对数据进行一些预处理。每周数据处理起来比较麻烦,因为时间比较短,所以让我们使用每月平均值。我们还可以使用 fillna() 函数 来确保时间序列中没有缺失值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# “ MS”字符串按月初将数据分组到存储中
y = y['co2'].resample('MS').mean()

# 填充缺失值
y = y.fillna(y.bfill())
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Output
co2
1958-03-01  316.100000
1958-04-01  317.200000
1958-05-01  317.433333
...
2001-11-01  369.375000
2001-12-01  371.020000

让我们用数据可视化探索这个时间序列:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plt.show()

当我们绘制数据时,可以发现时间序列具有明显的季节性模式,并且总体趋势呈上升趋势。


R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

01

02

03

04

现在,我们继续使用ARIMA进行时间序列预测。

第3步-ARIMA时间序列模型

在时间序列预测中使用的最常见的方法是被称为ARIMA模型。ARIMA是可以拟合时间序列数据的模型,以便更好地理解或预测序列中的未来点。

有三种不同的整数(p,  d,  q)是用来参数化ARIMA模型。因此,ARIMA模型用符号表示 ARIMA(p, d, q)。这三个参数共同说明了数据集中的季节性,趋势和噪声:

  • p 是模型的 自回归 部分。它使我们能够将过去值的影响纳入模型。从直觉上讲,这类似于声明如果过去三天天气一直温暖,明天可能会温暖。
  • d 是 模型的差分部分。包含了要应用于时间序列的差分量(即,要从当前值中减去的过去时间点的数量)。从直觉上讲,这类似于如果最近三天的温差很小,则明天的温度可能相同。
  • q 是 模型的 _移动平均_部分。这使我们可以将模型的误差设置为过去在先前时间点观察到的误差值的线性组合。

在处理季节性影响时,我们使用 季节性 ARIMA(表示为)  ARIMA(p,d,q)(P,D,Q)s。这里, (p, d, q) 是非季节参数,尽管 (P, D, Q) 遵循相同的定义,但适用于时间序列的季节分量。该术语 s 是时间序列的周期性(4 季度, 12 每年)。

相关视频

**

拓端

,赞7

**

拓端

,赞6

**

拓端

,赞9

**

拓端

,赞6

**

拓端

,赞18

**

拓端

,赞13

**

拓端

,赞21

在下一节中,我们将描述如何为季节性ARIMA时间序列模型自动识别最佳参数的过程。

第4步-ARIMA时间序列模型的参数选择

当希望使用季节性ARIMA模型拟合时间序列数据时,我们的首要目标是找到ARIMA(p,d,q)(P,D,Q)s 可优化目标指标的值 。有许多准则和最佳实践可以实现此目标,但是ARIMA模型的正确参数化可能是艰苦的手动过程,需要领域专业知识和时间。其他统计编程语言(例如) R 提供 解决此问题的自动化方法,但这些方法尚未移植到Python。在本节中,我们将通过编写Python代码以编程方式选择ARIMA(p,d,q)(P,D,Q)s 时间序列模型的最佳参数值来解决此问题 。

我们将使用“网格搜索”来迭代探索参数的不同组合。对于每种参数组合,我们使用 模块中的SARIMAX() 拟合新的季节性ARIMA模型。探索了整个参数范围,我们的最佳参数集便会成为产生最佳性能的一组参数。让我们首先生成我们要评估的各种参数组合:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#定义p,d和q参数,使其取02之间的任何值
p = d = q = range(0, 2)

# 生成p、q和q三元组的所有不同组合
pdq = list(itertools.product(p, d, q))

# 生成所有不同的季节性p,q和q组合
seasonal_pdq = [(x[0], x[1], x[2], 12) for x in list(itertools.product(p, d, q))]
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Output
Examples of parameter combinations for Seasonal ARIMA...
SARIMAX: (0, 0, 1) x (0, 0, 1, 12)
SARIMAX: (0, 0, 1) x (0, 1, 0, 12)
SARIMAX: (0, 1, 0) x (0, 1, 1, 12)
SARIMAX: (0, 1, 0) x (1, 0, 0, 12)

现在,我们可以使用上面定义的三元组参数来自动化训练和评估不同组合上的ARIMA模型的过程。在统计和机器学习中,此过程称为用于模型选择的网格搜索(或超参数优化)。

在评估和比较不同参数的统计模型时,可以根据其拟合数据的程度或其准确预测未来数据点的能力来对每个模型进行排名。我们将使用 AIC (Akaike Information Criterion)值,该值可通过使用拟合的ARIMA模型方便地返回 statsmodelsAIC 在考虑模型整体复杂性的同时, 测量模型拟合数据的程度。与使用较少特征以达到相同拟合优度的模型相比,在使用大量特征的模型将获得更大的AIC得分。因此,我们寻找产生最低AIC 的模型 。

下面的代码块通过参数组合进行迭代,并使用中的 SARIMAX 函数 statsmodels 来拟合相应的Season ARIMA模型。拟合每个 SARIMAX()模型后,代码将输出出它们各自的 AIC 分数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
warnings.filterwarnings("ignore") # 指定忽略警告消息


        try:
            mod = sm.tsa.statespace.SARIMAX(y,
                                            order=param,
                                            seasonal_order=param_seasonal,
                                            enforce_stationarity=False,
                                            enforce_invertibility=False)

上面的代码产生以下结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Output
SARIMAX(0, 0, 0)x(0, 0, 1, 12) - AIC:6787.3436240402125
SARIMAX(0, 0, 0)x(0, 1, 1, 12) - AIC:1596.711172764114
SARIMAX(0, 0, 0)x(1, 0, 0, 12) - AIC:1058.9388921320026
SARIMAX(0, 0, 0)x(1, 0, 1, 12) - AIC:1056.2878315690562
SARIMAX(0, 0, 0)x(1, 1, 0, 12) - AIC:1361.6578978064144
SARIMAX(0, 0, 0)x(1, 1, 1, 12) - AIC:1044.7647912940095
...
...
...
SARIMAX(1, 1, 1)x(1, 0, 0, 12) - AIC:576.8647112294245
SARIMAX(1, 1, 1)x(1, 0, 1, 12) - AIC:327.9049123596742
SARIMAX(1, 1, 1)x(1, 1, 0, 12) - AIC:444.12436865161305
SARIMAX(1, 1, 1)x(1, 1, 1, 12) - AIC:277.7801413828764

代码的输出表明, SARIMAX(1, 1, 1)x(1, 1, 1, 12) 该AIC 值的最低 值为277.78。因此,在我们考虑的所有模型中,我们应该将其视为最佳选择。

步骤5 —拟合ARIMA时间序列模型

使用网格搜索,我们确定了一组参数,这些参数对我们的时间序列数据产生了最佳拟合模型。我们可以继续更深入地分析此模型。

我们将从将最佳参数值插入新 SARIMAX 模型开始:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
results = mod.fit()
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Output
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
ar.L1          0.3182      0.092      3.443      0.001       0.137       0.499
ma.L1         -0.6255      0.077     -8.165      0.000      -0.776      -0.475
ar.S.L12       0.0010      0.001      1.732      0.083      -0.000       0.002
ma.S.L12      -0.8769      0.026    -33.811      0.000      -0.928      -0.826
sigma2         0.0972      0.004     22.634      0.000       0.089       0.106
==============================================================================

summary 输出结果产生的 属性 SARIMAX 返回了大量信息,但是我们将注意力集中在系数上。 coef 列显示每个函数的权重(即重要性)以及每个函数如何影响时间序列。 P>|z| 列告知我们每个特征权重的重要性。在这里,每个权重的p值都小于或接近 0.05,因此将所有权重保留在我们的模型中是合理的。

在拟合季节性ARIMA模型时,重要的是运行模型诊断程序,以确保没有违反模型所做的假设。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plt.show()

我们主要关心的是确保模型的残差不相关并且零均值正态分布。如果季节性ARIMA模型不满足这些属性,则表明它可以进一步改善。

在这种情况下,我们的模型诊断建议根据以下内容正态分布模型残差:

  • 在右上角的图中,我们看到红线 KDE 靠近 N(0,1) 红线,(其中 N(0,1))是均值0 和标准偏差 为的正态分布。这很好地表明了残差呈正态分布。
  •  左下方的 qq图显示,残差(蓝色点)分布遵循从标准正态分布。同样,表明残差是正态分布的。
  • 随时间推移的残差(左上图)没有显示任何明显的季节性变化,而是白噪声。右下方的自相关(即相关图)图证实了这一点,该图表明时间序列残差有较低的相关性。

这些观察结果使我们得出结论,我们的模型产生了令人满意的拟合度,可以帮助我们理解时间序列数据并预测未来价值。

尽管我们具有令人满意的拟合度,但可以更改季节性ARIMA模型的某些参数以改善模型拟合度。因此,如果扩大网格搜索范围,我们可能会找到更好的模型。

第6步-验证预测

我们已经为时间序列获得了模型,现在可以将其用于产生预测。我们首先将预测值与时间序列的实际值进行比较,这将有助于我们了解预测的准确性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pred_ci = pred.conf_int()

上面的代码表示预测从1998年1月开始。

我们可以绘制CO2时间序列的实际值和预测值,评估我们的效果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 ax.fill_between(pred_ci.index,
                pred_ci.iloc[:, 0],
                pred_ci.iloc[:, 1], color='k', alpha=.2)


plt.show()

总体而言,我们的预测与真实值非常吻合,显示出总体增长趋势。

量化我们的预测准确性也很有用。我们将使用MSE(均方误差)来总结我们预测的平均误差。对于每个预测值,我们计算其与真实值的差异并将结果平方。对结果进行平方,在计算总体均值时正/负差不会互相抵消。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
y_truth = y['1998-01-01':]

# 计算均方误差
mse = ((y_forecasted - y_truth) ** 2).mean()
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Output
我们的预测均方误差为 0.07

我们提前一步进行预测的MSE得出的值为 0.07,因为它接近于0,因此非常低。如果MSE为0,则估算以理想的精度预测参数的观测值,这是理想的情况,但是这通常是不可能的。

但是,使用动态预测可以更好地表示我们的真实预测能力。在这种情况下,我们仅使用时间序列中直到某个特定点的信息,之后,将使用以前的预测时间点中的值生成预测。

在下面的代码块中,我们指定从1998年1月起开始计算动态预测和置信区间。

通过绘制时间序列的观察值和预测值,我们可以看到,即使使用动态预测,总体预测也是准确的。所有预测值(红线)与真实情况(蓝线)非常接近,并且都在我们预测的置信区间内。

我们再次通过计算MSE来量化预测的效果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 提取时间序列的预测值和真实值
y_forecasted = pred_dynamic.predicted_mean
y_truth = y['1998-01-01':]

# 计算均方误差
mse = ((y_forecasted - y_truth) ** 2).mean()
print('The Mean Squared Error of our forecasts is {}'.format(round(mse, 2)))
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Output
我们的预测均方误差为 1.01

从动态预测获得的预测值产生的MSE为1.01。这比前面的略高,这是可以预期的,因为我们所依赖的时间序列的历史数据较少。

提前一步和动态预测都确认此时间序列模型有效。但是,时间序列预测的兴趣在于能够提前预测未来值。

第7步-生成和可视化预测

最后,我们描述了如何利用季节性ARIMA时间序列模型来预测未来数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 获取未来500步的预测
pred_uc = results.get_forecast(steps=500)

# 获取预测的置信区间
pred_ci = pred_uc.conf_int()

我们可以使用此代码的输出来绘制时间序列并预测其未来值。

现在,我们所生成的预测和相关的置信区间都可以用于进一步了解时间序列并预测预期结果。我们的预测表明,时间序列预计将继续稳定增长。

随着我们对未来的进一步预测,置信区间会越来越大。

结论

在本教程中,我们描述了如何在Python中实现季节性ARIMA模型。展示了如何进行模型诊断以及如何生成二氧化碳时间序列的预测。

您可以尝试以下一些其他操作:

  • 更改动态预测的开始日期,以了解这如何影响预测的整体质量。
  • 尝试更多的参数组合,以查看是否可以提高模型的拟合优度。
  • 选择其他指标选择最佳模型。例如,我们使用该 AIC 找到最佳模型。

本文摘选 ARIMA模型预测CO2浓度时间序列-python实现


点击标题查阅往期内容

R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列 R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格 R语言多元Copula GARCH 模型时间序列预测 python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化 R语言中的copula GARCH模型拟合时间序列并模拟分析 matlab使用Copula仿真优化市场风险数据VaR分析 R语言多元Copula GARCH 模型时间序列预测 R语言Copula函数股市相关性建模:模拟Random Walk(随机游走) R语言实现 Copula 算法建模依赖性案例分析报告 R语言ARMA-GARCH-COPULA模型和金融时间序列案例 R语言基于copula的贝叶斯分层混合模型的诊断准确性研究 R语言COPULA和金融时间序列案例 matlab使用Copula仿真优化市场风险数据VaR分析 matlab使用Copula仿真优化市场风险 R语言多元CopulaGARCH模型时间序列预测 R语言Copula的贝叶斯非参数MCMC估计 R语言COPULAS和金融时间序列R语言乘法GARCH模型对高频交易数据进行波动性预测 R语言GARCH-DCC模型和DCC(MVT)建模估计 Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测 R语言时间序列GARCH模型分析股市波动率 R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测 matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计 Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测 使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略 R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模 R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析 R语言多元Copula GARCH 模型时间序列预测 R语言使用多元AR-GARCH模型衡量市场风险 R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格 R语言用Garch模型和回归模型对股票价格分析 GARCH(1,1),MA以及历史模拟法的VaR比较 matlab估计arma garch 条件均值和方差模型 R语言ARMA-GARCH-COPULA模型和金融时间序列案例

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
NLP学习路线总结
自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究人与计算机之间用自然语言进行有效通信的理论和方法。融语言学、计算机科学、数学等于一体的科学。旨在从文本数据中提取信息。目的是让计算机处理或“理解”自然语言,以执行自动翻译、文本分类和情感分析等。自然语言处理是人工智能中最为困难的问题之一。
全栈程序员站长
2022/11/10
1.4K0
NLP学习路线总结
NLP 基础知识大集合
大纲 NLP基础概念 NLP的发展与应用 NLP常用术语以及扩展介绍 ---- 1.1 什么是NLP 基本分类 自然语言生成(Natural Language Generation,NLG) 指从结构化数据中以读取的方式自动生成文本,主要包括三个阶段: 文本规划:完成结构化数据中的基础内容规划; 语句规划:从结构化数据中组合语句来表达信息流; 实现:产生语法通顺的语句来表达文本; 研究任务 机器翻译 情感分析 智能问答 文摘生成 文本分类 舆论分析 知识图谱 ---- 1
村雨遥
2022/06/15
7310
NLP 基础知识大集合
NLP秘笈,从入门到进阶
自然语言处理(NLP)作为人工智能研究的核心领域之一,长久以来都受到广泛关注。微软全球执行副总裁沈向洋博士曾表示“ 懂语言者得天下,人工智能对人类影响最为深刻的就是自然语言方面。 ”现在很多研究人员都在进入自然语言领域,希望可以解决“让机器理解人类语言”这一难题。 为了帮助大家更好地学习NLP,我们邀请微软亚洲研究院自然语言计算组资深研究员韦福如为大家推荐了一些关于自然语言学习方面经典的书籍和课程,分为入门级和进阶级两大类。 好,同学们现在都准备好了吗?请系好安全带,我们这辆开往“NLP大佬界”方向的车就要
企鹅号小编
2018/02/06
1.3K0
NLP秘笈,从入门到进阶
《自然语言处理实战课程》---- 第一课:自然语言处理简介
大家好,今天开始和大家分享,我在自然语言处理(Natural Language Processing,NLP)的一些学习经验和心得体会。
流川疯
2019/04/17
2.4K0
《自然语言处理实战课程》---- 第一课:自然语言处理简介
初学者|NLP相关任务简介
本文根据自己的学习以及查阅相关资料的理解总结,简要的介绍一下自然语言处理(nlp)一些相关技术以及相关任务,nlp技术包括基础技术和应用技术。后续会抽空继续分专题完善这一个系列。限于作者水平有限,其中难免有错漏之处,欢迎读者斧正。
yuquanle
2019/05/29
8980
自然语言处理概论1.NLP相关学科2.相关术语3.知识内容4.发展概况5.中文特征6.中文语言处理发展的主要困难7.基础理论8.主要应用
1.NLP相关学科 语言学 信息论 生物学 计算机科学 数学 等等...... 2.相关术语 中文信息处理 中文语言处理 计算语言学 自然语言理解 智能化人机接口 3.知识内容 3.1基础 音位学->形态学->词汇学->句法学->语义学->语用学 举例 语音输入:delete file x 音位学处理:dilet'#fail#eks 形态学处理:"delete" "file" "x" 词汇学处理:(“delete”VERB)(“file”NOUN)(“x”ID) 句法分析处理:
JasonhavenDai
2018/04/11
1K0
自然语言处理概论1.NLP相关学科2.相关术语3.知识内容4.发展概况5.中文特征6.中文语言处理发展的主要困难7.基础理论8.主要应用
绝干货! | 最有用的自然语言处理(NLP)入门资料
一周的时间转瞬即逝,今天作者给大家分享一下最近收集关于自然语言处理的一些资料,与大家分享,记得保存喲~不然到期了你还得给我要,^_^
ShuYini
2019/08/08
1.8K0
绝干货! | 最有用的自然语言处理(NLP)入门资料
自然语言处理(NLP)学习路线总结
NLP是自然语言处理(Natural Language Processing)的缩写,它是计算机科学领域中专注于研究如何使计算机理解、生成和处理人类语言的学科。NLP涉及的技术包括但不限于分词、词性标注、句法分析、语义分析、机器翻译、情感分析、信息抽取、文本生成等。通过NLP,计算机可以处理和分析大量的文本数据,帮助人们更好地理解和应用语言信息。
机器学习AI算法工程
2024/07/04
1.3K0
自然语言处理(NLP)学习路线总结
《人工智能与自然语言处理:开启智能交流新时代》
在当今科技迅猛发展的时代,人工智能已经成为了各个领域的热门话题。其中,自然语言处理(Natural Language Processing,简称 NLP)作为人工智能的一个重要分支,正逐渐改变着我们与计算机交互的方式。那么,人工智能究竟是如何进行自然语言处理的呢?
程序员阿伟
2024/12/09
1650
HanLP《自然语言处理入门》笔记--1.新手上路
自然语言处理(Natural Language Processing,NLP)是一门融合了计算机科学、人工智能及语言学的交叉学科,它们的关系如下图所示。这门学科研究的是如何通过机器学习等技术,让计算机学会处理人类语言,乃至实现终极目标–理解人类语言或人工智能。
mantch
2020/02/18
1.4K0
NLP学习基础入门(上)
NLP (Natural Langunge Possns,自然语言处理)是计算机科学领域以及人工智能领域的一个重要的研究方向,它研究用计算机来处理、理解以及运用人类语言(如中文、英文等),达到人与计算机之间进行有效通讯。所谓“自然”乃是寓意自然进化形成,是为了区分一些人造语言,类似C++、Java 等人为设计的语言。
菲宇
2020/03/25
1K0
详解自然语言处理5大语义分析技术及14类应用(建议收藏)
自然语言处理技术的研究,可以丰富计算机知识处理的研究内容,推动人工智能技术的发展。
IT阅读排行榜
2020/08/07
5.8K0
详解自然语言处理5大语义分析技术及14类应用(建议收藏)
《NLP》你真的了解”自然语言处理(NLP)“吗?
上一周,清华大学AMiner发布了《2018自然语言处理研究报告》(下载地址:https://pan.baidu.com/s/1IXuZLgGVHjfYyyX63jcVHQ),因为时间原因,没能及时的更新,希望大家见谅。现在作者以初学者的态度整理了一下该报告的主要内容,希望能帮助大家。
ShuYini
2019/08/08
1.4K0
《NLP》你真的了解”自然语言处理(NLP)“吗?
NLP 学习秘笈,从入门到进阶 | 书单
来源 | 微软研究院AI头条 自然语言处理(NLP)作为人工智能研究的核心领域之一,长久以来都受到广泛关注。微软全球执行副总裁沈向洋博士曾表示“懂语言者得天下,人工智能对人类影响最为深刻的就是自然语言方面。”现在很多研究人员都在进入自然语言领域,希望可以解决“让机器理解人类语言”这一难题。 为了帮助大家更好地学习NLP,微软亚洲研究院自然语言计算组资深研究员韦福如为大家推荐了一些关于自然语言学习方面经典的书籍和课程,分为入门级和进阶级两大类。 好,同学们现在都准备好了吗?请系好安全带,我们这辆开往“NLP
用户1737318
2018/06/05
8770
【NLP】NLP爱好者学习资源推荐汇总
导读:本文旨在整理汇总一些NLPer的学习资源,包括书籍、在线课程、博客等。本文中涉及的原始失效链接均已剔除或替换,博客部分均整理为近期仍在更新的博客,欢迎文末留言区交流补充。
黄博的机器学习圈子
2021/04/16
2.5K0
【NLP】NLP爱好者学习资源推荐汇总
NLP札记1
NLP(Natural Language Processing),自然语言处理,是一门融合了计算机科学、人工智能以及语言学的交叉学科。 自然语言和编程语言对比 自然语言比编程语言的词汇量丰富 自然语言是非机构化的;编程语言是结构化的。结构化指的是信息具有明确的结构关系,比如编程语言中具有类和成员、数据库中的表和字段等,都可以通过明确的机制来进行读写。 自然语言存在大量的歧义,这些歧义根据语境的不同变现为特定的义项。 自然语言容错性高,编程语言中程序员必须保证拼写、语法绝对规范。 编程语言的变化缓慢温和
皮大大
2021/03/02
5210
从技术到人才,清华-中国工程院知识智能联合实验室发布「2018自然语言处理研究报告」
摘自AMiner 机器之心整理 参与:李亚洲、思源 自然语言处理是现代技术最重要的组成部分之一,而最近清华大学和中国工程院知识智能联合实验室发布一份非常全面的 NLP 报告。该报告从 NLP 的概念介
机器之心
2018/08/07
4910
从技术到人才,清华-中国工程院知识智能联合实验室发布「2018自然语言处理研究报告」
做项目一定用得到的NLP资源【分类版】
原文链接:https://github.com/fighting41love/funNLP
流川疯
2022/09/20
2.1K0
【NLP】 NLP领域最具影响力的国内外会议介绍
众所周知,参加学术会议是进入学术圈、走进学术前沿的重要方式。在学术会议上,不仅可以集中听取最新的成果报告,还有讲习班、工作坊、社交活动等形式,了解那些不会写到论文中的八卦与动态,结识学术大佬和朋友,走向学术人生巅峰。
用户1508658
2019/09/18
4.6K0
【NLP】 NLP领域最具影响力的国内外会议介绍
独家 | 一文读懂自然语言处理NLP(附学习资料)
前言 自然语言处理是文本挖掘的研究领域之一,是人工智能和语言学领域的分支学科。在此领域中探讨如何处理及运用自然语言。 对于自然语言处理的发展历程,可以从哲学中的经验主义和理性主义说起。基于统计的自然语言处理是哲学中的经验主义,基于规则的自然语言处理是哲学中的理性主义。在哲学领域中经验主义与理性主义的斗争一直是此消彼长,这种矛盾与斗争也反映在具体科学上,如自然语言处理。 早期的自然语言处理具有鲜明的经验主义色彩。如1913年马尔科夫提出马尔科夫随机过程与马尔科夫模型的基础就是“手工查频”,具体说就是
数据派THU
2018/01/30
3.6K0
独家 | 一文读懂自然语言处理NLP(附学习资料)
推荐阅读
相关推荐
NLP学习路线总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验