Valori mancanti (Analysis Services - data mining)

Si applica a: SQL Server 2019 e versioni precedenti di Analysis Services Azure Analysis Services Fabric/Power BI Premium

Importante

Il data mining è stato deprecato in SQL Server 2017 Analysis Services e ora è stato sospeso in SQL Server 2022 Analysis Services. La documentazione non viene aggiornata per le funzionalità deprecate e non più disponibili. Per altre informazioni, vedere Compatibilità con le versioni precedenti di Analysis Services.

La gestione corretta dei valori mancanti è importante per la modellazione efficace. In questa sezione vengono illustrati i valori mancanti e viene illustrato come usare SQL Server Analysis Services funzionalità per gestirli durante la compilazione di strutture e modelli di data mining.

Definizione dei valori mancanti nel data mining

Un valore mancante può indicare una serie di elementi diversi. Forse il campo non era applicabile, l'evento non si verificava o i dati non erano disponibili. È possibile che la persona che ha immesso i dati non conoscesse il valore corretto o che non importasse se un campo non è stato compilato.

I valori mancanti forniscono informazioni importanti in molti scenari di data mining. Il significato dei valori mancanti dipende in gran parte dal contesto. Ad esempio, un valore mancante per la data in un elenco di fatture ha un significato sostanzialmente diverso dalla mancanza di una data nella colonna che indica una data di assunzione di un dipendente. In genere, SQL Server Analysis Services considera i valori mancanti come informativi e regola le probabilità di incorporare i valori mancanti nei calcoli. In questo modo, è possibile garantire che i modelli siano bilanciati e non attribuiscano troppo peso ai casi esistenti.

SQL Server Analysis Services fornisce due meccanismi per la gestione dei valori mancanti. Il primo metodo gestisce i valori null nella struttura di data mining. Ogni algoritmo implementa il secondo metodo in modo diverso per elaborare e contare i valori mancanti nei modelli che consentono valori Null.

Specificare la gestione dei valori null

L'origine dati potrebbe rappresentare valori mancanti come valori Null, celle N/A vuote del foglio di calcolo o un altro codice o un valore artificiale come 9999. Ai fini del data mining, tuttavia, solo i valori Null sono considerati valori mancanti. Se i dati contengono valori segnaposto anziché null, possono influire sui risultati del modello, pertanto è consigliabile sostituirli con valori Null o dedurre valori corretti, se possibile. Sono disponibili diversi strumenti che è possibile usare per dedurre e compilare i valori appropriati, ad esempio la trasformazione Ricerca o l'attività Data Profiler in SQL Server Integration Services o lo strumento Fill By Example fornito nell'Add-Ins di data mining per Excel.

Se l'attività che si sta modellando non consente valori mancanti in una colonna, applica il flag di modellazione NOT_NULL quando definisci la struttura di data mining. Questo flag indica che l'elaborazione deve avere esito negativo se un caso non ha un valore appropriato. Se questo errore si verifica durante l'elaborazione di un modello, è possibile registrare l'errore ed eseguire le operazioni necessarie per correggere i dati forniti al modello.

Calcolo dello stato mancante

Gli algoritmi di data mining considerano i valori mancanti come informativi. In caso di tabelle, Missing è uno stato valido. Un modello di data mining può usare altri valori per stimare se manca un valore, quindi un valore mancante non è un errore.

Quando si crea un modello di data mining, lo stato Missing viene aggiunto automaticamente al modello per tutte le colonne discrete. Ad esempio, se la colonna di input [Gender] contiene i valori Male e Female, il modello aggiunge un terzo valore, Missing. L'istogramma della colonna include il numero di casi con lo stato Mancante. Se la colonna Gender non manca di valori, l'istogramma mostra che lo stato *Missing* è presente in 0 casi.

La logica per l'inclusione dello stato Missing per impostazione predefinita diventa chiara quando si considera che i dati potrebbero non avere esempi di tutti i valori possibili e non si vuole che il modello escluda la possibilità solo perché non sono presenti esempi nei dati. Ad esempio, se i dati sulle vendite per un negozio hanno mostrato che tutti i clienti che hanno acquistato un determinato prodotto sono donne, non si vuole creare un modello che stima che solo le donne possano acquistare il prodotto. SQL Server Analysis Services aggiunge invece un segnaposto per il valore sconosciuto aggiuntivo, denominato Missing, come modo per accomodare gli altri stati possibili.

Ad esempio, nella tabella seguente viene illustrata la distribuzione dei valori per il nodo (Tutti) nel modello di albero delle decisioni creato per l'esercitazione Bike Buyer. Nello scenario di esempio la colonna [Bike Buyer] è l'attributo stimabile, dove 1 indica "Sì" e 0 indica "No".

Value Casi
0 9296
1 9098
Mancante 0

La distribuzione mostra che circa la metà dei clienti acquistano una bicicletta e metà non lo fanno. Ogni caso in questo set di dati ha un valore nella colonna [Bike Buyer], quindi il conteggio dei valori Mancanti è zero. Se un case contiene un valore Null nel campo [Bike Buyer], SQL Server Analysis Services conteggia tale riga come caso con un valore Missing.

Se l'input è una colonna continua, il modello tabula due possibili stati per l'attributo: Existing e Missing. In altre parole, la colonna contiene un valore di un tipo di dati numerico oppure non contiene alcun valore. Per i casi con un valore, il modello calcola la media, la deviazione standard e altre statistiche significative. Per i casi senza valore, il modello fornisce un conteggio delle vales mancanti e regola le stime di conseguenza. Il metodo per regolare la stima varia a seconda dell'algoritmo e viene descritto nella sezione seguente.

Annotazioni

Per gli attributi in una tabella nidificata, i valori mancanti non sono informativi. Ad esempio, se un cliente non acquista un prodotto, la tabella nidificata Prodotti non contiene alcuna riga per quel prodotto e il modello di data mining non crea un attributo relativo a quel prodotto. Per identificare i clienti che non hanno acquistato determinati prodotti, utilizzare un'istruzione NOT EXISTS nel filtro del modello per filtrare in base ai prodotti che non esistono nella tabella nidificata. Per altre informazioni, vedere Applicare un filtro a un modello di data mining.

Regolazione della probabilità per gli stati mancanti

Oltre al conteggio dei valori, SQL Server Analysis Services calcola la probabilità di qualsiasi valore nel set di dati. Lo stesso calcolo si applica al valore Missing . Ad esempio, la tabella seguente mostra le probabilità per i case nell'esempio precedente:

Value Casi Probabilità
0 9296 50,55%
1 9098 49.42%
Mancante 0 0.03%

Potrebbe sembrare strano che la probabilità del valore Mancante sia 0,03%, quando il numero di case è 0. Questo comportamento è previsto dalla progettazione e rappresenta una regolazione che consente al modello di gestire correttamente i valori sconosciuti.

In generale, la probabilità viene calcolata come i casi favorevoli divisi per tutti i casi possibili. In questo esempio, l'algoritmo calcola la somma dei case che soddisfano una determinata condizione ([Bike Buyer] = 1 o [Bike Buyer] = 0) e divide tale numero per il conteggio totale delle righe. Per tenere conto dei casi mancanti , l'algoritmo aggiunge 1 al numero di tutti i casi possibili. Di conseguenza, la probabilità per il caso sconosciuto non è più zero, ma un numero molto piccolo, a indicare che lo stato è semplicemente improbabile, non impossibile.

Il valore mancante piccolo non modifica la stima, ma migliora la modellazione quando i dati cronologici non includono tutti i risultati possibili.

Annotazioni

I provider di data mining gestiscono i valori mancanti in modo diverso. Ad esempio, alcuni fornitori considerano i dati mancanti in una colonna nidificata come una rappresentazione sparsa e i dati mancanti in una colonna non nidificata come mancanti in modo casuale.

Se i dati specificano ogni risultato, imposta il flag di modellazione NOT_NULL sulla colonna della struttura di data mining per evitare rettifiche delle probabilità.

Annotazioni

Ogni algoritmo, incluso un algoritmo personalizzato da un plug-in di terze parti, può gestire i valori mancanti in modo diverso.

Gestione speciale dei valori mancanti nei modelli di albero delle decisioni

L'algoritmo decision trees Microsoft calcola le probabilità di valore mancante in modo diverso da altri algoritmi. Anziché aggiungere uno al conteggio totale dei casi, l'algoritmo utilizza una formula diversa per correggere il conteggio in base allo stato Missing.

In un modello di albero delle decisioni usare la formula seguente per calcolare la probabilità dello stato Mancante :

StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStates)

L'algoritmo Decision Trees fornisce una regolazione aggiuntiva che consente all'algoritmo di compensare la presenza di filtri nel modello, che potrebbe escludere molti stati durante il training.

In SQL Server 2017, se uno stato è presente durante il training ma ha zero supporto in un determinato nodo, l'algoritmo effettua la regolazione standard. Tuttavia, se non viene mai rilevato uno stato durante il training, l'algoritmo imposta la probabilità su esattamente zero. Questa modifica si applica non solo allo stato Missing, ma anche ad altri stati presenti nei dati di addestramento che hanno supporto zero a causa del filtraggio del modello.

Questa regolazione aggiuntiva comporta la formula seguente:

StateProbability = 0,0 se lo stato ha 0 supporto nel set di training

ALTRIMENTI StateProbability = (ProbabilitàPrecedenteNodo) * (SupportoStato + 1) / (SupportoNodo + StatiTotaliConSupportoDiversoDaZero)

L'effetto netto di questa rettifica è mantenere la stabilità dell'albero.

Queste risorse illustrano come gestire i valori mancanti.

Tasks Links
Aggiungere flag alle singole colonne del modello per controllare il modo in cui il modello gestisce i valori mancanti Visualizzare o modificare i flag di modellazione (data mining)
Impostare le proprietà del modello di data mining per controllare il modo in cui il modello gestisce i valori mancanti Modificare le proprietà di un modello di mining
Specificare i flag di modellazione in DMX Flag di modellazione (DMX)
Modificare il modo in cui la struttura di data mining gestisce i valori mancanti Modificare le proprietà di una struttura di mining

Vedere anche

Contenuto del modello di data mining (Analysis Services - Data Mining)
Indicatori di Modellazione (Data Mining)