# Documentazione STEM

## Support Vector Regression

Il modulo effettua la classificazione di immagini o vettori usando l’algoritmo supervisionato non-parametrico Support Vector Regression (SVR). L’algoritmo SVM si basa sul principio che lo spazio delle variabili di partenza può essere trasformato in uno spazio a più alta dimensionalità in cui la stima lineare è possibile. La trasformazione è effettuata utilizzando una funzione kernel. Gli input allo stimatore sono un file vettoriale contente una colonna con l’indicazione del target da stimare (es: volume) in formato numerico, e (opzionale) l’indicazione delle variabili (attributi del vettore) da usare nella stima (es: percentili LIDAR, altezza LIDAR media, dimensione della chioma, ecc.). L’utente potrà anche inserire un vettoriale da usare nella fase di validazione o per mappare un’area più ampia (es. vettoriale di una griglia).

## Input

Dati di input vettoriale di training: file vettoriale contente le aree di training e l’indicazione dei target.

Seleziona la colonna con indicazione del parametro da stimare: selezionare tra le colonne del file vettoriale quella che indica il parametro da stimare.

Vettoriale di mappatura: file vettoriale contente le aree per effettuare la mappatura dell’attributo stimato. Input opzionale.

## Parametri

Effettuare la cross-validation: se scelto viene effettuata la cross validation. La cross-validation consiste nel dividere i campioni di training (le aree contenute nel vettoriale di training) in un numero N di fold definiti dall’utente (parametro “fold della cross-vaidation”) e di creare un modello usando N-1 fold e di validarlo sul fold rimanete. Questa operazione è ripetuta N volte.

Inserire il numero di fold della cross-validation: inserire il numero di fold della cross-validation. Questo numero deve essere scelto in base al numero di campioni di training disponibili e deve essere maggiore o uguale a 2. Non può essere un valore superiore al numero di campioni. Si consiglia di non usare un valore superiore a 10.

Selezionare il kernel da utilizzare:

> - RBF: kernel di tipo gaussiano Radial Basis Function (scelta consigliata).
> - lineare: kernel di tipo lineare.
> - polinomiale: kernel polinomiale.

Warning

Il kernel RBF è quello usato di default. Di solito questo kernel riesce a dare i risultati migliori, ma può avere tempi di elaborazione molto lunghi se si hanno molti campioni di training. Inoltre necessità di un tuning dei parametri C e gamma.

Inserire il parametro C (opzionale): parametro di regolarizzazione. Default: 1. Se si hanno campioni di training rumorosi si consiglia di usare un valore inferiore ad 1.

Inserire il valore di gamma (opzionale): parametro del kernel RBF, sigmoidale e polinomiale. Deve esssre maggiore di 0. Se lasciato vuoto viene usato il valore di default: 1/(numero_di_feature). Un valore molto piccolo fa si che il modello si adatti molto bene ai campioni di training, ma abbia meno capacità di generalizzare.

Inserire il valore di epsilon: parametro dello stimatore SVR. Il valore di epsilon indica la fascia attorno alla funzione di predizione per la quale gli errori sono considerati nulli. Questo significa che fissando epsilon a 0.1 in fase di training tutti i punti per cui l’errore di predizione è inferiore a 0.1 in valore assoluto sono considerati corretti.

Inserire il valore di r (opzionale): parametro r del kernel sigmoidale e polinomiale.

Inserire il valore del grado del polinomio (opzionale): parametro del kernel polinomiale.

Selezionare la trasformazione: scegliere la trasformazione da applicare alla colonna target. La trasformazione può aiutare ad ottenere un modello lineare nel caso la distribuzione dei dati non lo sia.

Selezione variabili:

> - no: nessuna selezione delle variabili. Vengono usate tutte le varaibili contenute nel vettoriale di training.
> - manuale: le variabili vengono selezionate manualmente.
> - file: le variabili sono scelte in base al file di output del modulo “Selezione variabili per la stima”.

Seleziona le variabili da utilizzare cliccandoci sopra (opzionale): selezionare le variabili da utilizzare. Se non si seleziona nulla vengono usate tutte le variabili.

File di selezione (opzionale): inserire il file ottenuto in output dal modulo “Selezione variabili per la stima”. Attivato solo se l’opzione “file” viene scelta nel menu “selezione variabili”.

Vettoriale di validazione (opzionale): file vettoriale contenente le aree di validazione o di mappatura. I nomi delle colonne del vettoriale devono essere le stesse delle varaibili utilizzate nella creazione del modello.

Seleziona la colonna per la validazione (opzionale): selezionare tra le colonne del file vettoriale quella che indica il target. Se si effettua la mappatura non ve scelto nulla.

Indice di accuratezza per la selezione del modello (opzionale):

> - MSE: Mean Square Error.
> - R2: R2.

Creare output: se scelto viene creato l’output, ovvero un vettoriale uguiale a quello di validazione/mappatura con un campo aggiuntivo col parametro stimato. Se non viene dato nessun input alla voce Vettoriale di validazione l’output verrà creato partendo dal vettoriale di training.

## Output

Risultato: inserire il percorso e il nome del file di output. Oltre allo shape file lo strumento crea, nella stessa directory, dei file CSV relativi ai risultati del calcolo dell’accuratezza per il set di validazione e della cross validation. Se è stato impostato il kernel linare verrà creato anche un file di testo dei coefficienti e dell’intercetta del modello lineare usato per la stima.

Colonna per i valori della stima: nome della colonna dove verranno salvati i valori stimati. Al nome indicato viene aggiunta in fondo una S per indicare ceh la stima è stata effettuata mediante stimatore SVR.