数据挖掘模型中的查询时序模型


在对数据挖掘模型创建查询时,可以创建内容查询,也可创建预测查询。内容查询提供有关分析时发现的模式的详细信息,预测查询使用模型中的模式来对新数据进行预测。例如,时序模型

的内容查询可能提供有关检测到的周期性结构的其他详细信息,而预测查询可能给出接下来 5-10 个时间段的预测。也可以使用查询来检索有关模型的元数据。

  时序模型的内容查询
  模型内容查询可以提供有关模型的基本信息,例如创建模型时使用的参数、上次处理模型的时间。以下示例说明了使用数据挖掘架构行集查询模型内容的基本语法。

  示例查询 1:检索模型的周期提示
  通过查询 ARIMA 树或 ARTxp 树可以检索在时序内找到的周期。但是,已完成的模型中的周期可能与创建模型时指定为提示的周期不同。若要检索创建模型时作为参数提供的提示,可以使

用以下 DMX 语句来查询挖掘模型内容架构行集:


Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->SELECT MINING_PARAMETERS
FROM $system.DMSCHEMA_MINING_MODELS
  WHERE MODEL_NAME = '<model name>'部分结果:


Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->MINING_PARAMETERS 
COMPLEXITY_PENALTY=0.1,MINIMUM_SUPPORT=10,PERIODICITY_HINT={1,3},….
  默认周期提示为 {1},将出现在所有模型中;此示例模型是使用可能不在最终模型中出现的附加提示创建的。

  注意:
 此处已将结果截断以提高可读性。
 
  示例查询 2:检索 ARIMA 模型的公式
  通过查询单个树中的任何节点,可以检索 ARIMA 模型的公式。请记住,ARIMA 模型中的每个树都表示不同的周期,如果有多个数据序列,则每个数据序列都将有自己的周期树集。因此,若

要检索特定数据序列的公式,必须先标识树。

  例如,TA 前缀表示该节点是 ARIMA 树的一部分,而 TS 前缀用于 ARTXP 树。通过查询 NODE_TYPE 值为 27 的节点的模型内容可以找到所有的 ARIMA 根树。也可以使用 ATTRIBUTE_NAME

的值找到特定数据序列的 ARIMA 根节点。该查询示例找到表示 R250 型号在 Europe 地区销售数量的 ARIMA 节点。


Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->SELECT NODE_UNIQUE_NAME
FROM Forecasting.CONTENT
WHERE ATTRIBUTE_NAME = 'R250 Europe: Quantity"
  AND NODE_TYPE = 27通过使用该节点ID,可以检索关于该树的 ARIMA 公式的详细信息。下面的 DMX 语句检索该数据序列的  
ARIMA 公式的缩写形式。该语句还从嵌套表 NODE_DISTRIBUTION 中检索截获。在此示例中,通过引用该节点的唯一 IDTA00000007 获取公式。但是,您需要使用不同的节点 ID,这样您可能

会从模型中获得稍有不同的结果。


Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->SELECT FLATTENED NODE_CAPTION as [Short equation],
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE
FROM NODE_DISTRIBUTION) as t
FROM Forecasting.CONTENT
  WHERE NODE_NAME = 'TA00000007'示例结果:

  短公式  t.ATTRIBUTE_NAME  t.ATTRIBUTE_VALUE 


Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->ARIMA (2,0,7)x(1,0,2)(12)
  R250 Europe:Quantity(Intercept)
  15.24….

  ARIMA (2,0,7)x(1,0,2)(12)
  R250 Europe:Quantity(Periodicity)
  1

  ARIMA (2,0,7)x(1,0,2)(12)
  R250 Europe:Quantity(Periodicity)
  12
  有关如何解释此信息的详细信息,请参阅时序模型的挖掘模型内容(Analysis Services - 数据挖掘)。
示例查询 3:检索 ARTxp 模型的公式
  对于 ARTxp 模型,不同的信息存储在树的每个级别。有关 ARTxp 模型的结构以及如何解释公式中的信息的详细信息,请参阅时序模型的挖掘模型内容(Analysis Services - 数据挖掘)

  下面的 DMX 语句检索部分 ARTxp 树的信息,表示 R250 型号在 Europe 的销售数量。

  注意:
  必须将嵌套表列的名称 VARIANCE 括在括号中,以便将它与同名的保留关键字区分开来。由于嵌套表列 PROBABILITY 和 SUPPORT 在大多数情况下为空,因此这两列不包括在内。


Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->SELECT NODE_CAPTION as [Split information],
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE,
???[VARIANCE]
???FROM NODE_DISTRIBUTION) AS t
FROM Forecasting.CONTENT
WHERE NODE_ATTRIBUTE_NAME = 'R250 Europe:Quantity'
  时序模型的预测查询
  在 SQL Server 2008 Enterprise 中,可以向时序模型添加新数据,并自动将新数据合并到模型中。您可以通过下列两种方式之一向时序挖掘模型添加新数据:

  使用 PREDICTION JOIN 将外部源中的数据联接到定型数据。

  使用单独预测查询每次向数据提供一个切片。有关如何创建单独预测查询的信息,请参阅创建 DMX 预测查询。

  向时序模型添加新数据时,可以指定是否扩展或替换定型数据:

  如果扩展该数据,Analysis Services 会将新数据添加到现有定型数据的末尾。定型事例的数量会增加。如果需要连续使用新数据更新模型,扩展模型事例很有用。
 
  若要扩展数据,可以在时序模型上创建一个 PREDICTION JOIN,指定新数据源,然后使用 EXTEND_MODEL_CASES 参数。

  如果要替换数据,Analysis Services 将保留定型模型,但使用新数据替换全部或部分现有定型事例。因此,定型数据的大小永远不会发生变化,但事例本身却可以使用更新的数据不断进

行替换。如果您提供了足够的新数据,则可以使用全新的序列替换定型数据。

  如果您想对一组事例的某个模型定型,然后将该模型应用到不同的数据序列,则替换模型事例非常有用。
若要替换数据,可以在时序模型上创建一个 PREDICTION JOIN,指定新数据源,然后使用 REPLACE_MODEL_CASES 参数。

  添加新数据时不能进行历史预测。另外,无论您是扩展还是替换定型数据,预测始终发生在结束原始定型集的时间戳处。因此,如果您的新数据包含 n 个时间段,并且您请求对时间步长 1

至 n 的预测,则预测将与新数据的时间段一致。若要获取对数据未覆盖的时间段的新预测,您必须从新数据序列之后的时间段 n+1 处开始预测,或者确保您请求了其他的时间段。

  例如,假定现有模型具有六个月积累的数据。您想通过添加最近三个月的销售数字来扩展该模型。同时,您还想对接下来三个月进行预测。添加新数据时如果只想获得新的预测,则将起点

指定为时间段 4,终点指定为时间段 7。您可能还要请求全部六个预测,但是,前三个预测的时间段会与刚添加的新数据重叠。

  使用 EXTEND_MODEL_CASES 进行预测
  根据您是要扩展还是替换模型事例,预测行为会有所不同。如果要扩展模型,新数据会附加到序列的末尾,并且定型集的大小会增加。但是,用于预测查询的时间段始终从原始序列的末尾

开始。因此,如果您要添加三个新数据点并请求六个预测,返回的前三个预测将会与新数据重叠。在这种情况下,Analysis Services 会返回实际的新数据点,而不是进行预测,直到所有新

数据点用完为止。然后,Analysis Services 会根据组合序列进行预测。

  通过这种行为,您可以添加新数据,然后在预测图表中显示实际的销售数字,而不是查看预测。

  例如,若要添加三个新数据点并进行三个新预测,您需要执行下列操作:

  在时序模型上创建一个 PREDICTION JOIN,然后指定三个月新数据的来源。

  请求六个时间段的预测。为此,请指定 6 个时间段,其中起点是时间段 1,终点是时间段 7。这仅适用于EXTEND_MODEL_CASES。

  若要仅获取新预测,请将起点指定为 4,终点指定为 7。

  您必须使用参数 EXTEND_MODEL_CASES。
  将返回前三个时间段的实际销售数字,并返回接下来三个时间段的基于扩展模型的预测
使用 REPLACE_MODEL_CASES 进行预测
  替换模型中的事例时,模型的大小保持不变,但是 Analysis Services 将替换模型中的各个事例。这对于交叉预测以及需要让定型数据集的大小保持一致的情形很有用。

  例如,您的一个商店的销售数据不足。您可以对位于特定地区的所有商店的销售量计算平均值,然后定型一个模型,以此来创建一个常规模型。然后,为了对销售数据不足的商店进行预测

,可以仅为该商店创建一个有关新销售数据的 PREDICTION JOIN。在进行此操作时,Analysis Services 会保留从地区模型中派生的模式,而使用各个商店的数据替换现有的定型事例。最后

,您的预测值将更为接近各个商店的趋势线。

  使用 REPLACE_MODEL_CASES 参数时,Analysis Services 会连续将新事例添加到事例集的末尾,并从事例集的开头删除相应数量的事例。如果您要添加的新数据比原始定型集中的数据多,

Analysis Services 将丢弃最早的数据。如果您提供了足够的新值,则预测可以基于全新的数据。

  例如,假如您已经对包含 1000 行的事例数据集定型了自己的模型。然后您添加了 100 行新数据。Analysis Services 会从定型集中删除前 100 行,并向该定型集的末尾添加 100 行新数

据,总和仍然是 1000 行。如果您添加了 1100 行新数据,则只使用最新的 1000 行。

  以下是另一个示例。若要添加新的三个月积累的数据并进行三个新预测,您需要执行下列操作:

  在时序模型上创建 PREDICTION JOIN,并使用 REPLACE_MODEL_CASE 参数。

  指定三个月新数据的来源。该数据可能来自与原始定型数据完全不同的来源。

  请求六个时间段的预测。为此,请指定 6 个时间段,或者将起点指定为时间段 1,终点指定为时间段 7。
注意:

  与 EXTEND_MODEL_CASES 不同,您不能返回作为输入数据添加的相同值。返回的全部六个值都是基于更新模型的预测,其中包括旧数据和新数据。

  注意:
  对于 REPLACE_MODEL_CASES,从时间戳 1 开始获取基于新数据的新预测,这会替换旧的定型数据。
 
  缺失值的替代
  在通过 PREDICTION JOIN 语句向时序模型添加新数据时,新数据集不能有任何缺失值。如果有任何序列不完整,则该模型必须使用 Null、数值平均值、特定数值平均值或预测值来替换缺

失的值。如果指定了 EXTEND_MODEL_CASES,Analysis Services 会将缺失值替换为基于原始模型的预测。如果使用 REPLACE_MODEL_CASES,则 Analysis Services 会将缺失的值替换为您在

MISSING_VALUE_SUBSTITUTION 参数中指定的值。

  预测函数的列表
  所有 Microsoft 算法均支持一组通用的函数。但 Microsoft 时序算法支持下表中列出的其他函数。

  Lag
  返回当前事例的日期与定型集的最近日期之间的若干时间段。

  该函数的一个典型用途是标识最近的定型事例,以使您可以检索有关这些事例的详细数据。
 
  PredictNodeId
  返回指定的可预测列的节点 ID。

  该函数的一个典型用途是标识生成特定预测值的节点,以使您可以查看与该节点关联的事例、公式以及其他详细信息。
 
  PredictStdev (DMX)
  返回指定的可预测列中预测的标准偏差。

  该函数取代时序模型不支持的 INCLUDE_STATISTICS 参数。
 
  PredictVariance
   返回指定可预测列的预测方差。

  该函数取代时序模型不支持的 INCLUDE_STATISTICS 参数。
 
  PredictTimeSeries (DMX)
  返回时序数据的历史预测值或未来预测值。

  您还可以通过使用常规预测函数 Predict (DMX) 来查询时序模型


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3