![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据挖掘
文章平均质量分 90
介绍数据挖掘工具、算法、应用
数智笔记
目前从事数据挖掘工作,期望在自己学习总结的同时,也能分享有益的东西给别人,希望有志者能在数据挖掘领域共同进步
展开
-
2024年学习人工智能的路线图
使用excalidraw制作所以,你想学习人工智能?但你不知道如何开始或从哪里开始?我在2020年写了一篇。但我意识到,参加很多课程并不是正确的方法。为了摆脱教程地狱并学到东西,你必须动手实践,从零开始编写算法,实现论文,并使用人工智能进行有趣的项目来解决问题。本文试图制定一份遵循这一理念的课程计划。首先,关于课程计划的一些说明和学习建议。原创 2024-02-18 23:26:10 · 928 阅读 · 1 评论 -
机器学习模型系列:岭回归、套索回归和弹性网络回归
正则化项惩罚系数的绝对值。将无关的值设为0。可能会在模型中删除太多特征。原创 2024-01-31 10:04:11 · 1484 阅读 · 0 评论 -
朴素贝叶斯算法和K近邻算法
例如,我们可以使用贝叶斯定理来通过考虑任何给定个体患病的可能性和测试的整体准确性来定义医学测试结果的准确性。K最近邻算法,也称为KNN或k-NN,是一种非参数的有监督学习分类器,它利用接近性来对个体数据点的分组进行分类或预测。假设我们想要预测一个位于类别-1标记的异常值和类别-2标记的训练点之间的点。K是一个超参数),代表我们的最近点。在一个社区中,90%的儿童因流感而生病,10%的儿童因麻疹而生病,没有其他疾病。如果我们需要计算一个新数据点的输出,我们找到最近的K个点,然后计算它们的平均值来得到输出值。原创 2024-01-30 09:22:31 · 785 阅读 · 0 评论 -
K-Means聚类和层次聚类
时,我们通常会先对数据集进行聚类。这涉及将聚类算法应用于将数据分组为两个或三个独立的群组。一旦我们有了这些群组,我们就可以对每个群组应用。原创 2024-01-30 09:20:15 · 1908 阅读 · 0 评论 -
异常检测系列:基于极限梯度提升的异常检测(XGBOD)
表示学习研究了在没有任何人为干预的情况下发现原始数据表示的系统方法。XGBOD(极限梯度提升异常检测)应用不同的无监督异常检测方法来创建称为转换异常得分(TOS)的新特征。它使用皮尔逊相关系数来保留有用的特征。表示学习的默认无监督学习模型包括KNN、AvgKNN、LOF、iForest、HBOS和OCSVM。XGBOD将TOS添加到原始特征中以构建模型。原创 2024-01-26 21:50:54 · 1298 阅读 · 1 评论 -
异常检测系列:AutoEncoder模型介绍
自动编码器模型是神经网络或深度学习的重要应用。它们广泛应用于降维、图像压缩、图像去噪和特征提取。它们还应用于异常检测,并取得了优秀的结果。深度学习是机器学习的一个完整领域。鉴于并非所有读者都熟悉深度学习,我在本章中专门介绍了深度学习的基础知识。因为很多读者熟悉回归,所以我将从回归的角度介绍深度学习,并使用逻辑回归来解释神经网络图。这种回归友好的方法可以帮助读者理解神经网络建模。在此基础上,我将解释自动编码器的结构,并向您展示如何构建异常分数。我将深入介绍深度学习模型的组成部分,包括批量大小的概念、L1和L2原创 2024-01-26 21:47:52 · 2114 阅读 · 2 评论 -
异常检测系列:基于聚类的局部异常因子(CBLOF)
这意味着如果前一个簇的大小|Ck|是下一个簇的五倍,簇k及以上被定义为大簇,簇k-1及以下被定义为小簇。按照局部邻域的精神,聚类C1中的数据是聚类C2的局部离群值,聚类C3中的数据是聚类C4的局部离群值。如果预期异常组中某个特征的均值高于正常组的均值,而结果却相反,这将是违反直觉的。当训练数据的异常值分数按升序排序时,前5%的数据是根据5%的污染率来确定的异常值。下面的“y_by_average”是对训练数据的5个模型预测结果的平均值,这些结果存储在数据框“train_scores_norm”中。原创 2024-01-25 23:14:56 · 1446 阅读 · 0 评论 -
异常检测系列:K最近邻算法KNN
上表显示了正常组和异常组的特征。它显示了正常组和异常组的计数和计数百分比。请记住,在有效的展示中,要用特征名称标记特征。一旦确定了阈值,大小就确定了。如果阈值是从图(D.2)中得出的,并且没有先验知识,那么大小统计数据成为一个很好的起点参考。所有均值必须与领域知识一致。在我们的案例中,异常组的均值小于正常组的均值。异常组的平均分数应该高于正常组的分数。您不需要过多解释分数。因为我们在数据生成中有真实值,所以我们可以生成一个混淆矩阵来了解模型的性能。该模型表现不错,并且识别出了所有的25个异常值。原创 2024-01-25 23:04:35 · 1552 阅读 · 0 评论 -
异常检测系列:局部异常因子(LOF)
如果一个数据点远离其邻域中的数据主体,那么它被认为是一个离群值,但如果从整个数据宇宙来看,它可能不是一个离群值。我们可以选择更保守的方法,选择一个较高的阈值,这将导致异常组中的异常值更少,但希望更精细。例如,在图(A)中,无论是蓝色簇还是绿色簇中的数据点的LOF值都接近1,即使两个簇的密度不同。通过异常值分数,您可以选择一个阈值,将具有高异常值分数的异常观测值与正常观测值分开。下面的“y_by_average”是训练数据的20个模型预测的平均值,这些值存储在数据框“train_scores_norm”中。原创 2024-01-25 22:37:55 · 1646 阅读 · 0 评论 -
异常检测系列:高斯混合模型(GMM)
假设数据点分为四个组,如图(A.1)所示。有两种或更多种解释数据的方式。图(A.1)是K-means的方式。它假设有固定数量的簇,本例中为四个簇。然后将每个数据点分配给一个簇。图(A.2)是GMM的方式。它假设有固定数量的具有不同均值和标准差的高斯分布。在我们的例子中,它假设有四个分布。我将图(A.1)和图(A.2)垂直对齐,以比较GMM和K-means。GMM用四个分布的概率描述一个数据点,而K-means将一个数据点识别为一个且仅一个簇。假设一个数据点在最左端。原创 2024-01-25 22:33:49 · 1596 阅读 · 0 评论 -
异常检测系列:单类支持向量机(OCSVM)
OCSVM的异常得分是数据点到超平面的距离,如图(B)所示。这个距离也被称为相似度度量。相似度度量是通过N维相似度矩阵计算得出的(参见Aggarwal(2016)[6])。它是通过核函数计算得出的,例如径向基函数、线性函数、多项式函数或Sigmoid函数。径向基函数简单地计算输入x与固定点c之间的距离,例如。原创 2024-01-25 22:29:37 · 1942 阅读 · 0 评论 -
异常检测系列:支持向量机(SVM)异常检测介绍
OCSVM的异常得分是数据点到超平面的距离,如图(B)所示。这个距离也被称为相似度度量。相似度度量是通过N维相似度矩阵计算得出的(参见Aggarwal(2016)[6])。它是通过核函数计算得出的,例如径向基函数、线性函数、多项式函数或Sigmoid函数。径向基函数简单地计算输入x与固定点c之间的距离,例如。原创 2024-01-25 13:43:08 · 2023 阅读 · 0 评论 -
异常检测系列:主成分分析PCA异常值分数检测
异常值与正常数据点不同。当它们投影到低维超平面时,它们将落在具有较小特征值的特征向量上。数据点的异常值分数是数据点到低维超平面的加权欧氏距离的总和。原创 2024-01-25 13:39:28 · 1595 阅读 · 0 评论 -
异常检测系列:孤立森林(Isolation Forest)模型介绍
大多数现有的基于模型的异常检测方法会构建一个正常实例的概要,然后将不符合正常概要的实例标识为异常值。但是,Isolation Forest直接且明确地隔离异常值。IForest采用树结构来隔离每个单独的数据点。异常值是首先被单独分离出来的单个数据点;而正常点往往在树中聚集在一起。由于Isolation Forest不使用任何距离度量来检测异常值,因此它对于大数据量和高维问题是快速且适用的。原创 2024-01-25 13:32:09 · 2198 阅读 · 0 评论 -
异常检测系列:基于经验累积分布的异常检测(ECOD)
如果一个观测值在几乎所有变量方面都是异常值,那么该观测值很可能是异常值。HBOS根据变量的直方图定义每个变量的异常值得分。所有变量的异常值得分可以相加得到一个观测值的多元异常值得分。由于直方图易于构建,HBOS是一种有效的无监督方法来检测异常值。原创 2024-01-25 11:56:56 · 1659 阅读 · 0 评论 -
异常检测系列:Histogram-based Outlier Score_HBOS算法
在第二步中,我们将异常值分数绘制在直方图中,然后选择一个值,称为阈值,将正常观测值与异常观测值分开。如果一个模型能够有效地识别训练数据中的异常值,那么这些异常值应该表现出异常性的特征。通常情况下,某些观察结果的值在相应的变量方面是异常值,但是某些值是正常的。因为异常值分数已经衡量了数据点与其他数据点的偏差,我们可以按照它们的异常值分数对数据进行排序。那些具有较高异常值分数的数据点可能是异常值。我们可以选择一种更保守的方法,通过选择一个较高的阈值,这将导致异常值组中的异常值更少,但希望更精细。原创 2024-01-24 23:20:09 · 1290 阅读 · 1 评论 -
异常检测系列:异常检测基本介绍
例如,我们之前提到的火灾索赔示例,一种欺诈类型是策划的军火库犯罪,另一种类型是火灾损失的夸大。正如其GitHub页面(https://github.com/yzhao062/pyod)上的标语所说,“Python异常值检测模块是一个全面且可扩展的Python库,用于异常值检测(异常检测)”。标记的异常值可以来自多种类型的异常值。首先,异常值是与其他值相距较远的罕见事件,一种直观的方法是测量数据点之间的接近程度。因此,异常检测需要多种算法来发现隐藏的数据模式,对罕见事件进行仔细调查,并更好地理解噪声的来源。原创 2024-01-24 22:03:21 · 1318 阅读 · 0 评论 -
案例系列:信用卡交易欺诈_异常检测_孤立森林、局部离群因子、椭圆包络、支持向量机
诈骗检测项目现在非常常见,我们经常在网上遇到不同的解决方案。它们通常首先处理数据平衡,然后应用各种监督算法,因为类标签已经可用。然而,在现实中,大多数业务数据没有类标签,无监督算法在检测异常方面起着重要作用。因此,我尝试以不同的方式进行这项工作。我没有使用平衡数据,而是尝试使用专门用于解决异常检测问题的算法。此外,我还探索了异常检测算法的无监督和监督形式。上图显示,只有交易金额小于2500(约)的交易中存在欺诈行为。然而,在所有时间段内,交易中的欺诈行为是均匀分布的。原创 2024-01-21 13:15:18 · 1084 阅读 · 2 评论 -
案例系列:预测哥斯达黎加家庭的贫困情况_FeatureTools
这是比赛中使用的F1 Macro得分。为LightGBM定义一个自定义评估指标并不是非常直接,但我们可以应对。# 将预测结果进行重塑# 计算宏平均F1分数# 返回指标名称、指标值、是否越大越好的标志为了扩展featuretools的功能,我们可以编写自己的原语来应用于数据。我们将编写一个简单的函数,用于查找数值列的范围。# 导入所需的库# 自定义聚合函数# 创建自定义的聚合原语我们还可以创建一个自定义原语,用于计算两列之间的相关系数。# 定义一个函数,用于计算两个数值列的相关系数。原创 2024-01-21 12:38:49 · 987 阅读 · 0 评论 -
案例系列:预测房屋的销售价格_使用EvalML预测房价_FeatureTools
在进行实际的机器学习之前,EvalML提供了另一个我们可以探索的功能。虽然我们将依赖后面要使用的自动化机器学习来提供生成的管道,但我们可以预先指定管道结构和超参数范围,以便AutoML搜索。在这个相当高级的实现中,我们将指定我们将包含在中的估计器的超参数范围,并创建一组我们想要将它们包含在其中的管道。在我们指定了这些之后,我们可以向我们的流水线中添加一些内容。我们将希望对名义分类特征进行独热编码,并使用随机森林回归器选择最佳特征。原创 2024-01-21 12:23:25 · 882 阅读 · 0 评论 -
案例系列:客户流失预测_构建建模_FeatureTools
机器学习流程的最后一步也是价值所在。在我们开发了带有各自截止时间的标签之后,我们需要训练一个模型,将特征映射到预测标签。在这个笔记本中,我们将使用特征矩阵和标签时间来训练和测试一个机器学习模型。我们将解决一个单一的预测问题,即在每个月的第一天预测哪些客户在该月内会流失,其中流失被定义为超过31天没有活跃会员资格,提前一个月的前导时间和一个月的预测窗口。原创 2024-01-21 10:26:34 · 1033 阅读 · 0 评论 -
案例系列:客户流失预测_使用Spark进行特征工程_FeatureTools
问题:在“特征工程”中,我们开发了一个自动化特征工程的流水线,使用客户交易和标签时间的数据集。在单个客户分区上运行此流水线需要大约15分钟,这意味着如果一个一个地完成所有功能,则需要几天时间。解决方案:将数据集分成独立的客户分区,并并行运行多个子集。这可以使用单个机器上的多个处理器或机器集群来完成。以下是我们为此数据集编写的自定义基元(请参见“特征工程”笔记本)。它计算上个月某种数量的总量。"""返回`time`之前一个月的`numeric`列的总和。"""# 处理一月份# 过滤数据并计算总和。原创 2024-01-21 10:22:37 · 1106 阅读 · 0 评论 -
案例系列:客户流失预测_使用Featuretools进行自动特征工程_FeatureTools
我们有一组截止时间和标签 - 在标签时间表中 - 我们需要为每个标签构建相关特征,仅使用截止时间之前的数据。传统上,我们会手动完成这个过程,这是一个费时且容易出错的过程,使得开发可用的机器学习解决方案非常困难。使用Featuretools实现的自动特征工程,从可重用的框架中构建数百或数千个相关特征,从关系数据集中自动过滤数据基于截止时间。这种方法克服了手动特征工程的局限性,让我们在短时间内构建更好的预测模型。特征工程的一般过程如下所示:目前,使用多个相关表进行自动特征工程的唯一选择是。原创 2024-01-21 10:15:14 · 1047 阅读 · 0 评论 -
案例系列:客户流失预测_预测特征工程:标记历史示例_FeatureTools
在这个笔记本中,我们将开发一种方法来为客户流失预测问题中的客户交易数据进行标记。标记的目的是根据业务需求创建一组我们想要预测的历史示例:在这个问题中,我们的目标是预测客户流失,所以我们想要从数据中创建过去流失的标记示例。这个笔记本的最终结果是一个包含每个标签及其关联截止时间的标签时间表。这些带有截止时间的标签以后可以在Featuretools中用于自动特征工程。这些特征将被用于训练预测模型来预测客户流失,这是订阅业务模型的常见需求,也是机器学习非常适合的问题。原创 2024-01-19 22:57:22 · 854 阅读 · 0 评论 -
案例系列:客户流失预测_大型数据集分成分区_FeatuesTools
问题:我们有一个大型数据集,我们想要将其分成较小的部分,以便并行运行特征工程流水线。方法:通过将客户ID哈希为整数,然后取模(整数)除以分区数,将数据分成分区。确定每个客户ID的分区后,我们可以遍历数据并将分区写入正确的目录。在流程结束时,我们将拥有个客户数据,每个分区包含一部分客户的所有数据。# 导入所需的库import pandas as pd # 导入pandas库用于数据处理import hashlib # 导入hashlib库用于生成哈希值。原创 2024-01-19 22:46:29 · 761 阅读 · 0 评论 -
案例系列:netflix电影推荐_基于图的推荐引擎
对于每部电影,选择相似描述的前5个,并创建一个节点Similar_to_this。为了确定推荐电影列表,我们将探索目标电影的邻域,而不是预先计算所有电影之间的度量值。换句话说,对于x和y共同拥有的每个节点u,将1/log(N(u))添加到度量中。量 $ \frac{1}{log(N(u))} $ 决定了u在度量中的重要性。这是一种用于计算节点之间接近程度的度量方法,基于它们共享的邻居节点。因此,属于同一描述组的两个电影将共享一个节点。组中电影数量越少,这个链接的权重越大。度量值越高,两个节点越接近。原创 2024-01-19 10:05:50 · 1213 阅读 · 0 评论 -
工具系列:PandasAI介绍_快速入门
所做的类似(10分钟入门pandas -> https://pandas.pydata.org/docs/user_guide/10min.html),我们希望创建最简单的方式来学习如何掌握PandasAI。由于PandasAI由LLM提供支持,您应该导入您想要用于您的用例的LLM。有时候,您可能希望同时处理多个数据框,让LLM来协调使用哪一个来回答您的查询。询问PandasAI,它将通过员工编号将这两个不同的数据框连接起来,并找出薪水最高的员工的姓名。要使用连接器,您首先需要安装所需的依赖项。原创 2024-01-18 09:37:33 · 1503 阅读 · 1 评论 -
工具系列:时间序列预测工具Dart介绍_高斯过程滤波器进行过滤和预测
高斯过程滤波器,就像卡尔曼滤波器一样,是Darts中的“FilteringModel”(而不是“ForecastingModel”)。从这个结果中,我们可以看到在波峰和波谷附近,对于基础数据的不确定性更大。对于我们的周期信号,高斯过程使用周期核函数很好地估计了缺失的数据。在高斯过程的情况下,这是通过对真实数据点所在的基础函数的形状进行假设来完成的。在这个笔记本中,我们将生成一个简单的周期信号,并看看如何使用高斯过程滤波器来去噪声。在这个笔记本中,我们将通过拟合高斯过程来过滤嘈杂的数据。原创 2024-01-17 23:27:49 · 823 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_动态时间规整(DTW)
由于我们的模式略长于太阳黑子时间序列本身,我们删除所有超过结束日期的值。对于我们的时间序列,我们观察到一个深绿色的带子穿过对角线。尽管每个窗口的运行时间都不同,但路径的长度实际上是相同的。在这里,我们根据之前的观察构建了一个简化的模式,即线性的峰值和谷值。从上面的图中可以看出,在峰值之间的时间存在一些波动,导致了错位和相对较高的误差。一旦我们找到了对齐,我们可以生成两个扭曲的序列,长度相同。指标,但这次是应用在我们的变形序列上。在这里,我们简单地读取包含太阳黑子数量的CSV文件,并将值转换为所需的格式。原创 2024-01-17 23:26:13 · 812 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_使用Kalman卡尔曼滤波器过滤和预测
在这个笔记本中,我们将生成一个简单的合成数据集,并看看如何使用卡尔曼滤波器对其进行去噪。滤波后的观测结果与无噪声的输出信号非常接近,并且在输入发生步变时特别好地跟踪输出。),可以用于平滑序列。在卡尔曼滤波器的情况下,通过线性动态系统的状态空间模型推断出观测值的"实际"基础值。请注意,如果我们在更长的时间序列上拟合模型,结果可能会更好。我们可以观察到时间序列开始时的误差较大,因为卡尔曼滤波器在该点上几乎没有信息来估计状态。首先,让我们绘制一个简单的图形,并给它添加显著的白噪声。的卡尔曼滤波器的理想候选。原创 2024-01-17 17:51:31 · 476 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_TiDE时间序列密集编码器
它的特殊之处在于时间解码器可以帮助减轻异常样本对预测的影响(论文中的图4)。**学习率:**模型学习的大部分内容都在早期时期完成。模型将从训练集中学习,使用验证集确定何时停止训练,并最终在测试集上进行评估。**提前停止:**为了避免过度拟合,我们可以使用提前停止。使用已经建立的共享参数,我们可以看到NHiTS和TiDE的默认参数被使用。)极大地帮助改善了TiDE的预测(请记住,这只是一个例子,并不总是保证提高性能)。在这种情况下,普通的TiDE与NHiTs的准确性相似。本笔记本介绍了如何使用Darts的。原创 2024-01-17 17:07:38 · 385 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_回归模型Regression Model
只要您的模型适用于表格数据并提供fit()和predict()"""自定义回归模型类"""self.weights = weights # 权重数组self.norm_coef = sum(weights) # 权重数组的和作为归一化系数"""拟合模型,不进行任何操作,直接返回自身""""""对每个样本应用权重"""return (原创 2024-01-17 16:58:26 · 910 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_模型集成Ensemble Model
以下是Darts中模型集成的简要演示。从提供的示例开始,将详细介绍一些高级功能和细微之处。原创 2024-01-16 09:01:52 · 654 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_电力负荷预测的超参数优化
除了圣诞节期间,预测的质量似乎与我们在验证集上的情况大致相当,这是一个很好的指示,表明我们可能没有过度拟合超参数优化到验证集。我们可以要求Optuna在指定的时间段内运行(就像我们在这里做的那样),或者运行一定数量的试验。准确率似乎非常好,而且这个模型没有遭受到我们最初的线性回归和早期TCN所遇到的一些问题(例如,在序列150上的故障模式)。例如,可以通过可视化目标值历史(在试验中)、目标值作为某些超参数的函数,或者某些超参数的整体重要性来获得对优化过程的有用见解。幸运的是,有一些很棒的工具可以帮助我们。原创 2024-01-16 07:57:15 · 1069 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_分层协调Hierarchical-Reconciliation
上面,我们只是在多变量序列上拟合了一个单一的多变量模型。下面,为了举例,我们重复了这个实验,但是使用“局部”模型独立地预测每个组成部分。与之前相比,MAE略微增加(例如,在总体水平上),而在其他一些更细粒度的水平上略微减少。这是调和的典型特征:它可以增加误差,但在某些情况下也可以减少误差。在这个笔记本中,我们将演示分层协调。是一个包含每个组件的一列和每个时间戳的一行的DataFrame。让我们现在检查一下,调和后的预测是否如我们所期望的那样相加。,其中键是组件名称,值是包含该组件在层次结构中父级的列表。原创 2024-01-16 07:45:31 · 921 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_静态协变量
将静态协变量定义为一个,其中列代表静态变量,行代表它们将被添加到的单变量/多变量TimeSeries的组件。行数必须为1或等于series的组件数。对于具有多个组件的多元时间序列,使用单行静态协变量数据框,静态协变量将被全局映射到所有组件。# 创建一个包含连续和分类静态协变量的数据框,其中包含一行数据# 创建一个包含多个组件的多元静态协变量数据框,注意行数与`series`的组件数相匹配cont cat0 0 acont cat0 0 a1 2 c2 1 b。原创 2024-01-16 07:41:12 · 1100 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_时间序列预测的迁移学习
本笔记本的目标是探索时间序列预测的迁移学习,即在一个时间序列数据集上训练预测模型,并在另一个数据集上使用它。该笔记本是100%自包含的,即它还包含安装依赖项和下载使用的数据集的必要命令。根据什么构成“学习任务”,我们在这里所称的迁移学习也可以从元学习的角度来看(或称为“学习如何学习”),在推理时模型可以自适应新任务(例如预测新的时间序列),而无需进一步训练[1]。本笔记本是应用机器学习日会议于2022年3月在瑞士洛桑举行的“预测和元学习”研讨会的改编版本。初始设置-导入,下载数据的函数等。原创 2024-01-16 07:39:07 · 981 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_DeepTCN模型
这是一个使用TCN模型进行概率预测的例子,非常接近于https://arxiv.org/abs/1906.04397中描述的DeepTCN。最后,我们将历史预测连接起来,得到一个单一连续的(在时间轴上)时间序列。让我们加载模型的最佳性能状态。原创 2024-01-15 09:13:50 · 488 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_时间融合变压器TFTModel
如果你想要产生确定性的预测而不是分位数预测,你可以使用PyTorch的损失函数(即,设置。再次,我们使用“当前”模型进行24个月的一次性预测 - 即,在训练过程结束时的模型。在输出块(索引0-11)上,我们可以看到模型只关注每个时间点的过去相关性。能够看到特征的重要性以及模型对过去和未来输入的关注度是很好的。由于我们没有定义未来协变量,我们需要告诉模型自动生成未来协变量。由于在我们的示例中已经定义了未来的协变量,所以它们被注释掉了。正如预期的那样,冰淇淋销售的过去历史是编码器中最重要的特征。原创 2024-01-15 09:12:23 · 1046 阅读 · 0 评论 -
工具系列:时间序列预测工具Dart介绍_概率性RNN
作为一个玩具示例,我们创建一个目标时间序列,该序列是通过将正弦波和高斯噪声序列相加而创建的。我们的目标是测试概率循环神经网络是否能够在其预测中模拟这种振荡的不确定性。以下我们将训练一个概率循环神经网络,以自回归的方式预测目标序列,同时考虑噪声成分的调制作为协变量,该协变量在未来是已知的。让我们看看RNN是否能利用这些信息。我们可以看到,除了正确预测目标的简单振荡行为之外,当噪声成分较高时,循环神经网络在其预测中表达了更多的不确定性。最后,我们将历史预测连接起来,得到一个单一连续的(在时间轴上)时间序列。原创 2024-01-14 09:18:41 · 401 阅读 · 0 评论