Colineal variables independientes puede tener efectos indeseables sobre la interpretación de los coeficientes en un modelo lineal. De hecho, para los dos perfectamente correlacionados predictores, los coeficientes son no se determina únicamente, dejando un solo grado de libertad por el cual pueden variar.
Sin embargo, la adición de un poco de aleatoriedad da soluciones a los OLS ecuaciones que no están demasiado lejos de la asignación de la correlación de las variables independientes igualdad de peso.
Un ejemplo de ello. El siguiente (en python) código crea una simple relación lineal entre una variable independiente y una sola variable dependiente. Luego copia la variable independiente para generar una segunda variable independiente y agrega una pequeña cantidad de independientes de ruido gaussiano para ambos. Por lo tanto, la segunda variable es casi perfectamente correlacionadas con la primera variable. Cuando hacemos esto varias veces y la trama de la resultante de los coeficientes, que tienden a centrarse alrededor de 2.5 y 2.5:
import numpy as np
import matplotlib.pyplot as plt
import sklearn.linear_model
coefs = [] # to hold the coefficient of all of the OLS fits
for i in range(1000): # run OLS a bunch to see what the coefficients do
X = np.linspace(0,1,100) # some independent variable
y = 5*X + 4 # some dependent variable
X2 = X # a new independent variable that is correlated with the first
XX = (
np.stack((X,X2)).T + # stack the independent variables
np.random.normal(0,0.01,(100,2) # add noise
)
lr = sklearn.linear_model.LinearRegression()
lr.fit(XX,y)
coefs.append(lr.coef_) # get the coefficients of an OLS linear regression
coefs = np.array(coefs)
plt.scatter(coefs[:,0], coefs[:,1])
plt.show()
¿Por qué estoy relativamente poco probable que se de, digamos, un X1
coeficiente de -105 y un X2
coeficiente de 110? Aquellos añadir hasta 5, pero hay algo empujando los resultados hacia la 2.5, 2.5. ¿Qué es la intuición detrás de este fenómeno, y qué implicaciones prácticas tiene esto cuando se enfrentan con colineales variables independientes?
ACTUALIZACIÓN:
La alteración de la cantidad de ruido Gaussiano de tener una mucho más pequeña de la varianza (σ=0.00000001 frente a σ=0.01 en el ejemplo anterior):
Y σ=0.0000000000000001:
UPDATEUPDATE:
Interés en cómo la cantidad de ruido agregado juega a este fenómeno el que me animó a hacer el siguiente gráfico. Me encontré con el anterior experimento para diferentes cantidades de ruido agregado, de 21 a 2−60 en una escala exponencial. Entonces medí la ets de el coeficiente de X1 en el anterior experimento para cada uno de los ensayos. Los resultados se dan aquí (debe leer −log2 en el eje x):
Sospecho que en muy muy pequeños valores de ruido añadido, hay problemas numéricos debido a los límites de la arquitectura de computadores. Contabilidad para que, parece que a partir de este gráfico de la distribución de MCO de los coeficientes de X1 y X2 converge a una distribución Gaussiana con media de 2.5 y sexual, 0.25 o así. Por lo tanto, esto parece como "¿por Qué no los coeficientes de (-105,110)?" todavía está abierta.
Zoom sobre el extraño comportamiento para valores muy pequeños:
Que parece que está haciendo un sano cosa. Eso no significa que no los errores de punto flotante, pero no está claro que eso es lo que está sucediendo.