TowardsDataScience 博客中文翻译 2019(二百八十七)

原文:TowardsDataScience Blog

协议:CC BY-NC-SA 4.0

感染建模—第 3 部分

原文:https://towardsdatascience.com/infection-modeling-part-3-93ef315edae1?source=collection_archive---------22-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

用网络科学优化疫苗接种策略

在本系列的第一部分中,我们模拟了病原体通过社交网络的传播,并确定 2-3 之间的 R0 是最有可能的,大约 80%的网络在某一点被感染。在第 2 部分中,我们使用遗传算法(GA)来确定一种疫苗接种策略,以最大限度地减少感染的传播,假设只有 25%的人口可以接种疫苗。由此产生的策略将可能的 R 的范围降低到 0.68–1.36,但是计算成本很高。在本文中,我们将了解如何利用网络分析来减少病原体的传播,同时提高计算效率。

确定关键节点

优化疫苗接种政策包括识别社会网络中最有影响力或最重要的节点。并且确定网络中节点的相对重要性是通过中心性度量来完成的。最简单的中心性是度中心性,也就是节点的度。特征向量中心性通过节点的邻居来衡量节点的重要性。这一点的直觉是,一个节点仅仅通过连接到其他重要节点就可以变得重要。节点的介数中心性是通过该节点的所有测地线的分数。

将选择由这些中心性中的每一个排列的前 15 个节点进行接种。使用第 2 部分中的策略对疫苗接种策略进行相互比较,以确定哪种中心性措施最适合限制感染的传播。

通过特征向量中心性接种疫苗

通过特征向量中心性对节点进行排序导致与高度节点相邻的节点的排序高于仅考虑程度时的排序。有时,低度节点在网络中的影响可能比仅由度中心性所暗示的更大。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 1. PDF of R resulting from a vaccination strategy based on eigenvector centrality.

然而,基于特征向量中心性的疫苗接种导致不良结果,如图 1 所示。可能的范围 R 估计在 0.98 和 1.84 之间;比遗传算法优化的结果差。强连接的节点集群往往具有相似的特征向量中心性,并且在排序时可能彼此相邻。当选择前 25%的节点进行接种时,很可能这些节点中的许多是相同节点集群的一部分,从而使其他集群更易受到攻击。本质上,我们选择重要的节点进行接种,因为它们与重要的节点相邻,而其他结构上重要的节点不接种;因此性能相对较差。

通过中间中心性接种疫苗

基于介数中心性给节点接种疫苗是有吸引力的,因为节点之间的距离有加长的趋势。具有高介数的节点充当几对节点之间的中介。移除这样的节点意味着病原体将需要穿过更多的节点才能从点 A 到达点 b。总体而言,通过介数中心性移除排名最高的节点将降低网络的整体连通性,这将使病原体更难传播。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 2. PDF of R resulting from a vaccination strategy based on betweenness centrality.

基于介数中心性移除节点被证明比 GA 策略稍微更有效。可能的范围 R 估计在 0.45 和 1.33 之间。请注意,与之前的结果相比,图 2 中的高斯分布不太能代表实测分布。相对于平均值,左尾值在模拟中更普遍。

通过程度中心性接种疫苗

基于节点的度中心性给节点接种疫苗是有吸引力的,因为具有最高度的节点在整个网络中具有最大范围。与介数中心性一样,删除高度节点会降低网络的连通性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3. PDF of R resulting from a vaccination strategy based on degree centrality.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 4. Histogram of the number of total infected nodes resulting from each vaccination strategy.

如图 3 所示,当使用拟合的正态分布时,期望的 R 在 0.36 和 1.01 之间。然而,很明显,正态分布并不能很好地代表数据。在蒙特卡罗模拟中,0 到 0.125 之间的 r 几乎是任何其他箱的两倍。

查看每种疫苗接种策略产生的感染节点总数的直方图(图 4),我们可以看到分布似乎更接近指数或幂分布。通过程度中心性接种疫苗导致最好的结果。大概吧。

结论

基于中间中心性和程度中心性的疫苗接种策略导致预期的 R 小于 1,表明这些策略中的一个将最适合于最小化病原体的影响。而通过特征向量中心性接种疫苗导致比遗传算法确定的策略更差的结果。这并不是说 GA 找不到最优策略;只是这可能需要更长的时间。在第 2 部分中,我们看到花了 48 小时才收敛到给定的策略。根据特征向量中心性、中间中心性和度中心性选择最重要的节点分别花费了 625 微秒、3.44 毫秒和 113 微秒。在这种情况下,与全局搜索算法相比,网络科学的工具可以带来更高的性能和更快的结果。

图形数据库中的推理

原文:https://towardsdatascience.com/inference-in-graph-database-7203938932a0?source=collection_archive---------12-----------------------

在这篇博文中,我将尝试解释语义网上的推理是什么,并展示如何在本地图数据库中应用推理。我的博客的大纲如下:

  1. 什么是推论?
  2. 是用来做什么的?
  3. 程序的类型
  4. 图形数据库和本体
  5. 数据库推理
  6. 结论

什么是推论?

如 W3 标准所述,推理是基于给定的本体在图中简单地发现新的边。在语义网上,数据被建模为三元组,即两个资源和它们之间的一个关系。推断是根据数据和一些附加信息推断新的三元组,这些信息可能是词汇表(本体)和规则集(逻辑)的形式。例如,假设我们有两个来源:约翰人类和马克斯狗,并且我们有信息表明约翰 拥有 马克斯马克斯 *狗。*此外,如果我们有一个额外的词汇,其中包括信息; 哺乳动物。我们可以推断得出 Max 哺乳动物John 哺乳动物

是用来做什么的?

语义网上的推理用于提高网上数据集成的质量。它自动提供数据中的新链接并分析内容。同样,它也检查网络上数据的一致性。例如,假设我们有包含信息朵拉 奶牛朵拉 *食肉动物的数据。*如果我们检查动物的本体论,这与牛是素食者是不一致的。

程序的类型

如上所述,新链接的自动发现是通过使用词汇表或规则集来完成的。在语义网上,词汇或本体可以用 OWL、SKOS 和 RDF 描述,而规则集用 RIF 描述。这些技术是 W3C 基金会推荐的。此外,本体基于类和子类关系,然而,规则集描述一般规则以基于现有关系生成新关系。

图形数据库和本体

由于数据库领域新的便捷技术,我们能够将数据存储为图表。尤其是图形数据库。有这样一个强大的工具是非常好的。更好的是,我们可以通过包含通用词汇、本体🚀

在我之前的博文中,我描述了如何通过使用名为 NSMNTX — Neo4j RDF &语义工具包的插件将本体导入 Neo4j 数据库。请在继续之前先阅读博客文章。

[## 标签属性图与 RDF 的比较

在这篇博客中,我将简单解释一下什么是标签属性图,有什么区别和相似之处…

medium.com](https://medium.com/@atakanguney94/a-comparison-of-label-property-graph-and-the-rdf-cd94d2943d53)

数据库上的推理

除了导入数据库之外,现在我们还要对其进行推理。您可能还记得上一篇文章,我们可以从外部在线商店导入本体。但是为了简单起见,在这篇博文中,我们将自己创建我们的动物世界本体。让我们开始吧😅

CREATE (a: AnimalType{authoritativeLabel: "Mammals", dbLabel: "Mammals"})
CREATE (b: AnimalType{authoritativeLabel: "Dog", dbLabel: "Dog"})
CREATE (c: AnimalType{authoritativeLabel: "Cat", dbLabel: "Cat"})
CREATE (d: AnimalType{authoritativeLabel: "Horse", dbLabel: "Horse"})
CREATE (a)<-[:IS_A]-(b)
CREATE (a)<-[:IS_A]-(c)
CREATE (a)<-[:IS_A]-(d)

这将产生一些 AnimalType 类型的节点,它们之间有关系。让我们看看。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这个动物模型告诉我们动物之间的关系。所以,现在创建一些被认为是宠物的动物实例。

CREATE (:Pet:Dog{name: "Max"})
CREATE (:Pet:Cat{name: "Missy"})
CREATE (:Pet:Horse{name: "DulDul"})

这将会产生

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们的第一个推论是所有的哺乳动物。因此,如您所见,我们的数据只包含三个不同的节点。

CALL semantics.inference.nodesLabelled('Mammals',  { catNameProp: "dbLabel", catLabel: "AnimalType", subCatRel: "IS_A" }) YIELD node
RETURN node.name as name, labels(node) as categories

这将会回来

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

因此,在我们的数据库中没有任何关系的情况下,我们通过使用我们的词汇来推断公共标签关系。

现在,让我们添加一些关系。

MATCH (c:Cat{name: "Missy"})
MATCH (d:Dog{name: "Max"})
MATCH (h:Horse{name: "DulDul"})
CREATE(jn: Person{name: "John"})
CREATE(al: Person{name: "Alex"})
CREATE (jn)-[:LOVES]->(d)
CREATE (h)-[:LOVES]->(d)
CREATE (al)-[:LOVES]->(c)

这将导致

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作为第二种推论,让我们试着让所有的动物爱好者❤️

MATCH (p)-[:LOVES]->(pt)
WHERE semantics.inference.hasLabel(pt,'Mammals', { catNameProp: "dbLabel", catLabel: "AnimalType", subCatRel: "IS_A" })
RETURN p.name as name

结果来了…

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在,让我们对词汇本身进行推理。在此之前,让我们稍微扩展一下

MATCH (h:AnimalType{authoritativeLabel: "Horse"})
MATCH (d:AnimalType{authoritativeLabel: "Dog"})
MATCH (c:AnimalType{authoritativeLabel: "Cat"})CREATE (:Film {title: "A Dog's Journey"})-[:HAS_SUBJECT]->(d)
CREATE (:Film {title: "Cats"})-[:HAS_SUBJECT]->(c)
CREATE (:Film {title: "The Mustang"})-[:HAS_SUBJECT]->(h)

想象一下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们添加了一些以动物为主题的电影。我们的下一个推理类型是类别推理类型中的节点。让我们试着得到所有以哺乳动物为主题的电影

MATCH (cat:AnimalType { authoritativeLabel: "Mammals"})
CALL semantics.inference.nodesInCategory(cat, { inCatRel: "HAS_SUBJECT", subCatRel: "IS_A"}) yield node
return node.title as film

还有…

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们得到了我们想要的😈

现在,让我们看看最后一种推理类型。我们的数据再次发生。但在此之前,让我们定义一下不同于哺乳动物的其他动物类型:鱼和鲨鱼。同样,我们再加一个 IS_A 关系。

CREATE (f:AnimalType{authoritativeLabel: "Fish", dbLabel: "Fish"})
CREATE (sh:AnimalType{authoritativeLabel: "Shark", dbLabel: "Shark"})CREATE (f)<-[:IS_A]-(sh)

创作一部关于鲨鱼的电影

MATCH (s: AnimalType{authoritativeLabel: "Shark"})CREATE (:Film {title: "Frenzen"})-[:HAS_SUBJECT]->(s)

我们最终的词汇表将如下所示

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在将新信息添加到我们的数据中

MERGE (p:Person { name : "John"}) with p
MATCH (film1:Film { title : "Cats" })
MATCH (film2:Film { title : "Frenzen" })
WITH p, film1, film2
CREATE (film1)<-[:LIKES]-(p)-[:LIKES]->(film2)

在我们的图形数据库中查看相应的数据

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

所以,我们的人约翰既喜欢猫也喜欢法语。让我们问一下约翰喜欢的电影中哪一部有关于鱼的主题。

MATCH (fish:AnimalType { authoritativeLabel: "Fish"})
MATCH (:Person { name : "John"})-[:LIKES]->(b:Film)
WHERE semantics.inference.inCategory(b,fish,{ inCatRel: "HAS_SUBJECT", subCatRel: "IS_A"})
RETURN b.title as title

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

是的,我们有结果了💪

结论

最近,NoSQL 数据库而不是关系数据库吸引了人们的注意力。在各种各样的 NoSQL 数据库中,基于图的数据库越来越受到人们的关注。依我拙见,将外部信息包含到图形数据库中,并对其进行管理、分析和校对,将是很有价值的。导入本体是一种很好的简洁的方法。我希望你喜欢这个博客。更多有趣的工具,敬请关注🚀

参考文献

边缘推理

原文:https://towardsdatascience.com/inference-on-the-edge-21234ea7633?source=collection_archive---------11-----------------------

用 Tensorflow 为树莓 Pi 构建深度神经网络

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从云计算到雾计算

虽然机器学习推理模型已经在改变我们所知的计算,但严峻的事实是,使用多个庞大的数据集来训练它们仍然需要大量的处理能力。使用一个训练好的模型来预测一个事件需要少得多,但仍然比我们目前的口袋设备所能处理的要多。用深度神经网络处理图像意味着数十亿次运算——对多维度的巨大矩阵进行乘法、求逆、整形和傅立叶变换。

鉴于 ML 的潜力,包括英特尔、英伟达和谷歌在内的 60 多家公司正在设计能够以更快的速度执行这些操作的芯片也就不足为奇了。利用这项技术,即使是一个树莓 Pi 也只需要几毫秒就可以通过深度神经网络并产生一个推断(本质上是一个预测)。这些芯片的机会是多方面的,它们越来越多地被部署在许多设备中,如相机和无人机。举例来说,你可以在你的 DJI 无人驾驶飞机上找到无数来自英特尔 Movidius 的芯片,或者,很快,在欧洲航天局的卫星上就可以进行在轨图像处理

像你们许多人一样,我对机器学习充满热情,并渴望测试推动第四次工业革命的技术。所以当谷歌公开发布两款加速推理的新产品时,我就跳上了马车。我特别渴望了解使用这些设备运行深度神经网络需要什么。

在接下来的内容中,我将向您展示我在 Tensorflow 中创建深度神经网络的尝试,将该模型移植到 Raspberry Pi 上,并使用外部设备进行推理以提高性能。我用英特尔和谷歌这两家领先公司的芯片做了这个实验。

我的目标只是评估这两种环境,并了解使用这些设备所需的知识深度。目标不是找出模型、损失、指标和架构方面的最佳性能。人们可以很容易地想象改进我所做的许多方面。

项目的所有代码片段都可以在我的 github 库中找到。

让我们开始吧!

设置和目标

计划是用 Tensorflow 设计一个新鲜的卷积神经网络。由于这些芯片处理整数或半精度浮点运算速度更快,我们将构建一个运行在低精度数据类型上的模型。为此,我们将为我们的模型运行一个量化感知训练。然后,我们将冻结图形,将其编译成两个加速器支持的不同表示形式。最后,我们将在边缘上尝试我们的模型。

你可能会问:既然已经存在大量优秀的预训练模型,为什么还要建立一个新模型?

好问题。有许多可用的模型在巨大的数据集上进行了预训练,其中一些甚至是为我们想要使用的设备编译的。使用 MobileNetV2 SSD 进行对象检测,几个小时后您就可以获得惊人的结果。

然而,我们的目标不是驾驶赛车,而是了解制造赛车所面临的挑战。理解“边缘推理”的本质是什么意思。

对于这个特别的项目,我使用了英特尔和谷歌的芯片。在我面前,从左到右,我们有英特尔神经计算棒 2,谷歌珊瑚加速器和谷歌珊瑚板。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Coral 加速器和英特尔神经计算棒 2 将连接到树莓 Pi3b。两个 Raspberries 都运行在新部署的 Raspbian(Raspbian GNU/Linux 9 stretch)上。Coral Dev 开发板开箱即用 Mendel (Mendel GNU/Linux 2 烧杯)。我将在本文中包含的代码也可以在 Coral Dev 板上运行,但是这里我将重点放在 USB keys 上。

用 CIFAR10 建立并量化张量流模型

CIFAR10 是一个公共数据集,可以在这里下载。是一组 6 万张图片(32*32 像素)。每张图片属于以下 10 个类别之一:飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船或卡车。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

目的是建立一个深度神经网络,可以预测照片中的内容。从上面的例子可以看出,做到这一点并不容易。

有不同的方法可以用来在 Tensorflow 中构建深度神经网络。最快的当然是使用 Keras 模型,或者构建自己的模型。我两样都做了。首先,我实例化了一个 MobileNetV2 网络。然后,我用 3 个模块构建了一个 convnet 。我用后量化来量化这两个表现都很好的模型。不幸的是,谷歌边缘 tpu 目前不支持后量化。值得一提的是,我在英特尔 NCS2 上成功运行了 convnet。

这一初步侦察显示了这些设备对它们正在处理的数据类型有多敏感。这当然是玩家在未来几年将会大量投资的领域。无论如何,由于边缘 tpu 不支持后量化,我们需要建立一个量化的深度学习网络。由于 Keras 不支持这一点,我们有两个选择。我们可以使用低级 Tensorflow API 或者构建一个估算器。让我们试着用 Tensorflow 构建一个估计器来节省一些时间,并进行量化感知训练

我们的第一层将由两个 convnet 模块组成。然后,我们将在 10 个单位的密集层中处理张量,以涵盖我们的 10 个类别。评估者有不同的训练、评估和预测方法。训练和评估方法建立它们自己的图表。如果你在笔记本中一步一步走,你会注意到 cnn_model_fn 的功能。这是我们添加层和做管道的地方。

这是我们构建的张量板图形表示。如您所见,与预先训练的模型相比,该网络非常小。我们甚至可以把它印在纸上!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

cnn_model_fn 函数中,增加了两行用于量化。两个调用 TF . contrib . quantize . create _ training _ graph()和 TF . contrib . quantize . create _ eval _ grap()分别创建量化感知训练图和评估图(我们想要的那个)。这两个函数向我们的图中添加了许多节点,以伪造数据类型的变化,并帮助生成量化图。

定义模型函数后,我们使用 AdamOptimizer 和 softmax 交叉熵在 CIFAR 数据集上训练我们的估计器。有趣的是,创建训练图的 contrib 函数为您提供了以高精度数据类型开始训练和以低精度数据类型结束训练的选项。

这是一个你应该在 Tensorboard 上看到的损失的例子。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一旦模型被训练,我们将开始对我们保留的 5000 个特征进行评估,以验证我们的模型。然后,我们将要求模型预测随机样本,以粗略评估其预测准确性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们需要导出的图表是在评估阶段创建的。估计器使得创建 saved_model 变得容易。classifier . experimental _ export _ all 方法值得花一些时间,因为您可以选择想要导出的标记图。

一旦导出了 saved_model,就必须通过将最新检查点的变量转换为常量(比如网络的权重)来冻结它。检查这个 jupyter 笔记本来加载、检查和冻结你保存的模型。

测试 1:使用谷歌加速器进行推理

谷歌于 2019 年 3 月 26 日宣布Coral 加速器和 Dev Board。目前,这方面的资源相对有限,但谷歌每天都在忙于增加更多的资源。

为 Google Accelerator 部署环境很简单。只需遵循谷歌的入门教程。十分钟后,你就可以走了。我强烈建议使用虚拟环境。一旦所有东西都安装好了,你就可以使用检测和分类模型了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在我们有了我们的环境,让我们的模型做一个推论。首先,我们需要将 saved_model 编译成一个 tflite 模型。要做到这一点,我们必须使用谷歌的转换器 TOCO。

如果你按照笔记本上的步骤一直到最后,你只需要跑:

toco-graph _ def _ file = freezed . Pb-output _ file = TF lite _ model . TF lite-input _ format = tensor flow _ graph def-output _ format = TF lite-inference _ type = QUANTIZED _ uint 8-input _ shape = " 1,32,32,3 "-input _ array = model _ input/input-output _ array = soft max _ tensor-STD _ dev _ values = 127-mean _ value = 127-default _ ranges _ min = 0-default _ ranges _ max = 6

除了输入张量的名称和输出张量的名称之外,您可以看到指定偏差、平均值以及 Relu 的默认范围也很重要。这就是我们决定使用 Relu6 的原因。

在将资产转移到 Raspberry 之前还有一个步骤:将 tflite 模型转换为 edgetpu.tflite 模型。有一个在线工具可以解决这个问题。您应该会看到类似这样的内容:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果你没有,很可能意味着你没有遵守要求

现在让我们编写代码来进行推断。这个 edge-tpu API 使用起来非常简单。你必须使用分类引擎或者检测引擎。两个引擎都扩展了基础引擎,并提供了加载模型和运行推理的简单方法。我用来运行我们模型的 python 文件可以在这里找到。

一旦上传了 python 文件和资源(即 edge _ TPU _ 模型和至少一张来自 CIFAR10 的图片),您就可以运行该模型并验证它是否有效。您应该会看到这样的内容:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

恭喜你!您已经使用 Google 加速器在 Raspberry Pi 上成功构建并运行了我们的量化模型。

值得注意的是,谷歌边缘-tpu API 允许在带有加速器的设备上进行训练。例如,如果你想进行在线学习,这是一个很棒的功能。

测试# 2:NCS 的推理

Movidius 早在 2017 年 7 月就宣布了神经计算棒,目前领先谷歌几圈。这项技术支持更多的环境,并且有不同的 API 可以使用。

我开始玩英特尔 Movidius NCSDK 。NCSDK 包括一套用于编译、分析和验证深度神经网络的软件工具,还包括用于 C/C++或 Python 应用开发的英特尔 Movidius NCAPI。不幸的是,NCSDK V2 仅适用于 NCS V1。它不支持 NCS V2。(是的,这是令人困惑的。)

对于 NCS V2,你必须使用 OpenVino。OpenVino 是最近的一项开发,旨在统一 CPU、GPU、VPUs (Movidius)和 FPGA(Altera)的不同英特尔平台。我真的很喜欢 OpenVino 架构,它让你根据你的目标使用不同的 OpenVino 插件。

我唯一的遗憾是 NCSDK 非常强大,提供了大量的定制功能;很遗憾我不能在这里玩它。另一方面,我喜欢 OpenVino 与 OpenCV 的结合。这对以后肯定有帮助。最后但同样重要的是,令人惊讶的消息是 NCSDKOpenVino 都是在 Apache License 2.0 下获得开源许可的。

关于为你的覆盆子寻找合适的 OpenVino 软件包,我建议访问英特尔下载中心。我使用的是 l _ openvino _ toolkit _ raspbi _ p _ 2019 . 1 . 094 . tgz。请记住,您还需要在桌面上安装 open vino,因为在这里您将使用所有工具来编译、分析和验证您的 dnn。

要进行部署,请遵循英特尔针对 Raspberry 的安装文档。这是一个比谷歌环境更复杂的过程。(这是有道理的,因为选项越多,设置就越复杂。)

一旦你安装了 OpenVino 环境,你就可以使用一个非常酷的演示来链接三个模型。在下图中,你可以看到它们是如何工作的。第一个模型检测汽车。然后第二个模型检测牌照。第三个模型读取车牌。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为了在 Raspberry 上移植我们的冷冻模型,我们必须使用模型优化器。模型优化器不在树莓上,这就是为什么你的桌面上需要 OpenVino。

模型优化器是一个非常强大的转换器,提供了许多不同的选项。对于不同的 ML 框架,有通用的参数,也有特定的参数。

你会在这个笔记本的末尾找到我用的参数。一旦有了这两个文件(。xml 和。bin ),你把它们移到树莓上的工作区。你还需要至少一张 CIFAR10 图片和 python 文件来做出推断。您应该会看到类似这样的内容:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我花了一些时间玩 OpenVino API。我试图理解如何连接一对相机和使用深度模块。我还尝试使用 net.forwardAsync()来提高性能。我没有成功。OpenVino API 是最近才出现的,在功能方面似乎落后于 Movidius API。不幸的是,我认为我们必须再等一两个版本才能接触到这些高级特性。

相对表现:谷歌与英特尔

这两款 SOC 都具有令人印象深刻的规格和强大的处理能力。

Myriad X 是第三代英特尔 Movidius VPU(视觉处理单元)。该 SoC 设计用于在 30Hz 和 60Hz 下处理 8 个 RGB 传感器和 4k 处理。它每秒处理 7 亿像素。该芯片使用 20 多个硬件加速器来执行光流和立体深度。除此之外,16 个可编程 128 位矢量处理器使您能够运行多个并行视觉应用流水线。

不幸的是,谷歌给出的关于边缘 tpu 的信息少得多。他们确实分享了边缘 tpu 的图形处理单元有 4 个着色器,每秒处理惊人的 1.6 千兆像素。此外,谷歌声称视频处理单元能够处理 H.265 中的 4kp60 和 mpeg 2 中的 1080p60。

理论上,英特尔 SoC 似乎比 edge-tpu 更强大。

两款设备的性能功耗比似乎都非常好。下面两张图片显示了这两款设备在静止状态下的功耗。看起来 NCS V2 需要更多的兆瓦,但这需要在压力下得到证实。谷歌善意地通知我们,在安装期间,加速器可能会变得非常热。在任一款 Raspberry Pi 上运行对象检测时,我都没有注意到任何明显的温度变化。很可能 Pi Cam 规范和 USB-2 限制使得很难将设备置于足够的压力下。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为了加载设备,我做了一个非常短的 python 程序,其中一个循环总是使用相同的图像进行推理。这个想法是为了降低 usb2 总线的发生率,但 wireshark 的一个快速会话显示,每次我们做出推断时,图像都会移动。

我在 mobilenet v1 上为 Myriad 测得的每次推理为 70 毫秒,在 mobilenet v2 上为 edge-tpu 测得的每次推理为 60 毫秒,在 Raspberry 上为 550 毫秒。mobilenet v2(347 万 MAC)及其瓶颈层比 v1(424 万 MAC)需要更少的计算。人们普遍认为 mobilenet v2 比它快 15%到 30%。因此,在 Raspberry Pi 上,这两款设备将处于同一领域,以微弱优势领先于 Myriad。

记住 python 不是性能的最佳选择也很重要。这两款设备都有可用的 C++ API,这是我获得最佳性能的选择。有趣的是,您可以堆叠英特尔 Movidius NCS,这是一个非常好的功能。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

考虑到这两款设备的规格,性价比最终非常相似。谷歌加速器售价 74.99 美元,英特尔 NCS V2 售价 99 美元。你可以随时买到 V1 的 Movidius,价格是 74 美元。

设计因素也非常相似,使得在任何项目中集成 usb 密钥都很容易。谷歌加速器比 NCS V2 更薄,但必须用 USB-C-to-USB-2 电缆连接。英特尔解决了一个关于 V1 的抱怨:在树莓上,V1 的设计覆盖了不止一个 USB 端口。V2 只覆盖了一个。

结论

两款设备的处理能力允许开发人员处理广泛的用例。

许多预先编译的网络很容易得到快速和良好的结果。然而,完全量化你自己的网络仍然是一项高级任务。转换需要对您的网络和操作方式有深入的了解。此外,从 FP_32 到 FP_16 以及从 FP_16 到 UINT,精度损失也很大。有趣的是,当谷歌加速器只处理 8 位定点时,Myriad 处理半浮点。这意味着 Myriad 将产生更多的准确性。

英特尔和谷歌显然采取了两种截然不同的方法。谷歌的优势在于,从谷歌云平台到边缘 tpu,人们可以很容易地构建和营销一个集成的工作流程。我真的很喜欢所有组件的组合方式。另一方面,英特尔提供了英特尔中介表示和 Openvino 插件,开发人员可以使用这些插件来优化他们的网络,以便在各种硬件上运行。OpenVINO 目前支持英特尔 CPU、GPU、FPGAs 和 VPUs。英特尔面临的挑战是,统一战略总是难以利用每个组件的高级功能。

这两个系统都提供了大量的高级功能。谷歌加速器能够在线训练你的网络,这对迁移学习至关重要。显然,谷歌认为他们预先训练的网络和迁移学习提供了一个非常有效的组合。英特尔 NCS 有三对内置的立体深度硬件,这对许多用例来说是无价的,如物体回避。

我非常喜欢成为英特尔社区的一员。成员们非常乐于助人。我没有得到谷歌的帮助,但这肯定是因为它的产品线非常年轻。英特尔的文档非常丰富,尽管有时令人困惑。在我进行这个实验的时候,Google 的文档几乎不存在。从那时起,我注意到这种情况正在迅速改善,我希望很快看到一个非常好的学习平台(colab ),拥有大量的资源。

边缘的推论绝对是爆炸式的,可以看到惊人的市场预测。根据 ABI 的研究,2018 年边缘人工智能处理的出货量收入为 13 亿美元。到 2023 年,这一数字预计将增长到 230 亿美元。

显然,一种解决方案不会适合所有人,因为企业家正在寻找部署机器学习的新方法。看看这两家公司最终会获得多少市场份额将是一件有趣的事情。我敢打赌,谷歌云平台将推动许多转移学习应用程序在边缘发光,而英特尔将与许多合作伙伴一起管理各种硬件上的非常多样化的项目。

无论是哪种情况,有一点是肯定的,那就是我们现在拥有在边缘创新和加速第四次工业革命的工具。

我希望这份报告能帮助你实现你的目标,或者至少在你的项目上节省一点时间。我欢迎这方面的任何反馈,并随时欢迎新的机会。

使用 EM 算法的推理

原文:https://towardsdatascience.com/inference-using-em-algorithm-d71cccb647bc?source=collection_archive---------10-----------------------

深入了解 EM 算法的魔力,并开始训练您自己的图形模型

介绍

这篇文章的目标是解释统计分析中一个强大的算法:期望最大化(EM)算法。它之所以强大,是因为它有能力处理缺失数据和未观察到的特性,这些用例在许多现实应用程序中经常出现。

完成这篇文章后,你将能够理解许多使用概率图形模型解决有趣问题的研究论文,并且获得自己开发和训练这种模型的能力。

先决条件

  • 耐心(因为这篇文章很详细,并且深入数学概念)。
  • 基本概率概念。
  • 逻辑回归。
  • 迭代优化技术,如梯度上升。

观察特征的情况

在深入研究复杂用例之前,先了解简单用例中的参数是如何估计的会有所帮助。因此,我们首先考虑我们的数据不包含任何缺失值并且我们的模型没有任何潜在特征的情况。为此,我们将借助逻辑回归模型。

假设我们有一个数据集,每个数据点由一个 d 维特征向量 X 和一个相关联的目标变量Y∈{ 0,1}组成。该模型的图示如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

众所周知,逻辑回归中目标变量的预测概率由如下 sigmoid 函数给出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

equation 1

其中 w 为待估计的权重向量。一旦我们估计了参数**【w】、,我们就可以根据【Y】**= 0 或 Y =1 是否根据equation 1获得更大的概率来产生未观测数据点的输出。然而,这里的核心问题是:我们怎样才能逼近 w 从而产生准确的预测?为此,我们将使用最大似然法。

最大似然法的前提很简单:找到使观测数据的似然性(或概率)最大化的参数 w

为了数学上的便利,我们将考虑最大化可能性的 对数 。由 w 参数化,对数似然可以写成:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

equation 2

这里,在数据样本独立同分布的假设下(所谓的 i.i.d .假设 ),观察数据的似然性被表示为各个数据点的似然性的乘积。我们还利用了这样一个性质:一个 对数 表达式中各项的乘积相当于单个项的 对数 的总和。将equation 2中的equation 1替换为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

equation 3

这里我们用到了这样的知识:当 y_i =1,elseσ(w . X _ I)w . X _ I**

在这一点上,我们应该注意到 log-likelihood,*L(w)* 可以方便地分解为每个实例的形式,并且不同参数之间没有耦合,这大大简化了优化。我们将在后面看到,这在许多现实场景中可能无法实现。

由于L(w)**是 w 的一个函数,所以我们对equation 3没有任何封闭形式的解。因此,我们将不得不使用迭代优化方法像梯度上升找到 w 。梯度上升法的更新如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

equation 4

其中 η 为学习率。我们重复equation 4中的过程,直到收敛,最后得到的称为最大似然估计。**

潜在特征的情况

现在我们准备深入更复杂和更现实的用例。在大多数现实场景中,数据集中通常会有缺失值,或者选择具有与数据中观察到的特征相关的潜在(未观察到的)特征的复杂模型。

一个使用潜在特征的模型是隐马尔可夫模型。它被广泛使用,并具有一系列真实世界的应用,如语音识别、手写识别、手势识别、词性标注、乐谱跟踪、时间序列分析等。

然而,问题是:具有潜在特征对参数的估计有影响吗?原来,是的。如果涉及潜在特征(或缺失数据),估计模型参数确实有点棘手。我们来看看为什么。

问题

V 为观察变量集合, Z 为潜在变量集合, θ 为模型参数集合。如果我们考虑参数估计的最大似然法,我们的目标 1 函数将是:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

equation 5

比较equation 5equation 2,我们可以看到,在后一种情况下,由于测井内的求和,参数是耦合的。这使得使用梯度上升的优化(或一般的任何迭代优化技术)变得难以处理。这意味着许多现实场景需要更强大的技术来推断参数。

EM 算法拯救世界

谢天谢地,研究人员已经想出了这样一个强大的技术,它被称为期望最大化** (EM)算法。它利用了这样一个事实,即当我们知道***【Z】的值时,优化完整数据对数似然 P ( V,Z | θ ) 要容易得多(因此,从 log 内部移除求和)。

********* 向前看,为了标记简单起见,我们将 Y 视为 V 的一部分。**

然而,由于知道 Z 的值的唯一方法是通过后验 P ( Z | V,θ ) ,我们转而考虑潜变量后验分布下的完全数据对数似然的期望值。这个寻找期望值的步骤被称为电子步骤**。在随后的 M 步中,我们最大化这个期望来优化 θ 。**

形式上,EM 算法可以写成:

**1\. Choose initial setting for the parameters ***θ^old***2\. **E Step** Evaluate ***P(Z | V, θ^old)***3\. **M step** Evaluate ***θ^new*** given by**

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

**4\. Check for convergence of log likelihood or parameter values. If not converged, then ***θ^old***=***θ^new*** and return to the E step.**

深入新兴市场

在深入研究之前,首先,我们将推导一个在解释 E 和 M 步骤时会派上用场的属性。

让我们考虑潜在变量的分布q(Z)。独立于q(Z)的选择,我们可以按以下方式分解观察数据的可能性:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

equation 6

*第一步,我们分别应用概率边际化概念和贝叶斯定理。

第二步,我们将日志中的q*(Z)相乘,并分别应用“乘以日志中的项相当于项的日志的和”属性。**

equation 6中的第二项是两个分布之间众所周知的距离度量,称为 Kullback-Leibler 散度

此时,我们应该仔细研究一下equation 6的形式。第一项包含在 VZ 上的联合分布,而第二项包含给定 VZ 的条件分布。KL 散度的一个性质是它总是非负的。利用equation 6中的这个性质,我们可以推导出 L ( q,θ)ln p(V |θ)**

这意味着 L ( q,θ ) 作为观察数据的对数似然的下界。

这个观察,很快,将有助于证明 EM 算法确实最大化了对数似然。

电子步骤

假设参数向量 θ 的初始值为***θ^old***——(步骤 1)** 。记住由equation 6给出的关系,E 步试图最大化下限L(***θ^old***)相对于 q ,同时保持***θ^old***固定。注意到ln p*(V |θ)的值不依赖于q(Z),因此 L ( q, ***θ^old*** ) 的最大值将在 KL 背离消失时出现 或者换句话说当q(Z)等于后验分布 p(Z | V,***θ^old***)(因为 ln 1 求值为 0)。*

因此,E-step 涉及评估 p(Z | V,***θ^old***)——(Step 2)****

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Illustration of E-step. [1]

m 步

在该步骤中,分配q(Z)保持固定。如果我们把 E-step 中的q(Z)=p(Z | V,***θ^old****)*代入表达式中的 L ( q,θ ) ( equation 6,我们看到,下界

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

equation 7

其中该常数仅仅是 q 分布的负熵,因此与 θ 无关。

所以,在 M 步中,我们最大化下界 L ( q,θ ) 相对于 θ 给出一些新值***θ^new*** 这将引起下界 L ( q,θ ) 增大,必然引起相应的对数似然函数增大。——(第三步)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Illustration of M-step. [1]

由于分布 q 在 M 步期间保持固定,所以它将不等于新的后验分布 p(Z | V,***θ^new***)),因此将存在非零 KL 散度。因此,我们再次重复 E 和 M 步骤,直到收敛。——(第四步)

把所有的放在一起

我知道一下子很难消化。因此,我将尝试在下图的帮助下总结讨论,这应该有助于将这些点联系起来。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

How E and M step maximize the likelihood. [1]

红色曲线描绘的是不完全数据对数似然性,ln p(V |θ),我们希望最大化。在第一个 E 步骤中,我们从一些初始参数值***θ^old.***开始,我们评估潜在变量的后验分布,【p(Z | V,***θ^old***),这产生了一个下界L(***θ^old***【T71),其值等于在 M 步中,界限被最大化,给出值***θ^new***,这给出了比***θ^old***更大的对数似然值。随后的 E 步骤构建一个在***θ^new***相切的边界,如绿色曲线所示。**

在每一步中,我们看到所获得的参数增加了对数似然,并且该过程一直持续到收敛。

结束语

这结束了一篇关于 EM 算法的相当激烈的数学文章。然而,深入理解这个算法是一个很好的时间投资,如果您想开发自己的图形模型来解决具有挑战性的问题,它确实证明是有帮助的。如果你正在寻找一个示例问题和代码,你可以参考我的这个 GitHub repo ,在那里我们解决了将方面、评级和情绪与评级预测任务的时间动态联合建模的挑战。

参考

[1]纳斯拉巴迪 NM。模式识别和机器学习。电子成像杂志。2007 年十月;16(4):049901.

原贴@https://rishabhmisra . github . io/Maximum-Likelihood-Estimates-Motivation-For-EM-Algorithm/

引文

如果您在研究中使用了此处介绍的作品,请使用以下格式之一引用它:

文本格式:

米斯拉里沙卜。"使用 EM 算法进行推理."向数据科学 (2019)。

BibTex 格式:

@misc{misrainference2019,
author={Misra,Rishabh},
title = {推理使用 EM 算法},
URL = { https://Medium . com/forward-Data-Science/推理使用-em-algorithm-d71cccb647bc},
journal={Medium},
publisher = { forward Data Science },
year={2019},
month={Feb}
}

推断时间序列数据中的因果关系

原文:https://towardsdatascience.com/inferring-causality-in-time-series-data-b8b75fe52c46?source=collection_archive---------3-----------------------

对主要方法的简要回顾。

什么事件引起了另一个事件,或者什么导致了一个现象的某种变化,这是一个常见的问题。例子包括药物是否导致某些医疗状况的改善(相对于安慰剂效应,额外的医院就诊,等等。),跟踪装配线故障的原因或确定网站流量激增的原因。

虽然对这个问题的天真解释可能会提出一些简单的方法,如将因果关系等同于高度相关性,或者从作为 y 预测者的 x 的良好程度来推断 x 导致 y 的程度,但事实证明这个问题要复杂得多。结果,在几个科学领域中发展了处理这个问题的严格方法。

因果推理的任务分为两大类:

  1. 代表不同事件的随机变量的因果推理。最常见的例子是两个变量,每个变量代表 A/B 测试的一个选择,每个变量都有一组与之相关的样本/观察值。
  2. 时间序列数据上的因果推断(以及随机过程)。例如,确定每日股票总价格是否(以及在何种程度上)驱动每日交易量,或者太平洋沙丁鱼渔获量、北方凤尾鱼渔获量和海面温度之间的因果关系。

这篇文章只讨论第二类问题。

范围

这篇文章旨在对学术文献和在线资源中发现的用于推断时间序列数据因果关系的主要方法、从这些方法得出的方法及其代码形式的实现进行简明的技术综述。

它旨在触及(1)经典的统计方法,主要创建于计量经济学研究领域,包括现代发展(2)和来自各种其他研究团体的改编和原创方法,如处理动态系统或信息理论的方法。

因果推理的一般主题既太大又不能直接适用于本文。对于一般的因果推理(在许多情况下,这是在一般的概率分布或其样本上进行的,而不是在时间序列数据上)和机器学习之间的交集来说,也是如此。尽管如此,我还是在 其他著名文献部分中收录了一些我在这些主题上遇到的著名资源。

组织和符号

概述有时以引用格式在正文中给出,而可选注释以可点击的脚注给出(每个脚注都有一个链接,让你回到它的起源)。还提供了一个可点击的目录来帮助导航。我已经添加了📖链接到每一节的页眉;点击它可以快速返回目录。最后,文章附有所用文献的完整参考文献

必需的背景

这篇文章是用技术语言写的,虽然我显然不能像这篇文章中引用的学术论文那样深入,但我不会回避包括方程、符号和需要技术背景才能理解的文本。

因此,我们假设你至少有一门完整的概率统计本科理论课程的背景,或者相当于这门课程,包括所需的数学背景。如果你不熟悉随机过程理论,你可以在我关于时间序列数据平稳性的文章中找到它的简明评论。进一步阅读需要熟悉这个理论,因为它是时间序列中因果关系的统计概念建立的框架。

目录

  1. 背景:时间序列数据中因果关系的概念
  2. 时间序列数据因果关系推断的经典方法
  3. 时间序列数据的替代参数格兰杰因果测度
  4. 时间序列数据的替代非参数因果性度量
    -Bouezmarni-Taamouti 检验
  5. 时间序列数据因果推断的混沌与动态系统理论方法
    -Hiemstra-Jones 检验
    -Diks-Panchenko 检验
  6. 时间序列数据因果关系推断的信息论方法
  7. 时序数据因果推理的图形化方法
  8. 选择使用哪种方法
  9. 人员跟随
  10. 其他值得注意的文献
  11. 参考文献
    - 学术文献:因果关系及因果推断
    - 学术文献:时间序列数据中的因果推断
    - 学术文献:其他
    - 其他网上来源
  12. 脚注

背景:时间序列数据中因果关系的概念

多年来,统计和经济学学者提出了许多不同的因果关系概念。我在这里给出了主要的概述。这部分内容部分基于[Eichler,2011 年]和[ Runge,2014 年 ]。📖

格兰杰因果关系

格兰杰[1969,1980]在[维纳,1956]的基础上提出了时间序列数据因果关系的最早概念。它是基于对比使用宇宙中的所有信息预测随机过程 Y 的能力,用 U 表示,以及使用 U 中的所有信息预测随机过程 X 的能力;这用 U\X 表示。核心思想是,如果丢弃 X 降低了关于 Y 的预测能力,那么 X 包含一些关于 Y 的独特信息,因此我们说 X 是 Y 的格兰杰原因。

更正式地说:

  • XY 为平稳随机过程。
  • 用𝒰ᵢ =(U ᵢ₋₁ ,…,U ᵢ₋∞ ) 表示宇宙中直到时间 *i、*的所有信息,用𝒳ᵢ =(X ᵢ₋₁ ,…,X ᵢ₋∞ ) 表示直到时间 *i、*的所有信息。
  • σ表示(Y| 𝒰ᵢ ) 在时间 i 用𝒰ᵢ 预测 Y ᵢ的残差的方差。
  • σ表示(yᵢ*|𝒰ᵢ*𝒳ᵢ*)*预测残差的方差 Y ᵢ使用𝒰ᵢ 中所有信息在时间 i 除𝒳ᵢ.

定义 1: 如果σ(yᵢ*|𝒰ᵢ)<σ(y|𝒰ᵢ*𝒳ᵢ*)*那么我们说 X Granger-causes Y,x y

定义 2: 如果x yy x我们说反馈正在发生,写 XY

正如格兰杰自己指出的那样,获得宇宙中所有信息的要求是极其不现实的。实际上 U 被一组有限的观测时间序列代替,其中X∈X,上述定义为 X 格兰杰原因 Y 相对于 X

最后,该定义没有指定用于 σ 的预测方法,因此允许线性和非线性模型,但是使用方差来量化预测的接近程度将这种因果关系的概念限制为平均因果关系。

这个概念通常被称为强格兰杰因果关系*;其他相关的因果关系概念有均值格兰杰因果关系【格兰杰 1980,1988】和线性格兰杰因果关系【ho soya 1977,Florens 和 Mouchart 1985】。*

瞬时因果关系:**一种相关的因果关系,稍微修饰一下格兰杰因果关系,就是瞬时因果关系【普莱斯,1979】。如果在时间 i 时,将 Xᵢ 添加到信息集中有助于提高 Yᵢ 的预测值,我们说 x 和 y 之间具有瞬时因果关系*。*

更正式地说:

  • XY 为平稳随机过程。
  • *用𝒰ᵢ =(U ᵢ₋₁ ,…,U ᵢ₋∞ ) 表示宇宙中直到时间 *i、的所有信息,用𝒳ᵢ =(X ᵢ₋₁ ,…,X ᵢ₋∞ ) 表示直到时间I、的所有信息(在两者中

定义三:**如果σ(y|𝒰ᵢ∪{xᵢ})<σ(y|𝒰ᵢ)那么我们说 XY 之间存在瞬时因果关系。**

请注意,这种类型的因果关系不是定向的,而是对称的,可以证明,如果上述定义成立,那么对称陈述——即σ(xᵢ|𝒰ᵢ∪{yᵢ})<σ(xᵢ|𝒰ᵢ)——也成立(见[Lütkepohl,2007]的证明)。因此,我们并不是说 X 瞬间导致 Y ,而是说 XY 之间存在瞬间因果关系。

***多步因果关系:*在一个双变量系统中,如果一个变量的 1 步提前预测不能通过使用另一个变量中的信息来改善,则对于任何 h=1,2,… 的所有 h 步预测都是如此,因此 1 步提前标准足以定义格兰杰因果关系。如果信息集包含额外的变量,这个结果不再成立。[吕特科波尔和米勒,1994 年]

因此,在一个多变量系统中,我们说变量 Xᵢ 是另一个变量 Yᵢh ,如果 Xᵢ 中的信息有助于提高对某些 j=1,2,…,hj*-步长预测。*

西姆斯因果关系

在一篇有影响力的论文中,[Sims,1972]表明——在协方差平稳过程的背景下,并限于线性预测器——在二元情况下,格兰杰因果关系的定义相当于过程 x[t],y[t]的移动平均或分布滞后表示的参数限制。当系统是协方差稳定时,它可以表示为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 8: The Sims representation for covariant stationary processes

*其中 aⱼbⱼcⱼdⱼ 为常数,*u【t】v【t】为互不相关的白噪声过程。西姆斯表明,条件 x[t]不是格兰杰原因 y[t+1] 等价于 cⱼ 或ⱼ对于所有 j 被选择为相同的零。

格兰杰的定义认为时间优先是从过去到现在的一种联系,与之相反,西姆斯的概念认为时间优先是从现在到未来的一种联系。因此,所考虑的潜在因果关系是从因变量到回归变量的未来值或“线索”。

当它在[Sims,1972]中被引入时,它是作为格兰杰定义的一个等价定义提出的,但此后它与格兰杰定义形成对比,并被证明当所使用的时间序列的非相关性度量是独立性时,它是不等价的[Florens 和 Mouchart,1982];相反,它表明格兰杰因果关系是一个更强的条件,而格兰杰因果关系意味着西姆斯因果关系,反之则不成立。

尽管存在这种不等价性,大多数时间序列数据因果推断的统计检验都集中在格兰杰的定义上。然而,至少在使用向量自回归(VAR) 模型的情况下,可以修改这些测试来测试西姆斯的因果关系(参见这里的示例,该示例强调了线性情况的测试之间的差异)。

结构因果关系

White 和 Lu (2010) 提出的结构因果关系假设数据生成过程具有一个递归的动态结构,在这个结构中,前趋者在结构上决定后趋者。具体来说,对于两个过程 X——潜在原因——和 Y —响应,我们假设它们是由

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 9: The structural causality DGP

对于所有的 t∈Z 。这里,过程 Z 包括所有相关的观测变量,而 U=(Uₓ,Uᵧ) 的实现被假设为不可观测的,函数 q[x,t]q[y,t] 被假设为未知的。

观察到这种动态结构是通用的,因为结构关系在它们的论证中可能是非线性和非单调的,并且在可观察和不可观察之间是不可分的。不可观察的事物在数量上可能是无限的。最后,该系统可以产生平稳过程、非平稳过程或两者。

然后可以定义因果关系的结构概念:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作者接着分析了格兰杰因果关系和结构因果关系之间的关系。此外,基于格兰杰因果关系的经典概念,他们引入了两个扩展:弱格兰杰因果关系追溯弱格兰杰因果关系*。*

最后,作者对他们的两个格兰杰因果关系概念进行了实际检验。具体来说,弱格兰杰因果关系可以通过测试响应的条件独立性 Y 和潜在原因 X 来检测,给出响应的历史和过程的可观察协变量的近期历史。

干预因果关系

朱迪亚·珀尔(Judea Pearl)倡导将干预作为因果推断统计理论的基础,这至少可以追溯到 90 年代早期[珀尔和维尔马,1991 年][珀尔,1993 年]。然而,它对时间序列数据的应用直到最近才开始得到严格的处理【怀特,2006】艾希勒和迪德勒兹,2007】。这种因果关系的方法与经济学中的脉冲响应分析密切相关。

Eichler 和 Didelez 定义了一组可能的干预机制,对应于具有 d 分量的多变量平稳时间序列 X 中不同的可能干预类型。干预由干预指示符 σ 表示,其在 {∅、s∈ 𝓢} 中取值;我用 Xₐ 表示 X 中的一个组件,用 X 表示 X 中组件的子集,其中 a ∈VU⊂V 表示 V={1,…d} 。我还使用 σₐ 来表示对组件 Xₐ 的干预。

干预类型包括:

  1. 空闲状态:当 σ(t) = ∅时,X(t) 自然产生,无需干预。又名观测体制
  2. 原子干预:此处 𝓢=Xxₐt49】, σₐ(t) = x ⦁表示强制 Xₐ(t) 取值 x⦁.的干预
  3. 条件干预:这里 𝓢 由函数
    g(xᶸ(t-1))∈X、U⊂V 组成,这样 σₐ(t)=g 的意思是 Xₐ(t) 被迫取一个值,这个值取决于 Xᶸ(t=1) 的过去观察值。
  4. **随机干预:这里的 𝓢 由分布
    组成,意思是 Xₐ(t) 被迫从这样的分布中产生。

然后,在确保干预是系统的孤立外生变化的一些假设下,根据策略 s干预在 X 中对响应变量y【t 】*的平均因果效应* (ACE)定义为(假设 w.l.o.g .认为 *𝔼[Y[t]]=0 )😗

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 10: The average causal effect (ACE) of interventions according to strategy s

因此,ACE【s】可以视为不干预和干预策略 s 之间的平均差。此外,可以通过考虑ace【s—ace【s,或者干预后分布*ℙ[s](y[t`】的其他泛函来比较不同的策略。*

现在,先验地,没有理由为什么不是在感兴趣的干预制度下收集的数据应该允许估计 ACE 。然而,作者随后继续展示了使用他们所谓的后门标准用观测体系下已知或可估计的量来表达 ACE 的可能性。

我发现这是时间序列数据中因果关系与非常有影响力的基于干预的一般因果关系概念的非常优雅的调和。

此外,Samartsidis 等人最近的一篇论文提供了对其他方法的全面审查,这些方法用于评估针对二元干预【Samartsidis 等人,2018】具体案例的综合时序观察数据中的干预因果效应。

****注:干预因果关系的概念与这里提出的其他三个概念根本不同;虽然格兰杰因果关系,西姆斯因果关系和结构因果关系都假设一个观察框架,干预因果关系作出了更强有力的假设,干预可以在研究过程中进行。因此,它在许多现实生活场景中明显不太适用。

时间序列数据中因果关系推断的经典方法📖

本节涵盖了基于经典统计方法的两种最基本的因果关系推断方法。

非定向滞后相互作用

推断两个时间序列 XY 之间因果关系的最基本方法可能是使用潜在原因时间序列滞后(后移)版本 X 与(非滞后)潜在原因时间序列 Y 之间对应关系的非定向测量。

如果在 Xk-滞后和(非滞后) Y 之间发现高度对应,那么可以推断出X-导致- Y 的非常微弱的概念;因此,从以下事实推断出方向:滞后 XY 高度对应。可以使用各种对应措施;其中有皮尔逊相关(如[Tsonis 和 Roebber,2004]),互信息(如[Donges at al .2009])和相位同步(例如[Pikovsky 等人 2003])。

当选择的对应测量是皮尔逊相关时,这相当于查看两个时间序列的互相关函数的不同正负滞后,并将其在所选范围内达到的最大值作为因果联系的强度,滞后的符号指示因果方向。天真地说,如果函数在正负时滞上都达到正值,那么就可以推断出双向因果关系。在任何情况下,为了得到有效的解释,必须考虑两个系列的自相关性。

这种方法主要用于气候研究[Yamasaki 等人,2008 年] [Malik 等人,2012 年] [Radebach 等人,2013 年]。如 SIFT 在线手册第章第 4.5 节所述,以及 Runge,2014 第 5.2.1 节所述,它被证明存在可能产生误导性结论的重大问题。

格兰杰因果关系的参数 VAR 检验

格兰杰因果关系的经典参数检验的简明分类见[Greene,2002]。这些年来,大量的测试被用来检验格兰杰因果关系。因此,我简单介绍一下我遇到的测试,集中在我能找到的用通用数据处理编程语言(如 Python 和 r)实现的测试上。

一般来说,这些测试的第一阶段是确保所有被检查的序列都是平稳的——如果不是,通常通过趋势移除和/或差分使它们平稳。

然后,在成对测试中,对于每一对时间序列和每一个特定的因果方向X Y,生成一个(通常手动)数量的潜在原因序列的负(过去)滞后 X (包括零滞后,即 X 本身)。要采用的最大滞后长度是一个模型选择考虑因素,因此应该基于一些信息标准(例如 Akaike 信息标准贝叶斯信息标准等)进行选择。).

****注:如果检查大量配对,您还需要考虑如何处理多重假设检验产生的问题。

以下所有情况中使用的模型是内生(潜在原因)时间序列 Y 作为随机过程的向量自回归模型;陈述了两个这样的模型。

第一个模型——称为限制模型——假设 Y 仅线性依赖于其自身的过去值,具有线性系数γ 和时间相关噪声项e【t】:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 11: The restricted model in a VAR-based Granger causality test

相反,第二种模型——称为无限制模型——假设 y 线性依赖于 x 和 y 的过去值,由系数 αᵢt27】β和时间相关噪声项 u【t】确定:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 12: The unrestricted model in a VAR-based Granger causality test

未格式化的零假设是当与第一个模型比较时,第二个模型不添加信息,或者提供更好的 Y 模型。这需要形式化为一个可测试的零假设;一种常见的方法是陈述零假设 H₀ 是∀i,βᵢ=0* 。*

最后,以下测试程序之一适用于所有此类滞后 X 和无滞后 Y 对。为了检查两个方向上的因果关系,将 Y 的滞后添加到被检查系列的集合中。

***注:*格兰杰因果检验对滞后长度的选择和处理时间序列非平稳性的方法非常敏感。

***基于 SSR 的格兰杰因果关系 f 检验:*对限制和非限制模型的参数进行估计(通常使用普通最小二乘法)。然后使用两个序列的 RSS 计算 F 统计量T5,由下式给出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 13: RSS-based F statistic for Granger causality

其中 T 是时间序列长度,而 p 是滞后的数量。

此处和给出了该测试的双变量情况的一个很好的概述。在stats modelsPython 包【Python】,在MSBVAR 包【R】lmtest 包【R】NlinTS 包【R】vars 包【R】中实现了一个二元版本。

***Pearson 因果关系的卡方检验:*首先,利用 OLS 估计模型参数。使用两个系列的 SSR 计算卡方统计T3,并执行皮斯龙卡方测试程序。在statsmodels 包【Python】中实现了一个二元版本。

格兰杰因果关系的似然比卡方检验(亦称 G 检验*)*卡方统计 使用两个数列的似然比计算,并遵循标准检验程序。一个双变量版本在stats models 包【Python】中实现。

格兰杰因果关系的异方差稳健 F 检验:**在【Hafner 和 Herwartz,2009】中介绍,该过程使用 bootstrapping 进行参数估计,对异方差稳健(例如,在这种情况下,产生比 OLS 更有效的估计量),以及自定义 Wald 检验统计量。一个双变量版本在vars 包【R】中实现(参见因果关系方法中实现的第二个测试)。

Toda 和 Yamamoto 程序:在[ Toda 和 Yamamoto,1995 ]中引入,该程序旨在处理检验序列是任意阶的整合或协整合(或两者兼有)情况下的格兰杰因果关系的检验。在这些情况下,上述检验中的检验统计量不遵循它们通常的零意义下的渐近分布;该程序旨在解决这一问题。作者给出了一个详细的测试程序,它使用一个标准的 Wald 测试作为一个组成部分,以这样一种方式,一个适当分布(在零假设下)的测试统计量被实现。戴夫·贾尔斯有一篇关于这个过程的优秀博客文章

我没有找到这个过程的代码实现,但是因为它的重要性,我把它包括在内了。它可以通过使用组成它的所有过程的现有实现来实现。

***线性格兰杰因果关系的其他检验:*线性格兰杰因果关系检验在许多方向得到了发展,例如【Hurlin and Venet,2001】提出了一个用面板数据进行因果关系检验的程序,而【Ghysels et al. 2016】引入了一个用混合频率数据进行格兰杰因果关系检验的程序。

上述线性方法适用于检验格兰杰因果关系。然而,他们不能检测格兰杰因果关系在更高的时刻,例如,在方差。为了应对这一挑战,以及格兰杰因果关系的经典模型中的其他缺陷,提出了大量的方法;这些方法包括非线性参数方法和各种非参数方法。

接下来的章节旨在简明扼要地涵盖在时间序列数据中推断因果关系的众多替代方法,这些方法受到自然科学各个领域的启发。

时间序列数据的替代参数格兰杰因果测量📖

[Papana 等人,2013 年]概述并比较了以下大多数因果关系测量。

条件格兰杰因果指数(CGCI)

在[Geweke,1984]中介绍,这是第一次尝试建议测量多个时间序列之间的线性相关性和反馈的程度。作者把 X 和 Y 之间的线性因果关系分解为 X 到 Y 的线性因果关系、Y 到 X 的线性因果关系以及两个序列之间的瞬时线性反馈之和。此外,所介绍的措施可以(在某些条件下)按频率相加分解。

使用相同的 VAR 模型作为原始的线性 Granger 因果关系度量,CGCI 被类似地定义为限制模型和非限制模型的残差方差之比的自然对数。因此,区别仅在于受限和非受限模型中除了 X₁X₂ 之外还包括了额外的时间序列;因此,如果 X₂ 只是调节一些其他时间序列 ZX₁ 的影响,我们可以再次期望无限制模型的残差与限制模型的残差相似,在这种情况下,指数将接近于零。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 14: The Conditional Granger Causality Index

CGCI 使用的风险值模型的限制性变体被提出来处理更高维度的数据、更少量的样本或非线性因果关系。[Siggiridou 和 Kugiumtzis,2016 年]概述了几个此类变体(并介绍了另一个)。

格兰杰因果关系的 MLPf 检验

这种方法非常类似于前面提到的基于 VAR 的方法,但是感知器代替了 VAR 作为解释模型。训练两个多层感知器(MLP)神经网络模型——一个仅用于内生时间序列,一个用于两者——并执行 f 检验以检验外生时间序列不提高内生时间序列的可预测性的零假设。在NlinTS 包【R】中实现。

格兰杰因果关系的 RBF 模型

[Ancona et al. 2004]提出了一个格兰杰因果关系的非线性参数模型,用更丰富的径向基函数(RBF)族代替了 VAR 模型,该模型被证明能够在期望的程度上逼近任何真实函数。

最近,[Ancona 和 Stramaglia,2006 年]表明,并非所有非线性预测方案都适合评估两个时间序列之间的因果关系,因为如果将统计独立变量添加到输入变量集,它们应该是不变的。在这一发现的推动下,[ Marinazzo et al. 2006 ]旨在找到适合评估因果关系的最大类 RBF 模型。

偏格兰杰因果指数(PGCI)

CGCI(及其扩展)仍然假设包含所有相关变量。[郭等,2008]引入作为一个因果关系指数,可以处理受检系统中外源输入和潜在(即不可观测)变量的存在。

为了确定从变量 Y 到变量 X 的直接因果关系,给定另一个变量 Z(这可以自然地扩展到多个变量),以及系统的外部输入和未观察到的潜在变量,作者建议以下限制 VAR 模型,带有噪声协方差矩阵 S:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 15: The Restricted VAR model for PGCI

以及下面的无限制 VAR 模型,带有噪声协方差矩阵σ:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 16: The Unrestricted VAR model for PGCI

像以前的风险值模型一样,矩阵 A₁,B₁、A₂、E₂和 K₂模拟每个序列的自回归效应,其他矩阵模拟每个模型对其他模型的不同滞后效应,εᵢ是白噪声过程。这里的新成分是εᵢᴱ和εᵢᴸ,前者是代表外生输入的独立随机向量,后者是代表潜在变量的独立随机向量。

作者继续发展了两个度量:(1)通过消除εᵢᴱ和εᵢᴸ.的影响,基于以 z 为条件的先前值的 x 的自回归预测的准确性的度量(2)通过消除εᵢᴱ和εᵢᴸ.的影响,以 z 为条件,基于 x 和 y 的先前历史来预测 x 的现值的准确性的度量然后他们将 PGCI 定义为两者之比的自然对数。根据两个模型的噪声协方差矩阵 S 和σ,该指数可以写成:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 17: PGCI in terms of the noise covariance matrices of the VAR models

通过比较,标准的格兰杰因果指数可以表示为
gci =**【ln(|s₁₁||σ₁₁|】

作者还通过使用非线性 RBF 参数模型将他们的测量扩展到非线性情况,在 Marinazzo 等人 2006 中进行了细化。指数保持在等式中。1.

定向相干测量

相干的二元函数通常用于信号处理,以估计线性系统输入和输出之间的功率传递。[Saito 和 Harashima,1981]通过定义定向一致性 (DC)扩展了这一概念,将一致性分解为直接一致性测量的两个组成部分:一个代表被检查系统中的前馈动态,另一个代表反馈动态。最初的论文使用了一个双变量自回归模型,这个模型后来被推广到多变量的情况。

[Baccalá and Sameshima,2001]扩展了定向相干的概念,在偏相干函数的基础上定义了偏定向相干(PDC),作为多变量情况下基于相干的 Granger 因果性度量。

时序数据的替代非参数因果关系测量📖

请注意,以下章节中介绍的大多数方法,涉及混沌和动态系统理论方法以及因果关系推断的信息论方法,也是非参数化的。

布-塔二氏试验

[Bouezmarni 和 Taamouti,2010 年]的作者对双变量情况下的条件独立性和格兰杰因果关系进行了非参数检验。不像大多数测试那样关注均值的因果关系,作者们将他们的测试建立在条件分布的基础上。

检验因果关系的其他非参数方法在[Bell 等人,1996 年]和[Su 和 White,2003 年]中提出。

时间序列数据因果推理的混沌和动态系统理论方法📖

本节涵盖基于两个密切相关领域混沌理论动态系统分析的因果推理方法。自然,这些方法在某种程度上也与信息论相关,这将在下一节中介绍。

希姆斯特拉-琼斯试验

[ Baek 和 Brock,1992 ]发展了一个非线性 Granger 因果检验,后来被[ Hiemstra 和 Jones,1994 ]修正,以研究股票收益和股票交易量之间的二元非线性因果关系。在随后的几年中,这种检验在检验非线性格兰杰因果关系中变得很常见,并被[白等,2010]扩展到多变量情况。

虽然通常不这样提出,但他们的非参数相关性估计器是基于所谓的相关积分,一种概率分布和熵估计器,由物理学家 Grassberger 和 Procaccia 在非线性动力学和确定性混沌领域开发,作为混沌吸引子的表征工具。[Hlaváková-Schindler 等人,2007 年]因此,它也与下一节讨论因果关系的信息论度量的 CTIR 度量密切相关。

[Diks 和 Panchenko,2005]已经表明,通过该过程测试的关系并不隐含格兰杰非因果关系的零假设,并且随着样本量的增加,实际拒绝率可能趋于 1。因此,该测试被重新审视,并针对双变量情况(在[白等人 2017 年])和多变量情况(在[白等人 2018 年])提出了克服上述一些问题(即拒绝率随样本量的增长)的新版本。

迪克斯-潘琴科试验

基于他们对 Hiemstra-Jones 检验问题的研究[Diks 和 Panchenko,2005],作者在[Diks 和 Panchenko,2006]中提出了一种新的格兰杰因果关系的双变量非参数检验。与 Hiemstra-Jones 测试相比,随着样本量的增加,他们表现出明显更好的大小 行为和他们测试的功效,同时还测试了与期望的零假设等价的关系。[ 迪克斯和沃尔斯基,2015 ]将测试扩展到多变量设置。

扩展的格兰杰因果指数(EGCI)

在[Chen et al. 2004]中介绍的这种方法将经典的格兰杰因果关系指数扩展到非线性情况,方法是将应用限制在约简邻域中的局部线性模型,然后对整个数据集的结果统计量进行平均。

这种方法利用了动力系统理论领域的技术;延迟坐标嵌入用于重构相空间 R ,然后在重构的空间 R 中拟合自回归模型,而不是样本的原始空间。该模型适用于参考点 z₀ 的邻域(由距离参数 δ 确定)中的所有点。然后使用对整个吸引子采样的邻域进行平均来估计 EGCI 测量中的剩余方差。最后,EGCI 被计算为邻域大小的函数 δ 。对于线性系统,该指标应该大致保持不变,因为 δ 变小,而对于非线性系统,它(应该)揭示了非线性因果关系,因为 δ 变小。

作者还提出了一个指数的条件变量,条件扩展格兰杰因果指数(CEGCI),以处理多变量的情况。

收敛交叉映射

在[ Sugihara et al. 2012 ]中介绍,CCM 是一种基于非线性状态空间重构的因果关系推断方法,是动力系统理论中常用的数学模型,可应用于因果变量具有协同效应的系统(不同于格兰杰因果检验)。作者证明了真正的耦合变量和非耦合变量的外部强制情况之间的成功辨别。

该方法由一些作者在的 rEDM 包【R】的 pyEDM 包【Python】的 cppEDM 包【c++】中实现,并附有的综合教程

时间序列数据因果关系推断的信息论方法📖

[Papana 等人,2013 年]概述并比较了以下大多数因果关系测量。

粗粒度信息传输速率(CTIR)

CTIR 是[palu et al . 2001]引入的一种度量,基于 条件互信息 ,用于检测双变量时间序列场景中耦合系统之间的“信息流方向”。

以信息论的形式定义,而不是强度的度量,它测量从进程 Y 到进程 X 的净信息量的平均速率,或者换句话说,进程 Y 影响进程 X 的净信息流的平均速率。

[Hlaváková-Schindler 等人,2007 年]对 CTIR 和有条件互信息以及用于估计它们的各种方法进行了极其全面的概述。同一篇论文还包括一个证明,证明了在适当的条件下,这两个度量是等价的。

转移熵测度

转移熵信息论概念是在【Schreiber,2000】中引入的,作为一种量化随时间演化的系统之间的统计一致性的方法,这种方法可以区分和排除由于共同的历史和输入信号而从共享信息中实际交换的信息。或者,也可以说量化了在 X₁h 的状态比 X₂ 的状态超前一步,说明了 X₁ 的并发状态。转移熵由下式给出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 18: Transfer Entropy

I(x₁+h 在哪里;x₂|x条件互信息,给出了 X₁hX₂ 给定当前值 X₁ 的互信息的期望值; H(X)香农熵H(X,Y)联合香农熵 。第一个等效性见[Palu 和 Vejmelka,2007 年]。

此后,在神经科学等领域的各种论文中,转移熵被频繁用作因果关系的衡量标准(例如[Vicente,2011]),并在[Jizba 等人,2012]中扩展到使用其他熵衡量标准,如 Reyni 的。[贝尔德斯,2005 年]提出了一个更适合在同质空间扩展系统因果关系检测的变化措施。

P 人工转移熵 (PTE) ,在【Vakorin et al,2009】中提出,是转移熵 的扩展,旨在衡量 X₂X₁ 的直接因果关系,以 Z: 中的剩余变量为条件**

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 19: Partial Transfer Entropy

****符号转移熵(STE):STE 测度等于在由变量的重构向量形成的秩点(即符号)的嵌入空间(维数为 d )上估计的转移熵。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 20: Symbolic Transfer Entropy

其中 X̂₁,t 是向量 X₁,t 在时间 t 的顺序 d 的顺序模式(参见【凯勒和辛恩,2005】),其在给定时间延迟 τ 的情况下,被定义为满足(0,1,⋯,d)的排列(r₀,r₁,⋯,rd)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

部分符号转移熵(PSTE): STE 以与 PTE 相同的方式扩展到多变量设置:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 21: Partial Symbolic Transfer Entropy

其他基于转移熵的因果性度量包括[Kugiumtzis,2012]中介绍的秩向量转移熵(TERV),以及[Kugiumtzis,2013A]中介绍的秩的多元扩展部分转移熵(PTERV)。

混合嵌入的互信息(MIME)

在[Vlachos 和 Kugiumtzis,2010]中介绍,MIME 是用于时间序列分析的互信息驱动的状态空间重构技术,包括因果关系(因此也可以放在动态系统理论方法部分)。

*在双变量的情况下,该方案给出了来自变量 X₁X₂ 的不同延迟的混合嵌入,这最好地解释了 X₁ 的未来。混合嵌入向量*w【t】可以包含 X₁X₂ 的滞后分量,定义两个互补子集 W[t]=[Wˣ t,wˣt】。然后,MIME 被估计为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 22: Mutual Information from Mixed Embedding

等式中的分子。22 是等式中 TE 的条件。18,但对于 X₁X₂.的非均匀嵌入向量 MIME 因此可以被认为是用于优化 X₁X₂.的非均匀嵌入的 TE 的规范化版本

来自混合嵌入的部分互信息(PMIME) 是用于多变量设置的 MIME 的扩展,在【Kugiumtzis,2013B】中描述,通过对所有环境变量 Z 进行额外调节来完成,很像在 PTE 和 PSTE 中。最能描述 X₁ 未来的混合嵌入向量现在潜在地由所有 K 滞后变量构成,即 X₁X₂Z 中的其他 K-2 变量,它可以分解成三个各自的子集,分别为 W[t]=[Wˣ t、Wˣ t、wt】。然后,PMIME 估计为:**

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Equation 22: Partial Mutual Information from Mixed Embedding

该方法由作者在 Matlab 软件包中实现。

时间序列数据中因果关系推断的图解方法📖

在多变量环境中,经常使用图形方法来模拟格兰杰因果关系:每个变量(在我们的情况下,对应于一个时间序列)被视为格兰杰网络中的一个节点,有向边表示因果联系,可能有延迟(见图 2)。

因果图搜索算法(SGS,PC 和 FCI)

一个因果搜索算法家族,使用条件依赖原则和因果马尔可夫条件 的应用来重构数据生成过程的因果图,由三个相关算法组成:SGS、PC 和 FCI。参见[Spirtes 等人,2000 年]的全面概述。

这些算法的主要结构是相似的:

  1. ****初始化:初始化所有变量 V 上的全无向图(即假设所有因果联系)。
  2. ****骨架构建:然后,通过测试依赖程度增加的条件独立性来消除边缘(这里算法不同;SGS 测试每一个可能的条件集,而 PC 只包括连接的变量)。
  3. ****边消除:最后,应用一组统计和逻辑规则来确定图中边的方向(即因果关系)。

在前两者之间,SGS 被认为可能对非线性更鲁棒,而 PC——两者中更常用的一种——的复杂度不随变量数量呈指数增长(由于边缘消除阶段的差异)。最后,PC 算法不能处理未被观察到的混杂因素,这是它的扩展 FCI 试图解决的问题。

【Runge et al,2017】认为 PC 不适用于时间序列数据,声称使用自相关会导致基于数值实验的高假阳性率。

PCMCI

PCMCI 是【Runge et al,2017】中描述的一种因果发现方法,在 Tigramite Python 包中实现。作者声称,它适用于大型数据集( ~O(100k) )的变量,这些变量具有线性和非线性、时间延迟相关性,给定数百或更多的样本大小,与 Lasso Granger 和 CI 系列算法等方法相比,它显示了一致性和更高的检测能力,并具有可靠的假阳性控制。

该方法包括两个阶段:

  1. pc₁——一种基于 PC 算法的马尔可夫集发现算法,通过迭代独立性测试去除每个变量的不相关条件。
  2. MCI——瞬时条件独立性测试,旨在解决高度相互依赖的时间序列情况下的假阳性控制,条件是潜在因果联系中两个变量的双亲。为了测试 Xⁱ是否以滞后τ影响 Xʲ,测试以下内容(其中𝒫(Xⁱ是 Xⁱ):的父节点集)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The MCI test

就像在 PC 系列算法的框架构建阶段一样,PCMCI 的两个步骤都可以与任何条件独立性测试相结合。作者研究了线性情况下的线性偏相关检验,以及非线性情况下的 GPDC 和 CMI 检验。

拉索-格兰杰

该方法在[Arnold 等人,2007 年]中介绍,通过利用套索法的变量选择性质,作为在高维多变量设置中应用格兰杰因果关系模型的方法。

该方法还适用于处理【Bahadori 和刘,2012A】和【Bahadori 和刘,2012B】中具有广义拉索格兰杰()和加权广义拉索格兰杰()变量的不规则时间序列(样本在采样点块缺失或在非均匀间隔时间点收集的序列)。

[Hlaváková-Schindler and Pereverzyev,2015]对 Lasso-Granger 方法进行了全面的综述,尽管是在基因表达调控网络的特定背景下。

Copula-Granger

Copula-Granger 是[Bahadori and Liu,2012B]和[ Bahadori and Liu,2013 ]开发和介绍的一种半参数 Granger 因果关系推断算法。copula 方法首先在[Embrechts et al. 2002]中提出用于时间序列分析,后来在[Liu et al,2009]中用于学习时间序列之间的依赖图。

作者在[ Bahadori and Liu,2013 ]中从两个主要性质方面检查了两种现有方法及其算法:(1)处理混杂因素的 虚假 效应的能力,以及(2) 一致性。整个分析是在因果充分性的强假设下完成的——即系统中任何两个观察变量的共同原因都没有被遗漏。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 2: A toy Granger graphical model, with delays τ. When X₄ is unobserved, a spurious edge X₁ ← X₃ is detected by some algorithms.

作者强调了 VAR 模型的两种主要方法的不足之处,即显著性检验拉索-格兰杰,并表明他们的方法在高维度上是一致的,并且可以捕捉数据中的非线性(对于简单的多项式情况)。提出的方法中的两个主要创新点是明确处理图中因果关系路径的延迟,用于防止识别虚假效应(见图 2),以及将观察值投影到 copula 空间,同时将非超常(非参数正态)分布合并到 DGP 中。

在[Furqan 等人,2016]中,以与弹性网推广 lasso 相同的方式,推广使用弹性网正则化方法,以克服 lasso 的自然限制:当用于高维数据时不稳定,当变量的数量大于观测点的数量时,在饱和之前变量选择有限。

向前向后拉索格兰杰(FBLG)

Lasso Granger 和 Copula-Granger 都是在[Cheng et al. 2014]中使用一种类似 bagging 的元算法(称为前向-后向)扩展的,该算法通过反转输入时间序列来丰富数据集。

选择使用哪种方法📖

一般来说,决定使用哪种方法来推断或检测数据中的因果关系,主要取决于数据本身及其特征,以及您对其有信心的假设和产生它的实际过程。

格兰杰因果关系与其他方法

格兰杰因果关系的关键要求是可分性,这意味着关于因果关系的信息不包含在因果关系的时间序列中,可以通过从模型中移除该变量来消除。

通常,可分性是纯随机和线性系统的特征,格兰杰因果关系可用于检测非线性系统中强耦合(同步)变量之间的相互作用。可分性反映了这样一种观点,即系统可以一次理解为一部分,而不是一个整体。[ 杉原等人,2012 年

因此,使用基于格兰杰因果关系的经典方法的第一个标准是将您的数据分成几个互斥(信息方面)的时间序列的能力,对于这种能力来说,确定几个特定的时间序列引起一些其他特定的时间序列是有价值的。

在无法满足这些条件的复杂动态系统中,旨在推断此类系统中因果关系的现代方法,如 CCMPCMCI 可能更合适。

参数与非参数方法

无论选择的系统模型是线性的还是非线性的,模型错误设定总是因果推理中的一个挑战。如果您认为没有可用的方法可以很好地模拟问题中的系统和其中的因果关系流——通常使用领域知识和直觉进行确定——那么非参数方法可能更合适,例如在处理动态系统理论和信息理论因果关系测量的章节中介绍的大多数方法。

一个值得注意的警告是,一些方法所做的要求或假设可能会使非参数方法在实践中成为参数方法,这一点乍一看并不明显。一个显著的例子是 PCMCI ,它假设输入时间序列是由平稳过程产生的。由于平稳性的非参数测试(不同于单位根)很少,更不用说没有任何方法或转换可以保证将非平稳数据转换为平稳数据,这种假设将迫使用户 PCMCI 使用参数方法来检测和转换输入数据中的非平稳性。由于缺乏公认的和定义良好的近平稳性概念(确实存在一些)以及量化它和确定它何时足以使推理方法正常工作的方法,这种情况变得更糟。

因果图提取

如果因果图的提取是一个目标,那么 PCMCICopula-Granger (及其扩展 FBCLG)在图形算法中脱颖而出。这两种方法都可以成功地处理混杂因素,PCMCI 还声称对数据中的高自相关具有弹性,并吹嘘有一个方便的 Python 实现

系统可观测性

系统的可观测性也是一个需要考虑的参数。如果不能满足因果充分性的强假设,那么许多以此为前提的方法——包括 PCMCI 和 Copula-Granger——都不能用于正确推断因果关系。在这种情况下,应考虑旨在处理系统中潜在变量的替代因果关系测量,如 PGCI

格兰杰因果关系的不同检验方法的选择

这里的要点很简单:除非你能证明外生变量和内生变量之间存在线性关系这一强有力的假设,否则非参数方法是合适的,因为它对你的随机系统和因果关系流做出了弱得多的假设。

在这种情况下,就检验的功效和规模 而言,迪克斯-潘琴科检验在格兰杰因果关系的非参数检验中脱颖而出。它还解决了格兰杰因果关系的定义与 Hiemstra-Jones 检验所检验的实际关系之间的差异,这一差异甚至没有被白等人的检验变体所解决。

如果系统的线性模型是足够的,那么Toda 和 Yamamoto 程序是用于线性格兰杰因果关系推断的最严格的方法,用于处理重要的现象,如整合或协整合的时间序列。

研究人员跟随📖

Cees Diks 教授不断发表关于非线性格兰杰因果关系和一般非线性动力学的论文。除其他主题外,这包括基于格兰杰因果关系建立金融网络、检验因果关系测试的不同 重采样方法的效果多变量分析的因果关系度量

Dimitris Kugiumtzis 教授在时间序列分析方面做了令人难以置信的工作,特别是在时间序列数据的因果关系推断方面,由信息论方法驱动,特别是 MIME 和 PMIME 方法。

George Sugihara 教授是一位理论生物学家,他在多个领域开展工作,引入归纳理论方法,从观测数据中理解自然界中复杂的动态系统。其中最主要的是经验动态建模,这是一种基于混沌理论的分析和预测复杂动态系统的非参数方法,在本文中以 CCM 方法为代表。他的工作涉及从观察数据中理解自然的归纳理论方法。

雅各布·龙格博士在时间序列数据的因果关系方面做了实质性的工作,主要是在气候研究的背景下;他也是 tigarmite 的创建者,这是一个 Python 库,使用 PCMCI 方法在时间序列数据中进行因果推断。

Youssef Hmamouche 是用于基于神经网络的时间序列预测和时间序列数据中的因果关系检测的 NlinTS R package 的作者和维护者之一,最近撰写了一篇关于用于多变量时间序列预测的基于因果关系的特征选择方法

其他著名文献📖

学习和因果推理

朱迪亚·珀尔(Judea Pearl)是该领域的杰出研究人员,他开发了因果推理的结构方法,最近写了一篇非常有趣的文章,关于因果推理工具和对机器学习的反思【珀尔,2018】。他还写了一篇关于因果推理主题的全面概述【珀尔,2009】。

戴维·洛佩斯-帕兹脸书人工智能研究所的研究科学家,领导了一项非常有趣的关于一般因果推理的研究,特别是在学习框架和深度学习的背景下。亮点包括将因果推理作为一个学习问题(特别是对概率分布进行分类)[因果生成神经网络](http://Causal Generative Neural Networks)、引入一个用于因果发现的对抗性框架以及[在图像中发现因果信号](http://Discovering Causal Signals in Images)。

Uri Shalit ,Technion 的助理教授,领导一个致力于医疗保健中的机器学习和因果推理的实验室,他的主要研究兴趣之一是机器学习和因果推理的交叉,重点是使用深度学习方法进行因果推理。

Krzysztof Chalupka 在深度学习和因果推理的交叉领域做了一些令人着迷的研究。亮点包括一个基于深度学习的条件独立性测试因果特征学习视觉因果特征学习因果正则化

最后,[Dong et al. 2012]使用多步格兰杰因果关系法(MSGCM)来识别神经网络中的反馈环,这是一种使用时间序列实验测量来识别生物网络中嵌入的反馈环的方法。

参考文献📖

学术文献:因果关系和因果推理

学术文献:时间序列数据中的因果关系推断

  • [Ancona et al. 2004] Ancona N,Marinazzo D,Stramaglia S .时间序列非线性格兰杰因果关系的径向基函数方法。2004 年物理修订版;70:056221.
  • [安科纳和斯特拉马利亚,2006 年]n .安科纳和 s .斯特拉马利亚(2006 年)。 核诱导假设空间中预测子的一个不变性神经计算,18 ,749–759。
  • [Arnold 等人,2007 年] A. Arnold、Y. Liu 和 N. Abe。基于图形格兰杰方法的时间因果建模。《第 13 届 ACM SIGKDD 知识发现和数据挖掘国际会议论文集》,第 66–75 页,美国,2007 年。纽约 ACM
  • [Bahadori 和刘,2012 年 a]m . t . Baha dori 和刘,2012 年 y . 不规则时间序列中的格兰杰因果分析 。暹罗数据挖掘国际会议(SDM,2012)。暹罗。[ PDF
  • 【Bahadori and Liu,2012 b】Baha dori,M.T. and Liu Y. 论时间序列 中的因果推理。发现信息学:人工智能研究在创新科学过程中的作用,2012 年 AAAI 秋季研讨会论文,2012 年。
  • [巴哈多里和刘,2013 年]检验格兰杰因果推断的实用性。2013 年在 SDM。[ PDF
  • [白等 2010]白,黄伟刚,张本忠。多元线性和非线性因果检验。模拟中的数学和计算机。2010;81: 5–17.doi:10.1016/j . matcom . 2010 . 06 . 008
  • [白等 2016]白,惠,吕,黄伟光,朱。hiem stra-Jones 测试再探 。2016;arXiv:1701.03992。
  • [白等 2018 年]白,周,惠,杨,姜,吕,黄,王,郑,s,2018。 多元非线性因果关系的新检验 。PloS one,13(1),第 e0185155 页
  • [贝克,1992 年]贝克,例如和布洛克,A.W. (1992 年)。 非线性格兰杰因果关系的一般检验:二元模型
  • [贝尔等人,1996 年]贝尔,d .凯,j .和马利,J. (1996 年)。非线性因果关系检验的非参数方法。经济学快报,51,7-18 页。
  • 【Bouezmarni 和 Taamouti,2010】Bouezmarni,t .和 Taamouti,A. 使用条件分布 对条件独立性进行非参数检验。《非参数统计学杂志》2014 年第 26 卷— 第 4 期
  • [陈等 2004]陈 Y,兰嘎然 G,冯 J,丁 m .物理列特 A 2004324:26–35.
  • [Cheng et al. 2014] Cheng D,Bahadori MT,Liu Y. FBLG:一种从时间序列数据中发现时间依赖性的简单有效方法。第 20 届 ACM SIGKDD 知识发现和数据挖掘国际会议录:美国纽约。2623709:ACM;2014.第 382-91 页。
  • [Diks 和 Panchenko,2005 年]关于格兰杰非因果关系的 Hiemstra-Jones 检验的注释。非线性动力学研究&计量经济学,第 9 卷,第 2 期。
  • [Diks 和 Panchenko,2006 年] 非参数格兰杰因果检验的新统计和实用指南。 《经济动力学与控制杂志》30(9–10):1647–1669。( PDF )
  • [迪克斯和沃尔斯基,2015 年]迪克斯,c .,&沃尔斯基,M. (2015 年)。 非线性格兰杰因果关系:多变量分析指南 。应用计量经济学杂志。( PDF
  • **【艾希勒,2011】艾希勒,M. 时间序列分析中的因果推断 第二十二章 因果关系:统计视角与应用 2011。 (PDF)
  • 【Eichler 和 Didelez,2007】Eichler,m .和 Didelez V. 图形时间序列模型中的因果推理 。第 23 届人工智能不确定性会议录。
  • [Embrechts 等人,2002 年];麦克尼尔公司;和斯特劳曼博士,2002 年。风险管理中的相关性和依赖性:特性和陷阱。在登普斯特,医学硕士,教育硕士。《风险管理:风险价值及其超越》。剑桥:剑桥大学出版社。
  • [弗洛伦斯和穆查特,1982 年]弗洛伦斯,J. P .和穆查特,M. (1982 年)。 关于非因果关系的一个注记 。计量经济学 50,583–591。
  • [弗洛伦斯和穆查特,1985 年]弗洛伦斯,J. P .和穆查特,M. (1985 年)。 非因果的线性理论 。计量经济学 53,157–175。很好,国际法院(1961 年)
  • [Furqan 等人 2016 年] Furqan MS,Siyal MY。用于生物网络推断的弹性网 copula granger 因果关系。公共科学图书馆一号。2016;11(10):e0165612。
  • 【Geweke,1984】gew eke j .时间序列间条件线性相关和反馈的度量。美国统计协会,1984 年;79:907–15.
  • 【Ghysels et al . 2016】Ghysels E,Hill JB 和 Motegi K. 用混合频率数据检验格兰杰因果关系 。计量经济学杂志。2016;192(1): 207–230.doi:10.1016/j . jeconom . 2015 . 07 . 007
  • 【格兰杰,1969】格兰杰,C. W. J. 用计量经济模型和互谱方法调查因果关系 。计量经济学 37,424–438。
  • 【格兰杰,1980】格兰杰, 因果关系检验,个人观点 。经济动态与控制杂志 2,329–352。
  • 格兰杰,1988 年。因果关系概念的一些新发展。计量经济学杂志 39,199-211。
  • [Greene,2002] Greene,W. (2002) 计量经济分析 ,第 5 版。普伦蒂斯霍尔,上马鞍河。
  • [郭等 2008]郭,s,Seth,A.K .,Kendrick,K.M .,周,c .,冯,j . 2008 .部分格兰杰因果关系——剔除外部输入和潜在变量。j .神经科学。冰毒。172 (1), 79–93
  • [哈夫纳和赫沃茨,2009 年]克里斯蒂安·哈夫纳和赫尔穆特·赫沃茨,2009 年。 多元广义自回归异方差下线性向量自回归动态的检验 。荷兰统计和运筹学学会,第 63 卷(3),第 294-323 页。
  • 【Hiemstra 和 Jones,1994】hiem stra,c .和 Jones,J. D. 检验股价与成交量关系 中的线性和非线性格兰杰因果关系。金融杂志。1994;49(5): 1639–1664.doi:10.2307/2329266[PDF
  • [赫拉瓦奇科夫-辛德勒等人,2007 年]赫拉瓦奇科夫-辛德勒,k .,帕卢斯,m .,Vejmelka,m .,和 Bhattacharya,J. (2007 年)。时间序列分析中基于信息论方法的因果关系检测。物理报告,441 ,1–46。
  • [h lava ková-Schindler 和 Pereverzyev,2015 年]" Lasso granger 因果模型:基因表达调控网络的一些策略及其效率决策:计算智能中的不确定性、不完美性、深思熟虑和可扩展性研究,T. Guy、M. Kárn 和 D. Wolpert 编辑(Cham: Springer),91–117。doi:10.1007/978–3–319–15144–1 _ 4
  • 霍索亚,1977 年。 上的格兰杰条件为 。计量经济学 45,1735-1736。
  • [Hurlin 和 Venet,2001 年]固定系数面板数据模型中的格兰杰因果检验。巴黎多菲纳大学。
  • 【吉兹巴等人 2012】吉兹巴,p;克莱纳特;Shefaat,M. Rényi 的金融时间序列之间的信息传递 。物理 A:统计。机甲战士。申请 2012391 ,2971–2989。
  • [Kugiumtzis,2012 年] Kugiumtzis,d .秩向量上的转移熵。非线性系统。应用程序 2012,3,73–81。
  • [Kugiumtzis,2013A] Kugiumtzis,d .秩向量上的部分转移熵。欧元。物理 j 规范。顶端。2013, 222, 401–420
  • 来自非均匀嵌入的直接耦合信息度量物理修订 E 201387 ,062918。
  • [Kugiumtzis 和 Kimiskidis,2015] Kugiumtzis D,Kimiskidis VK (2015)研究经颅磁刺激对局灶性癫痫样放电影响的直接因果网络。国际神经系统杂志 25(5):1550006
  • 刘等,2009;拉弗蒂,法学博士;2009 年洛杉矶乏色曼。高维无向图的半参数估计。JMLR
  • [Lütkepohl 和 Müller,1994 年] 检验时间序列中的多步因果关系
  • 【吕特克波尔,2007】吕特克波尔,H. 多重时间序列分析新入门 。2007.
  • 【marina zzo et al . 2006】marina zzo D,Pellicoro M,Stramaglia S (2006) 时间序列 格兰杰因果关系的非线性参数模型。物理学评论 E Stat 非线性软物质物理学 73: 066216。
  • [Palu 等人,2001 年] M. Palu,V. Komárek,z . hrnˇcˇr,k . tˇerbová,作为信息率调整的同步:双变量时间序列的检测,Phys. Rev. E 63 (2001) 046211。[ PDF
  • [Palu 和 Vejmelka,2007 年]palu M,Vejmelka M .双变量时间序列之间耦合的方向性:如何避免虚假因果关系和遗漏连接。物理修订版 E 200775:056211.
  • [Papana 等人,2013 年] Papana,a .,C. Kyrtsou,D. Kugiumtzis 和 C. Diks。2013. 多元时间序列中直接因果关系测度的模拟研究 。熵 15:2635–2661。
  • [Papana 等人,2017 年] Papana,a .,Kyrtsou,c .,Kugiumtzis,d .,& Diks,C. (2017 年)。 基于格兰杰因果关系的金融网络:案例分析 Physica A:统计力学及其应用, 482,65–73。doi:10.1016/j . physa . 2017 . 04 . 046
  • 【波佩斯库和居永,2009】波佩斯库,f .和居永,I. 时间序列中的因果关系 。机器学习的挑战,第 5 卷:基于 2009 年 NIPS时间序列因果关系的微小征兆。
  • [普莱斯,1979 年]迈克尔·普里斯,J. (1979 年)。 瞬时因果关系的表征 。计量经济学杂志,10(2),253–256。doi:10.1016/0304–4076(79)90009–5
  • 【龙格,2014】龙格,J. 从复杂系统的时间序列中检测并量化因果关系 。博士论文。( PDF 链接)
  • 【Runge et al,2017】Runge,J. Nowack,P. Kretschmer,M. Flaxman,s .和 Sejdinovic,D. 检测大型非线性时间序列数据集中的因果关联 。arXiv.org。
  • 【Runge,2018】Runge,J. 基于条件互信息最近邻估计量的条件独立性测试 。2018 年第 21 届人工智能与统计国际会议(AISTATS)论文集。PMLR:第 84 卷。
  • 【Samartsidis 等人,2018】Samartsidis,p .,Seaman,S. R .,Presanis,A. M .,希克曼,m .和德·安杰利斯,D. 从聚合时间序列观测数据评估二元干预因果效应的方法综述 。arXiv.org。
  • [Schreiber,2000] T. Schreiber,《测量信息传递》,列特物理评论。85 (2000) 461–464.
  • 【Siggiridou and Kugiumtzis,2016】Siggiridou,E. & Kugiumtzis,D. 利用时序约束向量自回归模型 研究多元时间序列中的格兰杰因果关系。IEEE 信号处理汇刊 64 ,1759–1773,doi:10.1109/tsp . 2015.2500893(2016)。
  • [西姆斯,1972]西姆斯,C. A. (1972)。 金钱、收入和因果关系 。美国经济评论 62,540–552。
  • [Spirtes 等人,2000 年] P. Spirtes、C. Glymour 和 R. Scheines。因果关系、预测和搜索。麻省理工学院出版社,剑桥,马萨诸塞州,伦敦,英国,2000 年。
  • [苏和怀特,2003]苏和怀特,H. (2003)。条件独立性的非参数海灵格度量检验。技术报告。加州大学圣地亚哥分校经济系。
  • [Sugihara 等人,2012 年] Sugihara,g .,May,r .,Ye,h .,Hsieh,C. -h .,Deyle,e .,Fogarty,m .,& Munch,S. (2012 年)。检测复杂生态系统中的因果关系。科学,338(6106),496–500。doi:10.1126/science . 1227079[PDF
  • [户田和山本,1995 年]户田,H. Y .,&山本,T. (1995 年)。 具有可能整合过程的向量自回归中的统计推断 。计量经济学杂志,66(1-2),225-250。doi:10.1016/0304–4076(94)01616–8
  • 【瓦科林等人,2009】瓦科林,V.A 克拉科夫斯卡岛;间接联系对因果关系估计的混淆效应。神经科学杂志。方法 2009184 ,152–160。
  • [贝尔德斯,2005] P.F .贝尔德斯,从多变量时间序列评估因果关系,物理评论 E 72 (2005) 026222。
  • [Vicente,2011] Vicente,R,Wibral,M,林德纳,M,Pipa,G 转移熵——神经科学有效连接的无模型测量…J Comput neuro sci。(2011).3045–67**
  • [Vlachos 和 Kugiumtzis,2010 年] Vlachos,I;非均匀状态空间重建和耦合检测。物理修订 E 201082 ,016207。
  • 【White,2006】White,H. 自然实验效果的时间序列估计 。计量经济学杂志,第 135 期,第 527-566 页。
  • 【White and Lu,2010】White,H. and Lu,X. 格兰杰因果关系与动态结构系统 。金融计量经济学杂志 8,193–243。

学术文献:其他

  • 【Baccalá和 Sameshima,2001】baccaláL,Sameshima K. 部分定向相干:神经结构确定中的新概念 。生物网络 84:463–474,2001 年。[ PDF ]
  • [Dong 等人,2012 年] Chao、Dongkwan Shin、Sunghoon Joo、Yoonkey Nam、Kwang-Hyun Cho。基于多步格兰杰因果关系的神经网络反馈回路识别。生物信息学。2012 年 8 月 15 日;28(16): 2146–2153.在线发布于 2012 年 6 月 23 日。doi:10.1093/生物信息学/bts354
  • [东格斯看着艾尔。Donges,J. F .,Y. Zou,N. Marwan 和 J. Kurths (2009 年)。 气候网络的骨干 。欧洲物理学通讯 87.4(引文。上第 12 页)(在 arXiv 版引文中)。第 2 页)。
  • [Keller 和 Sinn,2005] K. Keller 和 M. Sinn,《时间序列的有序分析》, Physica A 356(2005)114–120。
  • [Malik 等人,2012 年] Malik,n . b . book Hagen,N. Marwan 和 J. Kurths (2012 年)。 利用复杂网络 分析南亚上空的时空极端季风降水。气候动力学 39.3–4,第 971–987 页(前引。第 13 页)。
  • [Pikovsky 等人,2003 年] Pikovsky,a .,M. Rosenblum 和 J. Kurths (2003 年)。 同步:非线性科学中的一个普遍概念 。第 12 卷。剑桥:剑桥大学出版社。上第 12、18 页)。
  • [Radebach 等人,2013 年] Radebach,a .,R. V. Donner,J. Runge,J. F. Donges 和 J. Kurths (2013 年)。 通过演化气候网络分析理清不同类型的厄尔尼诺事件 。物理评论 E 88.5,第 052807 页(前引。第 13 页)。
  • [Saito 和 Harashima,1981] Saito Y,Harashima H (1981)多通道脑电图记录中的信息跟踪——脑电图中的因果分析。在:山口 N,藤泽 K,编辑。脑电图和肌电图数据处理的新进展。阿姆斯特丹:爱思唯尔。第 133-146 页。
  • [Tsonis 和 Roebber,2004 年] 气候网络的架构 。物理 A 卷 333,2004 年 2 月 15 日,497-504 页。
  • 维纳,1956 年维纳预测理论。在:贝肯巴赫 EF,编辑。工程师用现代数学。纽约:麦格劳-希尔;1956 年[第八章]。
  • [Yamasaki 等人,2008 年] Yamasaki,k .,A. Gozolchiani 和 S. Havlin (2008 年)。厄尔尼诺显著影响全球气候网络。物理评论快报 100.22,第 228501 页(前引。第 13 页)。

其他在线资源

脚注📖

  1. 有关 F 测试的简要概述,请参见此处的和此处的和。
  2. 关于卡方检验的概述,请参见维基百科关于主题的文章。
  3. lmtest 中, grangertest 方法调用 waldtest 方法,而没有为其 test 参数赋值(该参数决定应用 f 检验还是卡方检验),因此默认使用 f 检验。
  4. 格威克在艾尔。对推断时间序列数据因果关系的 8 种方法进行了比较[ Geweke 等人,1983 年 ],并发现归因于 Granger 的检验的 Wald 变量,以及该论文中介绍的 Sims 检验的滞后因变量版本,在所有相关方面都是等效的,并且优于所讨论的其他检验。
  5. 统计测试的大小是它产生一个I 型错误的概率;即错误地拒绝零假设。
  6. 如果一种方法的误差概率随着观察次数的增加而趋于零,那么这种方法就是一致的。
  7. 因果马尔可夫条件:图中的一个变量,以它的双亲为条件,在概率上独立于所有其他既不是它的双亲也不是它的后代的变量。
  8. *𝛹-causality*vs 𝛹-非因果关系 : 同一个因果关系的定义,有时可以用两个看似矛盾的名称指代;例如格兰杰因果关系和格兰杰非因果关系指的是同一种因果关系的定义。这是因为在许多情况下,定义是针对逆条件给出的,如果给定条件不成立,则称 X 为𝛹-causing Y 。为了保持一致,我只使用第一种形式。
  9. **关于符号的一个注意事项:**我试图让符号尽可能接近源材料,但是由于 Medium 不支持内联数学表达式,所以我尽可能使用 Unicode 字符。具体来说,方括号在本应使用下标但 Unicode 中没有下标的地方重复使用;例如,向量 v 的第 i 个元素将由 v ᵢ表示,但是第 t 个元素将由v【t】表示。

使用概率软逻辑推断新关系

原文:https://towardsdatascience.com/inferring-new-relationships-using-the-probabilistic-soft-logic-3df1a99e0af9?source=collection_archive---------16-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Discovering new relationships/links (Photo by Anastasia Dulgier on Unsplash)

数据的主要目的是传递有用的信息,可以操纵这些信息来做出重要的决策。在计算的早期,这种有用的信息可以从直接数据中查询,例如存储在数据库中的数据。如果查询的信息在这些数据存储中不可用,那么系统将无法响应用户的查询。因此,目前,如果我们考虑存在于 web 上的大量数据和呈指数增长的 web 用户数量,则很难准确预测和存储这些用户将查询什么。简而言之,我们不能手工硬编码用户对每个预期问题的回答。那么解决办法是什么呢?最佳答案是从数据中提取知识,提炼并重组为知识图,我们可以用它来回答查询。然而,知识提取已被证明是一个不平凡的问题。因此,我们使用统计关系学习方法,该方法考虑过去的经验并学习事实之间的新关系或相似性,以便提取这样的知识。概率软逻辑(PSL)就是这样一个用于构建知识图的统计关系学习框架。

理解知识图表

知识图是由实体和它们之间的联系组成的事实的巨大网络。知识图可以建立在一个特定的领域上,也可以跨越几个领域,相互参照。我们已经讨论了如何从我的博客中提取的事实构建知识图表。无论如何,让我们快速回顾一下知识图管道作为复习。

首先,我们通过自由文本和各种来源提取事实。这些事实将被存储在知识库中,并对其提取者充满信心。然而,知识库中充满了需要剔除的冗余信息。因此,我们采取措施来提炼和微调传递到知识图上的事实,以便创建更准确、更相关的知识图[5]。细化知识图的一个重要部分是链接预测,这是预测知识图中两个实体之间的链接的过程。然后,基于精炼的知识图,基于相邻关系、新发现的链接及其为真的概率,很容易获取用户查询的结果。

链接预测

如前所述,我们执行链接预测来细化知识图。为了进一步理解链路预测,让我们考虑下面的例子

例一

这个例子是由 Pujura 等人[1]提出的。在这里,系统试图在从各种来源提取信息时识别关于国家吉尔吉斯斯坦的事实。因此,该系统已经识别出关于吉尔吉斯斯坦的以下所有事实。

  1. 吉尔吉斯斯坦位于哈萨克斯坦
  2. 吉尔吉斯斯坦位于俄罗斯
  3. 吉尔吉斯斯坦位于前苏联
  4. 吉尔吉斯斯坦位于亚洲
  5. 吉尔吉斯斯坦位于美国

尽管这些事实中有些是真的,但不可能所有这些都是真的。因此,我们使用链接预测,通过考虑某些本体约束来预测最有可能的真实事实。例如,假设我们已经知道美国位于北美大陆,亚洲是另一个大陆。在这种情况下,很明显,一个地方不可能位于两个大陆上。因此,两个事实 4 或 5 中只有一个是真的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

以上是一个简单的逻辑推论,即如果一个地方 P 位于亚洲大陆,那么它不可能位于美国T3,反之亦然。因此,如果我们已经知道一个事实,即吉尔吉斯斯坦位于亚洲,另一个我们不确定的事实,即吉尔吉斯斯坦位于美国,可以被认为是错误的。

例二

考虑另一个领域,我们有一些人的社交网络信息。例如,假设我们想知道两个用户菲比和乔伊是否真的是朋友。这甚至可以被认为是脸书试图推荐朋友的简化场景。如果这两个用户在脸书上不是朋友,我们就没有直接的数据来推断这一点。然而,如果我们已经知道 Phoebe 是另一个叫 Rachel 的用户的朋友,而 Rachel 是同一个用户 Joey 的共同朋友,那么我们可以有把握地假设 Phoebe 和 Joey 也可能是朋友。现在,让我们尝试将这种间接关系映射为一个强制其约束的逻辑规则。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是坚持住…

在现实世界中,我们有多个用户。在这种情况下,如果我们试图发现所有这些用户之间的新关系,并将上述或类似的规则应用于所有这些关系,我们可能会以大量新推断的关系而告终。仅仅基于规则的逻辑含义,我们不能说我们发现的所有关系都一定是真的或假的。因此,我们需要一种方法,根据我们已经知道是真实的事实,从概率上推断出我们在多大程度上确信一个新推断的关系是真实的。这就是我们使用 PSL 的地方。

什么是概率软逻辑(PSL)

总的来说,PSL 是一个框架,它可以基于相关领域和观察到的证据来联合推理事实之间的相似性[1,2]。PSL 观察已知为真的事实,并计算新推断出的事实的概率。为了做到这一点,最初,用户定义了一组通用逻辑规则,这些规则暗示了新的关系,例如,PSL 程序中的本体约束、相似性或友谊。然后,PSL 程序从概率上推断出它有多大把握,确定的新关系将是真实的。为此,PSL 采用了一套由用户提供的已定义的一阶逻辑规则,并在这些规则的基础上推断现实世界实体的适用性。

PSL 规则将采用通用格式,由如下所示的变量组成。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

a、B 和 C 是变量,在我们的场景中,它们用于表示三个不同的脸书用户。通过将实际用户代入该规则,我们可以得到以前没有明确标识的新关系。因此,当我们将 Phoebe,Rachel 和 Joey 代入这个规则时,我们得到了下面的规则,正如前面所指出的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

PSL 不同于它的前辈,它试图根据我们已经从现有信息和链接中获得的知识,从概率上确定我们对新推断的关系的每一个实例有多确定。

但首先,让我们简要了解一下 PSL 的背景。

PSL 的大多数激励性概念都源于马尔可夫逻辑网络(MLN)[3]。除了单独查看事实,MLNs 还考虑了本体约束,如域或逆约束[4]。然而,mln 受限于它们只能为逻辑“关系”取布尔真值的能力,我们称之为“谓词”。这样做的缺点是,我们不能对新推断的事实给出置信度或概率。因此,PSL 选择了一个软真值,而不是确定的 1 或 0,并使用多个提取器来为新呈现的关系提供置信度。基于这些置信度(即概率),我们可以用现有的和高度可能的、新推断的事实构建一个知识图。由于知识图是一个巨大的信息网络,因此在响应用户查询时,检索相关或相邻数据的信息变得很容易,这些数据很可能是真实的。

在下一节中,我们将从高层次上概述如何推断新的或缺失的链接,以及我们对新事实成立的信心程度。

PSL 是如何工作的?

现在,让我们在 PSL 正式重申一个样本一阶逻辑规则(注意,我们需要指定这些规则作为输入,以及我们已经知道为真的事实/三元组,以便运行 PSL 程序)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在哪里,

  • ABC: 实体(变量)
  • *朋友:*谓词/关系
  • w: 规则的权重

这条规则是传递性的基本规则,它规定如果 AB 的朋友,并且 BC 的朋友,那么 AC 也很可能是朋友。上述规则是常量(真实世界的实体)通过一个称为 固定 的过程固定的模板。因此,如果我们取一组新的常数,它们是域内的真实世界的实体,如菲比、瑞秋和乔伊,那么我们将有作为朋友(菲比、瑞秋)、*朋友(瑞秋、乔伊)朋友(菲比、乔伊)*的基态原子。这将给我们以下基本规则:规则的单个实例,其权重为 w

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这些基础原子中的每一个都将具有在[0,1]范围内的软真值。因此,让我们假设这些基础原子中的每一个都具有以下软真值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后,我们需要验证上述接地是否满足规则。

验证接地是否满足规则

这通过计算每个基本规则的 满意距离 来完成。为了获得满意的距离, d ,我们使用 Lukasiewicz 范数和余范数,将基本规则视为规则中的基本原子上的公式。

Lukasiewicz t-范数和余范数

Lukasiewicz t-norms 提供了对规则中以下逻辑连接词的放松:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

逻辑连接词顶部的波浪号表示 Lukasiewicz 提供的放松。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

下一节阐述了我们如何转换基本规则,并应用 Lukasiewicz t-norms 来计算和验证接地是否满足规则。为了做到这一点,首先,

  • 通过检查头部对身体的软真值来检查接地是否满足规则。

如果不满足规则,那么我们,

  • 计算满意的距离。

1。规则满意度

为了验证一个根植是否满足基于头部和身体中原子的规则,我们需要看头部的整体软真值是否大于或等于身体的软真值,即

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然而,目前我们所拥有的只是头部和身体中每个原子的单个软真值。因此,我们简单地将 lukasiewicz 范数分别应用于身体和头部的原子,并得到 Iᵦₒ𝒹ᵧ和 Iₕₑₐ𝒹.的单个软真值因为我们只有一个基态原子作为头部,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

,也就是我们之前假设的 0.7,这样我们只需要把 Lukasiewicz 应用到物体的基态原子上。

由于物体中的原子是结合在一起的,我们应用:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

同样地,我们对物体的推断值为 0.1,如下面的计算所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在,由于我们对身体和头部的基本规则有以下推论,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

,很明显,这个接地满足头部的软真值大于身体的软真值的规则。在这种情况下,满意的距离将为 0。

当接地不满足该规则时,即当头部的推断值不大于或等于身体的推断值时,我们继续计算满足的距离,该距离将是大于 0 的值。

2。计算满意的距离

计算满意度距离的一个简单方法是使用下面的公式 d

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中 I 𝓰ᵣ是基本规则的总体软真值。首先,为了计算出规则的总体软真值,我们需要将基本规则转换成它的析取范式。

任何公式都被写成一个蕴涵式

(1)正文中的文字或文字的连词

(2)标题中的文字或文字的析取

可以写成析取子句,因此,我们可以把基本规则转换成析取子句。随着言外之意被析取,身体中的原子被否定。基于此,我们得到了基本规则的以下析取子句。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这种情况下,被否定的基态原子和我们的基态原子将获得如下所示的软真值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后,我们应用 lukasiewicz 范数的析取范数来计算 I 𝓰ᵣ.因此,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这使我们的满意距离为 0,这意味着接地满足规则,与我们检查头部对身体的软真值的评估相一致。因此,让我们尝试使用一个不同的场景,对原子使用不同的软真值。

让我们假设基态原子的新的软真值。

  • 朋友(菲比、瑞秋)= 0.7
  • 朋友(瑞秋,乔伊)= 0.8
  • 朋友(瑞秋,乔伊)= 0.4

这将给我们一组被否定的基态原子,

  • !朋友(菲比、瑞秋)= 0.3
  • !朋友(瑞秋,乔伊)= 0.2

考虑到这些值, I 𝓰ᵣ = min{1,0.3+0.2+0.4} = 0.9

这样,满足的距离将是 0.1,表明接地不完全满足该规则。

递归地,我们可以使用头原子和体原子来验证规则的满足,如步骤(1)中所执行的,其中我们使用接地原子的新值来检查接地是否满足规则。这将使Iᵦₒ𝒹ᵧ*成为 *max{0,0.7+0.8–1 },也就是 0.5。对照软真值为 0.4 的ₕₑₐ𝒹,我们发现这个规则没有得到满足。因此,我们可以使用任何一种方法来检查接地是否满足规则。

现在让我们试着勾勒出上述计算的全貌。

假设我们有一个 PSL 程序, P,,它包含 n 个定义的规则,其中 I 是这些规则的解释(解释是软真值的赋值)。如果 R如我们之前所讨论的,我们然后计算每个地面实例的满意度距离,并且作为结果,将具有所有地面实例的满意度距离的向量,即 V ᵏ.这个满意度距离的向量只代表了 PSL 项目的一个规则。因此,我们采用加权规则,并为 PSL 计划中的其他规则堆叠满意度距离*的所有向量。这给我们留下了另一个矢量 v(I)=[w₁v₁(i)…wₙvₙ(i)]ᵀ]。知道这个 *V(I),如果泽塔是一个任意的距离度量,我们将在我们的推理阶段使用,那么,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这里,如果我们解析到一个L1-范数距离,我们可以得到一个对数线性表示,这是我们在统计关系学习模型中经常遇到的。这将具有如下所示的形式。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

另一方面,我们也可以求解平方的L2-范数距离,通过使其成为满足距离的快速增长函数来补偿不满足的规则,如下所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

接下来,我们继续推断具有未知真值的三元组的软真值,即新推断的信息或缺失的链接。

基于先前可用的证据推断新数据的软真值

给定观察到的三元组集合,推断三元组的最可能值是基于 MPE(最可能解释)推断,该推断遵循 MAP(最大后验概率)推断。这个推论被用来计算出先前未被观察到的基态原子最有可能的软真值。如前所述,我们有一组已知的三元组,用作我们的观察值,并以 PSL 的规则为基础。因此,让我们将这组具有观察到的软真值的三元组命名为 x ,将这组具有未知软真值的三元组命名为 y 。这给我们带来了我们的预期任务,即给定观察值, I ₓ,为 I ₘₐₚ (y) 找到最可能的软真值赋值,这可以通过下面等式中所示的推理来执行。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

该映射推断导致基于作为观察到的三元组, x 给出的证据,推断未知三元组, *y,*的最可能软真值分配。最终,我们以软真理的形式获得了新推断的事实或信息的概率,我们发现这些概率为 I ₘₐₚ (y)。有了这些概率,我们就可以决定这些事实在多大程度上是真实的。这就是自动完成搜索结果、youtube 播放列表和脸书好友建议使用概率显示相关结果的方式。

结论

本文主要对概率软逻辑(PSL)这一联合概率推理框架进行详细阐述。PSL 的总体意图是有一种方法来评估一个推断出的、以前看不见的事实在给定的领域中有多真实。因此,一般假设是推断的软真值越高,事实为真的可能性就越高。推断的软真值越低,就越不可能成立,这意味着没有足够的证据或相关事实来支持新推断的事实。这些概率有助于支持决策过程,以根据已知事实识别新信息(事实)。

然而,由于这种推断和假设不包括人类决策的应用或考虑,很难仅仅基于新推断的软真值来决定性地说一个事实是精确准确的还是不准确的。我目前从事这方面的工作,我们研究如何将软真值和人类评估的数据关联起来,以便清楚地将事实标记为真或假,并使我们的决策与实际的人类评估更加一致。我会在接下来的文章中公布更多细节。

参考文献

[1]m .布罗谢勒、l .米哈尔科娃和格图尔(2012 年)。概率相似逻辑。arXiv 预印本 arXiv:1203.3469。

[2]金米格,a .,巴赫,S. H .,布罗意切勒,m .,黄,b .,&格图尔,L. (2012 年 2 月)。概率软逻辑简介。NIPS 概率规划研讨会:基础与应用(第 1 卷,第 3 页)。

[3]m .理查森和多明戈斯,P. (2006 年)。马尔可夫逻辑网络。机器学习,62(1–2),107–136。

[4]巴赫,S. H .,布罗意切勒,m .,黄,b .,&格图尔,L. (2015)。铰链损失马尔可夫随机场和概率软逻辑。arXiv 预印本 arXiv:1505.04406。

[5]保罗海姆,H. (2017)。知识图精化:方法和评估方法综述。语义网,8(3),489–508。

使用网络抓取的影响者营销

原文:https://towardsdatascience.com/influencer-marketing-using-web-scraping-568ef4c072c3?source=collection_archive---------18-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Kaleidico on Unsplash

影响者营销对我们来说不再是一个陌生的概念。在美国零售业中,只有 33%的零售商没有使用或不打算使用任何形式的影响者营销。然而,通过口碑广告来提升你的品牌知名度是一个很好的方法。棘手的部分是如何找到合适的人和/或渠道来推广你的品牌。

如果你在社交媒体上搜索最有影响力的人,你会碰壁。相反,你应该从你的观众群开始,然后扩展人脉。例如,获取你的评论者的信息并就新闻与他们联系是找到你的影响者的好方法。获得这些候选人的最佳方式是通过在你的观众中进行网络搜集。许多企业没有预算购买昂贵的工具,如数据集成。然而,有很多便宜的替代品供你收集有价值的信息,其中之一就是网络抓取软件。

什么是网络抓取

Web 抓取是一种自动化数据提取过程的技术。它涉及到解析一个网站的过程,并收集你需要的数据片段。我将向你展示如何使用网络抓取工具,并使这些数据可用于数字营销。进行 web 抓取不需要编程技能。我使用的工具是 Octoparse ,我将解释为什么它能为营销专业人士带来难以置信的价值。

找到你的“传道者”。

根据 Joshua 的说法,评论是我们可以用来扩展营销策略的地方。我不是说我们留下评论并为你的评论者鼓掌。当评论者的用户名是可点击的时,可以通过提取个人资料信息与他们联系。每当我们有了新的内容,我们就会联系这些人。这样我们就把评论者变成了传道者。除此之外,你可以通过滚雪球的方法来更有创造性的发展,创建你的福音传播者池来推进你的营销过程。

Twitter 福音传播者:

盲目发消息求推文是行不通的。一个很好的开始是利用你的观众群。这个想法是:

  1. 使用 IFTTT.com 将你的 Twitter 提及和新关注者提取到电子表格中
  2. 收集关注者的数量、联系方式和对这些人的描述。
  3. 向人们伸出援手。(确保你给每个人都准备了一封写得很好的推介信)

首先,你需要将两个 IFTTT 食谱与你的 Twitter 和 Google drive 连接起来。打开这些食谱: 在电子表格中跟踪新的关注者将你的 Twitter 用户名的提及存档到你 IFTTT 账户中的电子表格

这些食谱顾名思义。他们收集用户 ID 以及提到或关注你的人的链接,并将数据发送到你的电子表格中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们需要找到能给你的网站带来流量的有影响力的人。要做到这一点,我们需要刮他们:

  • 关注者数量
  • Bios
  • 网站
  • Twitter Id

您可以使用 Octoparse 软件完成所有这些工作:

**首先,**通过导入收集的 URL 建立一个新任务。

其次,一旦你导入了 URL 列表,Octoparse 会生成一个 URL 的循环列表。通过在内置浏览器中单击元素来选择所需的元素。在这种情况下,点按“关注者”并选取“从操作提示中提取所选元素的文本”您将看到提取的数据出现在数据字段中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

**第三,**重复上述步骤,获取他们的个人资料、网站和 Twitter ID。

最后一个,运行任务。

你应该能得到这样的床单。您将看到每个提及您的关注者/人及其信息。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后,将数据导出到电子表格中。你根据关注者数量和背景过滤掉不合格的人。

**注:**如果你滥用这种方法就错了。请记住不要发送垃圾邮件或不相关的信息。他们的存在是对你伟大工作的一种认可。你对他们的尊重是尊重你内容的另一种方式!

YouTube 影响者:

Youtube 影响者营销是新的黑色。通过口碑策略提高品牌知名度和转化率是一个很好的方法。因此,有影响力的人越来越多。找到合适的影响者是成功营销活动的关键。

61%的营销人员同意为一项活动寻找最佳影响者具有挑战性,这表明这个问题远未解决。”

以下是您需要注意的指标:

  1. 内容的质量:他们为他们的观众提供了价值吗?他们有什么想法吗?
  2. 观众是谁?他们与你的目标一致吗?
  3. 什么是参与度:点赞数,关注数,评论数。

例如,推广一个新的汽车品牌 XYZ。最好的方法是通过汽车评论频道。这个想法是:

  1. 使用 Octoparse 抓取模板抓取信息,包括视频标题,视频网址,频道网址,观看次数,出版日期,描述。
  2. 使用通道 URL 创建一个抓取任务,以获取订阅者的数量。
  3. 导出数据,并根据我们提到的指标过滤掉不合格的候选人。
  4. 发送请求信并协商您的预算。

Octoparse 抓取模板是一个预先格式化的模块。它允许您在没有任何配置的情况下提取数据。你所要做的就是输入关键词/目标网站。

**首先,**打开 Octoparse,选择“任务模板”

**然后,**在分类栏上选择“社交媒体”。你会发现“YouTube”图标。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

**第三,**点击 YouTube 图标。您将看到这个模板可以完成什么样的数据,您还可以看到一个示例输出。如果您对此感兴趣,您需要在参数处键入关键字。在这种情况下,“汽车评论。”

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

**第四,**点击“使用模板”并选择您希望运行任务的方式(通过内部部署、云或设定计划)

你应该可以得到这样一个表格:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然而,我们仍然需要知道每个频道的用户数量。为此,请复制 Youtube 频道的 URL 列表。创建新的刮擦任务,并将列表粘贴到参数框中:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 首先,打开 Octoparse,在高级模式下输入 URL 列表,设置一个任务。这会将您带到配置窗口,您可以在其中解析网页并选择元素。
  • 其次,选择元素。在这种情况下,请选择 YouTube 频道名称。并按照指南提示选择“提取所选元素的文本”
  • 第三,重复上述步骤提取用户号码
  • 最后,运行任务。不到一分钟就能得到结果。以您选择的格式导出数据:Excel、CSV、txt。在这种情况下,我将其导出到 Excel。

你应该能够得到每个 Youtube 频道的订户号码列表,将列表复制到我们刚刚创建的 excel 中。这是一个收集数据的例子:汽车评论 youtube 视频电子表格。然后你就可以过滤掉那些不符合条件的,把数据降序排列,根据你的标准重新组织名单,联系你名单上出现的名字。

这只是网络抓取对营销有所帮助的一小部分。有了它,你可以变得更有创造力。例如,你可以提取 Youtube 视频的评论、Twitter 帖子、产品评论、竞争对手的博客评论,甚至脸书公共社区的帖子和评论。这里的想法是用自动化的数据提取代替单调的手工复制和粘贴工作。使用 Octoparse 的一个好处是它有各种各样的网络抓取模板。这会让你节省很多时间。

最后一点,我们都知道内容营销对于数字营销有多重要。然而,问题是我们以自我为中心,容易相信我们创造的东西。当我们写作时,我们用我们的直觉来期望引起读者的兴趣。相反,这方面的一个很好的技巧是追求流行的内容,写更好的内容来超越它们。你可以抓取博客标题/排名/喜欢/评论等,然后把这些金块组合成小火花。

网页抓取超级强大。然而,当你不明智地使用它时,法律的反弹又会回来。我认为提高技能的最好方法是练习。我鼓励您复制这些技巧,并习惯于自动化数据提取,以获得池塘中的大鱼。

来源:

https://www . octo parse . com/blog/a-revolutionary-web-scraping-software-to-boost-your-business

[## 影响者营销调查结果:2019 年行业基准

我们的年度影响者营销调查揭示了今年一些令人兴奋的发现,其中大多数表明 2019 年将…

mediakix.com](https://mediakix.com/influencer-marketing-resources/influencer-marketing-industry-statistics-survey-benchmarks/)

https://www . emarketer . com/content/what-retailers-need-to-know-on-influencer-marketing

【https://ahrefs.com/blog/web-scraping-for-marketers/

社交网络中有影响力的社区:简化版

原文:https://towardsdatascience.com/influential-communities-in-social-network-simplified-fe5050dbe5a4?source=collection_archive---------24-----------------------

在大规模网络中发现有影响力的团体

为什么要研究社交网络中的社区?

社交网络是大规模现实世界网络的主要例子。它们表现出不同的行为,从密集的网络部分到稀疏连接的个体,从刚性连接到高度动态的图形部分。这使得它们成为数据科学家分析的一个有趣问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

社区或模块结构被认为是大规模真实世界图的一个重要属性。系统通常以图形表示的学科,如社会学、生物学和计算机科学,也包含这种大规模网络和社区结构的例子,其应用可以极大地激励该领域的研究。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你如何正式定义有影响力的社区?

一个人的影响力是由这个人有多少联系来定义的。很明显,直觉告诉我们,有些人与很有影响力的人有联系,但他们自己却没有太多的联系。这些人也应该算是有影响力的。

虽然在处理这种情况时有各种各样的影响力定义,但最流行和被接受的影响力定义仍然是个人拥有的联系数量,我们现在将继续研究这个问题。

一个社区的强大取决于它最薄弱的环节。在定义一个社区的影响力时,人们提出了许多不同的方法,比如取社区中所有人的平均值或者简单地求和。但是被广泛认同和普遍使用的定义是使用社区中最没有影响力的个人的影响力作为社区的影响力。

什么是 k-core?

图的 k-core 是通过移除图中连接数或小于‘k’的所有节点来计算的。注意,在从图中移除所有这样的节点之后,如果新的图现在包含度小于“k”的节点(由于移除了那些先前的节点),则它们也被移除,并且重复该过程,直到图中的所有节点的度至少为“k”。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

k-影响力社区被定义为影响力至少为“k”的社区(连通子图)。通俗地说,一个图的 k-核中存在的每一个连通分支都是一个 k-影响力社区。许多算法都利用了这一点,允许它们找到 k 核,并将它们与社区相关联。

内存问题

从术语“大规模”图可以明显看出,这些算法面临的最大问题之一是,由于内存限制,无法同时处理完整的数据。这些限制迫使研究人员发挥创造力,引入本地和在线搜索。这些方法基于试探法,可能不会返回全局最佳结果,但非常接近于此,并且可以处理非常大的图。

下一步是什么?

有影响力的社区搜索是一个相对年轻的领域,甚至像社区的定义,其影响力等基本定义。正如在上面的讨论中所指出的,仍在辩论中。因此,未来工作的一个可能方向是探索更多的凝聚力定义,以获得紧密团结的社区。

博客中介绍的细节很少。请参考我们的论文 这里 进行更详细的调查。

这个博客是努力创建机器学习领域简化介绍的一部分。点击此处的完整系列

[## 机器学习:简化

在你一头扎进去之前就知道了

towardsdatascience.com](/machine-learning-simplified-1fe22fec0fac)

或者只是阅读系列的下一篇博客

[## 深度学习—模型优化和压缩:简化

看看最先进的机器学习模型的压缩、修剪和量化领域

towardsdatascience.com](/machine-learning-models-compression-and-quantization-simplified-a302ddf326f2)

参考

[1]加内什、普拉哈尔、萨凯特丁利瓦尔、拉胡尔阿加瓦尔。"在大规模网络中发现有影响力社区的文献综述."arXiv 预印本 arXiv:1902.01629 (2019)。
[2],,,,余,。大型网络中有影响力的社区搜索。继续。VLDB 捐赠。,8(5):509–520,2015 年 1 月
【3】李建新、王新觉、、杨晓春、蒂莫斯·塞利斯和杰弗里·于。大型社交网络上最有影响力的社区搜索。第 871–882 页,2017 年 4 月。
[4]、、于、。在庞大的网络中寻找有影响力的社区。《VLDB 日报》,26(6):751–776,2017 年 12 月
【5】张力军,林,。一种在线搜索 top-k 影响力社区的优化和渐进方法。继续。VLDB 捐赠。,11(9):1056–1068,2018 年 5 月

InfluxDB 数据保留

原文:https://towardsdatascience.com/influxdb-data-retention-f026496d708f?source=collection_archive---------7-----------------------

运营团队经常使用时间序列数据来调查性能问题。因为我们无法提前预测性能问题的来源,所以我们经常犯谨慎的错误,尽可能频繁地收集尽可能多的数据。这使得获取环境中最近一小时、一天或一周内发生的事情的详细信息变得非常容易。但是,随着主机数量和数据量的增加,保留超过一两周的数据会变得很困难。

有许多原因可以解释为什么有必要将数据保留更长的时间。在下列情况下,参考几周、几个月甚至几年前的数据通常很有用:

  • 容量规划—通过查看过去 12 至 24 个月的资源利用率,您可以预测未来的使用情况,以便预测下一财年的预算需求。
  • 性能下降—用户经常报告说,应用程序性能“似乎比几周或几个月前慢了”。手边有历史数据,就有可能量化任务需要多长时间,或者负载增加和性能降低之间是否存在关联。

在处理时间序列数据时,不可避免地会遇到无法无限期完整保留所有数据的情况。必须在数据保留时间、数据保留量和数据粒度之间进行权衡。本文介绍了如何在 InfluxDB 中实现数据保留策略,以确保您可以对数据进行降采样,将其保留一段指定的时间,并执行定期备份以避免数据丢失。

出于本例的目的,我们将关注运行在 3 台主机上的 收集的 系统守护进程收集的 CPU 利用率指标。在这个场景中, collectd 以 10 秒的间隔从每个被监控的主机提交 CPU 数据(“load_shortterm”)。使用 collectd 守护程序将数据直接发送到 InfluxDB,并存储在“指标”数据库中,该数据库使用 7 天保留策略进行定义。目标是将这些数据保留在“长期”数据库中,保留策略为 3 年。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

InfluxDB 配置

默认情况下,InfluxDB 不监听 collectd 输入。为了允许由 collectd 代理提交数据,必须将 InfluxDB 服务器配置为侦听 collectd 连接。本节介绍如何在 RHEL/CentOS 系统上配置 collectd

第一步是在 InfluxDB 服务器上创建一个数据库,将传入的 collectd 数据存储 7 天。为此,在 InfluxDB 服务器上打开一个终端窗口,并使用influx命令连接到服务器。运行以下命令创建新数据库:

CREATE DATABASE metrics WITH DURATION 7d

下一步是在 InfluxDB 服务器上安装 collectd ,以便 InfluxDB 可以使用 types.db 规范文件:

# Install the collectd RPM (available from the EPEL repo)
yum install collectd# Locate the types.db file installed by the RPM
rpm -ql collectd | grep types.db

更新 InfluxDB 配置文件(/etc/influxdb/influxdb.conf)监听收集的数据,然后重新启动 influxd 服务:

[[collectd]]
  enabled = true
  bind-address = ":8096"
  database = "metrics"
  typesdb = "/usr/share/collectd/types.db"

一旦 InfluxDB 正在监听 collectd 输入,您将需要在 3 台主机上安装 collectd 代理,并将其配置为向您的 InfluxDB 服务器发送数据。

数据识别

如果您不熟悉 InfluxDB 数据模型,弄清楚如何定位数据可能是第一个挑战。被收集的每种类型的数据被称为“测量”,并且每个测量可以具有任意数量的与之相关联的“标签”。对于由 collectd 代理报告的数据,您配置代理报告的每种数据类型都有一个度量。

可在influx命令窗口中执行以下命令,以查询数据库并识别将在后续步骤中用于定义连续查询的测量值。

# Switch to the InfluxDB database containing the CollectD data
USE metrics# Display a list of metrics in the database
SHOW MEASUREMENTS# Display the tags (keys) used to uniquely identify CPU load
SHOW SERIES FROM load_shortterm

SHOW SERIES命令应该产生类似如下的输出:

load_shortterm,host=host1,type=load
load_shortterm,host=host2,type=load
load_shortterm,host=host3,type=load

数据保留政策

在 InfluxDB 中,有许多选项可用于定义长期保留策略。一种选择是在现有的metrics数据库中创建新的保留策略,并将长期数据与短期数据一起存储:

CREATE RETENTION POLICY longterm_policy ON metrics DURATION 156w REPLICATION 1

但是,我会避免在单个数据库中创建多个保留策略,除非您有特别的理由这样做。如果单个数据库中有多个保留策略,那么在对数据进行操作时,您的查询将需要显式引用保留策略(database.policy.measurement)。由于明确引用了保留策略,这将使您的查询更加脆弱。

此外,metrics数据库中的输入数据是大量的瞬时数据。备份整个数据库的成本非常高,丢失一周的非常精细的数据所带来的影响也不值得。

更好的方法是专门为您希望保留的任何长期数据定义一个单独的数据库。这样做将便于以后更改保留策略或备份整个数据库,而不会影响任何外部报告或查询。以下示例显示了如何创建保留策略为 3 年(156 周)的数据库:

CREATE DATABASE longterm WITH DURATION 156w

数据聚合

创建一个连续查询,将数据从 10 秒的间隔向下采样到 15 分钟的间隔:

CREATE CONTINUOUS QUERY aggregate_load ON longterm
BEGIN
  SELECT max(value) AS value 
  INTO longterm.autogen.load_shortterm 
  FROM metrics.autogen.load_shortterm 
  GROUP BY time(15m),* 
END

重要提示:

  • 您选择的聚合函数将取决于您的用例。在这种情况下使用了max函数,因为我们通常关心一个时间间隔内的平均峰值负载。使用平均值计算会稀释这些尖峰信号,并使识别活动中的短尖峰信号变得更加困难。
  • INTOFROM子句要求完全合格的度量(数据库.策略.度量)。如果您将默认保留策略定义为数据库创建的一部分,如以上示例所示,则默认情况下,保留策略将被称为“自动生成”。
  • GROUP BY子句包含一个*通配符,意思是“所有标签”这确保了仅在所有标签都相同的数据点上执行聚合。如果没有这个通配符(或一个显式的标记列表),将会对所有主机的所有数据执行聚合,从而导致一个无意义的聚合。在大多数情况下,应该在GROUP BY中使用通配符,以确保在相同的唯一项目上执行聚合。
  • 上面显示的多行格式是为了可读性。当在influx命令中执行该命令时,您需要在一行中构建该命令。

一旦您成功地创建了一个连续查询,您应该会看到在第一个时间间隔结束时出现测量值。这可以通过列出测量值来验证,方法与您之前发现它们的方法相同:

USE longterm
SHOW MEASUREMENTS
SHOW SERIES FROM load_shortterm

下面的 Grafana 图表显示了原始数据(10 秒间隔)和聚合数据(15 分钟间隔)之间的差异。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Grafana chart of metrics.load_shortterm

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Grafana chart of longterm.load_shortterm

数据备份

InfluxDB 附带了一个用于执行数据库备份的命令行实用程序。执行相当简单:

influxd backup -portable -database longterm /backup/longterm

可以指定附加参数,以通过特定的保留策略、碎片或日期范围来限制导出。

调试提示

默认情况下,InfluxDB 服务将其日志输出写入/var/log/messages。每次连续查询运行时都会生成几行输出。以下命令可用于查找连续查询执行消息:

tail -f /var/log/messages | grep "Finished continuous"

匹配线看起来会像这样:

Jan  7 15:00:00 influxdbhost01 influxd: 
   ts=2019-01-07T20:00:00.127002Z 
   lvl=info 
   msg="Finished continuous query" 
   log_id=0BoYFF20000 
   service=continuous_querier 
   trace_id=0CrUFfTl000 
   op_name=continuous_querier_execute 
   name=aggregate_load 
   db_instance=longterm 
   written=129 
   start=2019-01-07T19:59:00.000000Z 
   end=2019-01-07T20:00:00.000000Z 
   duration=7ms

日志输出包含几条重要信息:

  • 名称 —连续查询的名称
  • 已写入 —已写入的测量记录的数量
  • 持续时间 —查询执行的时间

显然,定义一个连续的查询,并安排其运行频率高于完成查询所需的时间,这不是一个好主意。

总结

连续查询是一种有选择地对数据进行降采样并将其保留更长时间的便捷方式。通过创建周密的保留策略和备份程序,可以将历史时间序列数据保留数月甚至数年。让这些历史数据在与实时指标相同的可视化界面中易于访问,将使应用程序所有者和运营人员能够基于历史背景和趋势做出明智的决策,而不是依赖“直觉”方法进行预算、容量规划或问题调查。

信息架构与商业本能

原文:https://towardsdatascience.com/information-architecture-vs-business-instinct-1188fbfb95a1?source=collection_archive---------17-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Saad Salim on Unsplash

为钢铁金属甲板经纪公司设计定制 CRM

安东内尔金属甲板公司是一家经纪公司,为东海岸的各种建筑项目提供金属地板和屋顶产品。作为利基但高利润业务的一部分,**钢铁经纪公司围绕其产品波动的市场价格赢得和失去机会。**因此,向客户提供准确、快速的报价是一个细致入微、竞争激烈的过程。

目前,安东内尔正在实施一个多年项目,通过集成技术解决方案来实现公司的现代化,这将使他们成为市场上速度最快、价格最优的钢铁经纪公司,并且他们已经开始获得指数增长。但是随着安东内尔期望增加收入,他们处理越来越多工作的能力已经成为一个问题。

该公司的总裁 Matt Weiss 具有产品管理背景,一直在为他的团队构建定制的 CRM 解决方案,以便他们可以更好地组织和简化他们的客户和项目管理记录。他的第一个 CRM 版本解决了许多关于联系人和公司信息组织的问题,但 Matt 在组织工作和报价记录时遇到了问题。

如何设计 CRM 中的记录,使其具有根本的灵活性、无定形性,并能对市场波动和独特的客户需求做出响应?

为了解决这个问题,我和另外两位 UX 设计师 Ben ThromMelissa Glasser 加入了安东内尔 CRM 项目,进行为期两周的设计冲刺。我们开始寻找构建 CRM 信息架构的最佳方式,并设计记录和仪表板来跟踪安东内尔以项目为中心的业务。我们都以 UX 设计师的身份分享和合作,并在需要时将我们不同的背景带到桌面上来指导团队。我在这个项目中的背景是一年半的管理、定制和自动化初创环境中的 CRM 业务流程的经验,以及在公司收购后领导 CRM 迁移项目的经验。

研究

我们首先制定了一个时间表,先进行一周的研究,然后进行一周的设计。执行的研究方法有:

  • **利益相关者访谈:**对安东内尔金属甲板的所有销售和生产员工进行了 30 分钟的访谈(3)
  • **背景调查:**观察并记录员工的现场活动,以了解用户的日常体验,并记录常见的用户流程、业务流程以及在此过程中遇到的困难
  • **竞争分析:**记录了客户熟悉的领先 CRM 和系统的通用设计模式和信息架构,包括 SalesforceSugarCRMPipedriveAirtable ,以了解哪些可能解决安东内尔的问题,哪些可能解决不了
  • **二次采访:**采访了安东内尔以外的其他受访者(3 名),他们在太阳能安装、建筑和造船等相邻行业具有直接的项目管理经验,以获得关于用户可能的体验和痛点的更多见解
  • **卡片分类:**与安东内尔员工(2)一起进行,以发现和分析心智模型的差异和相似性,从而帮助确定信息架构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OMD Employees complete an Open Card Sort

综合

在第一周收集了尽可能多的数据后,我们在周末综合了我们的发现,为下一周的设计做准备。根据利益相关者和二次访谈,我们创建了一个亲和力图,并确定了关键挑战、目标和见解,以及常见的数据分类、行业工具和流程。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Affinity Map to Synthesis Stakeholder and Secondary Interviews

我们从最初的客户简报中得知,安东内尔处理三大类工作,我们从利益相关者访谈中更详细地了解了这些工作类型。这三种类型是:

  • **货场订单:**客户从安东内尔的现有库存中订购材料,并提取或交付
  • **特殊订单:**客户有独特或意想不到的需求,除了典型的堆场订单之外,还需要额外的流程
  • **合同订单:**客户是一个承包商,他需要根据项目特定的建筑图纸进行报价,并在整个生产过程中得到安东内尔项目经理的支持

为了设计这些工作的 CRM 记录,我们需要了解处理每种类型工作的所有移动部分,包括安东内尔员工与客户直接互动之外的方面。这些方面主要与安排和跟踪供应商和运输合作伙伴关系有关。我们首先勾勒出每种工作类型的业务流程,以记录安东内尔与其供应商、运输伙伴和各种客户的关系是如何交织在一起的。然后,我们勾画了一个安东内尔员工创建和更新每种工作记录的典型路径的用户流。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Sketching Business Processes and User Flows

接下来,我们通过在白板上绘制两种心理模型并比较他们的思维方式,综合了卡片分类的结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Sketching Business Processes and User Flows

参与者的心理模型之间有一些相似之处,例如将熟悉的名字归入“供应商”和“公司”等类别一些卡片也能被两个参与者立即识别出属于预先定义的类别,如“状态/销售阶段”

综合卡片分类也显示了两个雇员在如何分类与其工作相关的信息方面的一些差异。第一个参与者将卡片分为两级,15 个分类标题,第二个参与者将卡片分为三级。第二个参与者也以一种关联的方式安排分组,其中分组根据它们如何相互关联而彼此相邻,讲述了更多关于他在工作中遵循的过程的故事。这些差异的一个可能原因是,第一个参与者主要参与客户报价和处理售前互动,而第二个参与者是一名项目经理,负责生产流程中最复杂的工作。

总的来说,卡片分类对于确定 CRM 的信息架构来说,并不像我们希望的那样有价值,这有两个主要原因。首先,我们只有两个参与者,就像我们的利益相关者访谈一样,这一小群人无法得到帮助。其次,要分类的卡片数量(约 50 张)以及我们从哪里获得这些字段名(各种 OMD 内部工具)使得参与者很难分组并理解如此多的重叠信息。将来更好的方法是,只从一个引用(如团队的 Airtable 电子表格)为层次结构中最深层的字段制作卡片。

设计和测试

在综合我们的研究之后,我们使用我们的用户流、业务流程图和安东内尔提供的低保真度线框作为参考来构建作业记录的纸质原型。我们在现场测试了纸质原型,然后在白板上一屏一屏地讨论了我们收到的反馈。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Paper Prototype: Testing and Planned Changes based on Feedback

反馈也收集在一个电子表格中,我们在其中定义了需要进行的更改。然后,我们将这些变化整合到 Balsamiq 中构建的低保真度线框原型中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Low Fidelity Wireframe Prototype

接下来,我们回到网站,与安东内尔的员工一起进行可用性测试。这些测试更深入地了解了什么样的页面布局对团队来说是最直观的。从这些测试中,我们决定摆脱标签结构,我们实现这种结构是为了将工作的不同阶段分开,支持用户可以滚动页面以找到他们在工作流程中任何给定时刻需要的位置。虽然这可以防止字段被隐藏起来,很难找到,但在较长的滚动页面上,字段应该如何精确布局还存在不确定性。哪些字段是最重要的,作为一种设计技术,接近度应该如何应用,从而以对用户有意义的方式对字段进行分组?

为了回答这些问题,我们回到我们的研究,并努力完成信息架构。我们的队友 Ben 拥有信息技术和数据库架构的背景,他介入并绘制了一个实体关系图来定义 CRM 中不同实体之间的关系,并显示每个实体中的字段。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Entity Relationship Diagram

接下来,我们作为一个小组进行了头脑风暴,并用白板演示了职务记录中的字段如何相互关联和/或归属于一起的概念图,以确定职务记录的页面层次结构。最后,我们就 CRM 的导航层次达成了共识,并绘制了一张地图,作为在 Axure 中构建最终原型的参考。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Hierarchy for Navigation, Filtering, and Fields on the Job Record Page

有了这些指导方针和我们的低保真度可用性测试的反馈,我们开始构建一个中等保真度的交互式原型,它将允许用户在列表视图中过滤作业,创建新的作业记录,并向作业记录添加输入。这很有挑战性,因为我们必须为用户创建自定义作业记录所需的大量相关选项构建逻辑。

最后,作为最终外观的参考,我创建了一个高保真的工作记录页面模型:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

High Fidelity Mockup of the Job Record Page

要点和后续步骤

我的团队向 Matt 提供了一个产品路线图,以集中精力继续开发安东内尔 CRM,建议将特定角色的仪表板作为下一个高影响力/低工作量目标,以便用户可以立即获得他们工作的鸟瞰图。接下来,我们建议解决将报价评估工具直接集成到 CRM 中的高影响/高工作量目标。最后,应跟踪客户跟进和机会损失原因,然后开发 CRM 中的报告功能。

在向客户展示了我们的研究、原型和未来产品愿景后,我们都被要求继续合同项目。当我们开始安东内尔 CRM 项目的下两周冲刺时,我们将为销售代表和项目经理的角色设计定制仪表板,并继续测试和改进工作记录页面。对于这个 sprint,我和我的队友们正在分工,我的重点是为安东内尔项目经理设计一个定制的仪表板。

从这个项目的第一次冲刺中,最大的收获是,当数字化一个已经在纸面记录、内部化的机构知识以及关于谈判和市场价格的良好直觉上运行了几十年的业务时,设计师面临着巨大的挑战。设计中经常有一种倾向,认为一致性、简单性和自动化总是能提供最好的体验。但作为一名设计师,这是一种不稳定的心态,因为某些业务的某些方面永远是不可预测的、被动的、抗拒秩序和分类的。把所有东西都整齐地收好并不总是最好的。

随着我作为一名设计师的成长,我希望构建支持和增强人类互动的工具,以推动业务关系,而不是通过试图在一个整洁的盒子中放置太多东西来阻碍它们。让一些事物保持有机和可变是可以的。有时候,那种机会感和兴奋感是用户首先做他们正在做的事情的动机。

信息民主,通过协调愿景建立对数据的信任

原文:https://towardsdatascience.com/information-democracy-build-trust-in-data-by-aligning-the-vision-9e311c6dfc10?source=collection_archive---------31-----------------------

如何构建能够促进组织发展的最佳一致且可扩展的信息产品

为组织提供数据,使其成为数据驱动型组织,这听起来是显而易见的。但是当涉及到将业务目标与数据结合起来时,事情就变得有点复杂了。正是在这个时候,大数据、数据湖和非结构化数据等术语开始出现,只是作为一种表达组织无力应对不断流动的数据的方式。

许多组织都坐在一堆数据上。没有正确的语义,这些数据是没有价值的。分析这些数据可能需要一些数据科学家来清理和标记数据,以努力找到一些重要的见解。一些组织甚至会为业务用户提供自助式 BI 工具,直接插入数据堆。新的特别发现见解现在可以“生产化”,例如,可以在机器学习算法中实施,以分析大量数据,并处理所有新生成的实时流数据。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是,我们如何确保这些见解与组织的战略目标相一致呢?数据科学家应该在会议室中详细阐述机器学习模型,还是应该简单地通过 KPI 仪表板中的性能指标来监控算法?这两个选项都不能确保我们总是谈论完全相同的度量,但是我们是如何得到那个度量的呢?我们真的只是碰巧发现了我们业务的一些东西吗?

通用业务逻辑是分析的重要起点。构成洞察的预定义且记录完善的业务指标。当您拥有一个包含业务逻辑的语义层时,您将能够将度量标准与战略目标保持一致。这将有助于初步处理数据,从长远来看,有助于理解如何处理各种各样的数据。

以下步骤提供了实现这种对齐的一些粗略指南:

  1. 写下愿景—使用业务目标制定清晰的数据战略(愿景)来支持业务。从那里,您可以选择与愿景一致的技术。
  2. 集中所有数据—将所有数据集中存储在您的逻辑数据仓库中。这将为您提供所有可用数据源的良好概览。
  3. 定义业务逻辑—讨论如何使用可用数据,以及在理想情况下如何使用这些数据。考虑如何通过连接多个数据集来丰富数据。
  4. 根据愿景对数据建模—构建支持业务目标的模型。定义从业务角度来看有意义的指标和 KPI。确保派生的指标总是可以追溯到基线指标。

通过遵循这些指导方针,你将开始建立一个新的单一来源的真相。所有数据现在都将被转换成可靠的指标,因为在整个业务中只有一个一致的定义。在构建这些指标时,承认业务视角有助于验证这一点,从指标中获得的洞察力正是我们现在正在谈论的。我们对数据有了基本的理解。

在整个业务中保持一致的单一定义。

当用户访问这些指标时,他们会立即感到熟悉。他们最终可以依靠数据来推动决策。但是最好的部分是,从这个逻辑业务模型层,您还可以向更广泛的受众提供您的指标。它使组织能够共享他们对数据的看法。

有了这个单一来源的可信事实,您就可以开始在您的组织中促进信息民主了。在一个经过治理和良好设计的环境中为用户提供自助式 BI 将会建立他们的信任。从业务角度了解您的数据,您就可以尽可能构建最好的信息产品。随着数据仓库现在完全支持您的组织的战略目标,您现在可以真正成为数据驱动的。

金融机器学习的信息驱动棒线:不平衡棒线

原文:https://towardsdatascience.com/information-driven-bars-for-financial-machine-learning-imbalance-bars-dda9233058f0?source=collection_archive---------1-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Javier Allegue, at Unsplash

在之前的文章中,我们谈到了分笔成交点成交量棒线美元棒线,它们是替代类型的棒线,允许根据分笔成交点的数量、成交量或交易的美元价值进行市场活动相关的采样。此外,我们还看到了与传统的基于时间的条形图相比,这些条形图如何显示更好的统计属性,例如更低的序列相关性。在本文中,我们将讨论信息驱动棒线,特别是不平衡棒线。这些棒线旨在提取编码在观察到的交易序列中的信息,并通知我们交易不平衡的变化。不平衡变化的早期检测将允许我们在达到新的平衡之前预测趋势的潜在变化。

不平衡棒背后的概念

Lopez de Prado 在他的书金融机器学习的进步 (2018)中首次在文献中描述了不平衡棒。用他自己的话说:

信息驱动棒线的目的是当新信息到达市场时更频繁地取样。[……]通过使取样与消息灵通的交易者的到来同步,我们也许能够在价格达到新的均衡水平之前作出决定。

不平衡棒线可以应用于分笔成交点、成交量或美元数据,分别生成分笔成交点(TIB)、成交量(VIB)和美元(DIB)不平衡棒线。成交量和美元棒线只是分笔成交点棒线的扩展,因此在本文中,我们将主要关注分笔成交点不平衡棒线,然后我们将简要讨论如何扩展它们来处理成交量或美元信息。

不平衡棒线背后的主要思想是,基于交易序列的不平衡,我们产生一些预期或阈值,每当不平衡超过阈值/预期时,我们就对棒线取样。但是我们如何计算不平衡呢?我们如何定义门槛?让我们试着回答这些问题。

什么是蜱不平衡?

给定一个交易序列,我们应用所谓的分笔成交点规则来生成一个签名分笔成交点列表(bt)。你可以在公式 1 中看到刻度规则。基本上,对于每笔交易:

  1. 如果价格高于上一笔交易,我们将签字分笔成交点设为 1;
  2. 如果价格比前一次交易低,我们将签字分笔成交点设为-1;
  3. 如果价格与上一笔交易相同,我们将签字分笔成交点设置为与上一笔签字分笔成交点相同。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Formula 1. Tick rule to define signed ticks [1,-1]. pt is the price of trade t and delta-pt is the increment in price respect p(t-1). b(t-1) is the signed tick at t-1.

通过应用分笔成交点规则,我们将所有交易转换为有符号分笔成交点(1 或-1)。这个 1 和-1 的序列可以相加(累计和)来计算市场在任何时间 t 的不平衡程度(公式 2)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Formula 2. Cumulative sum of signed ticks up to time T.

带符号的分笔成交点不平衡背后的直觉是,我们想要创建一个指标来查看有多少交易是朝着“高价”方向(+1)或“低价”方向(-1)完成的。在分笔成交点不平衡的定义中,我们假设,一般来说,如果有更多的消息灵通的交易者相信某个特定的方向,就会有更多的分笔成交点朝向某个特定的上涨/下跌方向。最后,我们假设有更多的消息灵通的交易者朝着某个特定的方向出现,这与信息的到来(如有利的技术指标或新闻发布)相关联,这些信息可以引导市场达到新的平衡。不平衡棒的目标是尽早发现这些信息的流入,这样我们就能及时得到潜在交易机会的通知。

我们如何设定门槛?

在每个不平衡棒线的开始,我们查看旧的有符号分笔成交点序列,并通过计算指数加权移动平均(EWMA)来计算有符号分笔成交点序列向 1 或-1 的不平衡程度。最后,我们将 EWMA 值(预期的不平衡)乘以预期的棒线长度(分笔成交点的数量),结果是我们的带符号分笔成交点的累积和必须超过的阈值或预期(绝对值),以触发新蜡烛线的采样。

我们如何定义分笔成交点不平衡棒线?

在数学术语中,我们将分笔成交点不平衡棒线(TIB)定义为满足以下条件的连续分笔成交点子集:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Formula 3. Tick imbalance bar definition.

直观的例子

让我们看一个直观的例子:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 1. Example of tick imbalance bars for the BTC-USD pair.

在图 1.1 中,您可以看到大约。从 2017 年 1 月 31 日开始,在 Bitfinex 交易所对 BTC-美元进行 5000 笔交易(来源: CryptoDatum.io )。

在图 1.2 中,你可以看到我们是如何应用分笔成交点规则并转换 1.1 中的所有交易的。转换成带符号的刻度(1 或-1)。请注意,有超过 5000 个带符号的分笔成交点,并且大多数时候它们是相互重叠的。

在图 1.3 中,我们将指数加权移动平均(EWMA)应用于整个有符号分笔成交点序列。我们可以观察到产生的 EWMA 是一个介于-1 和 1 之间的随机振荡波,它表示正负符号分笔成交点的总体趋势/频率。

如图 1.4 所示。我们用红色显示在公式 3 的最后一项中计算的阈值或期望值。该阈值在每个条形的开始处计算。请注意,在图中,我们显示了正阈值和负阈值,但实际上,由于我们使用绝对值(公式 3),所以我们只关心正阈值。蓝色表示每个特定时间点的有符号分笔成交点的累计总和。请注意,累积和会振荡,直到达到阈值下限或上限,在该点对新蜡烛线进行采样,累积和被重置为 0,并且基于该特定点的 EWMA 失衡计算新阈值(期望值)。

最后,在图 1.5 中,我们表示生成的分笔成交点不平衡棒线。

实施和意见

如果您遵循了上面的解释,您可能会想知道:

  1. TIB 的具体实现。
  2. 如何计算「预期蜡烛尺寸」?

要回答问题 1,请参考这个 Github 问题,以及父库。它们为理解和实现 Python 中的分笔成交点不平衡条提供了很好的入门内容,但是要小心错误和对 TiB 的不同解释。

在同一期 Github 中,对问题 2 进行了彻底的讨论。Lopez de Prado 的官方定义指出,预期蜡烛线大小,很像时间 t=1 时的“预期不平衡”,应该作为先前棒线的 T 值的 EWMA 来计算。然而,根据我的经验,就像线程中的其他人一样,在几次迭代之后,条形的大小最终会爆炸式增长(非常大,有数千个刻度)。原因很简单:随着阈值的增长,需要越来越多的有符号分笔成交点来达到阈值,这反过来又使“预期蜡烛线大小”在正反馈循环中增长,不断增加蜡烛线大小,直到无穷大。我尝试了不同的解决方案来解决这个问题:(1)限制最大值。蜡烛尺寸和(2)固定蜡烛尺寸。事实证明限制最大值。例如,将蜡烛大小设置为 200 会使所有预期的蜡烛大小在几次迭代后都变为 200。因此,这两种解决方案的效果都不明显,遵循奥卡姆剃刀原理,我选择了最简单的一种(解决方案 2)。由于现在蜡烛线的大小变成了一个需要考虑的变量,在 CryptoDatum.io 中,我们决定为三种不同的蜡烛线大小提供分笔成交点不平衡棒线:100、200 和 400。

我解释阈值和蜡烛线大小的方式是一种“挑战”。每当你在一根棒线的开始设定一个新的期望/阈值,我们都在挑战时间序列,以超越我们的期望。在这些“挑战”中,蜡烛大小成为又一个参数,允许我们指定我们希望这个挑战“有多大”。如果我们选择一个更大的蜡烛尺寸,我们实质上是增加了“挑战”的难度,结果,我们将得到更少的棒线样本,尽管原则上,有更高的意义。

成交量和美元不平衡棒线

到目前为止,我们只讨论了分笔成交点不平衡棒线。事实证明,生成成交量和美元棒线是微不足道的,它只涉及在公式 2 中添加最后一个乘法项:要么是成交量(在成交量不平衡棒线的情况下——VIB),要么是美元/法定价值(在美元不平衡棒线的情况下——DIB)。

统计特性

正如我们对分笔成交点成交量美元棒线所做的那样,我们将研究两个统计特性:(1)序列相关性和(2)回报的正态性。我们将通过运行移位序列(shift=1)的皮尔逊相关检验来分析第一个,并通过运行正态性的 Jarque-bera 检验来分析后者。

让我们来看看皮尔逊相关检验:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 2. Pearson correlation of the shifted series of returns (shift=1)

与其他替代棒线(分笔成交点和成交量棒线)类似,不平衡棒线的总体自相关性低于传统的基于时间的蜡烛图。正如我们在原始文章中解释的,这是一个很好的特性,因为这意味着数据点更加相互独立。

现在让我们来看看 Jarque-Bera 正态性检验:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3. Jarque-Bera normality test

我们拒绝不平衡棒线和时间棒线的正态性的零假设。不管是好是坏,这并不令人惊讶,因为结果与我们在以前的文章中看到的一致。

我们学到了什么?

  • 不平衡棒线是通过观察资产价格的不平衡产生的。
  • 不平衡由带符号刻度的累积和的大小来衡量。
  • 通过应用记号规则计算有符号记号。
  • 每次不平衡超过我们的预期(在每个条形开始时计算)时,对条形进行采样。
  • 不平衡棒的目的是在达到新的平衡之前,尽早发现市场方向的变化。
  • 与传统的基于时间的蜡烛图和结果的非正态性相比,不平衡条显示出更低的自相关性。

这个项目是我们在cryptodatum . io研究的一部分,这是一个加密货币数据 API,旨在提供即插即用的数据集来训练机器学习算法。如果您喜欢我们在本文中展示的数据,您可以在https://cryptodatum . io获得免费的 API 密钥并亲自使用它

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

信息熵

原文:https://towardsdatascience.com/information-entropy-c037a90de58f?source=collection_archive---------7-----------------------

信息论的外行介绍

如果你看我过马路,或者看我玩俄罗斯轮盘赌,哪一个会更刺激?可能性是一样的——我活着或者死去,但是我们都同意过马路有点无聊,俄罗斯轮盘赌……也许太刺激了。这部分是因为我们非常清楚当我过马路时会发生什么,但是我们不知道在俄罗斯轮盘赌中会发生什么。

从另一个角度来看,我们观察过街的结果比从俄罗斯轮盘赌中获得的信息要少。一种正式的说法是,俄罗斯轮盘赌游戏比过马路有更多的“熵”。熵被定义为“缺乏秩序和可预测性”,这似乎是对这两种情况之间差异的恰当描述。

信息什么时候有用?

信息只有在可以存储和/或交流时才是有用的。当我们忘记保存正在处理的文档时,我们都有过惨痛的教训。在数字形式中,信息存储在“位”中,或者是一系列可以是 0 或 1 的数字。键盘上的字母存储在一个 8 位的“字节”中,这允许 2⁸ =256 种组合。重要的是要知道,信息存储和通信几乎是一回事,因为你可以认为存储是与硬盘的通信。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Examples of symbols and their 8 digit codes

信息存储

数学家克劳德·香农洞察到,一些信息越可预测,存储它们所需的空间就越少。过马路比俄罗斯轮盘赌更容易预测,因此您需要存储更多关于俄罗斯轮盘赌游戏的信息。香农有一个概率分布“熵”的数学公式,它输出平均存储其结果所需的最少比特数。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Formula from entropy from Wikipedia

以上是计算概率分布熵的公式。对于分布中所有可能的结果,它涉及以 2 为基数对 P*log§求和。Python 中有一个函数可以做到这一点:

import numpy as np
def entropy(dist):
    su=0
    for p in dist:
        r= p/sum(dist)
        if r==0:
            su+=0
        else:
            su+= -r*(np.log(r))
    return su/np.log(2)

例如:俄罗斯轮盘赌

如果我们将过马路的例子量化为十亿分之一的死亡几率,将俄罗斯轮盘赌量化为二分之一,我们将分别得到熵([1,999_999_999]) ≈ 3.1*10^-8 比特和熵([50,50])=1 比特。这意味着,如果我们将这两个实验重复一万亿次,那么至少需要 31000 位来存储过马路的结果,需要 1 万亿位来存储俄罗斯轮盘赌的结果,这符合我们早先的直觉。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Some distributions and their entropies

例如:英语

英语有 26 个字母,如果你假设每个字母有 1/26 的概率是下一个,那么英语的熵是 4.7 比特。然而,一些字母比其他字母更常见,一些字母经常一起出现,所以通过巧妙的“猜测”(即不分配 1/26 的概率),我们可以更有效率。

随机猜测平均花费我们 13.5 次猜测来得到正确的字母。假设我们得到了这个句子中每个单词的第一个字母:

h _ _/A _ _/Y _ _/D _ _/M _/F _ _?

如果我们花了 13.5*16=216 次猜测来填充 16 个空格,那就非常糟糕了。我们很可能会用平均不到两次的时间就猜出这个句子是“你好吗,我的朋友?”。因此,即使我们详尽地猜测第一个字母,花了我们 13.5 次猜测,也要花我们大约 5.1 次猜测/字母来填补所有的空白,这是对随机猜测的巨大改进。

香农的实验表明,英语的熵在 0.6 到 1.3 比特之间。从这个角度来看,3 面骰子的熵为 1.58 位,平均需要 2 次猜测来预测。另外,请注意,键盘上的编码系统使用每个字母 8 位。因此,从理论上讲,它可以使所有只有英语语言的文件缩小至少 6 倍!

应用程序

香农的工作在数据存储、宇宙飞船通信、甚至互联网通信中得到了应用。。即使我们不在这些领域中的任何一个领域工作,“KL divergence”也是从 Shannon 的工作中衍生出来的一个想法,它经常被用于数据科学中。它通过比较熵来告诉你一个分布在估计另一个分布时有多好。

信息的交流和存储让人类变得伟大,香农的工作彻底改变了我们在数字时代的交流和存储方式。

分析 Twitter(自我)社区内的信息流

原文:https://towardsdatascience.com/information-flow-within-twitter-community-def9e939bb99?source=collection_archive---------15-----------------------

主题建模以理解 Twitter 社区中的信息主题和用户角色

**重要提示:**请下载此笔记本文件并在浏览器中打开

这将有助于你理解,因为很多图表都是交互式的。(也就是说,你可以随意使用它们,放大、缩小、保存、更清晰地查看标签等。)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 0.0: Twitter Community Detection

在这个项目的第一阶段,我从更好地理解用户的 twitter 世界的动机开始。处理社交网络的复杂性,最初阶段需要我们在分析信息流的基础上,将用户的影响——Twitter 的“朋友”——捆绑到社区中。我们试图将信息“持续存在”的用户群聚集在一起,这表明想法、思想等的循环。围绕着自我使用者(在这种情况下就是我自己)曾经“追随”过的某个焦点。这种方法强调社交媒体的信息共享属性,将每个用户视为一个“节点”,向其他节点传送和生成信息。在练习结束时,我们已经完成了一个相对的空间映射,这有助于我们将潜在 Twitter 世界中的信息网络可视化【图 0.0】。也就是说,我们已经追踪到了“哪里”——实现了我们所关注的用户在众目睽睽之下举行的秘密会议(隐藏在巨大的流量中)。这样一个情报网络的发现不可避免地引发了下一个好奇:流动的到底是什么?换句话说,在这些社区中有哪些信息在流动和持续?

信息系统和数据科学经常在社交媒体分析领域携手合作。允许它们结合的是自然语言处理(NLP) 领域,处理语言通常需要某种形式的量化,因此我们可以在用数学折磨信息之前对其建模。对于这个项目,我将研究一些标准的 NLP 方法来量化和“观察”文本信息(tweets)。接下来是对各种关系的一些分析和绘图,我们可以用它们来对社区概况进行一些描述性的推断。

这个职位有两个更高的目标:

  1. 向所有人(技术人员和非技术人员)介绍将社交媒体文本信息作为数据处理的一些基本知识——可能有助于他们了解他们的数据如何被分类使用。甚至可能引入一些隐私问题……
  2. 为了探索我们可以从自然语言处理中获得的结果的质量,特别是在基于 Twitter 信息的社区环境中
  3. 为了获得以数据为中心的视图,了解这个社区作为一个整体以及单个用户向根用户(在本例中是我)提供了什么

我们将讨论什么

1.量化信息(术语频率和命名实体)

2.发现推文中的话题

3.建立用户档案(基于他们的 tweet 内容和在公共信息流中的角色)

范围和数据

我将在这篇文章中分析社区内的属性,而不深入社区间分析所获得的见解。这意味着,我们一次只关注一个社区。为了展示整个流程,我将使用第一阶段中我的社区#6,一个由来自不同领域和兴趣的年轻穆斯林组成的社区[图 1.0] 。回想一下,这是一个**“主观”分析**——组成这个社区的用户群只是我从更广泛的社区中关注的用户的子集。从这个意义上说,这个社区是一个更大的社区的样本——这意味着洞察力可以很好地转化,但不一定完全准确。

**Side Note:** I have actually begun to follow more people that I would say are from the 'Muslim Community' since I collected this data... but they will (unfortunately ?) not be included in this analysis as this is building off my algorithmically-found ego-community.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 1.0: Community #6 — The Infamous Muslim Community (Blue)

此外,由于我们再次关注信息的“流动”,我们将只查看在社区中“流动”的推文——我将其近似为在社区中被转发不止一次的推文。这些推文分为两类:

社区内流 —由社区内的某个人生成(最初发布)的推文,然后由社区内的某个人传播(转发)。

社区外流量 —由不在社区内的用户生成,然后由社区内的某个人传播的推文。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 1.1: Information Flow Ratio

图 1.1 显示了流量比率的周分布,表明每周,**在社区内传播的推文由社区外产生的推文组成,比社区内产生的推文多 10-25 倍。**这可以看作是社区的社会属性。

Flow Ratio: #ofRTsGeneratedOutside/#ofRTsGeneratedWithin

下图 1.2 显示了该分析将关注的几周信息流。请注意,对于任何给定的用户,可以从 twitter 获取的最大 tweets 数量是大约 3200 条。因此,如果一个用户在一年中发了超过 3200 条推文(包括引用和转发),我们不会拥有他们 2018 年的所有推文,所以分布有点偏斜,但外部和内部流之间的差异是显而易见的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 1.2: Tweet Data Timeline

流的这种分类导致对用户的进一步分类,以服务于社区内的 3 种角色的混合:

生成者——作为在社区内发布信息的人。(创建信息)

内部 传播者 —将社区成员生成的信息传播(转发/引用)给社区内其他用户的人。(在社区内传播信息)

外部 传播者 —将非社区成员生成的信息传播给社区内用户的人。(将外部信息带入社区)

当然,一个用户可以担任不同数量的多个角色,我们稍后将对此进行分析。

最后,推文也被分类,但以一种更复杂的方式。每条推文都经过预处理,以清除用户提及、标签、网址、媒体等。直到我们有了他们的原始文本,我们可以使用突出的文本处理库(在这个例子中是 spacy )来标记和标注推文。图 1.3 是我们以这种方式从预处理文本中获得的数据样本。

Tweet = "Happiness is a category of slaves"

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 1.3 Sample Tweet Processing

信息提取

单词不仅仅是单词,而是数字

词语从来都不是“唯一的词语”,它们很重要,因为它们定义了我们能做什么的轮廓。—斯拉沃热·齐泽克

为了开始我们的研究,重要的是回到基础,回到携带信息的单位:单词。说到提到的齐泽克的话,发现“词”就是定义“轮廓”:约束社区的形状的表面边界(我承认我完全盗用了他的说法来为自己谋利,我只能相信他会为此感到自豪)。这在一个领域似乎非常明显(文字携带信息……咄),但在信息系统领域变得更有意义,因为它有助于回答一个关键问题:我们如何量化“信息”?答案近乎稚气:靠‘数’字。

****重要提示:请记住,我们所有的分析和见解都是与时间相关的,它们仅表明社区在我们拥有其推文历史的时间范围内的行为(粗略地说,是 2018 年)。

让我们看看这些频率,并画出一些更重要的术语【图 2.1】。让我们也具体看看“命名实体”(NE) 【图 2.2】。如何看待这些图表:

  • ****中红色的“内部流程”中的术语频率
  • ****中蓝色中“外流”一词的出现频率
  • x 轴是频率(即 0.1 = 10%)
  • ****编号标签是术语在相应流中的排名(即 1 =特定流中出现次数最多的术语)
  • 图表按“等级差异”排序,暗示:
  1. 靠近顶部的词是在外流中出现最显著的词,在内流中出现不那么显著
  2. 中间的单词在两个流中同样重要
  3. 靠近底部的词是在内流中出现频率较高的词,在外流中出现频率较低

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 2.1: Comparing Terms across Flows (Blue=OutsideFlow, Red=WithinFlow)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 2.2: Comparing Named Entities across Flows (Blue=OutsideFlow, Red=WithinFlow)

数字背后的含义

我们如何从上述数字中提取洞察力?我会指出一些,剩下的让你记下来。

样本读数:

  • 【穆斯林,伊斯兰,穆斯林,伊斯兰】 是两个流中出现频率较高的新词,也是总体上出现频率最高的一些词——可能指向该社区的主要讨论点或身份。
  • **【自由主义、意识形态、女权主义、资本主义、自然……】是一些可以在图 2.1 底部附近找到的主要术语——它们在内向流动中比外向流动中更重要,这意味着社区倾向于围绕这些术语在自身内部生成信息,而不是从外部输入信息。
  • **【Trump、学生、学校、攻击……】是在图 2.1 和 2.2 顶部附近找到的一些术语——该社区围绕这些术语传播的信息更多地是从社区外部生成的(很可能与分享新闻有关)
  • **【伊斯兰教法、十一辩经、古兰经、陀思妥耶夫斯基……】是在图 2.2 底部附近发现的一些术语——围绕这些实体的重要信息在社区内产生并传播。有趣的是,陀思妥耶夫斯基可能看起来是这个列表中的一个奇怪的人,但追踪它会突出社区内部某篇文章的产生和传播:
"On the heels of the horrific Pittsburgh synagogue massacre guest contributor examines Dostoevsky's predictions about ideological radicalization and asks what shapes the psychology of the modern terrorist" - @TraversingTrad
[https://traversingtradition.com/2018/10/29/dostoevskys-strange-ideas-and-the-modern-terrorist/](https://traversingtradition.com/2018/10/29/dostoevskys-strange-ideas-and-the-modern-terrorist/)

查看该数据的另一种方式(如果点不多且标记清晰)是在散点图中,其中轴是来自不同流量的相对频率(对数标度)【图 2.3】。下面的图是针对命名实体的,描述了我们上面所做的一些分析(例如请注意图表右上角的[ 穆斯林、穆斯林、伊斯兰教、伊斯兰教] 等术语,表示外流和内流的重要性)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 2.3: Named Entity Scatter Plot

本着与上述观点相同的精神,我们可以继续提取更多有助于定义社区的比较属性。然而,尽管这项工作可能证明是有价值的,但当我们意识到这项任务的乏味时,我们的精神最终会衰退。我们也将开始认识到一些不准确之处,并开始问一些问题,比如‘等等,这个术语真的很重要吗,或者它只是因为与另一个术语相关而出现,而另一个术语才是真正重要的术语?’?".这让我们更深入——我们不只是想要一堆单词,我们想要真正了解所有这些单词代表什么的关键。如果单词定义了这个社区的轮廓,我们现在想得到轮廓的“潜在来源”——是什么“导致”这些术语出现?这就是主题建模的 NLP 技术背后的动机。****

主题建模和分析

主题术语简介

简而言之,主题建模采用由各种“术语”(推文中的单词)组成的“文档”(在我们的例子中是推文)集合,并找到 N(主题的数量)个唯一的加权策略来应用于术语,使得每个“文档”被分类到 N 个主题的混合中。有许多关于这方面的教程和细节你可以搜索,所以我就不赘述了。具体来说,我使用 TF-IDF 对推文进行了矢量化(基本上是量化),然后使用 LDA 来找到“主题”。图 3.1 描绘了我们在 WithinFlow 中的最终主题。这种方法不能让我们很好地了解社区围绕主题的“观点”,而只能了解主题是什么——我们知道他们在谈论什么,但不一定知道他们对此的看法。(尽管更复杂的分析当然也可以评估意见——我们稍后在讨论极性和主观性时会看到一个小例子。)

*There are many other terms that have a weight associated to them from one or more of the topics but I have only included some of the more significant ones for readers to get an idea of what the topic 'means'.*

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.1: Topic Models (term based from WithinFlow)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.2: Topic Names

图 3.1 中气泡的大小表示术语(在 y 轴上)对主题的‘权重’(即,WithinFlow 中的主题 1 将“文章作为其最重要的术语)。如果我们在每个主题中取 7 个最重要的术语,我们会得到每个主题的术语摘要【图 3.2】。然后,我们可以采用相同的主题模型,并将其应用于外部信息流,以查看主题权重在来自社区外部的信息流中的比较情况。图 3.3 显示了两个流的主题权重的比较。

Roughly speaking, I can vaguely see some specific topics popping out: 
Philosophy (#6), 
Feminism / Women Studies (#4), 
Ramadan (#5), 
Statehood / Muslim-Related Politics (#3), 
Prophetic Sayings (Hadith) + Religious anecdotes (#2), 
Article Sharing (#1)The others still make sense but seem to be a mix of things.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.3: Topic Weights (Blue=OutsideFlow, Red=WithinFlow)

虽然我们已经将术语聚集到主题中,但我们需要更上一层楼,看看这些主题如何模拟整个推文。

话题-推文简介

每条推文都被赋予一个权重,构成一个话题向量。然后,我们可以在 topicVector 上进行一些特征缩减后,在空间上将推文映射到二维空间。我们可以看到形成的集群以及与任何特定主题都没有太大关联但在相对空间中位于它们之间的推文。图 3.4 可视化 WithinFlow 的推文和聚类(如果您 下载笔记本文件 ,您可以将鼠标悬停在(并放大)每个点上,并探索每个点对应的推文——将鼠标悬停在不同的聚类上将向您显示哪些“种类”的推文有助于我们的主题!).

Note that the size of the circles (each circle = a tweet) represent the tweet's  weight for their respective topic — the larger circles are on the outskirts, meaning those tweets are more closely related to their respective topics. It's as if the ‘latent’ topic sources surround the overall information flow.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.4: WithinFlow Tweets Visualization in Reduced Topic Space

我们可以看到孤立的聚类是紧密围绕各自主题的推文,但其他推文分散在其他主题中(例如,一条推文可能 10%是主题 1,40%是主题 2,50%是主题 3,等等)。“环”中间的推文是权重较低的多个主题的混合,因此不会孤立成一个集群。这些推文可以被解释为不属于任何主题,或者很难分类——尽管如此,它们仍然是离群值。

我们还可以将我们的主题模型应用于外部流程,如图图 3.5** 所示。我们在外向流推文集群中看到更多的混合和更少定义的边界——这是意料之中的,因为通常来自外部的信息不会像内部传播那样定义明确。我们再次鼓励你打开笔记本文件,将鼠标悬停在不同的集群上,感受一下这些集群代表了什么,以及哪种推文导致了集群混淆。**

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.5: OutsideFlow Tweets Visualization in Reduced Topic Space

话题盈利能力

使用主题权重,我们可以通过选择权重最大的主题,将每条推文归类到特定的主题中。然后,我们可以分别可视化每个流量中每个主题的转发计数(该推文被转发的次数)分布——通过这种方式,我们可以衡量我们主题的“盈利能力”属性。图 3.6 中的每个图表显示了每种信息流的转发次数分布(蓝色=内流,橙色=外流)。这些分布给了我们一个概率上的概念,关于这个话题的一条推文有多少转发。

Note that the x-axis is log10 scaled (i.e. 2 = 100 retweets, 3 = 1000 retweets, etc.). This means even slight differences between the distributions in the charts can indicate large profit (#ofRetweets) increases/declines.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.6: ReTweet Count Distribution (log10 scaled)

样本阅读:

  • WithinFlow 中主题#3(国家地位)的推文最有可能获得 10-100 次转发。
  • 话题 2(圣训、预言)中的推文获得相同数量的转发(约 10-100),无论它们是内部生成的还是从社区外部带来的。
  • 主题#1(文章分享)中的推文在 WithinFlow 中的平均转发量高于 OutsideFlow,但只有 OutsideFlow 推文的转发量超过 100 次。

话题的极性和主观性

另一个可以探索的有趣衡量标准是推文的极性** (文本中表达了多少‘情绪’,范围从-1.0 到 1.0——有多‘极化)及其主观性(表达有多‘个人化’,范围从 0 到 1) 。我使用了一种非常弱的方法来计算这些度量(简单地聚合 tweet 中每个词的极性&主观性,这可以从预定义的库和映射中获得),但是我们仍然可以制作一些很酷的、看起来像外星人的图表!这些是联合密度图,基本上模拟了双变量(2 个变量)分布——它们很直观地告诉我们大多数推文在极性-主观性尺度上的位置。颜色表示“密度”,例如,WithinFlow(红色)的 maxTopic=3 图表显示了一个以(极性= ~0.1,主观性= ~0.25)为中心的深红色圆圈,这表明主题 3 中的大多数推文都具有这些极性/主观性值。**

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传****外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.7: Subjectivity/Polarity Density Graphs (Red = WithinFlow, Blue=OutsideFlow)

样本读数:

  • 话题#4 ( 女人-穆斯林-男人-堕胎-盖头-女权主义者-想要)中的推文在 WithinFlow(在社区内部生成)中比从社区外部带入流中的推文更加主观
  • 主题 3(国家地位)中的推文在 WithinFlow 中的极性/主观性尺度上更加分散,相比之下,OutsideFlow 中的推文更加密集。

这些是总体趋势,我将再次花时间提醒读者,我们的分析既是主观的(基于我个人的追随者),也是时间的(2018 年的信息流)。

**让我们继续关注用户,因为每个人都知道… **真正的八卦不是关于想法…而是关于人!既然我们知道哪条推文来自社区中的哪个用户,我们可以再上一层楼,在用户层面进行调查。

主题-用户配置文件

****参考消息:所有这些用户资料都是公开的(在我收集这些数据的时候,所以从法律上来说,我很酷)。如果一个用户有 1000 多名追随者(我“直觉地”认为这是一个非常随意的数字…),我只是认为他们是公开的,应该可以对他们的推文进行分析。对于 1000 名粉丝,我已经发信息问他们是否同意,如果他们不同意就删除他们的数据。然而,

如果你因为任何原因希望你的名字被删除,请告诉我!

在我们将用户简档与我们生成的主题混合在一起之前,让我们先分别对我们的用户进行简档分析……有一些算法可以帮助我们从一个文档子集(即特定用户的推文)中找到与整个文档集(信息流中的所有推文)相比最有区别的术语。图 3.8 显示了用户生成的推文中最具鉴别性的术语(gendiscsterms)以及他们传播的推文(propdiscsterms),这些术语将他们与信息流的其他部分“区分开来”。这并不意味着这些是他们最重要的术语!

"N/A" means there weren't enough tweets to really discriminate any terms.. sorry!*For those of you who know '@dimashqee', his account has been deactivated so we don't know which tweets he has retweeted, even though he tends to be a major player in this community around certain topics.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.8: Discriminative Terms by User

这些已经给了我们一个用户的概念!但是我们希望能够根据用户对我们在信息流中发现的主题的贡献来描述他们。为了做到这一点,我们可以根据发推的用户和转发的用户来合计我们的主题权重。这使我们能够根据我们之前强调的 3 个角色(生成者、内部传播者、外部传播者)来描述社区中的用户。图 3.9、图 3.10 和图 3.11 描绘了用户主题的占有率——阅读它们:

  • ****占用百分比:圆圈的大小表示特定用户“占用”该主题的特定信息流(内流或外流)的百分比(根据图表,这可能意味着他们生成了多少信息或传播了多少信息)
  • 所有列的总和为 100%
  • 最后一列’ TopicSum '表示用户在图表的相应角色中“占据”的信息流的总百分比。
Some of the numbers are hard to see here, I once again point the readers to the linked notebook in which you can hover over the points and see the complete topic Name as well as a clearer Occupation %.Occupation sounds a little.. harsh, but it is meant to be indifferent here.. :)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.9: Internal Propagation Occupation Percentages

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.10: Internal Generation Occupation Percentages

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.11: External Propagation Occupation Percentages

我们还可以使用散点图来查看用户空间的高级角色配置文件。图 3.12、3.13 和 3.14 显示了社区中不同用户角色之间的更高层次的关系(即图 3.12** 是用户在社区中的总内部传播占有率%与用户在社区中的总生成占有率%之间的比较)。**

**GEN** = Generator, **IPROP** = Internal Propagator, **OPROP** = Outer/External Propagator*Note: those with very low occupation % are excluded.*

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.12: Internal Propagation Occupation vs. Generation Occupation

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.13: External Propagation Occupation vs. Generation Occupation

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3.14: External Propagation Occupation vs. Internal Propagation Occupation

****在我看来,图 3.9–3.14是更有价值的衡量标准之一,不仅可以通过内容,还可以通过活动类型来捕捉用户行为。以下是从上述 6 个数字中可以获得的一些高水平读数示例。

样本读数:

  • @TraversingTradition 是该社区内部信息流的主要产生者,今年产生了超过 24%的内部材料,但只有 7%的内部材料传播到社区的其他地方。它似乎只有效地参与了社区中 6/9 的主要话题。
  • “AndrewStodghill”和“@ SeekingErudite”是两种信息流中的大型传播者,但却是非常低级的生成者。这些用户可被视为信息流连续性的重要节点,尽管他们不一定产生材料。
  • thesalafieminist(’ @ AnonyMousey ')将最大比例的外部信息带入主题#2(女权主义/女性研究)的信息流
  • 每个主题似乎都有一种 30-70 法则…每个主题中 30%的用户(5)产生并传播70%的信息。
  • 话题#4 的世代职业(与女权主义、盖头等相关。)比话题#2(与先知语录(圣训)、宗教轶事和语录等相关)的世代职业分布要分布得多。)由单个用户独占 50%。这种趋势可能会促进进一步的研究,因为它可能暗示主题#4 比主题#2 有更少的“回音室”。

当然,还有更多的见解,这完全取决于你想回答什么样的问题,以及你是否想确定单个用户的行为,等等。

…但是等等,还有更多!我们还可以按主题分解各种用户角色,并探索主题间的相关性。为了把你从一大堆图表中解救出来,我把分析放在了附录 A 中,供感兴趣的人参考。

结束语

  • 我们的分析帮助我们成功地形成了围绕所选自我社区的信息流的术语级、推文级和用户级概况。
  • 总的来说,成绩还是比较满意的!最初对用户社区的细分有助于限制问题,并找到真正相关和有见地的主题,而不是盲目地在一组推文中建立主题模型。信息流的主要贡献者进一步证实了这一点,比如在我们的用户特征分析阶段强调的“@TraversingTradition”。
  • 提醒一下,一旦编程,这种分析(以及更详细、更先进的流程)需要几分钟才能完成— 这意味着当你同意使用 Twitter 作为公共平台时,你也在向工具和算法公开你的数据,这些工具和算法比你想象的更高效和有效。当然,我的目的不是“恶意的”(我保证!)但是更恶意的目的会有相同的访问…
  • 由于我亲自跟踪这些用户,从这一分析中提取的这些用户的特征、内容和行为并不太令人惊讶,并且似乎与我随着时间的推移对社区定性获得的直观理解一致。然而,由于这种分析可以为任何一组用户完成,这种主题建模分析可以先发制人地给我们一个这个社区可以提供的总信息增益(和/或特定用户)的概念。在今天的社交媒体模型中,这种理解的明显用例指向有针对性的营销和广告,但人们也可以想象为研究、调查、政策制定等获取社会学信息的用途。不太“公司化”的。
  • 在我们的分析中,内外流的权重都很高的术语,如 【伊斯兰教,穆斯林等等。] 帮助我们反向验证我们的社区检测——对我们的用户算法分组感觉良好。
  • 虽然我们只对一个社区进行了分析——但社区间的比较肯定是有空间的,甚至可以构建定义社区信息流的基本指标,并发现社区实际上是以可预测的方式组成的?(即根据他们的用户角色的分布)
  • 此处的分析主要是描述性的,但是这些信息也绝对可以用于构建预测模型**,帮助我们了解未来可能产生的效果和影响。**

这篇文章的主要目的是对信息流的实质进行分类,所以我一直羞于对我们的观察进行解释,并提取预测性的见解。这是因为,在解释时,我们面临着技术官僚方法的软限制:观察,尽管精心策划和有趣,可能意味着任何事情和一切。对于这个问题,(我相信)数据科学家必须做出勇敢的尝试,利用社会学领域为我们提供一两个理论来解释我们的发现——强调一个我非常珍视的哲学观点:用“理论”支持数据科学相关分析过程的必要性。尽管社区检测也源于“社会学”自我网络的概念,但这仍然是对社会学领域非常肤浅的引用。为了进一步分析信息流的内容,我们需要更深层次的东西。(提示:高夫曼?布迪厄?萨特?…海德格尔?)

社区检测(阶段 1) 帮助我们找到了信息流向的“哪里”,主题建模(阶段 2)帮助我们找到了信息流向的“什么”——下一个阶段(3)是“为什么”。在未来,我计划通过介绍数据科学分析和社会学理论(在社交媒体分析领域)之间的联系以及它们如何帮助我们解释和限制我们的结果的意义来结束这个项目。敬请关注…

附录 A —角色之间的主题间关联

我知道这看起来像很多图表、点和线,但不要被吓倒!图 A.1 和 A.2 按主题显示了外部和内部用户角色(外部传播方与内部传播方/生成方)之间的关系(例如图 A.1** 的左上图显示了主题 0 的外部传播占有率%与主题 0 的代占有率%之间的关系,右上图显示了主题 0 的外部传播占有率%与主题 8 的代占有率%之间的关系。在我们的例子中,我们有一个很小的样本量(大约 22 个用户),因此这些图表不能全信,但是原则上,我们可以使用这些可视化来更深入地理解特定的主题关系。**

要阅读下面的图,最好是在从左到右或从上到下扫描时寻找奇怪之处。我们正在寻找的是特殊的行为,即,如果主题 X 的内部传播占用百分比与主题 Y 的生成占用百分比的关联方式不同于与其他主题的关联方式,这可能暗示主题之间存在相互影响。

**GEN** = Generator, **IPROP** = Internal Propagator, **OPROP** = Outer/External Propagator

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure A.1: External Propagation Occupation vs. Generation Occupation [by Topics]

图 A.1 的样本读数

有一个更强的趋势表明,围绕主题#0 传播外部信息的用户倾向于围绕主题 4、5、6、7、8 生成更少的信息。

一般来说,看对角线,围绕某个主题产生更多信息的用户倾向于传播较少的外部信息。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure A.2: External Propagation Occupation vs. Internal Propagation Occupation [by Topics]

图 A.2 的样本读数

内部传播的话题#2 和外部传播的话题#2 之间特别强的正相关。

看对角线,似乎一般来说,在内部传播更多给定主题的用户也倾向于在外部传播更多相同的主题。

感谢您的阅读!

我在这些帖子中的总体目的是探索我个人好奇的概念的实践方法——因此,无论你在哪个领域,如果你有任何有趣的想法想讨论或合作,在你认为数据科学可以提供一些价值的地方,请随时给我发消息,我们可以谈谈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值