文章 "MQL5中的范畴论(第21部分):使用LDA的自然变换"

 

新文章 MQL5中的范畴论(第21部分):使用LDA的自然变换已发布:

这篇文章是我们系列的第21篇,继续研究自然变换以及如何使用线性判别分析(linear discriminant analysis,LDA)来实现它们。我们以信号类格式展示了它的应用程序,就像在前一篇文章中一样。

随着我们继续研究自然变换,我们将在本文中研究时间序列预测中的更多应用。自然变换通常可以在相关的数据集中推断出来,这是我们想在本文中开始研究的内容。

所以,问题来了。一家初创公司为其客户创建了一个数据库,以跟踪他们在一段时间内的购买情况,最初它有3列。主键、产品名称列和支付金额列。随着时间的推移,该公司注意到产品栏中有很多重复,这意味着某个特定的产品被大量购买。因此,为了应对这种情况,我们决定开始记录更多与产品相关的信息,以便更好地区分客户的偏好,并可能探索开发他们产品组合中可能缺失的新产品。为此,产品列被分为3列,即:版本、订阅模式、构建名称。或者,公司可能需要更多的支付信息颜色,并决定将支付列划分为3列,例如支付模式、货币(或地区)和支付金额。同样,这样的拆分并不是详尽无遗的,因为在未来阶段,根据客户的购买和偏好,可能需要更多的拆分。

这些新创建的列中的每一个都将映射到旧的产品列。例如,如果我们在旧的单一产品列和支付金额列或数据库中表中的任何其他列之间建立了一些关键相关性,那么在新的表结构中重新建立这些相关性将是一个繁琐的过程。这家初创公司肯定有很多方法来解决这个问题,但自然变换确实提供了一个无缝的替代方案。

为了理解这一点,让我们首先将其分为两个范畴。在域范畴中,我们将在其数据库中有初创公司的表列表,在共域范畴中我们将有两个版本的客户信息表。为了简单起见,如果我们将列表作为域中的单个对象,并将我们的每个表作为同域中的独立对象,那么从列表中的两个函子(一个到每个表)确实意味着两个表之间的自然变换。因此,一个函子将映射到旧表,在我们的情况下是简单的3列表,而第二个函子则映射到表结构中的修订。如果这是修订版1,那么第二个函子映射到5列表。

自然变换的含义不仅意味着我们可以通过算法映射函数量化这两个表之间的差异,例如:线性方程、二次方程、多层感知器、随机分布森林或线性判别分析;这意味着我们可以使用这些权重来重新建立与旧表的先前相关性,并为创建的列开发新的相关性。

作者:Stephen Njuki

原因: