Affatto. L'entità dei coefficienti dipende direttamente dalle scale selezionate per le variabili, che è una decisione di modellizzazione alquanto arbitraria.
Per vedere questo, considera un modello di regressione lineare che prevede la larghezza del petalo di un'iride (in centimetri) data la sua lunghezza del petalo (in centimetri):
summary(lm(Petal.Width~Petal.Length, data=iris))
# Call:
# lm(formula = Petal.Width ~ Petal.Length, data = iris)
#
# Residuals:
# Min 1Q Median 3Q Max
# -0.56515 -0.12358 -0.01898 0.13288 0.64272
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) -0.363076 0.039762 -9.131 4.7e-16 ***
# Petal.Length 0.415755 0.009582 43.387 < 2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 0.2065 on 148 degrees of freedom
# Multiple R-squared: 0.9271, Adjusted R-squared: 0.9266
# F-statistic: 1882 on 1 and 148 DF, p-value: < 2.2e-16
Il nostro modello raggiunge un valore R ^ 2 aggiustato di 0,9266 e assegna il valore del coefficiente 0,415755 alla variabile Petal.Length.
Tuttavia, la scelta di definire Petal.Length in centimetri era abbastanza arbitraria e avremmo potuto invece definire la variabile in metri:
iris$Petal.Length.Meters <- iris$Petal.Length / 100
summary(lm(Petal.Width~Petal.Length.Meters, data=iris))
# Call:
# lm(formula = Petal.Width ~ Petal.Length.Meters, data = iris)
#
# Residuals:
# Min 1Q Median 3Q Max
# -0.56515 -0.12358 -0.01898 0.13288 0.64272
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) -0.36308 0.03976 -9.131 4.7e-16 ***
# Petal.Length.Meters 41.57554 0.95824 43.387 < 2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 0.2065 on 148 degrees of freedom
# Multiple R-squared: 0.9271, Adjusted R-squared: 0.9266
# F-statistic: 1882 on 1 and 148 DF, p-value: < 2.2e-16
Naturalmente, ciò non influisce in alcun modo sul modello montato: abbiamo semplicemente assegnato un coefficiente 100x più grande a Petal.Length.Meters (41.57554) rispetto a Petal.Length (0.415755). Tutte le altre proprietà del modello (R ^ 2 rettificato, statistiche t, valori p, ecc.) Sono identiche.
Generalmente, quando si adattano modelli lineari regolarizzati, si devono prima normalizzare le variabili (ad esempio, con 0 medio e varianza unitaria) per evitare di favorire alcune variabili rispetto ad altre in base alle scale selezionate.
Supponendo dati normalizzati
Anche se tutte le variabili sono state normalizzate, le variabili con coefficienti più elevati potrebbero non essere altrettanto utili nelle previsioni perché le variabili indipendenti sono raramente impostate (hanno una varianza bassa). Ad esempio, si consideri un set di dati con la variabile dipendente Z e le variabili indipendenti X e Y che assumono valori binari
set.seed(144)
dat <- data.frame(X=rep(c(0, 1), each=50000),
Y=rep(c(0, 1), c(1000, 99000)))
dat$Z <- dat$X + 2*dat$Y + rnorm(100000)
Per costruzione, il coefficiente per Y è circa due volte più grande del coefficiente per X quando entrambi sono usati per prevedere Z tramite regressione lineare:
summary(lm(Z~X+Y, data=dat))
# Call:
# lm(formula = Z ~ X + Y, data = dat)
#
# Residuals:
# Min 1Q Median 3Q Max
# -4.4991 -0.6749 -0.0056 0.6723 4.7342
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) -0.094793 0.031598 -3.00 0.0027 **
# X 0.999435 0.006352 157.35 <2e-16 ***
# Y 2.099410 0.031919 65.77 <2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 0.9992 on 99997 degrees of freedom
# Multiple R-squared: 0.2394, Adjusted R-squared: 0.2394
# F-statistic: 1.574e+04 on 2 and 99997 DF, p-value: < 2.2e-16
Tuttavia, X spiega più della varianza in Z di Y (il modello di regressione lineare che prevede Z con X ha valore R ^ 2 0,2065, mentre il modello di regressione lineare che prevede Z con Y ha valore R ^ 2 0,0511):
summary(lm(Z~X, data=dat))
# Call:
# lm(formula = Z ~ X, data = dat)
#
# Residuals:
# Min 1Q Median 3Q Max
# -5.2587 -0.6759 0.0038 0.6842 4.7342
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 1.962629 0.004564 430.0 <2e-16 ***
# X 1.041424 0.006455 161.3 <2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 1.021 on 99998 degrees of freedom
# Multiple R-squared: 0.2065, Adjusted R-squared: 0.2065
# F-statistic: 2.603e+04 on 1 and 99998 DF, p-value: < 2.2e-16
contro:
summary(lm(Z~Y, data=dat))
# Call:
# lm(formula = Z ~ Y, data = dat)
#
# Residuals:
# Min 1Q Median 3Q Max
# -5.0038 -0.7638 -0.0007 0.7610 5.2288
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) -0.09479 0.03529 -2.686 0.00724 **
# Y 2.60418 0.03547 73.416 < 2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 1.116 on 99998 degrees of freedom
# Multiple R-squared: 0.05114, Adjusted R-squared: 0.05113
# F-statistic: 5390 on 1 and 99998 DF, p-value: < 2.2e-16
Il caso della multi-collinearità
Un terzo caso in cui valori di coefficienti elevati possono essere ingannevoli sarebbe nel caso di una significativa multi-collinearità tra le variabili. Ad esempio, si consideri un set di dati in cui X e Y sono altamente correlati ma W non è altamente correlato agli altri due; stiamo cercando di prevedere Z:
set.seed(144)
dat <- data.frame(W=rnorm(100000),
X=rnorm(100000))
dat$Y <- dat$X + rnorm(100000, 0, 0.001)
dat$Z <- 2*dat$W+10*dat$X-11*dat$Y + rnorm(100000)
cor(dat)
# W X Y Z
# W 1.000000e+00 5.191809e-05 5.200434e-05 0.8161636
# X 5.191809e-05 1.000000e+00 9.999995e-01 -0.4079183
# Y 5.200434e-05 9.999995e-01 1.000000e+00 -0.4079246
# Z 8.161636e-01 -4.079183e-01 -4.079246e-01 1.0000000
Queste variabili hanno praticamente la stessa media (0) e varianza (~ 1) e la regressione lineare assegna valori di coefficienti molto più alti (in valore assoluto) a X (circa 15) e Y (circa -16) rispetto a W ( circa 2):
summary(lm(Z~W+X+Y, data=dat))
# Call:
# lm(formula = Z ~ W + X + Y, data = dat)
#
# Residuals:
# Min 1Q Median 3Q Max
# -4.1886 -0.6760 0.0026 0.6679 4.2232
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 1.831e-04 3.170e-03 0.058 0.954
# W 2.001e+00 3.172e-03 630.811 < 2e-16 ***
# X 1.509e+01 3.177e+00 4.748 2.05e-06 ***
# Y -1.609e+01 3.177e+00 -5.063 4.13e-07 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 1.002 on 99996 degrees of freedom
# Multiple R-squared: 0.8326, Adjusted R-squared: 0.8326
# F-statistic: 1.658e+05 on 3 and 99996 DF, p-value: < 2.2e-16
Tuttavia, tra le tre variabili nel modello W è la più importante: se rimuovi W dal modello completo, R ^ 2 scende da 0,833 a 0,166, mentre se rilasci X o Y R ^ 2 rimane praticamente invariato.