Alcuni dei miei predittori sono su scale molto diverse: devo trasformarli prima di adattare un modello di regressione lineare?


9

Vorrei eseguire la regressione lineare su un set di dati multidimensionale. Esistono differenze tra le diverse dimensioni in termini di grandezza dell'ordine. Ad esempio, la dimensione 1 ha generalmente un intervallo di valori di [0, 1] e la dimensione 2 ha un intervallo di valori di [0, 1000].

Devo effettuare qualche trasformazione per garantire che gli intervalli di dati per dimensioni diverse siano nella stessa scala? Se è necessario, ci sono indicazioni per questo tipo di trasformazione?

Risposte:


15

Le variabili di spostamento / ridimensionamento non influiranno sulla loro correlazione con la risposta

Per capire perché questo è vero, supponiamo che la correlazione tra e sia . Quindi la correlazione tra e èX ρ Y ( X - a ) / bYXρY(Xa)/b

cov(Y,(Xa)/b)SD((Xa)/b)SD(Y)=cov(Y,X/b)SD(X/b)SD(Y)=1bcov(Y,X)1bSD(X)SD(Y)=ρ

che segue dalla definizione di correlazione e tre fatti:

  • cov(Y,X+a)=cov(Y,X)+cov(Y,a)=0=cov(Y,X)

  • cov(Y,aX)=acov(Y,X)

  • SD(aX)=aSD(X)

Pertanto, in termini di adattamento del modello (ad es. o valori adattati), spostare o ridimensionare le variabili (ad es. Inserendole sulla stessa scala) non cambierà il modelloR2 , poiché i coefficienti di regressione lineare sono correlati alle correlazioni tra variabili. Cambierà solo la scala dei coefficienti di regressione , che dovrebbe essere tenuta presente quando si interpreta l'output se si sceglie di trasformare i propri predittori.

Modifica: quanto sopra ha assunto che stai parlando della regressione ordinaria con l'intercettazione. Un altro paio di punti relativi a questo (grazie @cardinal):

  • L'intercettazione può cambiare quando trasformi le tue variabili e, come sottolinea @cardinal nei commenti, i coefficienti cambieranno quando sposti le variabili se ometti l'intercetta dal modello, anche se presumo che non lo stai facendo a meno che tu non lo abbia fatto una buona ragione (vedi ad esempio questa risposta ).

  • Se stai regolarizzando i tuoi coefficienti in qualche modo (es. Lazo, regressione della cresta), la centratura / ridimensionamento influiranno sull'adattamento. Ad esempio, se stai penalizzando (la penalità di regressione della cresta), non puoi recuperare un adattamento equivalente dopo la standardizzazione a meno che tutte le variabili non fossero sulla stessa scala in primo luogo, cioè non esiste un multiplo costante che recupererà la stessa penalità.βi2

Per quanto riguarda quando / perché un ricercatore potrebbe voler trasformare i predittori

Una circostanza comune (discussa nella successiva risposta di @Paul) è che i ricercatori standardizzeranno i loro predittori in modo che tutti i coefficienti siano sulla stessa scala. In tal caso, la dimensione delle stime puntuali può dare un'idea approssimativa di quali fattori predittivi abbiano l'effetto maggiore una volta che l'entità numerica del predittore è stata standardizzata.

Un altro motivo per cui un ricercatore potrebbe voler ridimensionare variabili molto grandi è che i coefficienti di regressione non sono su una scala estremamente piccola. Ad esempio, se si desidera esaminare l'influenza della dimensione della popolazione di un paese sul tasso di criminalità (non si potrebbe pensare a un esempio migliore), si potrebbe voler misurare la dimensione della popolazione in milioni anziché nelle sue unità originali, dal momento che il coefficiente potrebbe essere qualcosa come ..00000001


Due brevi osservazioni: mentre l'inizio del post è corretto, manca il fatto che il centraggio avrà un effetto se un'intercetta è assente. :) In secondo luogo, centrare e riscalare ha effetti importanti se si utilizza la regolarizzazione. Anche se l'OP potrebbe non prendere in considerazione ciò, è probabilmente ancora un punto utile da tenere a mente.
cardinale il

L'invarianza al riscalaggio è anche facilmente visibile se si è a proprio agio con la notazione matriciale. Con completo (per semplicità), . Ora se sostituiamo con dove è diagonale otteniamoXy^=X(XX)1XyXXDD
y~=(XD)((XD)XD)1(XD)y=XD(DXXD)1DXy=X(XX)1Xy=y^.
cardinale il

@cardinale, ho deciso di menzionare il fatto che, se le tue stime sono regolarizzate, la centratura / il ridimensionamento possono avere un impatto. All'inizio ho resistito perché pensavo che sarebbe iniziata una lunga digressione che potrebbe confondere coloro che non hanno familiarità con la regolarizzazione, ma ho scoperto che avrei potuto affrontarlo con relativamente poco spazio. Thanks--
Macro

Non tutti i miei commenti hanno necessariamente lo scopo di suggerire che la risposta debba essere aggiornata. Molte volte mi piace semplicemente inserire osservazioni accessorie sotto belle risposte per dare un paio di pensieri su idee correlate che potrebbero essere di interesse per un passante. (+1)
cardinale il

Sta succedendo qualcosa di strano nel conteggio dei voti. Ancora una volta, ho valutato questo quando ho fatto il mio commento precedente e non ha "preso". Hmm.
cardinale il

2

La cosiddetta "normalizzazione" è una routine comune per la maggior parte dei metodi di regressione. Ci sono due modi:

  1. Mappa ogni variabile in limiti [-1, 1] (mapminmax in MatLab.
  2. X~ij=Xijμiσi
    X~ij=XijXi¯std(Xi)
    E[Xi]=μE[Xi2E[Xi]2]=σ2Xi¯=1Nj=1NXijstd(Xi)=1Nj=1N(Xij2Xi¯2)

Dato che la regressione lineare è molto sensibile agli intervalli di variabili, in genere suggerirei di normalizzare tutte le variabili se non si dispone di alcuna conoscenza precedente della dipendenza e ci si aspetta che tutte le variabili siano relativamente rilevanti.

Lo stesso vale per le variabili di risposta, sebbene non sia molto importante per loro.

Perché fare normalizzazione o standartizzazione? Principalmente al fine di determinare l'impatto relativo di diverse variabili nel modello. Ciò può essere ottenuto se tutte le variabili sono nelle stesse unità.

Spero che sia di aiuto!


x1,x2,ysummary(lm(y~x1+x2))$r.sqsummary(lm(y~scale(x1)+scale(x2)))$r.sqR2

R2

p
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.