• Nem Talált Eredményt

Analisi del vicino più vicino 20

L’analisi del vicino più vicino è un metodo per la classificazione dei casi basato sulla similarità ad altri casi. Nell’apprendimento automatico, questo metodo è stato sviluppato per riconoscere modelli di dati senza richiedere una corrispondenza esatta con eventuali modelli o casi archiviati.

I casi simili sono vicini gli uni agli altri, mentre i casi dissimili sono distanti gli uni dagli altri.

Pertanto, la distanza tra due casi rappresenta una misura della loro dissimilarità.

I casi attigui vengono definiti “vicini”. Quando viene presentato un nuovo caso (controllo), viene calcolata la sua distanza da ogni caso del modello. Le classificazioni dei casi più simili, ovvero i vicini più vicini, vengono registrate e il nuovo caso viene inserito nella categoria contenente il numero più alto di vicini più vicini.

È possibile specificare il numero di vicini più vicini da esaminare; tale valore viene definitok. Le immagini mostrano in che modo viene classificato un nuovo caso utilizzando due valori diversi di k. Quandok= 5, il nuovo caso viene inserito nella categoria1, perché la maggioranza dei vicini più vicini appartiene alla categoria1. Tuttavia, quandok= 9, il nuovo caso viene inserito nella categoria0, perché la maggioranza dei vicini più vicini appartiene alla categoria0.

Figura 20-1

Effetti della modifica di k sulla classificazione

L’analisi dei vicini più vicini può essere utilizzata anche per calcolare i valori per un obiettivo continuo. In questa situazione, il valore di destinazione medio o mediano dei vicini più vicini viene utilizzato per ottenere il valore previsto per il nuovo caso.

Obiettivo e funzioni. L’obiettivo e le funzioni possono essere:

„ Nominale.Una variabile può essere considerata nominale quando i relativi valori rappresentano categorie prive di ordinamento intrinseco, per esempio l’ufficio di una società, Tra gli esempi di variabili nominali troviamo la regione, il codice postale e la religione.

© Copyright SPSS Inc. 1989, 2010 128

Analisi del vicino più vicino

„ Ordinale.Una variabile può essere considerata ordinale quando i relativi valori rappresentano categorie con qualche ordinamento intrinseco, per esempio i gradi di soddisfazione per un servizio, da molto insoddisfatto a molto soddisfatto, i punteggi di atteggiamento corrispondenti a gradi di soddisfazione ofiducia e i punteggi di preferenza.

„ Scala. Una variabile può essere considerata di scala (continua) quando i relativi valori rappresentano categorie ordinate con una metrica significativa, tale che i confronti fra le distanze dei relativi valori siano appropriati. Esempi di variabili di scala sono l’età espressa in anni o il reddito espresso in migliaia di Euro.

Le variabili nominali e ordinali vengono trattate in modo analogo dall’analisi del vicino più vicino. La procedura presume che il livello di misurazione appropriato sia stato assegnato a ciascuna variabile. Tuttavia, è possibile modificare temporaneamente il livello di misurazione di una variabile facendo clic con il pulsante destro del mouse sulla variabile nell’elenco delle variabili sorgente e scegliendo un livello di misurazione dal menu di scelta rapida.

L’icona accanto a ciascuna variabile nell’elenco delle variabili identifica il livello di misurazione e il tipo di dati.

Codifiche variabili categoriali. La procedura ricodifica temporaneamente le variabili dipendenti e indipendenti categoriali utilizzando le codifiche one-of-cper la durata della procedura. Se esistono categoriecdi una variabile, la variabile viene archiviata come vettori c, con la prima categoria indicata (1,0,...,0), la categoria successiva (0,1,0,...,0), ..., e la categoriafinale (0,0,...,0,1).

Questo schema di codifica aumenta la dimensionalità dello spazio delle funzioni. In particolare, il numero totale di dimensioni è pari al numero di predittori di scala più il numero di categorie in tutti i predittori categoriali. Ne consegue che questo schema di codifica può generare un training più lento. Se il training del vicino più vicino sta procedendo molto lentamente, è possibile cercare di ridurre il numero di categorie nei predittori categoriali mediante la combinazione di categorie simili o casi di rilascio con categorie estremamente rare prima dell’esecuzione della procedura.

Tutta la codifica one-of-cè basata sui dati di training, anche se viene definito un campione di verifica o di controllo (vederePartizioni). Pertanto, se il campione di controllo contiene casi con categorie di predittori assenti nei dati di training, non è possibile calcolarne il punteggio. Se il campione di controllo contiene casi con categorie di variabili dipendenti assenti nei dati di training, è invece possibile calcolarne il punteggio.

Modifica della scala. Le funzioni di scala vengono normalizzate per impostazione predefinita.

Tale modifica viene eseguita interamente sulla base dei dati di training, anche se viene definito un campione di controllo (vederePartizionia pag. 135). Se si specifica una variabile per definire

130 Capitolo 20

le partizioni, è importante che tali funzioni abbiano distribuzioni simili nei campioni di training e controllo. Utilizzare, ad esempio, la proceduraEsploraper esaminare le distribuzioni nelle partizioni.

Ponderazione. La ponderazione viene ignorata da questa procedura.

Replica dei risultati.La procedura utilizza la generazione di numeri casuali durante l’assegnazione causale delle partizioni e dei sottocampioni con convalida incrociata. Se si desidera replicare esattamente i risultati ottenuti, oltre a utilizzare le stesse impostazioni per la procedura, è necessario impostare il valore di seme per il generatore di Mersenne Twister (vederePartizioni a pag. 135) o utilizzare le variabili per definire le partizioni e i sottocampioni con convalida incrociata.

Per ottenere un’analisi del vicino più vicino Dai menu, scegliere:

Analizza > Classifica > Vicino più vicino...

Figura 20-2

Finestra di dialogo Analisi del vicino più vicino, scheda Variabili

E Specificare una o più funzioni, che possono essere considerate variabili o predittori indipendenti in presenza di un obiettivo.

Analisi del vicino più vicino

Obiettivo (facoltativo).Se non viene specificato alcun obiettivo (variabile o risposta dipendente), vengono rilevati esclusivamente ikvicini più vicini. Non vengono eseguite classificazioni né previsioni.

Normalizza funzioni di scala.Le funzioni normalizzate hanno lo stesso intervallo di valori, il che può migliorare le prestazioni dell’algoritmo di stima. Viene utilizzata la normalizzazione corretta, [2*(x−min)/(max−min)]−1. I valori normalizzati corretti sono compresi tra−1 e 1.

Identificatore dei casi focali (facoltativo). Consente di contrassegnare casi di particolare interesse.

Si supponga, ad esempio, che un ricercatore desideri stabilire se i punteggi dei test di un determinato distretto scolastico (il caso focale) sono paragonabili a quelli di distretti scolastici analoghi. Ricorrerà all’analisi del vicino più vicino per individuare i distretti scolastici con le maggiori analogie in termini di uno specifico insieme di funzioni. Procederà quindi al confronto tra i punteggi dei test del distretto scolastico focale e quelli dei vicini più vicini.

I casi focali possono essere usati anche negli studi clinici per selezionare casi di controllo simili a casi clinici. I casi focali vengono visualizzati nella tabella deikvicini più vicini e delle distanze, nel grafico dello spazio delle funzioni, in quello degli equivalenti e nella mappa dei quadranti. Le informazioni sui casi focali vengono salvate neifile specificati nella scheda Output.

I casi con un valore positivo per la variabile specificata vengono trattati come casi focali. Non è consentito specificare una variabile senza valori positivi.

Etichetta caso (facoltativa).Ai casi vengono applicate etichette utilizzando questi valori nel grafico dello spazio di funzioni, in quello degli equivalenti e nella mappa dei quadranti.

Campi con livello di misurazione sconosciuto

L’avviso Livello di misurazione viene visualizzato quando il livello di misurazione di una o più variabili (campi) dell’insieme di dati è sconosciuto. Poiché influisce sul calcolo dei risultati di questa procedura, il livello di misurazione deve essere definito per tutte le variabili.

Figura 20-3

Avviso Livello di misurazione

„ Esamina dati. Legge i dati dell’insieme di dati attivo e assegna un livello di misurazione predefinito a tutti i campi con livello di misurazione sconosciuto. Con insiemi di dati di grandi dimensioni, questa operazione può richiedere del tempo.

„ Assegna manualmente. Apre unafinestra di dialogo che elenca tutti i campi con livello di misurazione sconosciuto, mediante la quale è possibile assegnare un livello di misurazione a questi campi. Il livello di misurazione si può assegnare anche nella Visualizzazione variabili dell’Editor dei dati.

132 Capitolo 20

Dal momento che il livello di misurazione è importante per questa procedura, è possibile accedere allafinestra di dialogo per la sua esecuzione solo quando per tutti i campi è stato definito un livello di misurazione.

Vicini

Figura 20-4

Finestra di dialogo Analisi del vicino più vicino, scheda Vicini

Numero di Vicini più vicini (k).Specificare il numero di vicini più vicini. L’utilizzo di un numero maggiore di vicini non garantisce necessariamente un modello più preciso.

Se nella tabella Variabili è specificato un obiettivo, in alternativa è possibile indicare un intervallo di valori e lasciare che sia la procedura a scegliere il “miglior” numero di vicini all’interno di tale intervallo. Il metodo utilizzato per stabilire il numero di vicini più vicini dipende dalla necessità o meno della selezione delle funzioni nella scheda Funzioni.

„ Se la selezione delle funzioni è attiva, viene eseguita per ciascun valore diknell’intervallo richiesto e viene selezionato ilk(con il relativo insieme di funzioni) con il tasso di errore più basso (o l’errore più basso della somma dei quadrati se l’obiettivo è una scala).

„ Se, invece, la selezione delle funzioni non è attiva, viene utilizzata la convalida incrociata con sottocampioniVper selezionare il “miglior” numero di vicini. Per informazioni sul controllo dell’assegnazione dei sottocampioni, vedere la scheda Partizione.

Analisi del vicino più vicino

Calcolo delle distanze. Metrica utilizzata per specificare la metrica di distanza per la misurazione della similarità dei casi.

„ Metrica euclidea. La distanza tra due casi, x e y, è pari alla radice quadrata della somma, in tutte le dimensioni, dei quadrati delle differenze tra i valori di tali casi.

„ Metrica city-block. La distanza tra due casi è pari alla somma, in tutte le dimensioni, delle differenze assolute tra i valori di tali casi. È denominata anche “distanza di Manhattan”.

Se si desidera, qualora nella scheda Variabili sia specificato un obiettivo, è possibile scegliere di ponderare le funzioni in base alla loro importanza normalizzata durante il calcolo delle distanze.

L’importanza della funzione di un predittore si calcola dividendo il tasso di errore o l’errore della somma dei quadrati relativo al modello senza il predittore per il tasso di errore o l’errore della somma dei quadrati relativo al modello completo. L’importanza normalizzata si calcola riponderando i valori di importanza della funzione in modo che la somma sia pari a 1.

Previsioni per obiettivo scala. Se nella scheda Variabili è specificato un obiettivo scala, questo indica se il valore previsto è calcolato in base alla media o alla mediana dei vicini più vicini.

Funzioni

Figura 20-5

Finestra di dialogo Analisi del vicino più vicino, scheda Funzioni

134 Capitolo 20

La scheda Funzioni consente di richiedere e specificare opzioni per la selezione delle funzioni quando nella scheda Variabili è specificato un obiettivo. Per impostazione predefinita, per la selezione delle funzioni vengono prese in considerazione tutte le funzioni, ma è possibile selezionare un sottoinsieme di funzioni da forzare nel modello.

Criterio di arresto.Di volta in volta, viene presa in considerazione, per essere inclusa nell’insieme dei modelli, la funzione il cui inserimento nel modello determina l’errore minore (calcolato come tasso di errore per gli obiettivi categoriali e come errore della somma dei quadrati per gli obiettivi scala). La selezione Forward proseguefino al raggiungimento della condizione specificata.

„ Numero di funzioni specificato. L’algoritmo inserisce un numerofisso di funzioni oltre a quelle forzate nel modello. Specificare un intero positivo. La riduzione dei valori del numero da selezionare dà origine a un modello più parsimonioso, con il rischio di perdere funzioni importanti. L’aumento dei valori del numero da selezionare consente di acquisire tutte le funzioni importanti, con il rischio però di aggiungere funzioni chefiniscono per moltiplicare l’errore del modello.

„ Variazione minima nel rapporto di errore assoluto. L’algoritmo si arresta quando la variazione del rapporto di errore assoluto indica che il modello non può essere migliorato ulteriormente aggiungendo altre funzioni. Specificare un numero positivo. La riduzione dei valori della variazione minima favorisce l’inclusione di un maggior numero di funzioni, con il rischio di inserire funzioni che non aggiungono valore al modello. L’aumento del valore della variazione minima, invece, tende a impedire l’inserimento di altre funzioni, con il rischio di perderne alcune importanti per il modello. Il valore “ottimale” della variazione minima dipende dai dati e dall’applicazione a disposizione. Per assistenza nella valutazione delle funzioni più importanti, vedere il registro degli errori relativi alla selezione delle funzioni nell’output. Per ulteriori informazioni, vedere l’argomento Registro degli errori relativi alla selezione delle funzioni a pag. 147.

Analisi del vicino più vicino

Partizioni

Figura 20-6

Finestra di dialogo Analisi del vicino più vicino, scheda Partizioni

La scheda Partizioni consente di suddividere l’insieme di dati in sottoinsiemi di training e di controllo e, se possibile, di assegnare casi a sottocampioni con convalida incrociata.

Partizioni di training e di controllo. Questo gruppo specifica il metodo di partizionamento dell’insieme di dati attivo in campioni di training e di controllo. Ilcampione di traininginclude i record di dati utilizzati per formare il modello di vicino più vicino; una percentuale di casi nell’insieme di dati deve essere assegnata al campione di training per ottenere un modello. Il campione di controlloè un insieme indipendente di record di dati utilizzato per valutare il modellofinale; l’errore per il campione di controllo fornisce una stima “attendibile” della capacità predittiva del modello poiché i casi di controllo non sono stati utilizzati per generare il modello.

„ Assegna in modo casuale i casi alle partizioni. Specificare la percentuale di casi da assegnare al campione di training. Il resto viene assegnato al campione di controllo.

„ Usa variabile per assegnare casi. Specificare una variabile numerica che assegni ogni caso nell’insieme di dati attivo al campione di training o di controllo. I casi con valore positivo nella variabile vengono assegnati al campione di training, quelli con valore pari a 0 o negativo al campione di controllo. I casi con un valore di sistema mancante vengono esclusi dall’analisi. I valori mancanti definiti dall’utente per la variabile di partizione sono sempre considerati validi.

136 Capitolo 20

Sottocampioni con convalida incrociata. La convalida incrociata con sottocampioniVviene utilizzata per determinare il “miglior” numero di vicini. Per motivi legati alle prestazioni, la convalida incrociata non è disponibile se si utilizza la selezione delle funzioni.

La convalida incrociata suddivide il campione in una serie di sottocampioni. I modelli di vicino più vicino vengono quindi generati escludendo di volta in volta i dati da ciascun sottocampione. Il primo modello si basa su tutti i casi eccetto quelli contenuti nel primo sottocampione, il secondo modello si basa su tutti i casi eccetto quelli contenuti nel secondo sottocampione e così via. Il rischio di errore per ciascun modello viene stimato applicando il modello al sottocampione escluso al momento della generazione del modello stesso. Il “miglior” numero di vicini più vicini è quello che genera l’errore più basso in tutti i sottocampioni.

„ Assegna in modo casuale i casi ai sottocampioni. Specificare il numero di sottocampioni da utilizzare per la convalida incrociata. I casi vengono assegnati in modo casuale ai sottocampioni, numerati da 1 aV, il numero dei sottocampioni.

„ Usa variabile per assegnare casi. Specificare una variabile numerica che assegni ogni caso nell’insieme di dati attivo a un sottocampione. La variabile deve essere un valore numerico compreso tra 1 eV. Se all’interno di tale intervallo mancano valori, e in corrispondenza delle distinzioni in caso difile distinti, si verificherà un errore.

Imposta seme per Mersenne Twister.Impostando un seme è possibile replicare le analisi. L’utilizzo di questo controllo è analogo all’impostazione di Mersenne Twister come generatore attivo specificando un punto di partenzafisso nellafinestra di dialogo Generatori di numeri casuali, con un’importante differenza: impostando il seme in questafinestra di dialogo si conserva lo stato corrente del generatore di numeri casuali e lo si ripristina una volta terminata l’analisi.

Analisi del vicino più vicino

Salva

Figura 20-7

Finestra di dialogo Analisi del vicino più vicino, scheda Salva

Nomi delle variabili salvate. La generazione automatica del nome assicura il mantenimento di tutto il lavoro. I nomi personalizzati consentono di eliminare/sostituire i risultati di precedenti esecuzioni senza dover prima eliminare le variabili salvate nell’Editor dei dati.

Variabili da salvare

„ Valore o categoria prevista.Viene salvato il valore previsto per un obiettivo scala o la categoria prevista per un obiettivo categoriale.

„ Probabilità prevista.Vengono salvate le probabilità previste per un obiettivo categoriale. Una variabile separata viene salvata per ognuna delle primencategorie, dovenviene specificato nel comandoNumero massimo di categorie da salvare per l’obiettivo categoriale.

„ Variabile partizione di training/controlli. Se i casi vengono assegnati in modo casuale ai campioni training e di controllo nella scheda Partizioni, viene salvato il valore della partizione (di training o di controllo) a cui il caso è stato assegnato.

„ Variabile sottocampione con convalida incrociata. Se nella scheda Partizioni ai sottocampioni con convalida incrociata vengono assegnati casi in modo casuale, viene salvato il valore del sottocampione a cui è stato assegnato il caso.

138 Capitolo 20

Output

Figura 20-8

Finestra di dialogo Analisi del vicino più vicino, scheda Output

Output viewer

„ Riepilogo dell’elaborazione dei casi. Visualizza la tabella di riepilogo di elaborazione dei casi, che riepiloga il numero di casi inclusi ed esclusi dall’analisi, in totale e per campioni di training e di controllo.

„ Grafici e tabelle. Visualizza l’output relativo al modello, tra cui tabelle e grafici. Le tabelle nella vista del modello comprendono i vicini più vicinike le distanze per i casi focali, la classificazione delle variabili di risposta categoriali e un riepilogo degli errori. L’output grafico nella vista del modello include un registro degli errori relativi alla selezione, il grafico dell’importanza delle funzioni, quello dello spazio di funzioni e degli equivalenti e la mappa dei quadranti.Per ulteriori informazioni, vedere l’argomento Vista del modello a pag. 140.

File

Analisi del vicino più vicino

„ Esporta modello in XML.È possibile utilizzare questofile di modello per applicare le

informazioni del modello ad altrifile di dati per il calcolo del punteggio. Questa opzione non è disponibile se sono stati definitifile suddivisi.

„ Esporta distanze tra casi focali e vicini più vicini k. Per ogni caso focale viene creata una variabile distinta per ciascuno dei vicini più vicinik(dal campione di training) del caso focale stesso e delle corrispondenti distanze più vicinek.

Opzioni

Figura 20-9

Finestra di dialogo Analisi del vicino più vicino, scheda Output

Valori mancanti definiti dall’utente. Le variabili categoriali devono contenere valori validi per un caso per essere incluse nell’analisi. Questi controlli consentono di decidere se i valori mancanti definiti dall’utente devono essere considerati validi nell’ambito delle variabili categoriali.

I valori mancanti di sistema e i valori mancanti relativi alle variabili di scala vengono sempre considerati non validi.

140 Capitolo 20