Sesión 4: Profundizando el análisis de regresion

Curso: Análisis de datos

Slides

Slides Sesión 4

Ya tenemos los elementos básicos de los modelos de regresión lineal. En esta sesión vamos a revisar 4 elementos clave complementarios para profundizar.

  1. Elementos de modelamiento
  2. Definicón y estimación del modelo por MCO
  3. Propiedades de los estimadores e inferencia
  4. Violación de los supuestos clásicos

1. Elementos de modelamiento

Ya tenemos los elementos básicos de los modelos de regresión lineal, revisemos algunas formas en las cuales podemos mejorar nuestros modelos.

¿Qué queremos estimar con una regresión?

Hay (al menos) tres respuestas a esta pregunta:

  • Queremos encontrar la pendiente de la línea que mejor se ajusta a unos datos, sin preocuparnos del significado.

  • Queremos hacer predicciones del valor de una variable Y según su valor de X.

  • Queremos estimar el efecto causal de un cambio en X sobre Y.

    • La causalidad es un tema muy complejo.
    • En este curso definimos un efecto causal como el efecto que se podría medir en un experimento aleatorio controlado.
  • En este sentido, tiene sentido mejorar el modelo e incluir múltiples variables.

    • Enriquecer el modelo.
    • Efectos no constantes y no linealidades.
    • Reducir problemas de endogeneidad y sesgo.

Enriquecer un modelo

Consideremos el siguiente modelo simple:

\[ \text{pesoalnacer} = \beta_{0}+\beta_{1}cigs+u \]

  • Sabemos que \(\beta_{1}\) mide \(\frac{\Delta peso}{\Delta cigs}\) ceteris paribus, si los demás factores no cambian y si \(E(u\vert cigs)=0\).

  • Sabemos que hay otros factores en u. Debemos incluirlos en regresión para poder aislar efectos de cada variable:

\[ \text{pesoalnacer} = \beta_{0}+\beta_{1}cigs+\beta_{2}lfaminc+\beta_{3}motheduc+u \]

  • Ahora \(\beta_{1}\) mide \(\frac{\Delta peso}{\Delta cigs}\) cuando \(\Delta lfaminc=0\), \(\Delta motheduc=0\).

  • Supuesto clave: \(E(u\vert cigs,\quad lfamicn,\quad motheduc)=0\).

La importancia de la forma funcional

El modelo de regresión lineal el supuesto de estimación por MCO de linealidad se refiere a que es lineal en los parámetros.

Esto quiere decir que los coeficientes a estimar son lineales, no las variables incluidas en el modelo.

Modelando con logaritmos

Transformación logarítmica de un modelo

¿Como expresar una forma exponencial en una regresión lineal?

\[ ingreso = e(\beta_0+ \beta_1 esc + u) \] \[ log(ingreso) =\beta_0 + \beta_1 esc + u \] Esto significa que simplemente transformamos la variable. Pasamos del caso en que un modelo no lineal ajusta a que uno lineal lo haga:

El modelo estimado ahora es:

\[ \widehat{log(ing)}= 2.0578 + 0.0364 esc \]

Interpretación: Un incremento en 1 año de escolaridad, en promedio incrementa \(100*0.0364=3.6\%\) el salario, manteniendo el resto constante.

Matemáticamente: Si consideramos el modelo: \[ log(y) =\beta_0 + \beta_1 x + u \] Entonces, diferenciamos respecto a x: \[ \frac{\partial (log(y)) }{\partial x } = \beta_1 \] Aplicamos la regla de la cadena: \[ \frac{\partial (log(y)) }{\partial y }* \frac{\partial y }{\partial x} = \beta_1 \] Trabajamos las expresiones y reordenamos \[ \frac{1}{y}* \frac{\partial y }{\partial x} = \beta_1 \] \[ \frac{\partial y }{y}* \frac{1 }{\partial x} = \beta_1 \] Considerando que \(\frac{\partial y }{y} \approx \% \Delta y * 100\)
\[\%\Delta y =\beta_1*100 \Delta x \]

Esta transformación de variables, no solo permite transformar el modelo, sino que también cambia la interpretación de los coeficientes.

Modelo Variable dependiente Varible independiente Interpretación de \(\beta_1\) en palabras
Nivel-nivel y x \(\Delta y =\beta_1 \Delta x\) Una unidad de x cambia en \(\beta_1\) a y
Nivel - log y log(x) \(\Delta y =(\beta_1/100) \% \Delta x\) x aumenta 1% e y cambia en \(\beta_1\)/100 unidades
Log-nivel log(y) x \(\%\Delta y =\beta_1*100 \Delta x\) x aumenta una unidad e y cambia en \(\beta_1*100\) %
Log-log log(y) log(x) \(\% \Delta y = \beta_1 \% \Delta x\) x aumenta 1 1% e y cambia en b1/100 unidades

Variables cuadráticas y polinomios

También podemos tratar de explicar mejor los datos, incluyendo efectos no constantes:

\[ ingreso = \beta_0+ \beta_1 esc + \beta_2 esc^2+ u \]

Ahora el efecto de la educación en el salario no es contante: \[ \frac{\partial{ingreso}}{ \partial{esc}}= \beta_1+2*\beta_2*esc \]

Esto no rompe el supuesto de linealidad: el modelo debe ser lineal en los coeficientes \(\beta_j\) y no en las variables \(x_j\)

En el caso de salario y educación:

Información cualitativa

Muchas veces queremos incorporar al análisis información que es no de carácter numérico, sino que responde a una característica o cualidad. - Variable binaria: toma dos valores - Ejemplo: Sexo (h, m), zona de residencia (urbano, rural) - Variable categórica: puede tomar varios valores - Ejemplos: región, industria, ocupación, nacionalidad, color de pelo, etc.

¿Cómo incluimos esta información en los modelos? Va a depender si estamos pensando que esta es la variable dependiente (y) o independiente (x).

Información cualitativa en variables independientes

Veremos primero el caso de variables binarias, porque es más fácil de incorporar. El caso de variables categóricas se incluye como una extensión a las binarias.

Variables binarias

  • Una variable binaria, dictómica, Bernoulli o también comúnmente llamada “dummy”.
  • Es útil re-definirlas como variables 0-1 -Tiene propiedades estadísticas favorables, pero la mas importante es que si x se codifica 0-1, entonces E(x)=p(x)
  • El valor 1, pasa a ser la categoría de interés
    • Siguiendo la idea de un “interruptor”, entonces está activa la categoría de interés.
  • El valor 0, pasa a ser la categoría base o referencia, que aquella con la cual comparamos.

Ejemplo: Si tenemos la variable sexo, podemos definir a la variable female = 1 para las mujeres y 0 para los hombres, entonces podemos estudiar el efecto de ser mujer (categoría de interés) en comparación a los hombres (categoría base)

Intercepto diferencial:

La información cualitativa la podemos incluir como una variable más en nuestro modelo. Esto permite tener un intercepto diferente para cada grupo.

¿Cómo interpretamos \(\delta_0\) ?

Corresponde a la diferencia promedio en Y (Salario en este caso) para el grupo de interés, versus el grupo de referencia.

En este ejemplo, \(\delta_0\) es negativo por eso la constante es menor para mujeres que hombres, es decir, a igual nivel de educación el salario promedio es menor para mujeres que hombres en \(\delta_0\), manteniendo el resto constante.

Pendiente diferencial

Se han visto varios ejemplos de cómo considerar, en un modelo de regresión múltiple, diversos interceptos para cualquier cantidad de grupos. También hay ocasiones en las que variables bina- rias interactuando con variables explicativas, que no son variables binarias, permiten considerar diferencias en las pendientes. Continuando con el ejemplo del salario, suponga que se desea saber si el rendimiento de la educación es el mismo para los hombres y para las mujeres, con- siderando una diferencia constante entre los salarios de hombres y de mujeres (una diferencia de la que ya previamente se han encontrado evidencias). Para simplificar, en este modelo sólo se incluyen educación y género. ¿Qué tipo de modelo permite rendimientos diferentes de la educación?

Considere el modelo: \[wage = \beta_0 + \delta_0 female + (\beta_1+\delta_1female) educ + u\] \[wage = \beta_0 + \delta_0 female + \beta_1educ +\delta_1female\times educ + u\]

En general:

Si consideramos un modelo con una dummy \(D_i\) y una variable dependiente numérica X entonces tenemos este caso general:

\[ y_i = \beta_0 + \beta_1 x_i + \beta_2 D_i + \beta_3(x_i\times D_i) + u_i\]

En definitiva, si combinamos ambas podemos tener los siguientes tres casos:

Ejemplo:

Variables categóricas

Hay ciertos cuidados que debemos tener con las variables categóricas. - No podemos simplemente transformarlo en un número e incorporarlo a los modelos, pues el beta representa el cambio, constante en crecer la categoría. - Lo que si podemos hacer, es definir múltiples dummys - Es la idea de “interruptor nuevamente” - Cuidado con la multicolinealidad perfecta o trampa de las dummys: - Ocurre si creamos una dummy para cada categoria y las incluimos todas. - Deben ser n categorías, n-1 variables dummys - Siempre dejar una categoría como base, en la cual todas son 0

Interacciones de variables dummy

Algunas veces queremos saber como tener dos cualidades a la vez afecta a un individuo Esto lo hacemos mediante interacciones de las variables dummys.

Lo que cambia aca es la cantidad de. grupos y categorias, sin embargo segumos comparando con el caso en que todo vale 0.

Ejemplo, si quisiéramos saber el efecto del estado civil y sexo: \[ \hat{wage} = 0.321 - 0.11 female + 0.213 married - 0.301 female \times married \] ## Variable dependiente dicotómica

Muchas veces la variable que queremos entender tiene dos posibes resultados, terminó la educación secundaria, ser madre adolescente, trabajar o no, recibir capacitación, comprar o no, etc.

Cuando la variable dependiente es cualitativa, particularmente dicotómica tenemos varias alternativas de acción.

  1. Estimar como siempre: modelo de probabilidad lineal
  2. Estimar modelos no lineales específicos: Logit o Probit ### Modelo de probabilidad lineal

Un primer caso, es estimar de la misma manera que antes con un modelo de regresión lineal y MCO.

\[ pr(y=1|X) = \beta_0 + \beta_1X_1+ \beta_2X_2+\dots+\beta_kX_k+u \]

  • B’s no tienen la misma interpretación, ya que y solo cambia de 1 a 0.
  • Coeficientes: \(\Delta pr(y=1|X)=\beta_j \Delta X_j\)

Un ejemplo posible es querer entender la participaciín laboral de una mujer. Definimos nuestra variable de interés:

Y nuestra regresión sería:

\[ participa = \beta_0 + \beta_1 pareja+ \beta_2educ+\beta_3edad+\beta_4edad2+ \beta_5hijo_{0-5}+\beta_6hijo_{6-13}+\beta_7hijo_{14-17}+u \]

Estadística descriptiva de nuestras variables:

Estimando el modelo:

Gráficamente:

Modelos no lineales para dicotómica depediente

El problema central del MPL es que p puede ser ilógico, menor que 0 y mayor que 1. Una solución es usar una función que se acerque asintóticamente a 0 y a 1, para describir mejor una probabilidad.

Hay dos casos más usados:

  1. Modelo Probit: Usar una función de distribución acumulada de una distribución normal
  2. Modelo Logit : Usar una función de distribución acumulada de una distribución logística

  • Muchas veces la variable que queremos entender tiene dos posibes resultados, terminó la educación secundaria, ser madre adolescente, trabajar o no, recibir capacitación, comprar o no, etc.

  • Cuando la variable dependiente es cualitativa, particularmente dicotómica tenemos varias alternativas de acción.

  1. Estimar como siempre: modelo de probabilidad lineal
  2. Estimar modelos no lineales específicos: Logit o Probit

Modelo de probabilidad lineal

Un primer caso, es estimar de la misma manera que antes con un modelo de regresión lineal y MCO.

\[ pr(y=1|X) = \beta_0 + \beta_1X_1+ \beta_2X_2+\dots+\beta_kX_k+u \]

  • B’s no tienen la misma interpretación, ya que y solo cambia de 1 a 0.
  • Coeficientes: \(\Delta pr(y=1|X)=\beta_j \Delta X_j\)

Modelo de probabilidad lineal

Un ejemplo posible es querer entender la participación laboral de una mujer. Definimos nuestra variable de interés:

Y nuestra regresión sería:

\[ participa = \beta_0 + \beta_1 pareja+ \beta_2educ+\beta_3edad+\beta_4edad2+ \beta_5hijo_{0-5}+\beta_6hijo_{6-13}+\beta_7hijo_{14-17}+u \]

Modelo de probabilidad lineal

Estadística descriptiva de nuestras variables:

Modelo de probabilidad lineal

Estimando el modelo:

Modelo de probabilidad lineal

Modelo de probabilidad lineal

Modelos no lineales para dicotómica depediente

  • El problema central del MPL es que p puede ser ilógico, menor que 0 y mayor que 1.

  • Una solución es usar una función que se acerque asintóticamente a 0 y a 1, para describir mejor una probabilidad.

  • Hay dos casos más usados:

  1. Modelo Probit: Usar una función de distribución acumulada de una distribución normal
  2. Modelo Logit : Usar una función de distribución acumulada de una distribución logística

Modelo Logit

  • EL modelo logit es probablemente el mas usado en ciencia de datos, asi que revisemos un poco más.

  • La función logística toma cualquier valor de x y lo transforma en un valor entre 0 y 1.

\[ f(x) = \frac{1}{1 + e^{-x}} \]

Donde: - \(f(x)\) es la salida de la función logística para un valor de \(x\). - \(e\) es la base del logaritmo natural (aproximadamente igual a 2.71828).

  • La función logística La función logística aumenta suavemente a partir de un mínimo de 0 hasta un máximo de 1.

  • Este es el caso de un modelo no lineal en los parámetros, que efectivamente NO podemos estimar por MCO.

  • El método más usual para estimar se llama por máxima verosimilitud Etso consiste en iterativamente…

  • Los detalles más allá de esta explicación,. se escapan a los objetivos de este curso.

Gráficamente:

MPL y logit

Podemos ver a ambos modelos juntos grpaficamente:

En un ejemplo publicado:

  • Para un cierto rango de valores, el modelo lineal y Logit pueden ser muy similares:

  • Pero a veces pueden ser muy diferentes

Ejemplo Probabilidad de Diabetes:

Realicemos un ejemolo, con los datos sobre Diabetes que vienen en el paquete scikit-learn

Carguemos los datos:

import numpy as np
import pandas as pd
import statsmodels.api as sm
from sklearn import datasets

# Cargamos el conjunto de datos de diabetes de scikit-learn
diabetes = datasets.load_diabetes()
X = diabetes.data
y = diabetes.target

# Creamos un DataFrame de pandas para facilitar la manipulación de datos
df = pd.DataFrame(X, columns=diabetes.feature_names)
df['target'] = y

# Definimos una variable binaria de respuesta (por ejemplo, si el objetivo es mayor o igual a 200)
df['binary_response'] = (df['target'] >= 200).astype(int)

df.head()
age sex bmi bp s1 s2 s3 s4 s5 s6 target binary_response
0 0.038076 0.050680 0.061696 0.021872 -0.044223 -0.034821 -0.043401 -0.002592 0.019907 -0.017646 151.0 0
1 -0.001882 -0.044642 -0.051474 -0.026328 -0.008449 -0.019163 0.074412 -0.039493 -0.068332 -0.092204 75.0 0
2 0.085299 0.050680 0.044451 -0.005670 -0.045599 -0.034194 -0.032356 -0.002592 0.002861 -0.025930 141.0 0
3 -0.089063 -0.044642 -0.011595 -0.036656 0.012191 0.024991 -0.036038 0.034309 0.022688 -0.009362 206.0 1
4 0.005383 -0.044642 -0.036385 0.021872 0.003935 0.015596 0.008142 -0.002592 -0.031988 -0.046641 135.0 0

Calculemos el modelo MPL:

# Estimamos un modelo MPL (Regresión por mínimos cuadrados ordinarios)
X_mpl = df[['age', 'bmi', 'bp']]
X_mpl = sm.add_constant(X_mpl)
y_mpl = df['target']

mpl_model = sm.OLS(y_mpl, X_mpl)
mpl_result = mpl_model.fit()

# Imprimimos el resumen del modelo MPL
print(mpl_result.summary())
                            OLS Regression Results                            
==============================================================================
Dep. Variable:                 target   R-squared:                       0.396
Model:                            OLS   Adj. R-squared:                  0.392
Method:                 Least Squares   F-statistic:                     95.81
Date:                Wed, 08 Nov 2023   Prob (F-statistic):           1.09e-47
Time:                        10:46:22   Log-Likelihood:                -2435.7
No. Observations:                 442   AIC:                             4879.
Df Residuals:                     438   BIC:                             4896.
Df Model:                           3                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const        152.1335      2.859     53.211      0.000     146.514     157.753
age           25.9904     63.923      0.407      0.685     -99.643     151.623
bmi          788.7827     65.562     12.031      0.000     659.927     917.638
bp           394.1271     68.392      5.763      0.000     259.710     528.544
==============================================================================
Omnibus:                       12.586   Durbin-Watson:                   1.928
Prob(Omnibus):                  0.002   Jarque-Bera (JB):                7.934
Skew:                           0.175   Prob(JB):                       0.0189
Kurtosis:                       2.444   Cond. No.                         28.0
==============================================================================

Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

Calculemos el modelo Logit:

# Estimamos un modelo Logit
X_logit = df[['age', 'bmi', 'bp']]
X_logit = sm.add_constant(X_logit)  # Agregamos una constante (intercept)
y_logit = df['binary_response']

logit_model = sm.Logit(y_logit, X_logit)
logit_result = logit_model.fit()

# Imprimimos el resumen del modelo Logit
print(logit_result.summary())
Optimization terminated successfully.
         Current function value: 0.438923
         Iterations 7
                           Logit Regression Results                           
==============================================================================
Dep. Variable:        binary_response   No. Observations:                  442
Model:                          Logit   Df Residuals:                      438
Method:                           MLE   Df Model:                            3
Date:                Wed, 08 Nov 2023   Pseudo R-squ.:                  0.2681
Time:                        10:46:22   Log-Likelihood:                -194.00
converged:                       True   LL-Null:                       -265.09
Covariance Type:            nonrobust   LLR p-value:                 1.290e-30
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
const         -1.2649      0.140     -9.018      0.000      -1.540      -0.990
age           -1.0993      2.955     -0.372      0.710      -6.891       4.693
bmi           24.1735      3.191      7.577      0.000      17.920      30.427
bp            14.9424      3.038      4.918      0.000       8.987      20.898
==============================================================================
  • Creamos una tabla con ambos modelos lado a lado:
  • Usemos el paquete stargazwer.
    • No olvides instalarlo si no lo tienes: pip install stargazer
# pip install stargazer #instalar el paquete, si no lo tienes
from stargazer.stargazer import Stargazer

stargazer = Stargazer([logit_result, mpl_result])
stargazer.title("Comparación de Modelos Logit y MPL")
stargazer.custom_columns(["Modelo Logit", "Modelo MPL"], [1, 1])  # Nombres de los modelos
stargazer.add_custom_notes(["Notas personalizadas para la tabla."])  # Notas personalizadas
stargazer
Comparación de Modelos Logit y MPL
Modelo LogitModelo MPL
(1)(2)
age-1.09925.990
(2.955)(63.923)
bmi24.173***788.783***
(3.191)(65.562)
bp14.942***394.127***
(3.038)(68.392)
const-1.265***152.133***
(0.140)(2.859)
Observations442442
R20.396
Adjusted R20.392
Residual Std. Error60.108 (df=438)
F Statistic95.811*** (df=3; 438)
Note:*p<0.1; **p<0.05; ***p<0.01
Notas personalizadas para la tabla.

Podemos hacer un grafico con los valores predichos de los modelos:

import seaborn as sns
import matplotlib.pyplot as plt

# Grafica los valores observados
sns.scatterplot(x='bmi', y='binary_response', data=df, label='Valores Observados', color='blue', alpha=0.5)

# Realizamos la predicción del modelo logit
logit_predictions = logit_result.predict(X_logit)

# Grafica la función del modelo Logit predicha
sns.regplot(x='bmi', y=logit_predictions, data=df, logistic=True, ci=95, label='Predicción Logit', color='green', scatter=False)

# Grafica la función del modelo Logit predicha
sns.regplot(x='bmi', y='binary_response', data=df, logistic=False, ci=95, label='Predicción MPL', color='pink', scatter=False)

# Configura las etiquetas y la leyenda
plt.xlabel('BMI')
plt.ylabel('Probabilidad de Respuesta Binaria')
plt.legend()

# Muestra el gráfico
plt.show()

Logit: EFectos marginales

Un elemento importante a tener en cuenta, es que los modelos logit no entregan directo efectos marginales. Por lo cual, generalmente es más complejo interpretar sus resultados. Para etso calculamos los efectos marginales:

# Calcular efectos marginales
margeff = logit_result.get_margeff(at='mean')

# Imprimir los efectos marginales
print(margeff.summary())
        Logit Marginal Effects       
=====================================
Dep. Variable:        binary_response
Method:                          dydx
At:                              mean
==============================================================================
                dy/dx    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
age           -0.1887      0.508     -0.371      0.711      -1.185       0.808
bmi            4.1498      0.538      7.708      0.000       3.095       5.205
bp             2.5651      0.516      4.973      0.000       1.554       3.576
==============================================================================

Variable dependiente categorica

Ahora, si nuestra variable depedniente es categorica, necesitaremos usar otra clase de modelos. Mencionaremos los más usados: 1. Conditional Logit: utilizado cuando Y no tiene orden, regresores varían entre alternativas (ej. precio en modo de transporte) y hay más de dos alternativas. 2. Multinomial Logit: utilizado cuando Y no tiene orden, regresores no varian entre alternativas y hay más de dos alternativas en el conjunto de opciones. 3. Ordered probit: utilizado cuando Y es discreta en un intervalo finito y con orden lógico. Ejemplo: ¿cuánto le gusta el curso? 1: nada, 2: poco, 3: algo, 4: bastante y 5: mucho.

Nuevamente, mayores detalles van más allá de los objetivos del curso.

Taller de aplicación 2:

Taller aplicacción 2: Datos sobre viviendas

Realicemos un ejemplo para poner en practica estos contenidos:

Supóngase que un investigador recoge datos sobre las viviendas que se han vendido en un determinado vecindario durante el año pasado y obtiene los resultados de regresión:

  1. Utilizando los resultados de la columna (1), ¿cuál es la variación esperada en el precio de una vivienda si se construye un anexo a ella de 500 pies cuadrados? Construya un intervalo de con- fianza al 95 % para la variación porcentual en el precio.

b) Comparando las columnas (1) y (2), ¿es mejor utilizar la variable Tamaño o la variable ln(Tamaño) para explicar el precio de la vivienda?

c) Utilizando la columna (2), ¿cuál es el efecto estimado de tener piscina sobre el precio? (Asegúrese de obtener las unidades de forma correcta). Construya un intervalo de confianza al 95 % para este efecto.

  1.  La regresión de la columna (3) añade la variable de número de dormitorios a la regresión. ¿Cuál es la cuantía del efecto estimado de tener un dormitorio adicional? ¿Es el efecto estadísticamente significativo? ¿Por qué cree que el efecto estimado es tan pequeño? (Pista: ¿qué otras variables se están manteniendo constantes?)

e) ¿Es el término cuadrático ln(Tamaño)2 importante?

f) Utilice la regresión de la columna (5) para calcular la variación esperada en el precio cuando se añade una piscina a una casa sin vista. Repita el ejercicio para una vivienda con una buena vista. ¿Existe una gran diferencia? ¿Es la diferencia estadísticamente significativa?

Taller de aplicación 2:

Taller aplicacción 2: Ingreso y educación

Mediante el uso de la encuesta casen 2023 vamos a analizar las condiciones laborales del país.

  1. Estime la ecuación de Mincer, e incorpore información cualitativa.
  2. Estime un MPL para analizar la probabilidad de que una persona participe del mercado laboral. ¿Cuál es el rol del género?
  3. Estime un MPL para analizar la probabilidad de encontrar trabajo.
  4. Estime ambos modelos con Logit
  5. Construya una tabla con los 4 modelos, usando el paquete Stargazer. Compare los resultados

2. Estimación formal análisis de regresión

Terminología

  • Podemos incluir múltiples variables en el lado derecho de la ecuación:

\[ y = \beta_{0}+\beta_{1}x_{1}+\beta_{2}x_{2}+\dots+\beta_{k}x_{k}+u \]

  • Donde \(\beta_{0}\) es término constante.

  • \(\beta_{j}\) es parámetro de pendiente, asociado a la variable \(x_{j} \quad (j=1, \ldots, k)\).

  • \(u\) es el término de error.

  • Esta relación se conoce como modelo de regresión lineal múltiple.

  • El modelo tiene \(k+1\) parámetros (k pendientes + constante).

  • Supuesto clave: media condicionada nula:

\[ E(u\vert x_{1},x_{2},\dots, x_{j} )=0 \]

  • Implica que:

\[ E(y\vert x_{1},x_{2}, \ldots, x_{j})=\beta_{0}+\beta_{1}x_{1}+\beta_{2}x_{2}+\dots+\beta_{k}x_{k} \]

Especificación

  • En una muestra:

\[ y_{i}=\hat{y}_{i}+\hat{u}_{i} \]

\[ \begin{array}{lr} y_{i}&= \hat{\beta}_{0}+\hat{\beta}_{1}x_{1i}+\hat{\beta}_{2}x_{2i}+\dots+\hat{\beta}_{k}x_{ki}+\hat{u}_{i}\\ \hat{u}_{i}&=y_{i}- \hat{\beta}_{0} - \hat{\beta}_{1}x_{1i} - \hat{\beta}_{2}x_{2i} - \dots+\hat{\beta}_{k}x_{ki}\\ \end{array} \]

  • MCO busca minimizar:

\[ \sum_{i=1}^{2}\hat{u}_{i}^{2} \]

  • Lo podemos expresar como:

\[ \min SRC= \hat{u}'\hat{u} = (y-X\hat{\beta})'(y-X\hat{\beta}) \]

  • Obtengamos los estimadores de MCO en el modelo múltiple:

\[ SRC = \hat{u}'\hat{u}= (y-X\hat{\beta})'(y-X\hat{\beta})=y'y-y'X\hat{\beta}+(X\hat{\beta})'y+(X\hat{\beta})'X\hat{\beta} \]

  • Sacamos las derivadas y obtenemos los estimadores:

\[ \hat{\beta}=(X'X)^{-1}X'y \]

Claro, puedo ayudarte con los pasos intermedios para obtener los estimadores de MCO en el modelo múltiple. A continuación, desglosaré estos pasos:

Dado el modelo de regresión lineal múltiple:

\[ y = \beta_{0}+\beta_{1}x_{1}+\beta_{2}x_{2}+\dots+\beta_{k}x_{k}+u \]

Queremos encontrar los estimadores de Mínimos Cuadrados Ordinarios (MCO) para los coeficientes \(\beta_{0}, \beta_{1}, \beta_{2}, \ldots, \beta_{k}\). Estos estimadores minimizan la suma de los cuadrados de los residuos (SRC).

Primero, expresamos el SRC en términos de los residuos \(\hat{u}\) y los valores observados \(y\):

\[ SRC = \hat{u}'\hat{u} \]

Luego, sustituimos los residuos \(\hat{u}\) con la diferencia entre los valores observados \(y\) y los valores ajustados \(\hat{y}\):

\[ SRC = (y - \hat{y})'(y - \hat{y}) \]

Ahora, expandimos esta expresión utilizando propiedades de matrices y transposición:

\[ SRC = (y - X\hat{\beta})'(y - X\hat{\beta}) \]

Continuamos expandiendo la expresión y simplificándola:

\[ SRC = (y'y - y'X\hat{\beta} - (\hat{\beta}'X'y) + (\hat{\beta}'X'X\hat{\beta})) \]

Detalle matemático:

Dado el modelo de regresión lineal múltiple:

\[ y = \beta_{0}+\beta_{1}x_{1}+\beta_{2}x_{2}+\dots+\beta_{k}x_{k}+u \]

Queremos encontrar los estimadores de Mínimos Cuadrados Ordinarios (MCO) para los coeficientes \(\beta_{0}, \beta_{1}, \beta_{2}, \ldots, \beta_{k}\).

Estos estimadores minimizan la suma de los cuadrados de los residuos (SRC).

Primero, expresamos el SRC en términos de los residuos \(\widehat{u}\) y los valores observados \(y\):

\[ SRC = \widehat{u}'\widehat{u} \]

Luego, sustituimos los residuos \(\widehat{u}\) con la diferencia entre los valores observados \(y\) y los valores ajustados \(\widehat{y}\):

\[ SRC = (y - \widehat{y})'(y - \widehat{y}) \]

Ahora, expandimos esta expresión utilizando propiedades de matrices y transposición:

\[ SRC = (y - X\widehat{\beta})'(y - X\widehat{\beta}) \]

Continuamos expandiendo la expresión y simplificándola:

\[ SRC = (y'y - y'X\widehat{\beta} - (\widehat{\beta}'X'y) + (\widehat{\beta}'X'X\widehat{\beta})) \]

Ahora, tomamos las derivadas parciales de SRC con respecto al vecor de coeficientes \(\beta\). Si no estuvieramos trabajando en forma matricial, tendriamos que hacerlo respecto a \(\beta_{0}, \beta_{1}, \beta_{2}, \ldots, \beta_{k}\) y los igualamos a cero para encontrar los estimadores de MCO.

En forma matricial es más sencillo de desarrollar:

\[ \partial SRC = -2y'X + 2\widehat{\beta}'X'X = 0 \]

Resolvemos para \(\widehat{\beta}\):

\[ 2\widehat{\beta}'X'X = 2y'X \]

\[ \widehat{\beta}'X'X = y'X \]

\[ \widehat{\beta}' = y'X(X'X)^{-1} \]

\[ \widehat{\beta} = (X'X)^{-1}X'y \]

Esta fórmula nos da los estimadores de MCO para todos los coeficientes del modelo de regresión lineal múltiple.

Ejemplo de Regresión Lineal Múltiple

Estimación manual en su forma matricial

Supongamos que queremos realizar una regresión lineal múltiple para predecir el precio de una casa (\(y\)) en función de dos variables independientes: el área en pies cuadrados (\(x_1\)) y el número de habitaciones (\(x_2\)). El modelo de regresión es el siguiente:

\[ y = \beta_0 + \beta_1x_1 + \beta_2x_2 + u \]

Donde: - \(y\) es la variable dependiente (precio de la casa). - \(x_1\) es la primera variable independiente (área en pies cuadrados). - \(x_2\) es la segunda variable independiente (número de habitaciones). - \(\beta_0\), \(\beta_1\), y \(\beta_2\) son los coeficientes que queremos estimar. - \(u\) es el término de error.

Ahora, definamos los datos en forma de vectores:

import numpy as np

# Datos de las variables independientes
x1 = np.array([1500, 2000, 2500, 3000, 3500])
x2 = np.array([2, 3, 2, 4, 3])

# Variable dependiente (precio de la casa)
y = np.array([200000, 280000, 320000, 420000, 380000])

# Matriz de diseño X que incluye una columna de unos para la constante
X = np.column_stack((np.ones(len(x1)), x1, x2))

X
array([[1.0e+00, 1.5e+03, 2.0e+00],
       [1.0e+00, 2.0e+03, 3.0e+00],
       [1.0e+00, 2.5e+03, 2.0e+00],
       [1.0e+00, 3.0e+03, 4.0e+00],
       [1.0e+00, 3.5e+03, 3.0e+00]])

Ahora, podemos calcular los coeficientes \(\beta\) utilizando la fórmula matricial:

# Cálculo de los coeficientes beta usando la forma matricial
beta = np.linalg.inv(X.T @ X) @ X.T @ y
beta
array([22105.26315789,    77.89473684, 36842.10526316])
  • Los valores en beta contendrán los estimadores de MCO para \(\beta_0\), \(\beta_1\), y \(\beta_2\).

Usando statsmodels

  • Para replicar este cálculo utilizando un paquete, puedes utilizar la biblioteca de Python llamada statsmodels.
  • Aquí está cómo hacerlo:
import statsmodels.api as sm

# Ajuste del modelo de regresión
model = sm.OLS(y, X).fit()

# Obtención de los coeficientes estimados
coef_estimados = model.params
coef_estimados
array([22105.26315789,    77.89473684, 36842.10526316])
  • coef_estimados contendrá los mismos valores que obtuvimos previamente en beta.

Una forma común de presentar un modelo de regresión es a través de tablas.

En nuestro caso, statsmodels nos entrega una tabla directamente:

model.summary()
/Users/melita/anaconda3/lib/python3.10/site-packages/statsmodels/stats/stattools.py:74: ValueWarning:

omni_normtest is not valid with less than 8 observations; 5 samples were given.
OLS Regression Results
Dep. Variable: y R-squared: 0.932
Model: OLS Adj. R-squared: 0.863
Method: Least Squares F-statistic: 13.65
Date: Wed, 08 Nov 2023 Prob (F-statistic): 0.0683
Time: 10:46:26 Log-Likelihood: -56.638
No. Observations: 5 AIC: 119.3
Df Residuals: 2 BIC: 118.1
Df Model: 2
Covariance Type: nonrobust
coef std err t P>|t| [0.025 0.975]
const 2.211e+04 6.02e+04 0.367 0.749 -2.37e+05 2.81e+05
x1 77.8947 24.407 3.192 0.086 -27.118 182.908
x2 3.684e+04 2.31e+04 1.598 0.251 -6.24e+04 1.36e+05
Omnibus: nan Durbin-Watson: 1.675
Prob(Omnibus): nan Jarque-Bera (JB): 0.502
Skew: 0.287 Prob(JB): 0.778
Kurtosis: 1.558 Cond. No. 1.12e+04


Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 1.12e+04. This might indicate that there are
strong multicollinearity or other numerical problems.

Coefplot

Otra forma de presentar resultados es a través de los gráficos de coeficientes:

# Paso 1: Importar las bibliotecas necesarias
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# Paso 2: Obtener el modelo ajustado (ya lo tienes)
# Supongamos que tienes un modelo de regresión llamado 'model' ajustado previamente

# Paso 3: Obtener los coeficientes y errores estándar del modelo
coeficientes = model.params
errores_estandar = model.bse

# Paso 4: Crear un DataFrame con los coeficientes y errores estándar
coef_df = pd.DataFrame({'Coeficiente': coeficientes, 'Error Estándar': errores_estandar})

# Paso 5: Crear el coef plot utilizando seaborn
plt.figure(figsize=(10, 6))
sns.barplot(x='Coeficiente', y=coef_df.index, data=coef_df, ci=None, palette="viridis")

# Paso 6: Agregar líneas para los intervalos de confianza
for i, row in coef_df.iterrows():
    plt.plot([row['Coeficiente'] - 1.96 * row['Error Estándar'], row['Coeficiente'] + 1.96 * row['Error Estándar']], [i, i], 'ro-', markersize=8, lw=2)

plt.title('Coeficiente de Parcelas (Coef Plot)')
plt.xlabel('Coeficiente')
plt.ylabel('Variable Predictor')
plt.grid(axis='x', linestyle='--', alpha=0.6)

# Paso 7: Mostrar el coef plot
plt.show()
/var/folders/ry/0yrdh5kn1m92t_pmx56nnqkc0000gn/T/ipykernel_16153/330235809.py:18: FutureWarning:



The `ci` parameter is deprecated. Use `errorbar=None` for the same effect.

Varios modelos en una tabla

Generalmente, no hacemos solo un modelo. Una forma típica es agregar los modelos en cascada.

Hagamos un dataframe con todos los datos:

data = pd.DataFrame({'x1': x1, 'x2': x2, 'y': y})

data
x1 x2 y
0 1500 2 200000
1 2000 3 280000
2 2500 2 320000
3 3000 4 420000
4 3500 3 380000

Ajustamos los modelos, con constante

# Modelo de regresión simple para x1
model_x1 = sm.OLS(data['y'], sm.add_constant(data['x1'])).fit()

# Modelo de regresión simple para x2
model_x2 = sm.OLS(data['y'], sm.add_constant(data['x2'])).fit()

# Modelo de regresión múltiple para x1 y x2
model_multiple = sm.OLS(data['y'], sm.add_constant(data[['x1', 'x2']])).fit()

Armamos nuestra tabla:

from stargazer.stargazer import Stargazer

stargazer = Stargazer([model_x1, model_x2, model_multiple])
# personalizamos las etiquetas de las columnas
stargazer.custom_columns(['Modelo x1', 'Modelo x2', 'Modelo Múltiple'], [1, 1, 1])

#veamos la tabla
stargazer
Dependent variable: y
Modelo x1Modelo x2Modelo Múltiple
(1)(2)(3)
const70000.000100000.00022105.263
(64342.832)(110969.751)(60226.718)
x1100.000**77.895*
(24.766)(24.407)
x278571.42936842.105
(38288.202)(23062.002)
Observations555
R20.8450.5840.932
Adjusted R20.7930.4450.863
Residual Std. Error39157.800 (df=3)64068.416 (df=3)31788.777 (df=2)
F Statistic16.304** (df=1; 3)4.211 (df=1; 3)13.646* (df=2; 2)
Note:*p<0.1; **p<0.05; ***p<0.01

Recta de regresión

Recta de regresión y predicción del modelo

  • Una vez obtenido el vector de coeficientes, \(\hat{\beta}\), se expresa la recta de la regresión de la siguiente forma: \[ \hat{y}=\hat{\beta_{0}}+\hat{\beta_{1}}x_{1}+\hat{\beta_{2}}x_{2}+\hat{\beta_{3}}x_{3}+\dots+\hat{\beta_{k}}x_{k} \]

  • Con los coeficientes estimados se puede predecir el valor de \(\hat{y}\) para cada individuo.

  • Y también es posible conocer su residuo:

\[ \hat{u}=y-\hat{y} \]

Interpretación de resultados

  • La regresión múltiple permite interpretar los coeficientes como efectos parciales de cada variable manteniendo las demás constantes (ceteris paribus) sin haber obtenido los datos de esa forma: \[ \Delta \hat{y}=\hat{\beta_{1}} \Delta x_{1}+\hat{\beta_{2}} \Delta x_{2}+\hat{\beta_{3}} \delta x_{3}+\dots+\hat{\beta_{k}}\Delta x_{k} \]

  • Entonces:

\[ \hat{\beta_{1}}=\frac{\Delta \hat{y}}{\Delta x} \quad \text{si} \quad \Delta x_{2}=0,\Delta x_{3}=0 \dots ,\Delta x_{k}=0\]

Valores ajustados y residuos

  • Una vez que se estiman los coeficientes en del vector \(\hat{\beta}\), se puede estimar el valor ajustado para cada observación.
  • Si en el modelo anterior los coeficientes son:

\[ \hat{ingreso}= 50.300 + 3.250 esc + 1.200 edad + 3.890 exp \]

  • Entonces se puede predecir el ingreso de un individuo con: 12 años de escolaridad, de 32 años, y con 10 años de experiencia laboral:

\[ \hat{ingreso}= 50.300 + 3.250 (12) + 1.200 (32) + 3.890 (10)=266.300 \]

  • El residuo es igual a la diferencia entre el valor observado, por ejemplo si para ese individuo sabemos que ganaba 300.000:

\[ \hat{u}=y-\hat{y}=300.000-266.300=33.700 \]

  • Características algebraicas de estimadores MCO

    Si el modelo tiene intercepto:

    1. Los errores estimados suman cero \[ \sum_{i=1}^{n}\hat{u}=0 \]

    2. La media muestral de los residuos es 0. \[ \bar{\hat{u}}=\frac{1}{n}\sum_{i=1}^{n}\hat{u}=0 \]

    3. Los errores son ortogonales a los regresores, es decir: \[ X'\hat{u}=0 \]

Lo que implica que:

\[ cov(x_{j}, \hat{u_{i}}=0) \]

  1. El promedio muestral de las variables dependientes es igual al promedio de muestral de las variables dependientes estimadas.

  2. La regresión pasa por el promedio de los datos.

Bondad de ajuste

  • Bondad de ajuste

    Queremos saber: ¿qué tan bien se ajusta la recta de la regresión a los datos? Se definen los siguientes conceptos:

    • STC Suma total de los cuadrados \[ STC = \sum_{i=1}^{n} (y_{i}- \bar{y})^{2} \]

    • Es la descomposición de la variación total de Y.

    • SEC Suma explicada de los cuadrados \[ SEC = \sum_{i=1}^{n} (\hat{y}_{i}- \bar{y})^{2} \]

    • SRC Suma de los residuos al cuadrados \[ SRC = \sum_{i=1}^{n} (y_{i}- \hat{y}_{i})^{2}= \sum_{i=1}^{n} \hat{u_{i}}^{2} \]

  • La variación total de y es igual a la suma de la variación del valor predicho \(\hat{y}\) y la variación de los residuos:

\[ STC=SEC+SRC \]

  • Se define el \(R^2\)

\[ R^{2}= \frac{SEC}{STC}= 1- \frac{SRC}{STC} \]

  • Es la proporción de la variación total explicada por el modelo.

  • Su valor está entre \(0\) y \(1\); a veces se multiplica \(\times 100\) y expresa en \(\%\).

  • Propiedades del \(R^{2}\)

    • \(R^2\) nunca disminuye, por lo tanto \(R^2\) no es el criterio para ver si una variable debe incluirse o no en regresión.
    • Esta pregunta se responde si es que la variable tiene algún efecto (estadísticamente significativo) en la población.
    • \(R^2\) servirá para responder si un grupo de variables es importante para explicar variación de y.
  • Bondad de ajuste: \(R^2\) ajustado

    • \(R^2\) crece a medida que se agregan más variables al modelo. Esto ocurre incluso si la variable agregada no es relevante en la población.
    • Se necesita una medida que ajuste por la cantidad de regresores.
    • Se define el \(R^2\) ajustado o \(\bar{R}^2\) como:

\[ \begin{array}{rl} \bar{R}^2&=1-\frac{\sigma_{\hat{u}}}{\sigma_{y}}\\ &= 1-\frac{SRC/(n-k-1)}{STC/(n-1)} \end{array} \]

  • Es decir, ajustamos las sumas por sus grados de libertad.
  • El principal atractivo de \(\bar{R}^2\) es que penaliza por el número de regresores.
  • Note que \(\bar{R}^2\) podría ser negativo.

3. Inferencia de los estimadores

La esencia del análisis de regresión está en realizar un esfuerzo por cuantificar relaciones empíricas entre variables analizando datos.

Mediante la estadística, en especial las pruebas de hipótesis van más allá de calcular valores estimados.

Vamos a determinar que podemos aprender sobre una población mediante una muestra.

¿Es posible que nuestros resultados sean una casualidad? ¿Pueden nuestras teorías ser rechazadas usando los resultados obtenidos de la muestra?

Si la teoría es correcta, ¿cual es la probabilidad de que esta muestra fuera observada?

Propiedades etsdaísticas con los supuestos clásicos

Supuestos clásicos

  1. Modelo lineal
  2. Muestreo Aleatorio
  3. Media condicionada del error nula / Independencia del error o condición de identificación
  4. No multicolonealidad perfecta o suficiente variabilidad en las variables independientes
  5. Homocedasticidad o Varianza constante

Teorema de Gauss-Markov

Bajo supuestos 1-5, los estimadores MCO \(\hat{\beta}_0, \hat{\beta}_1,\dots. \hat{\beta}_k\) son los Mejores Estimadores Lineales Insesgados (MELI)

Propiedades estadisticas MCO

  • Como \(\hat{\beta}\) es un estimador, tiene distribución, media y varianza.
  • Para poder conocer sus propiedades estadísticas, necesitamos que esté en función de su valor poblacional, \(\beta\), y el error u.
$$ \[\begin{array}{rl} \hat{\beta}&=(X'X)^{-1}X'y\\ \hat{\beta}&=(X'X)^{-1}X'(X\beta+u)\\ \hat{\beta}&=(X'X)^{-1}X'X\beta+(X'X)^{-1}X'u\\ \hat{\beta}&=\beta+(X'X)^{-1}X'u\\ \end{array}\]

$$ ### Media estimador - Estimador MCO insesgado

Calculamos la esperanza del estiamador: $$ \[\begin{array}{rl} E[\hat{\beta}|X]&=E[\beta+(X'X)^{-1}X'u|X]\\ E[\hat{\beta}|X]&=E[\beta|X]+(X'X)^{-1}X'E[u|X]\\ \end{array}\]

$$

Si se cumple el supuesto de media condicionada nula:

$$ \[\begin{array}{rl} E[\hat{\beta}|X]&=E[\beta|X]+(X'X)^{-1}X'E[u|X]\\ E[\hat{\beta}|X]&=\beta\\ \end{array}\]

$$

El estimador de MCO es insesgado, es decir, su media es el verdadero parámetro poblacional.

Varianza del estimador - Estimador MCO es eficiente

\[ \begin{array}{rl} V[\hat{\beta}|X]&=V[\beta+(X'X)^{-1}X'u|X]\\ V[\hat{\beta}|X]&=(X'X)^{-1}X'V[u|X]X(X'X)^{-1}\\ \end{array} \]

Si se cumple el supuesto de homocedasticidad:

$$ \[\begin{array}{rl} V[\hat{\beta}|X]&=(X'X)^{-1}X'\sigma^{2}X(X'X)^{-1}\\ V[\hat{\beta}|X]&=\sigma^{2}(X'X)^{-1}X'X(X'X)^{-1}\\ V[\hat{\beta}|X]&=\sigma^{2}(X'X)^{-1}\\ \end{array}\]

$$

La cual es la matriz de varianzas y covarianzas de \(\beta\).

Necesitamos un estimador para \(\sigma^2\)

\[ \hat{\sigma}^{2}=\frac{\sum_{i=1}^{n}\hat{u}_{i}^{2}}{n-k-1} \]

Así:

\[ V[ \hat{\beta}|X ] =\hat{\sigma}^{2}(X'X)^{-1} \]

Para las varianzas individuales están en la diagonal de esa matriz.

\[ V[\hat{\beta}_{j}|X] =\frac{\hat{\sigma}^{2}}{STC_{j}(1-R^{2}_{j})} \]

Pruebas de hipótesis sobre los coeficientes estimados

Recordando pruebas de hipótesis

Recordemos que para realizar inferencia sobre un parámetro poblacional, a partir de un estimador muestral lo hacemos mediante pruebas de hipótesis.

Hay tres etapas claves al realizar pruebas de hipótesis:

  1. Especificar la hipotesis a probar
  2. definir una regla de decisión (y los tipos de error que se pueden encontrar si se aplica la regla de decisión)
  3. Concluir en base a la contrastación del valor observado y la regla de decisión.

Recordemos:

Error tipo 1: Rechazar una hipótesis nula veradera

Error tipo 2: No rechazar una hipótesis nula falsa

Pruebas sobre un coeficiente

Muchas veces, nuestro objetivo es saber si una variable tiene o no un efecto en la población. O tiene un efecto especifico.

Muchas veces queremos realizar pruebas sobre un único coeficiente.

\[t^{obs}=\frac{(\hat{\beta}_j-\beta_{j\text{ en }H_{0}})}{SE(\hat{\beta}_j)} \]

Pruebas conjuntas

Pruebas sobre varios coeficientes o su relaciones

Muchas veces queremos realizar pruebas sobre una combinación de coeficientes o varios coeficientes a la vez.

4. Rol de los supuestos GM

Supuestos clásicos:

Hasta ahora hemos analizado el modelo de RLM considerando los siguientes supuestos:

  1. Modelo lineal
  2. Muestreo aleatorio
  3. Media condicionada nula
  4. No multicolinealidad perfecta
  5. Homocedasticidad

Y que bajo estos supuestos se cumple el Teorema de Gauss Markov.

En esta parte vamos a ver qué ocurre si alguno de estos supuestos no se cumple y cómo enfrentar ese problema.

Violación de los Supuestos clásicos:

Vamos a revisar 3 casos:

  1. Errores de especificación del modelo
  2. Multicolinealidad
  3. Heterocedasticidad

Errores de especificación

Vamos a revisar tres tipos de errores de especificación:

  1. Omitir variables relevantes
  2. Incluir variables irrelevantes
  3. Forma funcional incorrecta

Variables Omitidas

  • Estamos omitiendo una variable relevante, entonces su efecto es absorbido en el error.
  • Consecuencia: genera un sesgo en nuestros coeficientes: \(E[\tilde{\beta}] \neq \beta\). Problema de endogeneidad.
  • Sesgo estimado: \(\tilde{\beta_i} = \hat{\beta}_i + \hat{\beta}_{\text{omitida}} \times \hat{\gamma}_{oi}\)
    • \(\beta_{\text{omitida}}\) es el efecto de la variable omitida en \(y\).
    • \(\gamma_{oi}\) es el efecto cruzado de la omitida y la variable \(i\).

Variables Irrelevantes

  • Consecuencias:
    • No afecta el sesgo.
    • MCO no es MELI (Mejor Linealmente Insesgado).
    • Genera estimadores ineficientes.
  • Detección:
    • Teoría
    • Si la teoría es ambigua, se pueden observar los t.
  • Corrección:
    • Eliminar la variable irrelevante.

Forma funcional incorrecta

Elegir una forma funcional.

  • Lineal en los coeficientes
  • Apoyarse en la teoría
  • Incluir una constante aditiva
  • Otras formas funcionales:
    • Logarítmica (elasticidades, semi-elasticidades)
    • Cuadrática
    • Variables Dummy

Multicolinealidad

  • Definición: Alta relación entre variables (perfecta o imperfecta).
  • Consecuencias:
    • \(\hat{\beta}\) aún son insesgados, pero los errores estándar son muy altos.
  • Detección:
    • Teoría
    • Correlación muestral grande (0.8)
    • Si la relación es entre más de dos variables, VIF (VIF > 5).
  • Correcciones:
    • Incrementar los datos.
    • No hacer nada, nuestros estimadores son insesgados. Podemos usar test conjuntos de significancia.
    • Eliminar una variable irrelevante, pero riesgo de sesgo por omitida.
    • Transformar las multicolineares.

Heterocedasticidad

  • Definición: La varianza de la variable independiente (y el error) es diferente para distintos grupos de individuos o de la población.
  • Consecuencias:
    • No genera sesgo en \(\hat{\beta}\). Ni en los \(R^2\).
    • Los errores estándar son afectados, lo cual afecta la inferencia.
    • MCO no es MELI.
  • Detección:
    • Gráfico de los residuos.
    • Test de White o Test de Breush-Pagan.

Gráfico de Residuos

Gráfico de Residuos 2

Test Breush-Pagan

  • Estimamos el modelo.
  • Estimamos los residuos y su varianza.
  • Estimamos una regresión de dichos residuos sobre todas las variables.
  • Si no hay heterocedasticidad, todos los estimadores obtenidos en conjunto son 0.

Test de White

  • Estimamos el modelo.
  • Estimamos los residuos y su varianza.
  • Estimamos una regresión de dichos residuos sobre todas las variables, su cuadrado y producto cruzado.
  • Si no hay heterocedasticidad, todos los estimadores obtenidos en conjunto son 0.

Soluciones

  • Se pueden ajustar los errores para que sean válidos o robustos a la presencia de heterocedasticidad.
  • Podemos corregir la estimación del modelo mediante Mínimos Cuadrados Generalizados o Mínimos Cuadrados Ponderados.

Interpretación causal y estrategias de identificación