J'ai vu la formule de normalisation min-max mais cela normalise les valeurs comprises entre 0 et 1. Comment normaliser mes données entre -1 et 1? J'ai des valeurs négatives et positives dans ma matrice de données.
J'ai vu la formule de normalisation min-max mais cela normalise les valeurs comprises entre 0 et 1. Comment normaliser mes données entre -1 et 1? J'ai des valeurs négatives et positives dans ma matrice de données.
Réponses:
x[0,1]
Pour normaliser dans vous pouvez utiliser:
En général, vous pouvez toujours obtenir une nouvelle variable dans : [ a , b ]
J'ai testé sur des données générées aléatoirement, et
ne préserve pas la forme de la distribution. Voudrais vraiment voir la dérivation appropriée de cette fonction en utilisant des fonctions de variables aléatoires.
L’approche qui préservait la forme pour moi utilisait:
où
(J'avoue que l'utilisation de 6 est un peu sale ) et
et
b a = - 1 b = 1 et est la plage souhaitée; de sorte que selon la question initiale serait et .
Je suis arrivé au résultat de ce raisonnement
set.seed(1); scale(rnorm(1000))*.333
. Je reçois un max de 1.230871
. Votre méthode semble être juste un ajustement sur la normalisation des données, plutôt que de les normaliser comme demandé. Notez que la question ne demande pas une méthode qui préserve la forme de la distribution (ce qui serait une exigence étrange pour la normalisation).