机器学习中使用的统计数据类型

2025年2月3日 | 阅读11分钟

在机器学习领域,任何强大模型的灵感都来自于统计学。理解不同形式的事实对于选择合适的算法、预处理策略和分析方法至关重要。本文将深入探讨统计学中用于机器学习的关键统计学数据类型,重点介绍它们的特性、重要性以及它们如何影响建模过程。

1. 数值(定量)数据

数值数据或定量数据是指可以测量并以数字表示的数据。这类数据代表数量,使其能够执行加法、减法、乘法和除法等数学运算。数值数据在许多统计分析和机器学习算法中至关重要,因为它提供了可以直接分析的精确信息。

数值数据还可以进一步分为两个主要子类型:连续数据和离散数据。

连续数据

连续数据可以在给定范围内取任何值。这类数据通常来自测量,其中可能的值是无限的,并且可以包含小数点。在精度很重要的场景中使用连续数据,并且数据点可以平滑地变化,没有间隙或跳跃。

连续数据示例

  • 身高:一个人的身高可以用米或厘米来测量,它可以在可能的范围内取任何值。
  • 体重:与身高类似,体重可以用公斤或磅来测量,并且可以包含小数。
  • 温度:无论以摄氏度还是华氏度计,温度读数都可以连续变化并包含小数。
  • 时间:时间,以秒、分钟或小时为单位,是连续的,并且可以分解为更小的单位。

连续数据用例

  • 回归分析:连续数据通常用于回归模型,其目标是基于一个或多个预测变量来预测连续结果变量。
  • 科学研究:在实验和研究中,连续数据可以精确测量和分析变量,例如药物对血压的影响。

离散数据

然而,离散数据是指只能取特定、不同值的数据。这些值通常是整数,代表可计数的数量。与连续数据不同,离散数据不包含小数或分数,并且通常是计数而不是测量的结果。

离散数据示例

  • 班级学生人数:学生人数只能是整数(例如,20、21、22),不能取分数。
  • 停车场汽车数量:与学生人数类似,这是一个可数数量,只能用整数表示。
  • 批次中的缺陷数量:在生产中,计算并报告批次中有缺陷的物品数量作为离散数字。

离散数据用例

  • 分类任务:离散数据通常用于分类问题,其目标是将数据分类到不同的组中。
  • 计数数据分析:在流行病学等领域,离散数据用于分析计数数据,例如疾病的病例数量。

在机器学习中的重要性

数值数据是机器学习的基础,因为它有助于开发可以预测结果、识别模式并做出数据驱动决策的模型。连续数据在回归和时间序列分析等任务中特别有用,在这些任务中需要量化变量之间的关系。离散数据虽然不如连续数据灵活,但在涉及分类和计数数据方面的任务中至关重要。

了解数据是连续的还是离散的,有助于选择正确的算法和预处理策略。例如,在用于模型之前,连续数据可能需要进行归一化或标准化,而离散数据在使用于分类任务时,可能需要使用独热编码等技术进行转换。

2. 分类(定性)数据

分类数据或定性数据是指可以归类而不是以数值测量或计数的数据。这类数据代表描述物品或事件的特征或属性,使其与处理数量的数值数据区分开来。分类数据是许多统计分析和机器学习应用程序的基石,尤其是在分类、聚类和分段等任务中。

分类数据可分为两大类:标称数据和有序数据。

标称数据

标称数据包括没有任何固有顺序或排名的类别。每个类别都是一个不同的标签,实际上是物品或事件的属性名称。类别是互斥的,这意味着每个数据点只能属于一个类别。重要的是,类别之间没有数量关系,也没有“更好”或“更差”的类别。

标称数据示例

  • 性别:类别包括“男性”、“女性”和“非二元”。
  • 婚姻状况:类别包括“单身”、“已婚”、“离异”和“丧偶”。
  • 宠物类型:类别包括“狗”、“猫”、“鸟”等。
  • 原籍国:类别包括“美国”、“加拿大”、“德国”等。

标称数据用例

  • 分类问题:在机器学习中,标称数据用于分类问题,目标是对数据点进行分类。例如,预测电子邮件是“垃圾邮件”还是“非垃圾邮件”。
  • 市场细分:企业使用标称数据根据偏好或行为等特征将客户细分为组,例如按最喜欢的购买产品类别对客户进行分类。

有序数据

有序数据与标称数据类似,都是分类的,但有一个重要区别:类别之间有清晰、有意义的顺序或排名。虽然类别的顺序很重要,但它们之间的间隔不一定相等或一致。当类别之间的关系暗示某种形式的层次结构或进展时,通常会使用有序数据。

有序数据用例

  • 调查分析:有序数据通常用于调查,受访者在量表上对他们的经验或看法进行评分,例如满意度或同意度。
  • 排名系统:有序数据在排名系统中至关重要,例如按质量对电影进行排名或按客户评分对产品进行排名。

在机器学习中处理分类数据

在机器学习中,分类数据通常需要在输入模型之前转换为数值格式,因为许多算法需要数值输入。编码分类数据的最常见技术是:

  • 标签编码:此方法为每个类别分配一个唯一的整数。虽然对有序数据很有用,但标签编码可能会无意中在标称数据中引入有序关系,从而可能误导模型。
  • 独热编码:独热编码为每个类别创建二进制列,其中每行在所属类别上具有值 1,在其他类别上为 0。此技术对于标称数据特别有效,因为它防止了类别之间的任何隐含排序。
  • 有序编码:对于有序数据,可以使用有序编码,其中每个类别根据其顺序分配一个数值。

在机器学习中的重要性

分类数据在许多机器学习任务中都很重要,尤其是在涉及分类和分段的任务中。如何编码和处理这些数据会显着影响模型的性能。例如,在决策树模型中,特征的拆分方式会影响预测的准确性。正确处理分类数据可确保模型能够有效地捕获数据中的模式和关系。

3. 二元数据

二元数据是一种特殊的分类数据,只有两个可能的类别或结果。这些类别通常表示为“0”和“1”、“真”和“假”或“是”和“否”。由于其简单性,二元数据在统计学、机器学习和数据分析等各个领域得到了广泛应用,尤其是在涉及决策或分类的任务中。

二元数据的特征

二元数据在结构上是独特的,因为它仅限于两个不同的状态。此特征使其在结果明显是二分的任务中特别有用——即只有两种可能的状态或条件的情况。二元数据可用于模拟各种现实场景,包括事件是否发生、特征是否存在或缺失,或者对象是否被归类到两个组之一。

二元数据示例

  • 性别:表示为“男性”(0)和“女性”(1),或“女性”(0)和“男性”(1),具体取决于编码方案。
  • 贷款审批:表示为“已批准”(1)和“未批准”(0)。
  • 电子邮件分类:表示为“垃圾邮件”(1)和“非垃圾邮件”(0)。
  • 电灯开关:表示为“开”(1)和“关”(0)。

二元数据用例

  • 分类问题:二元数据通常用于二元分类任务,其目标是预测两个可能结果中的一个。例如,预测客户是否会购买(“是”或“否”)。
  • 医疗诊断:在医疗保健领域,二元数据用于根据疾病的存在或不存在来对患者进行分类(例如,疾病的“阳性”或“阴性”)。
  • 质量控制:在生产中,二元数据用于将产品分类为“有缺陷”(1)或“无缺陷”(0)。

在机器学习中处理二元数据

二元数据很容易在机器学习中处理,因为它已经处于许多算法可以直接处理的数值格式。但是,考虑二元数据的表示和解释方式很重要,因为这可能会影响模型的性能。

  • 标签编码:二元数据可以使用标签编码来表示,其中一个类别被赋值为“0”,另一个类别被赋值为“1”。此方法简单且对许多模型有效。
  • 逻辑回归:逻辑回归是用于二元分类任务的常用算法。它对给定输入属于特定类别的概率进行建模,使其非常适合二元数据。
  • 支持向量机 (SVM):SVM 通常也用于二元分类任务,目标是找到分离两个类别的最优超平面。

在机器学习中的重要性

二元数据在许多机器学习应用中发挥着至关重要的作用,尤其是在涉及决策制定的领域。其简单性和清晰性使其成为二元分类问题的理想选择,在这些问题中,模型需要在可能的结果之间进行选择。例如,在欺诈检测中,模型必须确定交易是欺诈性(“欺诈”)还是合法性(“非欺诈”)。

此外,二元数据可以用作更复杂的机器学习模型中的目标变量或特征。例如,在客户流失预测模型中,目标变量可能是二元的,表示客户是会流失(“流失”)还是会留下(“不流失”)。同样,二元特征可能表示客户上个月是否进行了购买(“是”或“否”)。

4. 时间序列数据

时间序列数据是一种在定期时间间隔内收集、记录或观察到的数据。与不同数据类型不同,时间序列数据的特点是其顺序性,其中数据点的顺序对于分析至关重要。这种时间成分使时间序列数据独一无二,因为它不仅捕获了变量随时间的值,还捕获了数据中可能存在的模式、趋势和季节性影响。

时间序列数据广泛应用于金融、经济、天气预报、医疗保健和工程等各个领域。它对于预测未来值、分析趋势和理解变量如何随时间变化的任务至关重要。

时间序列数据的特征

时间序列数据有几个关键特征,使其区别于其他类型的数据:

  • 时间顺序:记录数据点的顺序很重要。与其他数据类型(其中数据点的顺序可能是任意的)不同,时间序列数据很大程度上依赖于其时间顺序。
  • 自相关:时间序列数据通常表现出自相关性,其中一个时间点的值与先前时间点的值相关。在对时间序列数据建模时,应考虑这种依赖性。
  • 趋势:趋势是数据随时间的长期增长或下降。趋势可以是线性的,也可以是非线性的,并且通常受到经济增长、技术进步或环境变化等潜在因素的影响。
  • 季节性:季节性是指数据中在特定时期(例如,每日、每月或每年)发生的规律性、重复性模式或周期。例如,零售销售在每年假期期间可能会增加。
  • 噪声:时间序列数据也可能包含不遵循任何可识别模式的随机波动或噪声。这些通常归因于外部因素或测量错误。

时间序列数据示例

  • 股票价格:多年来公司股票的每日收盘价。
  • 天气数据:一周内的每小时温度读数或多年内的月度降雨量。
  • 经济指标:季度 GDP 增长率、月度失业率或年度通货膨胀率。
  • 心率监测:多年来对患者心率的连续记录。

时间序列数据用例

  • 预测:时间序列数据最常见的应用之一是根据历史数据预测未来值。这在金融(预测股票价格)、气象学(预测天气)和经济学(预测经济增长)等领域至关重要。
  • 异常检测:时间序列数据经常用于检测异常模式或异常,例如识别金融交易中的潜在欺诈或检测工业环境中的设备故障。
  • 趋势分析:分析时间序列数据中的长期趋势有助于理解变化的根本原因,例如识别增长机会或评估政策变化的影响。
  • 季节性分析:理解季节性模式对于零售和农业等行业至关重要,在这些行业中,需求或产出会随着一年中的时间而可预测地变化。

在机器学习中处理时间序列数据

时间序列数据需要专门的技术和模型,这些技术和模型能够解释其时间性质和自相关性。一些常见的技术和策略包括:

  • 时间序列分解:此方法包括将时间序列分解为其组成部分:趋势、季节性和残差(噪声)。这有助于理解潜在模式并做出更好的预测。
  • 移动平均:移动平均通过对指定时间窗口内的数据点进行平均来平滑短期波动。此技术有助于识别数据中的趋势。
  • ARIMA 模型:自回归综合移动平均 (ARIMA) 模型广泛用于时间序列预测。它们结合了自回归 (AR)、移动平均 (MA) 和差分来捕捉趋势、季节性和噪声。
  • 指数平滑:此方法为过去的观测分配指数递减的权重,对最近的数据给予更多重要性。当数据显示出趋势或季节性时,它对于预测很有用。
  • 长短期记忆 (LSTM) 网络:LSTM 是一种循环神经网络 (RNN),尤其擅长对具有长期依赖性的时间序列数据进行建模。它通常用于深度学习应用中的时间序列预测。

在机器学习中的重要性

时间序列数据在机器学习中至关重要,因为它使模型能够根据数据中存在的时间模式做出预测。在许多实际应用中,能够预测未来值、检测异常和理解趋势都非常有价值。然而,时间序列数据的顺序性质也带来了挑战,包括处理缺失数据、处理自相关和选择合适的模型。

在处理时间序列数据时,选择正确的工具和技术以有效捕获时间依赖性和模式非常重要。对于静态数据效果好的模型,如果不能很好地处理时间维度,它们在处理时间序列数据时可能表现不佳。