【论文阅读】-- Strscope:不规则测量的时间序列数据的多尺度可视化

Stroscope: Multi-Scale Visualization of Irregularly Measured Time-Series Data

    • 摘要
    • 1 引言
    • 2相关工作
      • 2.1(大型)时间序列数据可视化
      • 2.2 事件序列数据可视化
      • 2.3 评价
    • 3问题分析
      • 3.1 数据集
      • 3.2 场景——现状
      • 3.3 设计流程
      • 3.4 设计原理
    • 4 涟漪图:时间序列数据的多尺度可视化模型
      • 4.1 视觉表示
      • 4.2 多尺度建模
        • 4.2.1 使用感兴趣范围 (ROI) 进行尺寸缩放
        • 4.2.2 进一步区分条形的颜色映射
        • 4.2.3 移动水平轴
      • 4.3 可视化测量之间的确定性程度
      • 4.4 波纹图操作的用户界面
    • 5 STROSCOPE
      • 5.1 布局
      • 5.2 用户交互
        • 5.2.1 选择测量变量
        • 5.2.2 对齐
        • 5.2.3 缩放
        • 5.2.4 分层分组
        • 5.2.5 并排比较
      • 5.3 分析特征
        • 5.3.1 按需统计汇总措施
        • 5.3.2 适应个体差异
        • 5.3.3 匹配
        • 5.3.4 数据空间聚类和图像空间聚类
      • 5.4 实施
    • 6 评价
      • 6.1 受控用户研究
        • 6.1.1 参与者和材料
        • 6.1.2 可视化技术
        • 6.1.3 任务
        • 6.1.4 研究设计和程序
        • 6.1.5 假设
        • 6.1.6 统计分析及结果
        • 6.1.7 主观数据
        • 6.1.8 讨论
      • 6.2 案例研究
        • 6.2.1 数据集和程序
        • 6.2.2 参与者1(P1)
        • 6.2.3 参与者2(P2)
        • 6.2.4 讨论
    • 7 结论和未来工作
    • 致谢
    • 参考文献


期刊: IEEE Transactions on Visualization and Computer Graphics(发表日期: 05/2014
作者: Myoungsu Cho; Bohyoung Kim; Hee-Joon Bae; Jinwook Seo

在这里插入图片描述

摘要

对于不规则测量的时间序列数据,测量频率或间隔与测量值本身一样重要。众所周知的时间序列可视化,如折线图,擅长展示变化的总体时间模式;然而,它在揭示测量频率/间隔方面效果不佳,同时可能错误地增加对测量间隙之间值的信心。相比之下,条形图在展示频率/间隔方面更为有效,但在展示总体模式方面不如折线图有效。我们在一个统一的可视化模型中整合了折线图和条形图,称为涟漪图,以结合它们的优势并提高图形完整性。基于涟漪图,我们实现了一个交互式时间序列数据可视化工具,称为Stroscope,它通过提供一个图形控件来允许用户交互地控制集成的可视化模型,从而实现多尺度可视化。我们通过对照用户研究评估了可视化模型(即涟漪图)并通过与神经学家的长期案例研究评估了Stroscope,他们探索了大量中风患者的血压测量数据。我们评估的结果显示,涟漪图优于现有的时间序列可视化方法,并且Stroscope作为一种有效的视觉分析工具,具有有效性和潜力,适用于(不规则)测量的时间序列数据。

关键词:不规则测量的时间序列数据,频率感知可视化,不确定性可视化,长期案例研究。

1 引言

在各个领域中寻找时间序列数据的重要模式和趋势的需求不断增长,刺激了许多交互式可视化探索工具的开发:Line Graph Explorer [17]、LiveRAC [20]、SignalLens [16] 和 Data Vases [30] ] 仅举几例。随着时间序列数据规模和复杂性的增加,可视化研究人员现在面临着交互式视觉探索工具设计的新挑战和要求。在本文中,我们确定了其中一些挑战和要求,并通过名为 Strscope 的新型交互式可视化工具来解决它们。

大多数现有的时间序列数据可视化技术或工具假设(1)每个时间序列数据随着时间的推移定期测量,(2)所有时间序列数据具有相同的测量范围。然而,常常存在时间序列数据不满足条件的情况,例如在线拍卖数据、区域降雨/降雪数据、信用卡使用数据等。对于这些数据,现有的可视化工具并不能帮助我们回答有关频率相关模式或趋势的问题:例如,(a)哪个项目的出价数量最多? (b) 哪个城市夏天很少下雨? © 每月信用卡使用模式在金额及频率方面有何差异?

此类数据在医学领域也相当丰富。这些示例包括但不限于患者记录中的体温、血糖水平和血压水平,其中测量的次数/间隔和住院时间可能会根据患者的状况而变化。医学领域的研究人员通常必须艰苦地收集这些数据来制定和检验假设。尽管他们可能依赖传统的统计软件或 Excel,但对假设制定的探索性分析并不容易,更不用说使用起来既不直观也不容易理解结果。

infovis 社区中并没有投入太多精力为此类数据集开发可视化模型或工具。阿里斯等人。 [5]将这些数据称为不均匀间隔时间序列数据,并为此类数据的交互式视觉探索提出了四种表示形式(即采样事件、聚合采样事件、事件索引和交错事件索引)。所有这些基本上都规范了测量间隔,这可能会导致测量频率或间隔等信息丢失,而这对于许多任务来说可能至关重要。

众所周知的时间序列数据可视化——折线图,可以有效揭示时间序列的整体时间趋势;然而,它在显示测量频率或间隔方面并不准确。此外,从某种意义上说,它损害了图形完整性[29],因为连接线会导致测量之间的值产生错误的置信度,特别是对于不规则测量的时间序列数据。相反,条形图可以有效地显示频率/间隔,而无需在测量之间插入值,但它在显示整体模式方面不如折线图有效。

在本文中,我们提出了一种统一的可视化模型,称为波纹图,它利用了条形图和线图的优点,增强了图形完整性,不仅适用于定期测量的时间序列数据,也适用于不规则测量的时间序列数据。波纹图还通过根据值的置信度改变颜色强度来揭示两次时间测量之间的值的不确定性[26]。这样做,它可以有效地揭示测量频率或间隔,同时仍然显示变化的整体时间模式。我们通过交互式 2D 小部件进一步将波纹图表示扩展为单个统一的多尺度可视化模型,以适应其他高效时间序列数据可视化技术的优势,同时解决可扩展性问题。

遵循神经学家的参与式设计过程,我们基于波纹图表示和小部件设计了一种用于时间序列数据的交互式视觉探索工具,称为 Strscope。我们进行了一项受控用户研究,通过将波纹图与现有的时间序列数据可视化表示进行比较来展示波纹图的功效。我们还按照多维度深入的长期案例研究协议 [28] 进行了长期案例研究,以展示 Strscope 在真实领域与真实用户的有效性。

本文的结构如下。在描述密切相关的工作之后,我们描述了设计原理以及现实世界数据和用户场景。我们解释了波纹图及其用户交互,然后介绍了可视化工具——Strscope。在我们介绍受控用户研究结果和长期案例研究结果之后,我们以未来工作计划和结论来结束本文。

2相关工作

在本节中,我们回顾了先前关于时间序列数据的表示技术和交互式可视化工具的工作。我们分别处理时间事件序列可视化。我们还回顾了之前关于时间序列数据可视化评估的工作。

2.1(大型)时间序列数据可视化

分析时间序列的目标是掌握数据随时间的演变并检测趋势和模式以获取见解和理解数据[1]。有许多交互式可视化工具可以帮助用户实现目标。 KronoMiner [39] 和 SignalLens [16] 提出了灵活的多焦点导航技术。 BinX [9]根据用户定义的抽象级别支持时间维度上的不同聚合。 ChronoViz [11] 是一个可视化和分析工具,用于来自多个来源的基于时间的数据。 [10]、[13] 和 [24] 中提出了患者数据的可视化探索工具。这些工具旨在处理一些长时间序列,但不适用于显示多个时间序列的直观概述。

许多用于大量时间序列的表示技术或交互工具已经被开发出来。基于 Saito 等人的双色调伪着色。 [25],一种更节省空间的可视化技术称为地平线图[22],是使用分割、镜像和分层技术开发的。然而,我们的受控用户研究表明,这种基于填充折线图的技术不适合与频率相关的任务。

线图浏览器 [17] 和 LiveRAC [20] 提供交互式界面,用于探索性分析以及使用 Focus+Context 技术的多个时间序列的概述。塔库尔等人。 [30]建议使用对称字形进行二维表示,称为风筝图,并提出数据花瓶来紧凑地显示多个时间序列。在[7]中,以医疗数据为例介绍了几种表示技术,每种技术都可以有效地揭示不同的细节级别。所有这些技术和可视化工具都是假设定期测量的时间序列而设计的。因此,他们很难显示测量频率或测量间隔的不规则程度。

阿里斯等人。 [5]提出了不均匀间隔时间序列数据的四种表示形式。采样事件方法和聚合采样事件方法通过以特定的规则间隔采样来生成均匀间隔的时间序列数据。事件索引方法扭曲时间轴以突出事件的数量。交错事件索引方法表示事件序列,同时保留事件的时间顺序,而不管其实时间隔如何。但是,前两种方法可能会导致采样和聚合产生的数据丢失,而后两种方法可能会通过任意更改两个连续事件之间的时间间隔来扭曲时间轴。 TimeRider [23] 还处理不规则采样的数据,并使用动画散点图中的动画来揭示时间方面。然而,在此工具中,很难看到概览,因为一次只能看到一个时间范围。我们的工具支持直观的概览,同时保持不规则采样数据的图形完整性。

2.2 事件序列数据可视化

电子健康记录、高速公路事件日志或网络日志等数据中的时间事件序列可以被认为是一种时间序列,其中每个事件没有定量属性,而是具有时间戳的分类属性。本文处理的不规则测量的时间序列数据涵盖了这种事件序列数据。已经有可视化工具可以帮助用户发现这些时间分类事件序列数据中的频繁或异常模式。

VISUAL-TimePAcTS [33] 使用时空路径显示一天中个体的活动。 ActiTree [34] 使用圆形树状表示来可视化单个事件序列,而 Continuum [3] 则可视化时间事件之间的层次关系。 Lifelines2 提供可视化时间摘要来比较多个记录 [35] 的趋势,以及按特定事件对齐序列的对齐操作 [36]。 Wongsuphasawat 和 Shneiderman [37] 提出了一种时间分类相似性度量,称为“匹配与不匹配”,以查找相似记录。 LifeFlow [38]通过聚合可视化事件序列的所有可能模式,同时保持事件之间的时间间隔。 CloudLines [18] 将每个事件表示为一个圆圈,其大小和不透明度根据事件的重要性而变化。这些工具在按时间属性对齐每个序列后,通过垂直堆叠和插值来表示多个事件序列。我们在工具中采用了除插值之外的这些方法来显示概述并比较多个时间序列的趋势。

2.3 评价

人们已经对时间序列数据的视觉表示的图形感知进行了评估研究,以为不同类型的任务推荐适当的表示。贾维德等人。进行了一项受控用户研究,以根据多个时间序列的图形感知来评估局部/全局任务的四种不同的可视化技术(简单线图、编织图、小倍数和水平图)[15]。这项研究表明,共享空间技术对于局部比较任务更有效,而分离空间技术对于分散比较任务更有效。艾格纳等人。通过比较研究表明,在比较两个异质时间序列数据时,索引技术(将数据规模转换为可比单位)在不同表示技术中更为优越 [2]。 Heer 等人的一项研究。 [14]比较了折线图和水平图之间的性能,并表明分层带对于较小的显示空间更有效。佩林等人。 [21]通过向地平线图添加缩放和平移交互来提出交互式地平线图,并通过使用非合成数据集的评估显示出改进的性能。这些评估研究涉及折线图及其变体。

施奈德曼等人。引入了“多维深入长期案例研究(MILC)”来评估案例研究中的信息可视化工具,真实用户在工作场所处理真实数据集[28]。这种评估方法已在许多研究中使用[20]、[27]和[38]。我们还对 MILC 进行了长期案例研究。

Arias-Hernandez 引入了 PairAnalytics [6],这是一种由主题专家 (SME) 和视觉分析专家 (VAE) 共同针对真实数据和问题执行给定任务的方法。在我们的案例研究中,我们还采用了一种改进的配对分析方法,其中实验者(即 SME)仅在参与者(即 VAE)寻求帮助时才向他们展示我们的工具,如 [19] 中使用的那样。这样,参与者尝试使用我们的工具并很快熟悉了。然后我们可以通过消除障碍来迭代改进我们的工具。

3问题分析

医学的最终目标之一是照顾患者一生的健康和福祉。为了实现这一目标,有必要跟踪个人整个生命周期的健康记录,这使得处理不规则测量的时间序列数据不可避免。体温、血糖水平、血压水平和肝酶水平就是很好的例子。作为在医学领域推广交互式信息可视化技术的尝试,与有兴趣分析中风进展与血压随时间变化之间关系的神经科医生发起了一个合作参与项目。在以下部分中,我们将解释血压数据的临床研究问题。

3.1 数据集

一组神经科医生收集了韩国首尔国立大学盆唐医院 1,600 名急性缺血性中风患者的血压测量时间序列数据。该数据集中的所有患者均在中风发作后 48 小时内住院。

有两组数据。其中包括与中风相关的临床信息,其中包括 29 个临床变量,例如年龄、性别和病史。表 1 总结了四个重要变量。其他数据集包括收缩压 (SBP) 和舒张压 (DBP) 值以及测量时间。该数据集与大多数传统时间序列数据可视化工具中处理的通常时间序列数据不同。首先,随着时间的推移,它的测量是不规律的。其次,每个患者都有独特的住院时间,即每个患者的总测量时间不同,从3天到60天不等。第三,每个患者的第一次/最后一次测量时间不同。
在这里插入图片描述

3.2 场景——现状

在我们的参与式设计过程开始时,我们观察了神经科医生如何在临床实践中分析血压数据。因此,我们提出了一个主要角色,李博士——一位拥有 20 年经验的神经科医生,以及一个代表性的用户场景,解释了该领域数据分析过程的现状。

Lee 博士的目标是检查中风发作后 24 小时内症状恶化的患者与其他患者之间的血压值和变异性是否存在差异。他需要关注 END_progression 的效果来实现他的目标。他首先将患者分为两组:END_progression值为1的患者(A组)和其他患者(B组)。他咨询了统计学家,决定控制两个最重要的复合变量——性别和年龄。他们通过选择 B 组中与 A 组中性别和年龄相匹配的人来生成新的 B0 组。他们使用统计软件R进行匹配任务,然后在SPSS中比较A和B0两组的血压初始值、平均值、标准差、最大值和最小值。尽管他希望立即看到每个组的概况,但描述性统计数据并没有以直观的方式告诉他总体时间趋势。

他仔细比较了两组,提出了假设。例如,他假设当 END_progression 发生时,血压会发生有意义的变化。为了验证这一假设,他需要检查测量值如何围绕有临床意义的值波动,以及 END_progression 发生前后 24 小时内每三或六小时的平均值如何变化。使用传统统计工具进行这些分析是艰巨且耗时的,因为此类工具无法有效支持患者的大量迭代过滤和时间间隔的量化。一个更大的问题是,B’ 组中的每个患者的数据都需要按照模拟事件进行对齐,以便与 A 组进行公平比较,其中模拟事件可以定义为在 A 组匹配患者的事件时间发生的虚拟事件。

3.3 设计流程

我们了解到,神经科医生从未在可视化工具中看到过他们的数据。事实上,他们能够以更直观、信息更丰富的方式“查看”数据并交互式地操作数据,这极大地激励了他们参与设计过程。

作为信息可视化设计师,我们与真实用户(三名神经科医生)合作,以了解彼此的工作。六个月内,我们在医院见过他们六次。我们轮流观察用户使用传统工具进行数据分析的情况,并讨论他们做了什么以及为什么这样做。我们还向他们展示了交互式可视化工具的可能性,以教育他们信息可视化并加强合作伙伴关系。

3.4 设计原理

根据我们对真实用户的观察和讨论,我们使用新的视觉表示形式提出了 Strscope 的以下设计原理。

  1. 显示测量频率/间隔。血压测量频率可以告诉分析人员患者的状况、事件的发生或周围环境的变化。我们决定设计一种基于条形图的新表示形式,这有助于掌握测量频率。
  2. 表现波动。神经科医生观察血压围绕有临床意义的参考值的变化,每个患者可能有所不同,这可能导致发现具有异常模式的患者。我们决定显示围绕用户定义的有临床意义的值的测量波动。
  3. 使用焦点+上下文技巧。收缩压值集中在 120 左右的狭窄范围内。需要使用户能够交互式地调整他们感兴趣的特定范围并在保持上下文的同时查看细节。
  4. 保持熟悉。我们将条形图和折线图这两种著名的时间序列表示形式集成为一种新的视觉表示形式,以减少学习曲线。
  5. 提供统一的接口。需要不同的表示来支持探索性数据分析的不同任务。我们设计了一个统一的界面框架,可以在其中无缝集成多种表示形式。
  6. 支持多种时间序列。对于多个时间序列的视觉探索,我们必须支持直观的概述和用户交互,例如缩放、排序、过滤和分组。
  7. 促进比较任务。血压数据分析探索的主要任务之一是比较两组。为了减少比较任务中的偏差和复合变量的影响,从每组中选择匹配良好的实体非常重要。两组患者的交互式匹配和对齐对于准确比较非常重要。
  8. 整合可视化和统计方法。为了促进探索性数据分析,需要按需对统计汇总措施进行现场可视化。它使用户能够现场执行快速而简单的假设检验。

4 涟漪图:时间序列数据的多尺度可视化模型

我们提出了一种多尺度时间序列数据可视化模型,称为波纹图,来表示测量频率和测量点之间的不确定性以及时间序列数据的测量。我们将折线图和条形图集成到纹波图中(图1c),以充分利用两者的优点,即折线图用于显示总体时间趋势(图1a)和条形图用于揭示测量频率/ 间隔(图 1b)。此外,它还利用了多尺度模型中的空间高效表示技术,例如地平线图[22]和类热图图[17]。
在这里插入图片描述

4.1 视觉表示

波纹图水平对齐时间点,垂直对齐测量值(图 2a)。默认情况下,水平轴在给定空间的中间垂直延伸。例如,在血压数据的情况下,水平时间轴垂直位于血压值范围的中点,并且锚定到水平轴的每个条对于超过中点值的值向上显示,对于超过中点值的值向下显示。值低于中点值。通过这种方式,可以很容易地看到血压测量值如何围绕特定值波动,该特定值可以是任何用户定义的有意义的值。水平轴的默认位置可以根据问题域进行更改。例如,对于股票数据,水平轴最好位于底部,即零。
在这里插入图片描述

当一个测量值恰好等于水平轴代表的用户定义值时,图表无法显示该测量点,因为其对应条形的高度为零,这会给用户一种错误的印象,认为该时间点甚至没有测量过。为了解决这个问题,我们将水平轴做成管状双线,其厚度为少量像素。然后,测量点可以清楚地显示为管中的斑点,如图 2a 中的第八条(由绿色箭头所示)。

4.2 多尺度建模

当屏幕上必须显示许多图表时,波纹图中的定量比较变得具有挑战性。在这种情况下,波纹图的高度变得太小而无法区分数据中的每个值。为了解决这个问题,我们在多尺度模型中开发了三种节省空间的方法。

4.2.1 使用感兴趣范围 (ROI) 进行尺寸缩放

第一种方法允许用户通过调整纵轴的范围来放大到用户感兴趣的特定值范围。它根据用户定义的感兴趣的测量范围相应地调整条形的高度,其中垂直轴从范围内的最低值 ROIlow 到最高值 ROIhigh 。然后,超出该范围的任何值的条形都具有相同的高度,即到达给定空间的顶部或底部。这样,用户可以放大到感兴趣的特定范围来详细比较该范围内的值,同时保持上下文,即知道该范围之外的值的存在。如图 2b 所示,正确设置 ROIlow 和 ROIhigh 后,可以更清楚地区分图 2a 中高度相似的四个向下条形(参见绿色虚线圆圈内的条形)(参见绿色实心圆圈内的条形)。

4.2.2 进一步区分条形的颜色映射

第二种方法允许用户为测量值分配颜色,通过该方法,每个条形都涂上由用户定义的颜色表确定的相应颜色。这种方法在[7]中被类似地用作“高度编码时间线”,但这两种方法的不同之处在于我们的方法仅填充条形,而高度编码时间线填充整个空间,包括条形之间的间隙。图 2c 显示,具有相同高度的前两个条通过颜色进行区分(第一个条为灰色,第二个条为蓝色),右端的第三个和第四个条也是如此。用户定义的颜色映射如图 2c 右侧的垂直色带所示。为了让用户更灵活地控制视觉编码,颜色映射独立于 ROI。

4.2.3 移动水平轴

最后一种方法允许用户改变水平时间轴的垂直位置。要详细查看值超过特定值的条形,用户可以向下移动水平轴。水平轴甚至可以位于表示 ROIlow 值的给定空间的底部,然后值小于 ROIlow 的条消失。图 3a 显示,值小于 ROIlow 的前三个条被滤除。这样,可垂直移动的水平轴使用户能够过滤掉一些测量值。
在这里插入图片描述

当 ROIlow 和 ROIhigh 均设置为整个测量范围内的最小值且水平时间轴位于底部时(图 3b),所有条形都具有相同的高度,即每个系列的给定空间的高度。然后,可视化变成一个类似热图的图表[17],其中每个测量值都由具有用户指定的特定颜色的垂直条表示。由于用户可以将每个系列的给定高度减少到 1 个像素,因此该方法提供了一种关于一次显示的系列数量的更具可扩展性的表示形式。

4.3 可视化测量之间的确定性程度

虽然波纹图强调单独的测量,但它也可以显示随时间变化的总体模式。虽然血压是连续变化的,但它是离散测量的。通常采用线性插值作为填充离散测量之间的间隙的简单方法。然而,我们注意到测量之间插值的确定性程度与距实际测量点的距离成比例地降低。据我们所知,还没有尝试在时间序列数据可视化中显示信息的确定性程度,我们认为这有助于增强图形完整性。波纹图用最近条形的颜色填充条形之间的区域,同时更改 alpha 通道值,其中颜色随着距离最近的实际测量点越来越远而变得更加透明。类似的方法用于可视化树形图中的层次结构[12]和平行坐标中的簇密度[31]。

令 x 为实际测量点与测量之间的特定点之间的距离。中间点的确定度 (DOC) 确定如下:

D O C ( x ) = − x c + 1 , DOC(x)=-\frac xc+1, DOC(x)=cx+1,
其中 c 是由用户定义的置信区间,它表示真实测量保持其置信度的时间范围。中间点的 alpha 值是 DOC x ðÞ 和最大 alpha 阈值 ð 1Þ 的乘积。根据经验,最大 alpha 阈值设置为 0.8。无花果。图4a和4b分别示出了置信区间为3小时和6小时时的波纹图。图中上图显示了 alpha 值如何随时间变化。
在这里插入图片描述

波纹图在确定性表示方面具有以下优点:(1)它通过显示预测(或插值)值以及重要的上下文(即预测值的置信度)来增强图形完整性; (2)更清楚地显示测量值随测量频率的变化; (3)对于不规则测量的时间序列数据,可以有效地逼近真实的随时间连续变化的情况。

4.4 波纹图操作的用户界面

在这里插入图片描述

我们设计了一个界面,使用户能够灵活调整波纹图的参数(图5)。要调整波纹图垂直轴的范围,用户可以拖动 ROI 小部件直方图上的矩形范围滑块的两个可拖动垂直边缘(图 5c),以设置从 ROIlow 到 ROIhigh 的范围(例如 110)到图 5c 中的 150)。用户还可以直接在每条垂直线顶部的编辑框中输入所需的值。两个可拖动垂直边缘之间的灰色垂直线指示水平时间轴的垂直位置。当 ROIlow 或 ROIhigh 更改时,灰色垂直线移动到 ROIlow 和 ROIhigh 之间的中点。

ROI 小部件下方的预览(图 5d)显示了条形的高度和颜色,具体取决于其从最小到最大的值范围。预览上的水平线表示时间轴。要检查测量值围绕特定有意义值的波动,用户可以通过上下拖动线来移动水平轴,以更改 ROIlow 和 ROIhigh 之间的轴位置。然后,ROI小部件内的灰色垂直线(例如,图5c中的130)也相应地移动。 ROI 值和水平轴位置的任何更改都会导致预览、ROI 小部件和时间线视图立即更新。

5 STROSCOPE

我们与神经科医生进行了为期 6 个月的参与式设计,引导我们实现了一种时间序列数据的交互式可视化工具,名为“Strscope”,其中波纹图是主要的可视化组件。在本节中,我们将解释 Strscope 的用户界面和交互模型以及相关的分析功能。

5.1 布局

在这里插入图片描述

Strscope 由三个主要区域组成(图 6):控制面板、时间线视图和详细视图。左侧区域的控制面板有四个选项卡:(1)用于排序的控制选项卡,过滤和对齐时间序列,(2) 用于调整波纹图各种参数的微调选项卡,(3) 用于更改视图布局和将记录分组的分组和布局选项卡,以及 (4) 变量用于从现有变量中创建自定义变量的选项卡。

中间区域的时间线视图使用波纹图可视化多个时间序列,其中每个序列以相同的高度垂直堆叠。默认情况下,所有系列均按第一次测量时间对齐。对齐指示器(即图 6 中上部时间线视图中的绿色标记和下部时间线视图中的垂直线)突出显示对齐时间,其中相对时间为零。

右侧区域的详细信息视图显示时间线视图中所选系列的信息,并且该信息会在任何选择后立即更新。

5.2 用户交互

Strscope 提供了有效的手段来帮助用户高效地探索大量时间序列数据。它们包括许多现有时间序列可视化工具支持的常见操作,例如[36]中用于对齐、排名和过滤的ARF框架。

5.2.1 选择测量变量

时间序列数据可以有两个以上随时间变化的同期变量,即多元时间序列。在血压数据中,有两个这样的变量:SBP 和 DBP。此外,Strscope 自动生成一个增量测量变量,该变量被定义为连续测量(DSBP 和 DDBP)之间的一系列差异,以帮助用户轻松检查变异性。用户可以使用组合框选择这些测量变量之一(图 6a)。

5.2.2 对齐

对齐操作使用户能够有效地比较多个记录中特定事件之前和之后的时间模式。它可以帮助用户预测预后并确定患者的治疗方法。 Strscope 允许用户通过临床变量(例如发病时间和医院到达时间)或特定事件(例如 END_progression)来对齐所有记录。用户可以在组合框中选择这些变量之一进行对齐(图 6b)。

时间轴视图顶部的对齐指示器默认位于左上角,并填充与所选对齐变量相对应的颜色。用户可以在整个时间范围内向左或向右拖动指标,详细查看对齐点前后的趋势。

5.2.3 缩放

我们的多尺度可视化模型波纹图允许用户根据可用的显示空间动态更改视觉表示。为了最大限度地利用空间,Strscope 提供了垂直缩放功能,通过在时间线视图上滚动鼠标来调整每个记录的波纹图的高度。还提供水平轴上的缩放以帮助用户关注感兴趣的时间段(图6d)。

5.2.4 分层分组

检测按分类变量(例如性别或年龄组)分类的群体之间的差异是神经科医生的常规分析任务之一。 Strscope 通过启用分层分组来促进这项任务。分组的结果总结在增强的树视图控件中(图 13),其中每个节点都有相应记录的数量和用于显示/隐藏相应组的复选框。图 13 中的控制面板显示了分层分组的结果,其中所有记录首先按“Cluster”分组,然后按“END”分类变量分组。

5.2.5 并排比较

血压数据分析探索的主要任务之一是进行组间比较。为了促进这种比较任务,两组视图的水平/垂直并置是必要的。用户可以通过制作过滤器预设来定义新的组(图6c),并在将时间线视图水平或垂直分成两部分后将不同的预设应用于每个视图。缩放系数和对齐指示器的位置在两个视图之间同步。图6显示了两个水平分割视图。

5.3 分析特征

5.3.1 按需统计汇总措施

根据用户的需求提供统计汇总测量对于获得见解并在交互式可视化工具中执行快速而简单的假设检验非常重要。在 Strscope 中,用户可以通过使用时间线视图上的橡皮筋(矩形)选择来指定感兴趣的区域,并检查该区域的描述性统计汇总度量。汇总度量包括记录数、测量数、平均值、标准差、最小值和最大值。 Strscope 不仅以数字方式提供汇总测量,而且还以图形方式在选择矩形(图 6 中时间线视图上的灰色矩形)内以直方图和箱形图的形式提供汇总测量。

使用并排比较功能,用户可以立即比较两组的统计汇总指标。 Strscope 中实现的链接和画笔技术使用户能够在一个时间线视图中选择矩形区域,并查看在另一时间线视图中选择的相同区域。此功能可以鼓励用户交互式地执行日常分析任务,而不会造成认知超载。

5.3.2 适应个体差异

血压数据中,患者在年龄、体重、病史等方面存在个体差异。 150 的值通常被认为是稍高的值,但对于血压相对较低的患者来说,该值可能是一个临界值。然而,对于所有患者,150 的值在波纹图中由相同的高度和颜色表示。为了解决这个问题,Strscope 允许用户为每个患者定义具有不同基础值的参考变量。例如,假设用户将出院前三天的平均血压定义为名称为“SBPean”的参考变量。然后Strscope根据参考变量的定义计算每个患者的基础值,并生成一个新的测量变量,该变量定义为每个患者的真实血压值与基础值之间的差值。因此,用户可以使用参考变量来适应患者之间的个体差异。

5.3.3 匹配

用户通常有兴趣通过比较有条件的患者(病例)和没有结果的患者(对照)但在其他方面相似的患者来确定可能有助于临床结果(例如 END 复发)的因素 [8]。为了帮助用户进行此类病例对照研究,Strscope 支持病例与对照的匹配。例如,用户可以根据各种变量将“有END_recur事件的患者”与“没有END_recur事件的患者”匹配(例如,性别应该完全匹配,年龄不应相差超过5)。然后,Strscope 生成一个具有用户定义名称的新变量,其中案例中的一条记录和控件中的一条或多条匹配记录具有相同的变量值。

5.3.4 数据空间聚类和图像空间聚类

用户可以通过聚类发现任何规律或异常来获得见解。我们使用 I-kMeans 算法 [32],这是一种利用小波多分辨率特性的交互式 k-Means 聚类方法。我们增强了该算法,使其适用于不规则测量的时间序列数据,因为该算法假设每个时间序列数据都是定期测量的。

Strscope 提供两种聚类技术:数据空间聚类和图像空间聚类。对于数据空间聚类,具有相似测量值的记录被分组在一起,这始终会导致同一数据集产生相同的聚类。然而,粗略的颜色映射可能会导致视觉不一致的问题,即生成的可视化效果看起来聚类不佳。例如,神经科医生将 180 或更大的任何测量值分配为红色,因为这些被视为临界值。然而,数据空间聚类可以将相同红色的两个测量值分开,例如 180 和 240,因为它们在数据空间中的数值非常不同。由于颜色映射中表达的用户心智模型与基于实际数据值的聚类结果之间的不一致,该结果可能会让用户感到困惑。

神经学家建议在参与式设计过程中进行图像空间聚类,以解决数据空间聚类的视觉不一致问题。在图像空间聚类中,具有相似颜色模式的记录被聚类在一起,其中聚类结果可能根据用户定义的颜色表而变化,但结果对于在颜色映射中表达其意图的用户来说更有意义选择。

5.4 实施

Strscope 是通过 Windows 演示基础 (WPF) 用 C# 实现的。 Strscope 可以在多显示器环境中显示两个以上不同的时间序列数据集。可以在不同监视器之间个性化或同步纹波图的参数。在 2400 1920 1080 分辨率的显示器中,Strscope 可以同时在屏幕上交互式显示多达约 950 个(并排比较模式下为 1,900 个)时间序列。

6 评价

我们进行了一项受控用户研究,与其他时间序列数据可视化技术相比,评估人们在执行图形感知任务时学习和使用波纹图的能力。为了展示 Strscope 在实际领域的有效性,我们还按照评估框架、多维深入长期案例研究 (MILC) [28] 和 PairAnalytics [6] 与两位神经科医生进行了案例研究。在本节中,我们总结了受控用户研究结果以及我们在该领域与真实用户进行的两项研究。

6.1 受控用户研究

6.1.1 参与者和材料

我们从首尔国立大学招募了 14 名(五名女性)志愿者进行这项研究。参与者的平均年龄为28.4岁,年龄范围为23至35岁。其中5人的专业是计算机科学与工程,其他人分别来自化学与生物工程、药学、经济学和传播学四个不同的专业。所有参与者都熟悉折线图和条形图。实验持续了大约 40 分钟,他们获得了大约 5 美元的奖励。

我们为 1,600 名中风患者准备了血压测量的时间序列数据集。我们仅使用住院后前三天的测量结果,以防止参与者根据不同的测量时间段来区分记录。

6.1.2 可视化技术

我们比较了以下四种时间序列数据可视化技术。前三种是最具代表性的技术。

  • 折线图 (LG)。我们实际上使用了灰色的填充线图来简化识别[15]。
  • 条形图 (BG)。每个宽度为三个像素的条形都填充有灰色。
  • 交互式地平线图(IHG)。我们通过[21]中介绍的缩放和平移交互实现了地平线图。
  • 波纹图(RG)。为了与其他三种技术进行公平比较,参与者只允许更改 ROI 值并从波纹图的控制界面移动水平轴。

我们使用了分割空间技术,其中每个时间序列都显示在相同高度的行中[15]。我们将每个时间序列的高度固定为 24 像素,以便于将我们的结果与 [14] 和 [21] 中之前的研究进行比较。

6.1.3 任务

基于Andrienko和Andrienko[4]提出的任务模型以及对多个时间序列的图形感知的用户研究[14]、[21],我们选择了以下四种类型的任务。

  • 最大值:选择所有记录中具有最高值的时间序列。
  • 相同:选择与给定记录完全相同的时间序列。
  • 频率:选择最常测量的时间序列。
  • 置信度:确定给定时间点的值的主观置信度。从实际测量点和中间测量点中选择相同数量的时间点。对两个相邻测量点之间的点的值进行线性插值。由于 BG 仅代表真实的测量点,因此将其排除在置信度任务之外。
6.1.4 研究设计和程序

我们以受试者内设计的方式进行这项研究,每个参与者都使用所有可视化技术执行所有任务。我们将实验作为 4(可视化技术:LG、BG、IHG 和 RG)4(任务类型:最大、相同、频率和置信度)2(时间序列数:20 和 40)2(试验)设计,同时平衡可视化技术的顺序。执行时间和答案的正确性是本研究的因变量。为了避免学习效应,我们从每个试验的 1,600 个时间序列池中随机选择少量(20 或 40)个时间序列,同时保持各个试验的复杂性相当。

在开始实际任务之前,我们为参与者提供了有关可视化技术的教程,并通过示例向他们展示了如何执行四种类型的任务。他们也有足够的时间亲自尝试每种技术。然后,他们为 BG 执行 12(3* 2* 2) 任务,或为其他人执行 16(422) 任务。他们被要求尽可能快速、准确地完成任务。我们测量了任务时间和正确性。在研究结束时,参与者填写了一份调查问卷,对每种可视化技术进行主观评估。

6.1.5 假设

我们为这项研究建立了三个假设。

  1. 对于最大且相同的任务,IHG 和 RG 在任务时间和正确性上都优于 LG 和 BG。
  2. 对于频率任务,BG 和 RG 在任务时间和正确性上都会优于 LG 和 IHG。
  3. 对于置信度任务,RG 在区分真实测量值和插值值方面将优于 LG 和 IHG。
6.1.6 统计分析及结果

我们使用 4(可视化技术)3(不包括置信度的任务类型)2(时间序列数)重复测量方差分析 (RM-ANOVA) 来分析任务时间和正确性。关于任务时间,我们发现可视化技术的显着主效应ðF3;312 1⁄4 3:53;p < :05Þ。无花果。图7a和7b分别显示了按任务类型划分的每种技术的平均任务时间和正确性。为了分析可视化技术之间的差异,我们还对每种任务类型进行了 Tukey 的 HSD 事后测试(表 2)。
在这里插入图片描述

在这里插入图片描述

除了 BG 的相同任务外,结果支持我们的第一个和第二个假设。与 LG 相比,BG 的参与者完成相同任务的时间显着缩短,正确答案也明显更高。原因可能是BG使参与者能够通过预先感知时间序列的测量频率来快速过滤目标时间序列。

如图 8 所示,参与者通常花费更多的时间来完成 40 个时间序列的任务,而不是 20 个时间序列的任务。但是,也有例外,参与者在这两种情况下表现出相似的表现。出现异常的可能原因如下。
在这里插入图片描述

  1. 对于 RG 的 max 任务,参与者只需将感兴趣的值范围缩小到最大值即可立即识别目标时间序列。
  2. 对于同一任务,参与者可以通过 IHG 预先感知不同颜色的条带,并通过 BG 和 RG 掌握独特的条形出现频率,立即识别目标时间序列。相比之下,对于LG来说,他们必须利用基本的感知能力来寻找目标。
  3. 对于频率任务,参与者只需感知条形的整体出现模式,就可以通过BG和RG一目了然地掌握频率。

对于置信度任务,我们将选定的时间点分为三类后分析结果:(1)具有极值的真实测量点,(2)具有非极值的真实测量点,以及(3)两个相邻真实值之间的插值点测量点(图9)。对于实际测量点,LG 和 IHG 的置信度低于 RG。特别是,对于具有非极值的实际测量点,LG 和 IHG 的置信度与插值点的置信度一样低。这可能是因为 LG 和 IHG 中的连接线或填充区域使得很难判断这些测量点是否真实。参与者还回答说,他们实际上在执行 LG 和 IHG 的信心任务时感到困难(图 7c)。相比之下,参与者使用 RG 对置信值进行更合理的评级,轻松执行置信任务(图 7c 和 9)。
在这里插入图片描述

6.1.7 主观数据

我们要求每位参与者使用 7 点李克特量表来评估每项任务的难度 [评级:1 1⁄4 非常容易; 7 1⁄4 非常困难](图 7c)。我们使用带 Bonferroni 校正的弗里德曼检验分析了主观评分结果。我们发现可视化技术 ðX 2ð3Þ1⁄453:2;p < 0:001Þ 具有显着的主效应。每个任务的可视化技术之间的成对比较表明,在所有任务类型中,参与者在使用 RG 执行任务时比其他人具有更少或相同的难度(表 2)。

6.1.8 讨论

我们的对照用户研究结果支持了这三个假设,表明波纹图在任务时间、正确性和主观满意度方面总体上表现最好。我们的结果还表明,交互式地平线图并不是对不规则测量的时间序列数据进行测量频率相关分析的合适技术,尽管众所周知它有利于多个时间序列的定量比较[21]。尽管 BG 和 RG 之间的频率任务表现没有差异,但参与者评论说,当显示多个时间序列时,条形图会导致混乱和眼睛疲劳。

参与者评论说,了解实际测量结果之间的确定性程度很有帮助。他们可以清楚地看到波纹图中的变化,因为可视化确定性程度使他们能够将具有许多单独条形的时间序列视为格式塔(即统一的整体),而不是一系列分散的条形。

6.2 案例研究

6.2.1 数据集和程序

我们设计和开发了 Strscope,设计过程中涉及三名神经科医生。完成初始原型后,我们与神经科医生一起在真实领域进​​行了为期四个月的两个案例研究。在前两个月,我们每 2 或 3 周与两名参与者(参加中风奖学金计划的女性和男性医生)举行一次约 90 分钟的会议,交换想法和分享发现,同时在必要时改进原型。在剩下的两个月里,我们每两周与每位参与者举行一次 1 小时的会议。每次会议我们都采用以下程序: (1) 参与者向我们提供有关 Strscope 的反馈。 (2) 我们安装了改进版本并解释了改进之处。 (3)我们让参与者尝试Strscope来确认他们是否理解新功能。在此阶段,我们采用了改进的配对分析方法,仅当参与者请求帮助时才提供帮助。 (4)会后,我们根据反馈更新了Strscope,并通过电子邮件或电话等方式与与会者保持联系,解答他们的问题。

当两位参与者第一次尝试 Strscope 时,他们对其视觉和交互特性印象深刻,因为他们以前从未使用过这样的可视化工具。他们还感到兴奋的是,他们可以通过使用匹配、对齐和聚类来比较不同的组,从而找到特定组中的重要模式。

6.2.2 参与者1(P1)

P1 对血压变异性与急性缺血性中风症状性出血性转化 (SHT) 发生之间的关系感兴趣。 SHT是影响脑卒中治疗效果的重要因素之一。先前的研究表明,SHT的发生与血压的高变异性有关。但统计汇总措施并没有给他带来直观的理解,而且使用传统统计工具单独详细检查每条记录总是难以捉摸。

P1 决定使用 Strscope 进行病例对照研究。他首先定义了两组:病例是接受过 SHT 的患者,对照组是未接受过 SHT 的患者。他利用Strscope的匹配功能,根据初始收缩压(5毫米汞柱)和年龄(5岁)将病例中的每位患者与对照中的患者进行匹配。将时间线视图分成两个(向上和向下)后,他将案例分配给上面的视图,将控件分配给下面的视图。他立即注意到,这些病例中的患者测量血压的频率更高,住院时间也更长。为了进行详细分析,他根据 SHT 发病时间对患者进行了对齐,同时根据病例中匹配的患者的 SHT 发病时间对对照组中的患者进行了对齐。在病例中,与对照组相比,在 SHT 事件附近更频繁地观察到高值或低值。

为了分析 SBP 的变异性,他首先选择 DSBP 作为测量变量,并操纵调色板,使正值变为红色,负值变为蓝色。仅通过检查深蓝色或深红色区域的出现情况很难看出病例和对照之间变异性的差异。因此,他将波纹图的水平轴拖到底部,以仅查看具有正 DSBP 值的增加周期。以同样的方式,他将水平轴拖到顶部,只看到 DSBP 为负值的下降期(图 10)。然后他可以清楚地看到病例和对照之间的差异,例如,在附近的病例中更频繁地观察到血压的快速变化。 SHT事件的发生。在图 10 中 SHT 发生事件之前和之后的 6 小时内,代表 SBP 下降超过 20 的时期的蓝色区域在病例(上视图)中比在对照组(下视图)中出现得更频繁。
在这里插入图片描述

为了尽量减少患者个体差异的影响,他决定检查SBP值的偏差。他首先定义了一个名为“SBPean”的参考变量,作为出院前 3 天的平均 SBP。然后,他将测量变量更改为SBP-SBPean定义的新参考变量。他很容易发现,在SHT发生之前,存在很多极值,特别是案例中暗红色的值较高(图11)。此外,病例中更频繁地观察到深红色和深蓝色,表明收缩压的变异性较高。
在这里插入图片描述

在观察病例中的患者时,他发现一名患者的情况异常:该患者在SHT发生前约7小时表现出“SBP-SBP均值”值急剧下降(见图11中的黑色箭头)。进一步放大患者后,发现他发现“SBP-SBP均值”值大约从 25 下降到 –50(见图 12 中的黑色箭头)。他想知道为什么SBP值突然下降。他在EMR(电子病历)系统中查看了患者的病史。他发现该患者因大脑中动脉(大脑血管的一部分)蝶骨段闭塞而接受了机械血栓切除术的治疗。他通过治疗前后的两次 MRI 扫描再次确认了 SBP 值的突然下降,以清除有问题的血栓。
在这里插入图片描述

6.2.3 参与者2(P2)

在P2的临床研究中,她经常发现患者病情恶化时,血压会迅速升高或降低。但之前的研究显示出相互矛盾的结果,因为这些研究大多数是横断面的,仅比较各组之间的统计汇总测量值,而没有考虑血压变化的时间方面。 P2 希望通过使用 Strscope 直观地探索个体血压值及其随时间的变化,超越统计汇总测量。

当她加载数据集并按 TOAST(根据中风原因对中风进行分类)对患者进行排序后,她开始在数据集中发现:(1)总体而言,SBP 值在治疗后的一天内下降了。第一次测量; (2)“TOAST 2”和“TOAST 6”组患者住院时间较短; (3)‘TOAST 3’和‘TOAST 4’组患者的SBP值往往较低。

利用 Strscope 中的匹配和对齐功能,P2 还发现“TOAST 2”中腔隙性梗塞患者的血压在 END_progression 事件前后快速升高或降低。然后,她使用我们的增强型 I-kMeans 算法(第 5.3 节)进行聚类,将腔隙性梗塞患者分为五个簇:两个高血压簇、两个低血压簇和一个轻度高血压簇。她按照发病时间对齐记录,以检查从发病到 END_progression 事件的经过时间,簇之间是否存在差异。她观察到,在低血压人群中,END_progression 事件发生在发病后约 30 小时内(图 13)。但是,发生该事件的患者数量不足以得出她的观察有意义的结论。因此,在收集了更多腔隙性梗塞患者的时间序列后,她决定以同样的方式进行探索。
在这里插入图片描述

6.2.4 讨论

两个长期案例研究帮助我们测试了 Strscope 的功效和实用性。尽管 Strscope 是两位参与者的第一个时间序列数据可视化工具,但他们很快就熟练使用了它。我们允许他们在遇到任何问题时向我们寻求帮助。但是,在案例研究的第一个月后,他们在没有任何帮助的情况下熟练地使用了 Strscope。

他们使用排序、对齐和匹配功能来比较两组,这是血压数据分析探索的主要任务之一。他们可以轻松发现测量频率和变异性以及测量结果的差异,尤其是在特定事件之前和之后。这些发现证实了他们已经知道的事情,也得出了与之前的研究相矛盾的结果。

他们根据自己的目标和可用的显示空间,将视觉表示从熟悉的图形(例如折线图或条形图)更改为自己的波纹图。为了直观地看到多个记录的概览,他们经常使所有条形具有相同的 1 像素高度,然后调整调色板和置信区间(图 13)。对于参与者 1,为了只看到增加/减少的周期,他调整了水平轴的位置和 ROI 值。他对自己创建的图表仅显示峰值感到满意。他还可以通过增加波纹图的高度后调整ROI值来详细观察一条记录(图12)。他对我们的可视化模型和交互式小部件的评价如下:“在了解上下文后,我可以逐步缩小到我感兴趣的一系列值,这真是太好了。”

尽管我们的多尺度可视化模型使用户能够为给定的显示空间选择最佳表示,但可扩展性问题仍然存在。它只能扩展到每个时间序列占据一个像素高度的点。通过采用聚合或数据缩减技术可以进一步扩大规模,但随后我们可能会导致更聚合的概览,从而导致信息丢失。这种信息丢失在医学领域通常是不可接受的,因为它可能使医疗决策复杂化或误导医疗决策。

另一个限制是我们仅在一个领域(即具有血压数据的医学领域)进行了两个案例研究。需要进一步的案例研究来证明基于波纹图的 Strscope 不是特定于领域的工具。因此,其他领域的更多案例研究可能是有意义的未来工作。

7 结论和未来工作

在本文中,我们提出了一种多尺度可视化模型,即不规则测量的时间序列数据的波纹图,涉及测量频率和测量之间值的置信度。为了研究波纹图的功效和潜力,我们实现了一个交互式可视化工具 Strscope,其中我们提供了一个交互式小部件,以实现对波纹图和多个分析功能的直观控制。然后,我们通过进行受控用户研究和神经科医生的两个长期案例研究来评估波纹图和 Strscope。结果表明,我们的波纹图很有可能成为普遍适用的时间序列可视化模型。案例研究参与者可以在整个探索性分析过程中有效地利用 Strscope 的可视化模型和分析功能。

虽然波纹图仅关注离散时间点的定量值,但需要做更多的工作来推广 Strscope,使其不仅将时间轴处理为时间点,而且还处理时间间隔(例如,甘特图等表示形式)。我们还计划在时间变化率分析中采用不同的方法来适应患者之间的个体差异。例如,股票数据分析中使用的条件方差可以用作替代变量。此外,为了使我们的多分辨率聚类技术更加通用,有必要采用不同的小波变换,例如提升方案,这使得可以在不规则化不规则测量的时间序列的情况下进行离散小波变换。

致谢

这项工作得到了韩国政府 (MSIP) 资助的韩国国家研究基金会 (NRF) 赠款的支持(编号 2011-0030813、2010-0002266 和 NRF2013R1A1A3006706)。首尔国立大学 ICT 为本研究提供了研究设施。 Jinwook Seo 是通讯作者。

参考文献

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/775706.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

十大排序:插入/希尔/选择/堆/冒泡/快速/归并/计数/基数/桶排序 汇总(C语言)

目录 前言非线性时间比较类插入排序(1) 直接插入排序(2) 希尔排序 选择排序(3) 选择排序优化版(4) 堆排序 交换排序(5) 冒泡排序(6) 快速排序hoare版本挖坑版前后指针版非递归版 归并排序(7) 归并排序递归版非递归版 线性时间比较类(8) 计数排序基数排序与桶排序 总结 前言 在计…

昇思25天学习打卡营第16天|文本解码原理——以MindNLP为例

在大模型中&#xff0c;文本解码通常是指在自然语言处理&#xff08;NLP&#xff09;任务中使用的大型神经网络模型&#xff08;如Transformer架构的模型&#xff09;将编码后的文本数据转换回可读的原始文本的过程。这些模型在处理自然语言时&#xff0c;首先将输入文本&#…

自闭症儿童的治疗方法有哪些?

身为星贝育园自闭症儿童康复学校的资深教育者&#xff0c;我深知自闭症谱系障碍&#xff08;ASD&#xff09;儿童的教育与治疗需要一个全面、个性化的方案。在星贝育园&#xff0c;我们致力于为孩子们提供一个充满爱与理解的环境&#xff0c;采用多种科学验证的教育方法&#x…

【Java11】变量的初始化和内存中的运行机制

成员变量的初始化和内存中的运行机制 系统加载类或创建类的实例时&#xff0c;系统自动为成员变量分配内存空间&#xff0c;然后自动为成员变量指定初始值。 class Person {public String name; // 实例变量public static int eyeNum; // 类变量 }var p1 Person(); var p2 …

动态线程池思想学习及实践

引言 在后台项目开发过程中&#xff0c;我们常常借助线程池来实现多线程任务&#xff0c;以此提升系统的吞吐率和响应性&#xff1b;而线程池的参数配置却是一个难以合理评估的值&#xff0c;虽然业界也针对CPU密集型&#xff0c;IO密集型等场景给出了一些参数配置的经验与方案…

MQ:RabbitMQ

同步和异步通讯 同步通讯: 需要实时响应,时效性强 耦合度高 每次增加功能都要修改两边的代码 性能下降 需要等待服务提供者的响应,如果调用链过长则每次响应时间需要等待所有调用完成 资源浪费 调用链中的每个服务在等待响应过程中,不能释放请求占用的资源,高并发场景下…

【后端面试题】【中间件】【NoSQL】MongoDB查询优化2(优化排序、mongos优化)

优化排序 在MongoDB里面&#xff0c;如果能够利用索引来排序的话&#xff0c;直接按照索引顺序加载数据就可以了。如果不能利用索引来排序的话&#xff0c;就必须在加载了数据之后&#xff0c;再次进行排序&#xff0c;也就是进行内存排序。 可想而知&#xff0c;如果内存排序…

【RT-thread studio 下使用STM32F103-学习sem-信号量-初步使用-线程之间控制-基础样例】

【RT-thread studio 下使用STM32F103-学习sem-信号量-初步使用-线程之间控制-基础样例】 1、前言2、环境3、事项了解&#xff08;1&#xff09;了解sem概念-了解官网消息&#xff08;2&#xff09;根据自己理解&#xff0c;设计几个使用方式&#xff08;3&#xff09;不建议运行…

DataWhale-吃瓜教程学习笔记 (七)

学习视频**&#xff1a;第6章-支持向量机_哔哩哔哩_bilibili 西瓜书对应章节&#xff1a; 第六章 支持向量机 - 算法原理 几何角度 对于线性可分数据集&#xff0c;找距离正负样本距离都最远的超平面&#xff0c;解是唯一的&#xff0c;泛化性能较好 - 超平面 - 几何间隔 例…

堆叠的作用

一、为什么要堆叠 传统的园区网络采用设备和链路冗余来保证高可靠性&#xff0c;但其链路利用率低、网络维护成本高&#xff0c;堆叠技术将多台交换机虚拟成一台交换机&#xff0c;达到简化网络部署和降低网络维护工作量的目的。 二、堆叠优势 1、提高可靠性 堆叠系统多台成…

ServiceImpl中的参数封装为Map到Mapper.java中查询

ServiceImpl中的参数封装为Map到Mapper.java中查询&#xff0c;可以直接从map中获取到key对应的value

【Python机器学习】处理文本数据——多个单词的词袋(n元分词)

使用词袋表示的主要缺点之一就是完全舍弃了单词顺序。因此“its bad&#xff0c;not good at all”和“its good&#xff0c;not bad at all”这两个字符串的词袋表示完全相同&#xff0c;尽管它们的含义相反。幸运的是&#xff0c;使用词袋表示时有一种获取上下文的方法&#…

LeetCode热题100刷题3:3. 无重复字符的最长子串、438. 找到字符串中所有字母异位词、560. 和为 K 的子数组

3. 无重复字符的最长子串 滑动窗口、双指针 class Solution { public:int lengthOfLongestSubstring(string s) {//滑动窗口试一下//英文字母、数字、符号、空格,ascii 一共包含128个字符vector<int> pos(128,-1);int ans 0;for(int i0,j0 ; i<s.size();i) {//s[i]…

全端面试题15(canvas)

在前端开发领域&#xff0c;<canvas> 元素和相关的 API 是面试中经常被提及的主题。下面是一些常见的关于 HTML5 Canvas 的面试问题及解答示例&#xff1a; 1. 什么是 <canvas> 元素&#xff1f; <canvas> 是 HTML5 引入的一个用于图形渲染的标签。它本身并…

能否免费使用Adobe XD?

Adobe XD不是免费的。Adobe 目前XD采用订阅模式&#xff0c;提供订阅模式 7 每天试用期结束后需要付费购买&#xff0c;具体价格根据不同的订阅计划确定&#xff0c;包括每月购买&#xff0c;包括 9.99 美元或每月 99.99 美元&#xff0c;或者选择购买Adobe CreativeCloud整体订…

【qt】如何通过域名获得IP地址?

域名是什么呢?像www.baidu.com的baidu.com就是域名. 域名相当于是网站的门牌号. 域名可以通过 DNS 解析将其转换为对应的 IP 地址. 用我们获取IP地址的方式就可以,但是现在没有可以用另一种方法. 槽函数的实现: void MainWindow::lookupHost(const QHostInfo &hostInf…

Python学习笔记29:进阶篇(十八)常见标准库使用之质量控制中的数据清洗

前言 本文是根据python官方教程中标准库模块的介绍&#xff0c;自己查询资料并整理&#xff0c;编写代码示例做出的学习笔记。 根据模块知识&#xff0c;一次讲解单个或者多个模块的内容。 教程链接&#xff1a;https://docs.python.org/zh-cn/3/tutorial/index.html 质量控制…

RedHat / CentOS安装FTP服务

本章教程,记录在RedHat / CentOS中安装FTP的具体步骤。FTP默认端口:21 1、安装 epel 源 yum install -y epel-release2、安装 pure-ftpd yum -y install pure-ftpd3、修改默认配置 # 默认配置位于 /etc/pure-ftpd/pure-ftpd.conf,在配置文件中找到下面几个参数进行修改:#…

并发、多线程和HTTP连接之间有什么关系?

一、并发的概念 并发是系统同时处理多个任务或事件的能力。在计算中&#xff0c;这意味着系统能够在同一时间段内处理多个任务&#xff0c;而不是严格按照顺序一个接一个地执行它们。并发提高了系统的效率和资源利用率&#xff0c;从而更好地满足用户的需求。在现代应用程序中&…

C++ windows下使用openvino部署yoloV8

目录 准备版本&#xff1a; 准备事项: 选择配置界面&#xff1a; 下载界面&#xff1a; ​编辑 添加VS配置&#xff1a; 准备代码&#xff1a; yolov8.h yolov8.cpp detect.cpp 如何找到并放置DLL&#xff1a; 准备版本&#xff1a; opencv 4.6.0 openvino 2024.0…