Widziałem formułę normalizacji min-max, ale normalizuje ona wartości od 0 do 1. W jaki sposób normalizowałbym moje dane od -1 do 1? Mam zarówno ujemne, jak i dodatnie wartości w mojej macierzy danych.
Widziałem formułę normalizacji min-max, ale normalizuje ona wartości od 0 do 1. W jaki sposób normalizowałbym moje dane od -1 do 1? Mam zarówno ujemne, jak i dodatnie wartości w mojej macierzy danych.
Odpowiedzi:
Za pomocą: normalizujesz swoją funkcję x w [0,1] .
Aby normalizować w , możesz użyć:
Ogólnie rzecz biorąc, zawsze możesz uzyskać nową zmienną w :
Testowałem na losowo generowanych danych i
nie zachowuje kształtu rozkładu. Naprawdę chciałbym zobaczyć prawidłowe wyprowadzenie tego przy użyciu funkcji zmiennych losowych.
Podejście, które zachowało dla mnie ten kształt, polegało na:
gdzie
(Przyznaję, że używanie 6 jest trochę brudne ) i
i
i jest pożądany zakres; tak jak w oryginalnym powinno wynosić i .
Doszedłem do wyniku tego rozumowania
set.seed(1); scale(rnorm(1000))*.333
. Dostaję maksimum 1.230871
. Wydaje się, że twoja metoda to tylko drobna poprawa standaryzacji danych, zamiast normalizacji ich zgodnie z żądaniami. Zauważ, że pytanie nie wymaga metody, która zachowuje kształt rozkładu (co byłoby dziwnym wymogiem normalizacji).