Share via


Prevendo com o modelo de previsão médio (Tutorial de mineração de dados intermediário)

Em uma tarefa anterior desta lição, você usou o Construtor de Consultas de Previsão para criar uma consulta que gerava as previsões padrão para o modelo Previsão. Nesta tarefa, você aprenderá a criar uma consulta de previsão que aplique o modelo de vendas mundial a uma das regiões individuais.

Usando dados de substituição em uma previsão de série temporal

No SQL Server 2008, a funçãoPredictTimeSeries (DMX) tem dois novos parâmetros, EXTEND_MODEL_CASES e REPLACE_MODEL_CASES, que permitem personalizar previsões de série temporal.

  • EXTEND_MODEL_CASES permite adicionar dados a um modelo existente e fazer previsões com base nos dados novos.

  • REPLACE_MODEL_CASES permite substituir a série de dados usada para criar o modelo e usar dados de outras séries.

Neste cenário, você usará REPLACE_MODEL_CASES. No entanto, primeiro você deve configurar uma exibição da fonte de dados que contenha apenas os dados de substituição. Dados de substituição são os dados usados em cada série individual. Depois de criar a exibição da fonte de dados de substituição, é possível criar uma consulta de previsão que aplica o modelo geral aos dados de substituição.

Para criar a exibição da fonte de dados que contém os dados de substituição.

  1. No Gerenciador de Soluções, clique com o botão direito do mouse em Exibições de Fonte de Dados e, em seguida, selecione Nova Exibição da Fonte de Dados.

  2. No Assistente de Exibição da Fonte de Dados, faça as seguintes seleções:

    Fonte de Dados: Adventure Works DW2008R2

    Selecionar Tabelas e Exibições: não selecione nenhuma tabela.

    Nome: T1000 Pacific Region

  3. Clique em Concluir.

  4. Clique com o botão direito do mouse na superfície de design vazia de T1000 Pacific Region.dsv e, em seguida, selecione Nova Consulta Nomeada.

    A caixa de diálogo Criar Consulta Nomeada é aberta. Digite o nome novamente e, em seguida, adicione a seguinte descrição:

    Nome: T1000 Pacific Region

    Descrição: Filtrar vTimeSeries por região e modelo

  5. No painel de texto, digite a seguinte consulta:

    SELECT ReportingDate, ModelRegion, Quantity, Amount
    FROM dbo.vTimeSeries
    WHERE (ModelRegion = N'T1000 Pacific')
    
    ObservaçãoObservação

    Também é possível criar a consulta usando o Construtor de Consultas, mas é mais rápido digitar o texto da consulta. No entanto, depois de digitar o texto da consulta, você poderá clicar em outro painel para ver como o texto da consulta é analisado e como a consulta é criada a partir das tabelas de suporte. Talvez você também queira copiar o texto da consulta e salvá-lo em um arquivo de texto para que seja possível reutilizá-lo em outra série de dados.

  6. Clique em OK..

  7. Na superfície de design da Exibição da Fonte de Dados, clique com o botão direito do mouse em T1000 Pacific e, em seguida, selecione Explorar Dados para verificar se os dados foram filtrados corretamente.

Agora, você criará uma consulta de previsão de série temporal com sempre, mas adicionará o parâmetro REPLACE_MODEL_CASES para especificar que a série de dados na qual a previsão se baseia deve ser substituída por novos dados fornecidos. Você também deve especificar o mapeamento entre o modelo de mineração e a tabela de entrada.

Para criar a consulta de previsão e fornecer dados de substituição

  1. Se o modelo ainda não estiver aberto, clique duas vezes na estrutura AllRegios e no Designer de Mineração de Dados, clique na guia Previsão de Modelo de Mineração.

  2. No painel Modelo de Mineração, o modelo AllRegions já deve estar selecionado. Se ele não estiver selecionado, clique em Selecionar Modelo e, em seguida, selecione o modelo, AllRegions.

  3. No painel Selecionar Tabela(s) de Entrada, clique em Selecionar Tabela de Casos.

  4. Na caixa de diálogo Selecionar Tabela, altere a fonte de dados para T1000 Pacific Region e, em seguida, clique em OK.

    A exibição da fonte de dados criada é exibida como uma tabela com colunas. Algumas colunas talvez já estejam mapeadas para as colunas do modelo de mineração.

  5. Clique com o botão direito na linha de junção entre o modelo de mineração e os dados de entrada e selecione Modificar Conexões.

  6. Na caixa de diálogo Modificar Mapeamento, verifique se a coluna ReportingDate do modelo de mineração foi mapeada para a coluna ReportingDate dos dados de entrada.

  7. Na caixa de diálogo Modificar Mapeamento, na linha de AvgQty, clique em Coluna da Tabela e, em seguida, selecione T1000 Pacific.Quantity. Clique em OK.

    Esta etapa mapeia a coluna de quantidade agregada no modelo geral à coluna de quantidade da série de dados de substituição.

  8. Na grade, clique na primeira linha em branco, em Origem e, em seguida, selecione AllRegions. Na coluna Campo, selecione Região e, na coluna Alias, digite Model Used.

    Esta etapa adiciona uma coluna aos resultados que é possível consultar para as previsões do modelo geral.

  9. Clique em uma linha vazia e, em Origem, selecione Expressão Personalizada. Na coluna Alias, digite ModelRegion. Na coluna Critérios/Argumento, digite 'T1000 Pacific'.

    Esta etapa adiciona um rótulo aos resultados para que seja possível ver a que série a previsão se destina.

  10. Clique em uma linha vazia e, em Origem, selecione Função de Previsão. Na coluna Campo, selecione PredictTimeSeries. Na coluna Alias, digite Predicted Values.

  11. Arraste o campo AvgQty do painel Modelo de Mineração para a coluna Critérios/Argumento, usando a operação arrastar e soltar.

  12. Na coluna Critérios/Argumento, após o nome do campo, digite o seguinte texto: ,5, REPLACE_MODEL_CASES

    texto completo da caixa Critérios/Argumento deve ser: [AllRegions].[AvgQty],5,REPLACE_MODEL_CASES

  13. Clique em Resultados.

Exibindo os resultados

A consulta de previsão retorna resultados semelhantes aos da seguinte tabela:

Model Used

ModelRegion

Predicted Quantity

All Regions

T-1000 Pacific

$TIMEAvg Qty
7/25/2008 12:00:00 AM68
8/25/2008 12:00:00 AM52
9/25/2008 12:00:00 AM48
10/25/2008 12:00:00 AM56
11/25/2008 12:00:00 AM44

Para aplicar o modelo geral a uma série de dados diferente, como o modelo de produto T1000 na região da América do Norte, você deve criar uma consulta diferente para cada série. No entanto, em vez de recomeçar o processo, é possível editar a instrução DMX criada e filtrar as entradas de maneira diferente. Por exemplo, a seguinte instrução DMX representa a consulta recém-criada:

SELECT
  ([All Regions].[Region]) as [Model Used],
  ( 'T-1000 Pacific') as [ModelRegion],
  (PredictTimeSeries([All Regions].[Avg Qty],5, REPLACE_MODEL_CASES)) as [Predicted Quantity]
FROM
  [All Regions]
PREDICTION JOIN
  OPENQUERY([Adventure Works DW2008R2],
    'SELECT
      [ReportingDate]
    FROM
      (SELECT        ReportingDate, ModelRegion, Quantity, Amount
FROM            dbo.vTimeSeries
WHERE        (ModelRegion = N''T1000 Pacific'')) as [T1000 Pacific]
    ') AS t
ON
  [All Regions].[Reporting Date] = t.[ReportingDate] AND
   [All Regions].[Avg Qty] = t.[Quantity]

Para aplicá-la a um modelo diferente, é possível editar a instrução da consulta para substituir a condição do filtro e os rótulos aplicados a cada resultado. Por exemplo, se você alterar as condições do filtro e os rótulos de coluna substituindo 'Pacífico' por 'América do Norte', obterá previsões para o produto T1000 na América do Norte, com base nos padrões do modelo geral.

Modelo Usado

ModelRegion

Predicted Quantity

All Regions

T-1000 North America

$TIMEAvg Qty
7/25/2008 12:00:00 AM103
8/25/2008 12:00:00 AM84
9/25/2008 12:00:00 AM79
10/25/2008 12:00:00 AM85
11/25/2008 12:00:00 AM68