了解最新技术文章
预测分析是分析历史数据并尝试预测接下来会发生什么的通用方法。许多组织使用这种类型的分析来预测未来的销售、预期成本、设备故障或任何其他潜在事件。
测试数据分析模型与测试大多数其他类型的软件不同。在测试模型性能的同时,您还测试了它在数据上的表现。任何模型的准确性都取决于模型本身以及为其提供数据的数据。一个好的模型在不同的数据集上表现良好,并且不会偏向一组数据。然而,测试不足可能会在模型中留下未解决的偏差和方差,从而降低其整体价值。
让我们看看如何测试预测分析模型以及要避免哪些陷阱。
各种规模的组织可用的数据量和种类的增长速度快于完全解释所有数据的能力。简而言之,需要处理的数据太多了。当今的组织意识到他们的数据有多么有价值,但他们经常需要帮助来理解数据。
例如,当飓风来临时,沃尔玛商店应该储备什么产品?有趣的答案是草莓馅饼。沃尔玛使用数据分析模型来审查即将到来的飓风如何影响不同产品的销售,而这些烤面包机糕点却被抢购一空。他们了解到,他们可以使用这些分析模型中的数据来帮助他们为客户需求做好准备并增加利润。
预测分析模型有多种形式。一些更常见的模型类型包括线性回归、逻辑回归、时间序列、决策树、神经网络、支持向量机 和朴素贝叶斯分类器。每个模型最适合特定类型的数据和所需的输出。
更常见的预测模型类型之一是线性回归。简单来说,线性回归将一条线拟合到数据集,从而可以根据多个输入值(从x 1 到xi )轻松预测值 y 。它不能很好地映射到所有类型的数据,但在适当的情况下,它可以根据多个数据样本预测准确的结果。
例如,假设数据分析师检查每月销售额和广告支出。在不深入了解如何构建模型的任何细节的情况下,假设数据分析师发现线性回归方程y = 125.2 + 43.4 x最能代表广告支出x与最终销售额y之间的关系。回归方程绘制一条与观测数据最准确匹配的线。
一旦有了方程,您就可以用它来进行预测。如果您在广告上投入 10,000 美元,您期望看到的月销售额是多少?要回答这个问题,只需将广告投资代入等式:y = 125.2 + 43.4 * 10,000。在本例中,您的预期销售额将为 434,125.20 美元。
那么,这是否意味着 20,000 美元的广告投资将带来 868,250.40 美元的销售额?也许,也许不是。所有分析模型都有局限性。您的模型可能不是建立在高达 20,000 美元的广告投资之上的。模型构建过程的一部分是测试模型的工作效果。
测试分析模型远远超出了评估算法的准确性,并且需要这种彻底性来确定模型在多大程度上满足其最初的目标。模型测试必须包括技术准确性和业务目标一致性。
适用于 QA 和开发团队的现代测试用例管理软件
下载免费试用版
测试预测分析模型不仅仅是对数据进行迭代。它必须包括检查模型在提供不同输入数据集时的表现如何。
预测数据分析模型背后的想法是利用当前数据来预测未来的结果。这意味着您希望您的模型能够处理今天的数据以及下周和下个月的数据。但由于在当前数据上表现出色的模型在其他时候可能表现不佳,因此需要通过测试来揭示这将带来多大的风险。
您可以控制的两种模型误差是偏差和方差。这两类错误可能会相互影响,需要微妙的平衡才能产生稳定的模型。
由于过于依赖一个或多个特征或模型分析预测输出值的输入,模型中会引入偏差误差。在代数中,您了解到这些称为变量。
在上面的线性回归模型中,x 是输入特征,y 是输出。在现实分析中,大多数模型使用多个不同的特征或变量作为输入。更现实的模型可能会考虑一年中的月份、相关的消费者信心指数,甚至可能考虑地理位置,而不是仅仅考虑广告投资。大多数现实生活模型都需要考虑许多 x 值来预测输出值 y。
上面显示的示例回归方程具有非常高的偏差。这意味着整个预测依赖于单个输入值,这不是很准确。更好的预测会考虑几个不同的关键特征。诀窍是确定哪些功能重要,哪些功能不重要。
这就是测试在模型准确性和可用性方面发挥关键作用的地方。一般来说,高偏差模型,例如线性回归和逻辑回归,很容易训练,但对特征选择非常敏感。另一方面,低偏差模型,例如决策树和支持向量机,需要更多的数据和时间来训练,但对特征选择不太敏感。
方差错误是当模型使用不同的数据集运行时遇到的错误。完美的模型将在任何数据集上提供相同的结果,但没有模型是 100% 完美的。目标是尽可能减少方差,以便模型可以专注于揭示数据集中隐藏的知识。
将方差与偏差结合起来考虑的问题是,这两种类型的误差往往呈反比关系。这意味着在许多情况下,低偏差模型表现出高方差,反之亦然。关键是通过综合测试尽可能平衡这两类错误。
测试分析模型是整个模型开发的关键组成部分。如果没有对与操作数据一致的数据进行详尽的训练和测试,那么一个伟大的模型可能会表现不佳,并且无法达到其设计目标。
仅多次运行模型是不够的。预测分析模型的本质是必须首先对其进行训练,然后在操作数据上执行。训练步骤是使用一组数据运行模型的过程。训练过程实际上就是建立模型的过程。还记得我们的示例回归方程吗?
常数 125.2 和x系数 43.4 来自模型构建或训练步骤。
为了构建和测试模型,分析师将输入数据集分成两个或多个子集段。一段数据用于训练模型,然后使用非训练数据段运行模型。
另一种常见的技术是将数据集分成至少三个部分。第三部分是验证数据集。这使分析师能够训练模型,在操作数据上运行模型,然后使用验证数据集运行它。您可以比较操作数据集和验证数据集的结果,以确定模型执行的一致性。
这种使用多个数据集的过程也可以扩展为执行一种可以验证模型结果的测试,称为交叉验证。交叉验证要求将操作数据集分割成任意数量的子集。关键是多次运行模型测试,每次使用不同的子集作为训练数据集。训练模型后,使用其他子集作为操作数据运行模型。通过使用不同的训练数据集子集比较每次运行的输出,可以轻松确定您的模型是一致的还是不可靠的。
所有分析模型测试都取决于数据的质量。如果您有一个良好的起始模型、大量数据和严格的测试方案,您就可以构建有助于预测未来事件的模型。这可以帮助您的组织实现其战略目标。