Pakiet MASS, który jest już dostarczony z zainstalowanym R, ma boxcox()
funkcję, której możesz użyć: Po wczytaniu danych wykonaj:
library(MASS)
boxcox(y ~ x)
Następnie spójrz na wykres, który on generuje, który pokazuje graficznie 95% przedział ufności dla parametru transformacji boxcox. Ale tak naprawdę nie ma wystarczających danych (n = 10), aby to zrobić, wynikowy przedział ufności wynosi prawie od -2 do 2 !, z maksymalnym oszacowaniem prawdopodobieństwa około 0 (transformata logarytmiczna, jak powiedziano wcześniej). Jeśli twoje prawdziwe dane zawierają więcej obserwacji, powinieneś spróbować.
Jak powiedzieli inni, ta transformacja naprawdę próbuje ustabilizować wariancje. Nie jest to tak naprawdę oczywiste z teorii, ponieważ próbuje ona zmaksymalizować funkcję prawdopodobieństwa opartą na rozkładzie normalnym, która zakłada stałą wariancję. Można by pomyśleć, że maksymalizacja prawdopodobieństwa opartego na normie będzie próbowała znormalizować rozkład reszt, ale w praktyce główny wkład w maksymalizację prawdopodobieństwa wynika ze stabilizacji wariancji. To może nie jest tak zaskakujące, biorąc pod uwagę, że prawdopodobieństwo, które maksymalizujemy, oparte jest na stałej wariancji rodziny rozkładów normalnych!
Kiedyś napisałem demo oparte na suwaku w XLispStat, co wyraźnie to pokazało!