给定过去一段时间的数据如何对未来的数据进行预测这类时间序列预测问题是很多领域都关心的问题。在机器学习中目前主流的方法是利用LSTM等递归神经网络来对未来数据进行预测这次介绍的DeepAR模型也不例外不过不同的是DeepAR模型并不是这样做的好处有两点1、很多过程本身就具有随机属性因此输出一个概率分布更加贴近本质预测的精度反而更高2、可以评估出预测的不确定性和相关的风险。接下来我们就来看DeepAR模型是如何具体实现的。
第一个等号很好理解就是将原先的联合概率分布写为自回归的概率乘积形式这在NLP的语言模型中经常出现第二个等号就是将自回归概率用一个参数化后的似然函数来表示具体来说
对于训练过程图左所有的数据都是已知的因此我们可以直接输入prediction range的数据然后计算下一时刻的似然函数通过最大化似然函数来实现对于模型参数的训练。
可以看出训练和预测过程之间其实存在着一些差别这在一些任务例如NLP中可能会造成严重的“脱节”问题不过论文在实验中并没有发现这个问题。
另外考虑到模型的输入是多个时间序列这些时间序列的量级可能并不一样因此我们需要对它们做放缩对于每一个时间序列i都对应有一个放缩因子
另外最近还有一篇论文利用DeepAR模型做了一些金融领域的实验这里简单介绍两个小实验第一个是在S&P500股票数据上的收益实验该实验构建了这样一个多空交易策略在时刻t预测所有股票在th时刻的涨跌情况然后做多期望收益最高的k只股票并做空期望损失最大的k支股票利用蒙特卡洛方法来估计收益期望。得到的收益与目前主流的非概率模型的结果对比如下
这篇论文提出的DeepAR模型不同于以往的时间序列预测模型它输出的是未来数据的一个概率分布我们需要通过采样的方法用DeepAR递归地生成对于未来一段时间数据的预测不过因为是从概率分布中采样得到的这只是一条可能的“轨迹”要计算期望值的线c;就需要利用蒙特卡洛方法多次重复采样后取平均来得到。个人感觉这种让模型输出概率分布的方法特别适用于像金融数据这类具有较大不确定性的时间序列数据这类数据上往往具有一些噪声这就导致直接对未来数据做直接预测并不一定可靠而对于预测概率分布的DeepAR模型最大化未来序列的似然函数的方式反而能够更好地反映出数据内在的随机性质它不仅能够预测数值还可以预测未来的波动这一特点对于需要考虑风险的金融领域是非常有帮助的。
为87%,所以她选择主动切除乳腺。当时这篇报道给我的震惊在于女神的果断,因为我们常人怀有侥幸心理,不到万不得已绝舍不得给自己来一刀。 不过,如今我们学习机器学习,那视角就得小小切换一下:女神这 87%的患病
对向量,矩阵,张量求导 英文原文:Partial Least Squares (PLS) Regression. 目录 用 [TOC]来生成目录: 对向量矩阵张量求导 目录 Expanding notation into explicit sums and equations for each component 2 Removing summation notation
笔者在看各种NLP的论文、文献、博客之中发现在应用过程中,有种类繁多的词向量的表达。笔者举例所看到的词向量有哪些。 词向量类型: 一个词一列向量,Hash算法,word2vec,LDA主题-词语矩阵; 一个词一个值,bow算法,词权重; 根据词向量组成句向量的方式: 如果是一词一列向量,一般用简单相加(相加被证明是最科学)来求得; 一个词一值的就是用词权重组合成向量的方
当中。因为在NLP 里面,最细粒度的是 词语,词语组成句子,句子再组成段落、篇章、文档。所以处理 NLP 的问题,首先就要拿词语开刀。一般来说,对文本的预处理流程如下: 预处理结束后,我们得到的是词汇,而通用的
出现多重共线性、异方差、序列相关等等问题时,我们需要如何应对与处理。 接下来我们来分别针对不同的情况看进行处理 正文 一,异方差(Heteroscedasticity) (一) 异方差的介绍 在线性...
值与残差的图形。例如,如下代码,可绘制一个常见的诊断图: plot(predict(model,type = response),residuals(model,type = deviance))R将列出帽子值(hat value)、学生化残差值和Cook