Zmienne przesunięcia / skalowania nie wpłyną na ich korelację z odpowiedzią
Aby zobaczyć, dlaczego tak jest, załóżmy, że korelacja między i jest . Zatem korelacja między i jestYXρY( X- a ) / b
c o v (Y, ( X- a ) / b )S D ((X- a ) / b ) ⋅ S D ( Y)=c o v (Y, X/ b)S D (X/ b)⋅ S D (Y)=1b⋅ c o v ( Y, X)1bS D (X) ⋅ S D ( Y)= ρ
co wynika z definicji korelacji i trzech faktów:
c o v (Y, X+ a ) = c o v ( Y, X) +c o v (Y, a )= 0= c o v ( Y, X)
c o v (Y, X) = a c o v (Y, X)
S. D (aX) = a ⋅ S D (X)
Dlatego pod względem dopasowania modelu (np. lub dopasowane wartości) przesunięcie lub skalowanie zmiennych (np. Umieszczenie ich w tej samej skali) nie zmieni modeluR2) , ponieważ współczynniki regresji liniowej są powiązane z korelacjami między zmiennymi. Zmieni to jedynie skalę współczynników regresji , o których należy pamiętać, interpretując wynik, jeśli zdecydujesz się na transformację predyktorów.
Edycja: Powyższe założyło, że mówisz o zwykłej regresji z przechwyceniem. Jeszcze kilka punktów związanych z tym (dzięki @cardinal):
Przechwytywanie może się zmieniać podczas przekształcania zmiennych i, jak wskazuje @cardinal w komentarzach, współczynniki zmienią się, gdy przesuniesz zmienne, jeśli pominiesz przechwytywanie z modelu, chociaż zakładam, że tego nie robisz, chyba że masz dobry powód (patrz np. ta odpowiedź ).
Jeśli w jakiś sposób regulujesz swoje współczynniki (np. Lasso, regresja grzbietu), wówczas centrowanie / skalowanie wpłynie na dopasowanie. Na przykład, jeśli penalizujesz (kara regresji grzbietu), nie możesz odzyskać równoważnego dopasowania po standaryzacji, chyba że wszystkie zmienne były w tej samej skali, tj. nie ma stałej wielokrotności, która odzyska tę samą karę.∑β2i
Odnośnie kiedy / dlaczego badacz może chcieć przekształcić predyktory
Powszechną okolicznością (omawianą w kolejnej odpowiedzi @Paul) jest to, że badacze znormalizują swoje predyktory, aby wszystkie współczynniki były w tej samej skali. W takim przypadku rozmiar oszacowań punktowych może dać przybliżone wyobrażenie o tym, które predyktory mają największy wpływ po ustabilizowaniu wielkości liczbowej predyktora.
Innym powodem, dla którego badacz może chcieć skalować bardzo duże zmienne, jest to, że współczynniki regresji nie są w bardzo małej skali. Na przykład, jeśli chcesz przyjrzeć się wpływowi wielkości populacji kraju na wskaźnik przestępczości (nie możesz wymyślić lepszego przykładu), możesz zmierzyć wielkość populacji w milionach, a nie w jej pierwotnych jednostkach, ponieważ współczynnik może być jak ..00000001
Tak zwana „normalizacja” jest powszechną procedurą dla większości metod regresji. Istnieją dwa sposoby:
Ponieważ regresja liniowa jest bardzo wrażliwa na zakresy zmiennych, generalnie sugerowałbym normalizację wszystkich zmiennych, jeśli nie masz wcześniejszej wiedzy na temat zależności i oczekujesz, że wszystkie zmienne będą relatywnie ważne.
To samo dotyczy zmiennych odpowiedzi, chociaż nie jest to dla nich bardzo ważne.
Po co przeprowadzać normalizację lub standaryzację? Głównie w celu określenia względnego wpływu różnych zmiennych w modelu. Można to osiągnąć, jeśli wszystkie zmienne są w tych samych jednostkach.
Mam nadzieję że to pomoże!
źródło
x1,x2,y
tych dwóch poleceń:summary(lm(y~x1+x2))$r.sq
orazsummary(lm(y~scale(x1)+scale(x2)))$r.sq
- wartości , gdy nie ustandaryzujesz współczynników, a kiedy to zrobisz - podaj tę samą wartość, wskazując równoważne dopasowanie.