Esecuzione di query su un modello Linear Regression (Analysis Services - Data mining)

Quando si crea una query su un modello di data mining, è possibile creare una query contenuto, che fornisce dettagli sui criteri individuati durante l'analisi, oppure una query di stima, che utilizza i criteri presenti nel modello di data mining per eseguire stime relative a nuovi dati. Una query sul contenuto potrebbe ad esempio fornire dettagli aggiuntivi sulla formula di regressione, mentre una query di stima potrebbe indicare se un nuovo punto dati si adatta al modello. Utilizzando una query è inoltre possibile recuperare metadati relativi al modello.

In questa sezione viene illustrato come creare query per i modelli basati sull'algoritmo Microsoft Linear Regression.

Nota

Poiché la regressione lineare è basata su un case specifico dell'algoritmo Microsoft Decision Trees, sono presenti molte somiglianze e alcuni modelli di albero delle decisioni che utilizzano attributi stimabili continui possono contenere formule di regressione. Per ulteriori informazioni, vedere Riferimento tecnico per l'algoritmo Microsoft Decision Trees.

Query contenuto

Utilizzo del set di righe dello schema di data mining per determinare i parametri utilizzati per un modello

Utilizzo di DMX per restituire la formula di regressione per il modello

Restituzione del solo coefficiente per il modello

Query di stima

Esecuzione della stima del reddito mediante una query singleton

Utilizzo delle funzioni di stima con un modello di regressione

Ricerca di informazioni sul modello di regressione lineare

La struttura di un modello di regressione lineare è estremamente semplice: il modello di data mining rappresenta i dati come nodo singolo che definisce la formula di regressione. Per ulteriori informazioni, vedere Contenuto dei modelli di data mining per i modelli di regressione logistica (Analysis Services - Data mining).

Torna all'inizio

Esempio di query 1: Utilizzo del set di righe dello schema di data mining per determinare i parametri utilizzati per un modello

Eseguendo una query sul set di righe dello schema di data mining, è possibile trovare i metadati relativi al modello. Tali dati potrebbero includere la data di creazione, la data dell'ultima elaborazione del modello, il nome della struttura di data mining sulla quale si basa il modello e il nome della colonna designata come attributo stimabile. È inoltre possibile restituire i parametri utilizzati durante la creazione del modello.

SELECT MINING_PARAMETERS 
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'TM_PredictIncome'

Risultati dell'esempio:

MINING_PARAMETERS

COMPLEXITY_PENALTY=0.9,

MAXIMUM_INPUT_ATTRIBUTES=255,

MAXIMUM_OUTPUT_ATTRIBUTES=255,

MINIMUM_SUPPORT=10,

SCORE_METHOD=4,

SPLIT_METHOD=3,

FORCE_REGRESSOR=

Nota

L'impostazione del parametro, "FORCE_REGRESSOR =", indica che il valore corrente per il parametro FORCE_REGRESSOR è Null.

Torna all'inizio

Esempio di query 2: Recupero della formula di regressione per il modello

Nella query seguente viene restituito il contenuto del modello di data mining per un modello di regressione lineare compilato utilizzando la stessa origine dati Targeted Mailing utilizzata in Esercitazione di base sul data mining. Questo modello esegue la stima del reddito del cliente in base all'età.

La query restituisce il contenuto del nodo che contiene la formula di regressione. Ogni variabile e ogni coefficiente vengono archiviati in una riga separata della tabella NODE_DISTRIBUTION nidificata. Se si desidera visualizzare la formula di regressione completa, utilizzare il Visualizzatore Microsoft Decision Trees, fare clic sul nodo (Tutti) e aprire Legenda data mining.

SELECT FLATTENED NODE_DISTRIBUTION as t
FROM LR_PredictIncome.CONTENT

Nota

Se si fa riferimento a colonne singole della tabella nidificata utilizzando una query quale SELECT <column name> from NODE_DISTRIBUTION, alcune colonne, ad esempio SUPPORT o PROBABILITY, devono essere racchiuse tra parentesi per distinguerle dalle parole chiave riservate con lo stesso nome.

Risultati previsti:

t.ATTRIBUTE_NAME

t.ATTRIBUTE_VALUE

t.SUPPORT

t.PROBABILITY

t.VARIANCE

t.VALUETYPE

Yearly Income

Missing

0

0.000457142857142857

0

1

Yearly Income

57220.8876687257

17484

0.999542857142857

1041275619.52776

3

Age

471.687717702463

0

0

126.969442359327

7

Age

234.680904692439

0

0

0

8

Age

45.4269617936399

0

0

126.969442359327

9

  

35793.5477381267

0

0

1012968919.28372

11

In Legenda data mining, invece, la formula di regressione appare come segue:

Yearly Income = 57,220.919 + 471.688 * (Age - 45.427)

È possibile vedere che alcuni numeri di Legenda data mining sono arrotondati. In Legenda data mining sono tuttavia contenuti sostanzialmente gli stessi valori della tabella NODE_DISTRIBUTION.

I valori della colonna VALUETYPE indicano il tipo di informazioni contenuto in ogni riga. Questa indicazione risulta utile se i risultati vengono elaborati a livello di programmazione. Nella tabella seguente sono mostrati i tipi di valore che vengono restituiti per una formula di regressione lineare.

VALUETYPE

1 (Mancante)

3 (Continuo)

7 (Coefficiente)

8 (Miglioramento punteggio)

9 (Statistiche)

7 (Coefficiente)

8 (Miglioramento punteggio)

9 (Statistiche)

11 (Intercetta)

Per ulteriori informazioni sul significato di ogni tipo di valore per i modelli di regressione, vedere Contenuto dei modelli di data mining per i modelli di regressione lineare (Analysis Services - Data mining).

Torna all'inizio

Esempio di query 3: Restituzione del solo coefficiente per il modello

Utilizzando l'enumerazione VALUETYPE, è possibile restituire solo il coefficiente per l'equazione di regressione, come mostrato nella query seguente:

SELECT FLATTENED MODEL_NAME,
    (SELECT ATTRIBUTE_VALUE, VALUETYPE
     FROM NODE_DISTRIBUTION
     WHERE VALUETYPE = 11) 
AS t
FROM LR_PredictIncome.CONTENT

Questa query restituisce due righe, una dal contenuto del modello di data mining e la riga dalla tabella nidificata che contiene il coefficiente. La colonna ATTRIBUTE_NAME non è inclusa, in quanto è sempre vuota per il coefficiente.

MODEL_NAME

t.ATTRIBUTE_VALUE

t.VALUETYPE

LR_PredictIncome

  

  

LR_PredictIncome

35793.5477381267

11

Torna all'inizio

Esecuzione di stime da un modello di regressione lineare

È possibile compilare query di stima sui modelli di regressione lineare utilizzando la scheda Stima modello di data mining nella Finestra di progettazione data mining. Il generatore della query di stima è disponibile sia in SQL Server Management Studio, sia in Business Intelligence Development Studio.

Nota

È inoltre possibile creare query nei modelli di regressione utilizzando i componenti aggiuntivi Data mining di SQL Server 2005 per Excel oppure i componenti aggiuntivi data mining di SQL Server 2008 per Excel. Anche se i componenti aggiuntivi Data mining per Excel non creano modelli di regressione, è possibile esplorare ed eseguire una query su qualsiasi modello di data mining archiviato in un'istanza di Analysis Services.

Torna all'inizio

Esempio di query 4: Esecuzione della stima del reddito mediante una query singleton

Il modo più semplice per creare un'unica query in un modello di regressione consiste nell'utilizzare la finestra di dialogo Input query singleton. È ad esempio possibile compilare la query DMX seguente selezionando il modello di regressione appropriato, scegliendo Query singleton, quindi digitando 20 come valore per Age.

SELECT [LR_PredictIncome].[Yearly Income]
From   [LR_PredictIncome]
NATURAL PREDICTION JOIN
(SELECT 20 AS [Age]) AS t

Risultati dell'esempio:

Yearly Income

45227.302092176

Torna all'inizio

Esempio di query 5: Utilizzo delle funzioni di stima con un modello di regressione

È possibile utilizzare molte delle funzioni di stima standard con i modelli di regressione lineare. Nell'esempio seguente viene illustrato come aggiungere alcune statistiche descrittive ai risultati della query di stima. Da questi risultati è possibile notare che esiste una deviazione significativa dalla media per questo modello.

SELECT
  ([LR_PredictIncome].[Yearly Income]) as [PredIncome],
  (PredictStdev([LR_PredictIncome].[Yearly Income])) as [StDev1]
From
  [LR_PredictIncome]
NATURAL PREDICTION JOIN
(SELECT 20 AS [Age]) AS t

Risultati dell'esempio:

Yearly Income

StDev1

45227.302092176

31827.1726561396

Torna all'inizio

Elenco delle funzioni di stima

Tutti gli algoritmi Microsoft supportano un set comune di funzioni. L'algoritmo Microsoft Linear Regression supporta tuttavia funzioni aggiuntive, elencate nella tabella seguente.

Per un elenco delle funzioni comuni a tutti gli algoritmi Microsoft, vedere Algoritmi di data mining (Analysis Services - Data mining). Per ulteriori informazioni sull'utilizzo di queste funzioni, vedere Guida di riferimento alle funzioni DMX (Data Mining Extensions).