Nodo Trasformazione estensione
Con il nodo Extension Transform, è possibile prendere i dati da un flusso SPSS Modeler e applicare trasformazioni ai dati utilizzando script scritti in R, Python o Python for Spark.
Quando i dati sono stati modificati, viene restituito il flusso per una ulteriore elaborazione, creazione del modello e assegnazione di punteggio al modello. Il nodo Extension Transform consente di trasformare i dati utilizzando algoritmi scritti in uno dei linguaggi; è possibile utilizzare il nodo per sviluppare metodi di trasformazione dei dati adatti a un problema particolare.
Dopo aver aggiunto il nodo ai propri canvas, fare doppio clic sul nodo per aprire le sue proprietà.
Scheda Sintassi
- Converti campi indicatori Specifica come viene trattato un campo indicatore. Esistono due opzioni: Stringhe da fattorizzare, Numeri interi e reali da raddoppiare e
Valori logici (True, False). Se si seleziona Valori logici (True,
False) i valori originali dei campi indicatori vengono persi. Ad esempio, se un campo ha i valori
MaleeFemale, questi vengono modificati inTrueeFalse. - Converti valori mancanti sul valore R 'non disponibile' (NA). Quando questa opzione è selezionata, i valori mancanti vengono convertiti in RNAvalore. Il valoreNAviene utilizzato da R per identificare i valori mancanti. Alcune funzioni R utilizzate potrebbero avere un argomento che può controllare il comportamento della funzione quando i dati contengonoNA. Ad esempio, la funzione potrebbe consentire di scegliere di escludere automaticamente i record che contengonoNA. Se questa opzione non è selezionata, tutti i valori mancanti vengono passati a R invariati e potrebbero causare errori durante l'esecuzione dello script R.
- Converti i campi data/ora in classi R con controllo speciale per zone temporali Quando selezionata,
le variabili con i formati data o data/ora vengono convertiti in oggetti data/ora R. Selezionare una delle seguenti opzioni:
- R POSIXct. Le variabili con formati data o data/ora vengono convertite in RPOSIXctoggetti.
- R POSIXlt (elenco). Le variabili con formati data o data / ora vengono convertite in RPOSIXltoggetti.
Nota: i formati POSIX sono opzioni avanzate. Utilizzare questa opzione solo se il proprio script R specifica che i campi data/ora sono trattati in modi che richiedono questi formati. I formati POSIX non si applicano alle variabili con formati di tempo.
Scheda Output console
La scheda Output console contiene l'output ricevuto durante l'esecuzione dello script R o dello script Python (ad esempio, se si utilizza uno script R, mostra l'output ricevuto dalla console R quando viene eseguito lo script R nel campo Sintassi R della scheda Sintassi ). Questo output potrebbe includere messaggi di errore R o Python o avvertenze che vengono prodotte quando viene eseguito lo script R o Python. L'output può essere utilizzato principalmente per eseguire il debug dello script. La scheda Output console contiene inoltre lo script del campo R Syntax o Python Syntax.
Ogni volta che viene eseguito lo script Extension Transform, il contenuto della scheda Console Output viene sovrascritto con l'output ricevuto dalla console R o Python. Non è possibile modificare l'output.
Trasformazioni della teoria di controllo, elaborazione dei segnali e mappature delle caratteristiche
SPSS Modeler Supporta la pre-elaborazione avanzata dei dati, l'analisi delle serie temporali e l'ingegneria delle caratteristiche attraverso trasformazioni della teoria di controllo, filtri di elaborazione del segnale e mappature delle caratteristiche. Queste tecniche sono essenziali per preparare i dati, estrarre modelli significativi dai segnali e creare caratteristiche informative.
Per vedere alcuni esempi di queste tecniche in un flusso di lavoro di tipo " SPSS Modeler ", è possibile scaricare il file di esempio " extension-transform-node.zip ". Contiene diversi file di flusso che è possibile importare in SPSS Modeler. Per ulteriori informazioni sull'importazione, vedere Importazione di un flusso SPSS Modeler. Quindi, apri le proprietà del nodo Extension Transform per visualizzare la sintassi di esempio.
Trasformazioni semplici
Le trasformazioni semplici sono trasformazioni matematiche che modificano le distribuzioni dei dati, riducono l'asimmetria, stabilizzano la varianza e preparano le caratteristiche per la modellazione. Queste trasformazioni sono fasi fondamentali della pre-elaborazione.
- Trasformazione logaritmica (logaritmica)
- Descrizione
Una trasformazione logaritmica applica un logaritmo naturale (ln) o logaritmo in base 10 ai valori dei dati. Questa trasformazione può essere utile per dati con distribuzione asimmetrica a destra con valori positivi.
- Esempio di scenario
Un rivenditore analizza il comportamento di acquisto dei clienti sulla propria piattaforma. Notano che i valori degli ordini sono fortemente sbilanciati verso destra, con la maggior parte degli ordini compresi tra 20 e 100 dollari, ma alcuni ordini superano i 10.000 dollari. Per comprendere meglio i modelli di acquisto e costruire modelli predittivi, applicano la trasformazione logaritmica ai dati relativi al valore degli ordini. Questa trasformazione normalizza la distribuzione, rendendo più facile identificare modelli significativi e riducendo l'influenza degli ordini di valore estremamente elevato sulla loro analisi.
- Trasformazione della radice quadrata
- Descrizione
Una trasformazione della radice quadrata calcola la radice quadrata dei valori dei dati. Questa trasformazione è adatta per dati numerici e novità moderate.
- Esempio di scenario
Uno stabilimento di produzione tiene traccia del numero di difetti riscontrati durante le ispezioni quotidiane. Il numero di difetti segue una distribuzione di tipo Poisson con una moderata asimmetria a destra, che varia da 0 a 50 difetti al giorno. Applicando la trasformazione della radice quadrata ai dati relativi al numero di difetti, la varianza viene stabilizzata, creando una distribuzione più simmetrica. Questa distribuzione consente di ottenere grafici di controllo più accurati e di individuare meglio eventuali modelli insoliti che potrebbero indicare problemi nel processo.
- Trasformazione reciproca (inversa)
- Descrizione
Una trasformazione reciproca calcola un 1/x e per ciascun valore. È utile per dati con relazioni iperboliche o quando i valori più piccoli richiedono un peso maggiore.
- Esempio di scenario
Un'azienda di consegne analizza i tempi di consegna della propria flotta di veicoli. Invece di lavorare con i tempi di consegna (che possono variare notevolmente), trasformano i dati utilizzando una trasformazione reciproca per creare una metrica denominata "tasso di consegna". Questa trasformazione consente loro di confrontare l'efficienza tra diversi percorsi e aiuta a identificare i colli di bottiglia in cui piccoli miglioramenti in termini di tempo possono portare a significativi aumenti della produttività.
- Trasformazione di potenza
- Descrizione
Una trasformazione di potenza eleva i valori a una potenza specificata (x^p). Questa trasformazione può aumentare o diminuire l'asimmetria a seconda del valore della potenza.
- Esempio di scenario
Uno scienziato sta studiando la relazione tra i livelli di inquinamento e la distanza dai siti industriali. La relazione sembra seguire una legge di potenza, secondo la quale l'inquinamento diminuisce rapidamente in prossimità della fonte, ma più gradualmente a distanze maggiori. Applicando una trasformazione di potenza con esponenti accuratamente selezionati alle misurazioni della distanza, lo scienziato linearizza la relazione, rendendola adatta all'analisi di regressione standard e facilitando l'interpretazione del tasso di decadimento dell'inquinamento.
- Standardizzazione (normalizzazione)
- Descrizione
Questa trasformazione ridimensiona le caratteristiche per ottenere proprietà statistiche specifiche.
- Esempio di scenario
Un modello di segmentazione della clientela per un'azienda di vendita al dettaglio utilizza caratteristiche con scale molto diverse tra loro: reddito annuo (20.000-500.000 dollari), età (18-80 anni) e numero di acquisti (0-200). Senza standardizzazione, gli algoritmi basati sulla distanza come il clustering k-means sarebbero dominati dalla caratteristica del reddito a causa del suo ampio intervallo numerico. Quando si utilizza la standardizzazione per trasformare ciascuna caratteristica, tutte le caratteristiche contribuiscono in modo uguale all'algoritmo di clustering. Questa trasformazione consente al modello di identificare segmenti di clientela significativi sulla base dei modelli combinati di tutte le caratteristiche, anziché essere influenzato dalle differenze di scala.
- Winsorizzazione (clipping)
- Descrizione
Questa trasformazione limita i valori estremi fissando un limite massimo ai valori in percentili specificati (ad esempio, il 1° e il 99° percentile). È possibile utilizzare questa trasformazione per ridurre l'impatto dei valori anomali senza rimuovere i punti dati.
- Esempio di scenario
Un analista finanziario esamina quotidianamente i rendimenti azionari per ottimizzare il portafoglio. Il set di dati include diversi valori anomali estremi derivanti da crolli di mercato e flash crash che potrebbero distorcere i calcoli del rischio. Anziché rimuovere questi punti dati, l'analista applica la winsorizzazione al 1° e al 99° percentile, limitando i valori estremi e preservando al contempo la dimensione complessiva del campione. Questo approccio fornisce stime più affidabili della volatilità e della correlazione per la costruzione del portafoglio.
- Polinomiale (termini di interazione)
- Descrizione
È possibile utilizzare termini polinomiali/di interazione per creare nuove caratteristiche elevando le caratteristiche esistenti a potenze o moltiplicandole tra loro. È possibile utilizzare questa trasformazione per catturare relazioni non lineari e interazioni tra caratteristiche.
- Esempio di scenario
Un'azienda di marketing desidera sapere in che modo la spesa pubblicitaria sui diversi canali (TV, digitale, stampa) influisce sulle vendite. Si sospetta che i canali siano sinergici. Ad esempio, gli spot televisivi potrebbero amplificare l'efficacia delle campagne digitali. Creando termini di interazione (TV × Digitale, TV × Stampa, Digitale × Stampa) e termini polinomiali (TV², Digitale²), vogliono catturare queste relazioni non lineari e gli effetti di interazione, migliorando così l'accuratezza predittiva del loro modello di marketing mix.
- Librerie per trasformazioni semplici
Queste semplici trasformazioni utilizzano tutte le seguenti librerie R e Python.
- Python
numpyscipysklearn.preprocessingpandas
- R
- Funzioni di base di R,
scale() poly()DescTools::Winsorize()
- Funzioni di base di R,
Filtri della teoria del controllo
È possibile utilizzare tecniche avanzate per analizzare dati di serie temporali, filtrare il rumore, estrarre componenti di frequenza e modellare sistemi dinamici. Questi metodi sono utili per i dati dei sensori, le serie temporali finanziarie e i sistemi di controllo.
- Filtro di Kalman
- Descrizione
Un filtro di Kalman è un algoritmo ricorsivo ottimale che stima lo stato di un sistema dinamico a partire da misurazioni rumorose. Combina le previsioni di un modello matematico con osservazioni rumorose per produrre stime ottimali.
- Esempio di scenario
È in fase di sviluppo un sistema di navigazione per veicoli che utilizzerà sensori GPS per tracciare la posizione. Tuttavia, i segnali GPS sono disturbati e talvolta non disponibili. Il sistema di navigazione può utilizzare un filtro Kalman che combina le misurazioni GPS con le previsioni del modello di movimento del veicolo (basato sulla velocità e sull'angolo di sterzata). Il filtro valuta in modo ottimale queste fonti di informazione, fornendo stime di posizione fluide e accurate anche quando i segnali GPS sono degradati, e può mantenere stime di posizione ragionevoli durante brevi interruzioni del segnale GPS.
- Librerie
- Python
filterpylibreria (implementazioni complete del filtro di Kalman)
- R
KFAS(Filtro di Kalman e smussatore per modelli di spazio di stato della famiglia esponenziale)dlm(Modelli lineari dinamici)
- filtro a passa basso
- Descrizione
Un filtro passa-basso è un filtro digitale che consente il passaggio selettivo di determinate gamme di frequenze basse attenuando quelle alte. È possibile utilizzarlo per la riduzione del rumore e il condizionamento del segnale.
- Esempio di scenario
Un tecnico analizza i segnali dell'elettrocardiogramma (ECG) dei pazienti per rilevare eventuali anomalie cardiache. I segnali ECG grezzi contengono rumori ad alta frequenza causati dai movimenti muscolari, interferenze elettriche e artefatti dei sensori che oscurano il ritmo cardiaco sottostante. Applicando un filtro Butterworth passa-basso con una frequenza di taglio di 40 Hz, il tecnico rimuove il rumore ad alta frequenza preservando le forme d'onda cardiache essenziali, consentendo una misurazione accurata della frequenza cardiaca e il rilevamento delle aritmie.
- Librerie
- Python
scipy.signal(burro, cheby1, cheby2, bessel, funzioni ellittiche)
- R
signalpacchetto
- filtro passa-alto
- Descrizione
Un filtro passa-alto è un filtro digitale che consente il passaggio selettivo di determinate gamme di frequenze elevate, attenuando al contempo le gamme di frequenze basse al di sotto di una soglia. È possibile utilizzarlo per la riduzione del rumore e il condizionamento del segnale.
- Esempio di scenario
Un tecnico del suono elabora registrazioni che contengono rumori a bassa frequenza provenienti da impianti di climatizzazione e dal traffico. Queste componenti a bassa frequenza (inferiori a 80 Hz) non contribuiscono alla comprensibilità del parlato, ma consumano la gamma dinamica e possono causare distorsioni. Applicando un filtro passa-alto con una frequenza di taglio di 80 Hz, il tecnico elimina il rumore mantenendo la piena chiarezza del parlato umano (tipicamente 100-8.000 Hz). L'uso del filtro consente di ottenere registrazioni più pulite e dal suono più professionale.
- Librerie
- Python
scipy.signal(burro, cheby1, cheby2, bessel, funzioni ellittiche)
- R
signalpacchetto
- Filtro passa-banda
- Descrizione
Un filtro passa-banda è un filtro digitale che consente il passaggio selettivo di determinate gamme di frequenza attenuando le frequenze al di fuori di tale gamma. È possibile utilizzarlo per la riduzione del rumore e il condizionamento del segnale.
- Esempio di scenario
Un sismologo analizza i dati relativi ai terremoti per distinguere tra diversi tipi di onde sismiche. Le onde primarie (onde P) si verificano tipicamente nella gamma 1-5 Hz. Le onde di superficie compaiono a frequenze più basse ( 0.1-1 Hz). Il sismologo può applicare un filtro passa-banda centrato su 1-5 Hz per isolare gli arrivi delle onde P dal sismografo complesso.
- Librerie
- Python
scipy.signal(burro, cheby1, cheby2, bessel, funzioni ellittiche)
- R
signalpacchetto
- Livellamento esponenziale (media mobile)
- Descrizione
Questo filtro utilizza tecniche di livellamento su una serie temporale per ridurre il rumore preservando al contempo le tendenze sottostanti. Utilizza medie ponderate per dare maggiore importanza alle osservazioni recenti.
- Esempio di scenario
Una catena di negozi prevede le vendite settimanali per pianificare le scorte. I dati storici sulle vendite mostrano sia le tendenze sottostanti sia una significativa volatilità settimanale dovuta a promozioni, condizioni meteorologiche e fattori casuali. Essi applicano una levigatura esponenziale con α= 0.3, che attribuisce maggiore peso alle osservazioni recenti, attenuando al contempo le fluttuazioni a breve termine. Questo livellamento produce previsioni stabili che catturano le tendenze reali senza reagire in modo eccessivo ai picchi temporanei.
- Librerie
- Python
scipy.signal(burro, cheby1, cheby2, bessel, funzioni ellittiche)
- R
signalpacchetto
- Trasformazioni wavelet
- Descrizione
Le trasformate wavelet utilizzano tecniche di analisi multirisoluzione per scomporre i segnali in rappresentazioni tempo-frequenza utilizzando wavelet (funzioni localizzate simili a onde). Fornisce inoltre informazioni sia sul tempo che sulla frequenza.
- Esempio di scenario
Un tecnico analizza le scansioni MRI per rilevare anomalie cerebrali. Le immagini contengono caratteristiche importanti su più scale, ad esempio strutture anatomiche su larga scala e variazioni tissutali su scala fine. Il tecnico può utilizzare una trasformata wavelet discreta con wavelet di Daubechies per scomporre le immagini in più livelli di risoluzione. Questa analisi multiscala rivela modelli sottili che potrebbero sfuggire nell'analisi spaziale standard.
- Librerie
- Python
pywt( PyWavelets ) libreria
- R
waveletspacchettowaveslim
- Modelli stato-spazio
- Descrizione
Un modello stato-spazio è un quadro matematico che rappresenta i sistemi dinamici come insiemi di variabili di input, output e stato correlate da equazioni differenziali o differenziali. Fornisce un approccio unificato all'analisi e al controllo delle serie temporali.
- Esempio di scenario
Il modello economico delle dinamiche del PIL di un paese utilizza diversi fattori correlati tra loro: consumi, investimenti, spesa pubblica ed esportazioni nette. Questi componenti evolvono nel tempo e si influenzano a vicenda in modi complessi. Formulando il problema come modello spazio-stato, è possibile rappresentare la situazione economica del Paese e la sua evoluzione, tenendo conto degli errori di misurazione negli indicatori economici osservati. Il modello consente previsioni sofisticate che gestiscono correttamente i dati mancanti e forniscono una quantificazione dell'incertezza.
- Librerie
- Python
statsmodels.tsa.statespaceModulo
- R
KFASdlmPackage
Elaborazione dei segnali
È possibile utilizzare tecniche di elaborazione del segnale per rilevare o individuare componenti di interesse in un segnale misurato.
- Trasformata veloce di Fourier (FFT)
- Descrizione
È possibile utilizzare una trasformata di Fourier veloce per convertire i segnali nel dominio del tempo in rappresentazioni nel dominio della frequenza, che possono rivelare componenti periodiche e caratteristiche spettrali.
- Esempio di scenario
Un produttore desidera diagnosticare i problemi dei macchinari industriali analizzando i dati dei sensori di vibrazione. Diversi tipi di guasti producono modelli di vibrazione caratteristici a frequenze specifiche. Applicando la FFT ai dati delle vibrazioni delle serie temporali, è possibile trasformarli nel dominio della frequenza, che mostra l'ampiezza delle vibrazioni a ciascuna frequenza. I picchi a frequenze specifiche indicano particolari tipi di guasti, che il produttore può utilizzare per pianificare la manutenzione prima che si verifichino guasti catastrofici.
- Librerie
- Python
numpy.fftModuloscipy.fft
- R
fft()funzione (base R),spectrum()
Mappature e trasformazioni delle caratteristiche
È inoltre possibile utilizzare tecniche avanzate di feature engineering che creano caratteristiche informative, catturano relazioni complesse e migliorano le prestazioni del modello.
- Trasformazione Box- Cox
- Descrizione
Una famiglia di trasformazioni di potenza che determina automaticamente il parametro di trasformazione ottimale (lambda) per rendere i dati più normalmente distribuiti e stabilizzare la varianza.
- Esempio di scenario
Un analista di mercato costruisce un modello di regressione per prevedere i prezzi delle case sulla base di caratteristiche quali la metratura, il numero di camere da letto e la dimensione del lotto. La distribuzione dei prezzi è asimmetrica verso destra e presenta una varianza non costante. L'analista applica una trasformazione Box- Cox per determinare automaticamente il parametro lambda ottimale (λ= 0.23 ) che normalizza al meglio la distribuzione e stabilizza la varianza. La trasformazione migliora le ipotesi del modello di regressione e l'accuratezza delle previsioni.
- Librerie
- Python
scipy.stats.boxcox()sklearn.preprocessing.PowerTransformer
- R
boxcox()dal pacchetto MASScar::powerTransform()
- Mappatura dei ranghi e dei quantili
- Descrizione
Trasforma i dati in base all'ordine di classificazione o alla posizione quantile. La mappatura quantilica trasforma i dati per renderli più uniformi o per adattarli a una distribuzione normale basata sui quantili. La mappatura dei ranghi trasforma i dati in una scala standardizzata utilizzando il rango percentile.
- Esempio di scenario
Un modello di valutazione del merito creditizio combina più indicatori di rischio con distribuzioni diverse: alcuni sono distribuiti normalmente, altri sono altamente asimmetrici e altri ancora hanno code pesanti. Il modello applica una trasformazione quantilica a ciascun indicatore per creare un punteggio composito robusto. Questo approccio non è sensibile ai valori anomali e garantisce che ogni indicatore contribuisca in modo uguale al punteggio finale, indipendentemente dalla sua scala originale o dalla forma della distribuzione.
- Librerie
- Python
scipy.stats.rankdata()pandas.qcut()sklearn.preprocessing.QuantileTransformer
- R
rank()quantile()cut()
- Interazione delle funzionalità
- Descrizione
È possibile utilizzare l'interazione delle caratteristiche per creare nuove caratteristiche combinando quelle esistenti tramite operazioni matematiche. È possibile utilizzare le interazioni tra caratteristiche per catturare effetti sinergici e relazioni non lineari che le singole caratteristiche non sono in grado di rappresentare.
- Esempio di scenario
Una compagnia di assicurazioni auto crea un modello per prevedere l'ammontare dei risarcimenti. Sono disponibili opzioni relative all'età del conducente, al valore del veicolo e al chilometraggio annuale. L'analisi rivela che la relazione tra questi fattori e i reclami non è semplicemente additiva. Ad esempio, un elevato chilometraggio è particolarmente rischioso per i giovani conducenti, ma lo è meno per i conducenti esperti. Creando caratteristiche di interazione (Età × Chilometraggio, Età × Valore_Veicolo, Chilometraggio × Valore_Veicolo), il modello cattura questi effetti sinergici, migliorando l'accuratezza delle previsioni e consentendo una determinazione dei prezzi basata sul rischio più sfumata.
- Librerie
- Python
sklearn.preprocessing.PolynomialFeatures- Funzioni personalizzate
- R
- Interfaccia Formula ( x1:x2 )
poly()- Funzioni personalizzate
- Mappature non lineari personalizzate
- Descrizione
È possibile definire trasformazioni che applicano funzioni matematiche personalizzate o trasformazioni specifiche del dominio alle caratteristiche.
- Esempio di scenario
Un'azienda di telecomunicazioni desidera analizzare i modelli di comportamento dei clienti per prevedere il tasso di abbandono. I loro studi mostrano una relazione non lineare tra il tasso di abbandono e i clienti che contattano il servizio clienti. I clienti che hanno contattato il servizio clienti molto recentemente presentano un elevato rischio di abbandono. I clienti che hanno contattato il servizio clienti nel recente passato presentano un rischio basso, poiché è probabile che i problemi siano stati risolti, mentre quelli che non hanno contattato il servizio da mesi presentano un rischio crescente. L'azienda crea una trasformazione personalizzata a forma di U che cattura questa complessa relazione, migliorando le previsioni di abbandono.
- Librerie
Implementato tramite script e funzioni personalizzati