Ho visto la formula di normalizzazione min-max ma che normalizza i valori tra 0 e 1. Come potrei normalizzare i miei dati tra -1 e 1? Ho valori negativi e positivi nella mia matrice di dati.
Ho visto la formula di normalizzazione min-max ma che normalizza i valori tra 0 e 1. Come potrei normalizzare i miei dati tra -1 e 1? Ho valori negativi e positivi nella mia matrice di dati.
Risposte:
x[0,1]
Per normalizzare in puoi usare:
In generale, puoi sempre ottenere una nuova variabile in :
Ho testato su dati generati casualmente e
non conserva la forma della distribuzione. Mi piacerebbe davvero vedere la corretta derivazione di questo usando le funzioni di variabili casuali.
L'approccio che ha preservato la forma per me è stato l'utilizzo di:
dove
(Ammetto che usare 6 è un po ' sporco ) e
e
e è l'intervallo desiderato; così come per la domanda originale sarebbe e .
Sono arrivato al risultato da questo ragionamento
set.seed(1); scale(rnorm(1000))*.333
. Ottengo un massimo di 1.230871
. Il tuo metodo sembra essere solo una modifica alla standardizzazione dei dati, piuttosto che normalizzarli come richiesto. Si noti che la domanda non richiede un metodo che preservi la forma della distribuzione (che sarebbe uno strano requisito per la normalizzazione).