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

Curso: Análisis de datos

Phd (c) Melanie Oyarzún - melanie.oyarzun@udd.cl

Magíster en Data Science - Universidad del Desarrollo

Profundizando el análisis de regresión

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.

Modelando

  • En este sentido, tiene sentido mejorar el modelo e incluir múltiples variables.

    • Enriquecer el modelo.
    • Considerar 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.

Transformación logarítmica de un modelo

  • Pasamos del caso en que un modelo no lineal ajusta a que uno lineal lo haga:

Transformación logarítmica de un modelo

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.

Transformación logarítmica de un modelo

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.

Transformación logarítmica de un modelo

  • Esta transformación de variables, no solo permite transformar el modelo, sino que también cambia la interpretación de los coeficientes.
Modelo V. dependiente V. 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\)

Variables cuadráticas y polinomios

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

  • Cuando incluimos información cualitativa como variable independiente, hay que tener cuidado en como incorporamos al modelo y como interpretamos.

  • Pero no cambia la forma de estimación.

    • 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

    • a igual nivel de educación el salario promedio es menor para mujeres que hombres en \(\delta_0\), CP.

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 binarias 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, considerando una diferencia constante entre los salarios de hombres y 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?

Pendiente diferencial

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

Pendiente diferencial

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\]

Pendiente diferencial

Podemos tener los siguientes tres casos:

EJEMPLO: Pendiente diferencial

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:

\[ \widehat{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\)

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:

\[ pa = \beta_0 + \beta_1 pareja+ \beta_2educ+\beta_3edad+\beta_4edad2+ \beta_5h_{0-5}+\beta_6h_{6-13}+\beta_7h_{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.

Modelo Logit

-Gráficamente:

MPL y logit

Podemos ver a ambos modelos juntos grpaficamente:

Modelos para dicotómica depediente

Modelos para dicotómica depediente

MPL vs Logit

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

MPL vs Logit

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

Ejemplo Probabilidad de Diabetes:

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:44:20   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.

Ejemplo Probabilidad de Diabetes:

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:44:20   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
==============================================================================

Ejemplo Probabilidad de Diabetes:

Ambos modelos

  • Creamos una tabla con ambos modelos lado a lado:
  • Usemos el paquete stargazwer.
    • No olvides instalarlo si no lo tienes: pip install stargazer

Ejemplo Probabilidad de Diabetes:

Ambos modelos

# 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.

Ejemplo Probabilidad de Diabetes:

Ambos modelos

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 dependiente 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 ejercicio de interpretación para poner en práctica 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 confianza al 95 % para la variación porcentual en el precio.
  2. 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?
  3. 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.
  4. 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?)
  5. ¿Es el término cuadrático ln(Tamaño)2 importante?
  6. 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 \]

Especificación

  • 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} \]

  • En una muestra:

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

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

MCO busca minimizar:

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

Modelo en forma matricial

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} \]

Para las n observaciones:

\[ \begin{array}{lr} \hat{u}_{1}&=y_{1}- \hat{\beta}_{0} - \hat{\beta}_{1}x_{11}-\hat{\beta}_{2}x_{21}-\dots-\hat{\beta}_{k}x_{k1}\\ \hat{u}_{2}&=y_{2}- \hat{\beta}_{0} - \hat{\beta}_{1}x_{12}-\hat{\beta}_{2}x_{22}-\dots-\hat{\beta}_{k}x_{k2}\\ \hat{u}_{3}&=y_{3}- \hat{\beta}_{0} - \hat{\beta}_{1}x_{13}-\hat{\beta}_{2}x_{23}-\dots-\hat{\beta}_{k}x_{k3}\\ \hat{u}_{4}&=y_{4}- \hat{\beta}_{0} - \hat{\beta}_{1}x_{14}-\hat{\beta}_{2}x_{24}-\dots-\hat{\beta}_{k}x_{k4}\\ \vdots \\ \hat{u}_{n}&=y_{n}- \hat{\beta}_{0} - \hat{\beta}_{1}x_{1n}-\hat{\beta}_{2}x_{25}-\dots-\hat{\beta}_{k}x_{kn}\\ \end{array} \]

Para las n observaciones:

\[ \begin{array}{lr} y_{1} & = \hat{\beta}_{0} + \hat{\beta}_{1}x_{11}+\hat{\beta}_{2}x_{21}+\dots+\hat{\beta}_{k}x_{k1}+ \hat{u}_{1}\\ y_{2} &= \hat{\beta}_{0} + \hat{\beta}_{1}x_{12} + \hat{\beta}_{2}x_{22} + \dots + \hat{\beta}_{k}x_{k2} + \hat{u}_{2}\\ y_{3} &= \hat{\beta}_{0} + \hat{\beta}_{1}x_{13} + \hat{\beta}_{2}x_{23} + \dots + \hat{\beta}_{k}x_{k3} + \hat{u}_{3}\\ y_{4} & = \hat{\beta}_{0} + \hat{\beta}_{1}x_{14} +\hat{\beta}_{2}x_{24}+ \dots+\hat{\beta}_{k}x_{k4}+ \hat{u}_{4}\\ \vdots \\ y_{n}&= \hat{\beta}_{0} + \hat{\beta}_{1}x_{1n}+\hat{\beta}_{2}x_{25}+\dots+\hat{\beta}_{k}x_{kn}+ \hat{u}_{n}\\ \end{array} \]

Podemos expresarlo matricialmente:

\[ \begin{equation*} \begin{bmatrix} y_{1}\\ y_{2}\\ y_{3}\\ \vdots\\ y_{n}\\ \end{bmatrix} = \begin{bmatrix} \hat{\beta}_{0}\\ \hat{\beta}_{0}\\ \hat{\beta}_{0}\\ \vdots\\ \hat{\beta}_{0}\\ \end{bmatrix} + \begin{bmatrix} \hat{\beta}_{1}x_{11}\\ \hat{\beta}_{1}x_{12}\\ \hat{\beta}_{1}x_{13}\\ \vdots\\ \hat{\beta}_{1}x_{1n}\\ \end{bmatrix} + \begin{bmatrix} \hat{\beta}_{2}x_{21}\\ \hat{\beta}_{2}x_{22}\\ \hat{\beta}_{2}x_{23}\\ \vdots\\ \hat{\beta}_{2}x_{2n}\\ \end{bmatrix} + \cdots + \begin{bmatrix} \hat{\beta}_{k}x_{k1}\\ \hat{\beta}_{k}x_{k2}\\ \hat{\beta}_{k}x_{k3}\\ \vdots\\ \hat{\beta}_{k}x_{kn}\\ \end{bmatrix} + \begin{bmatrix} \hat{u}_{1}\\ \hat{u}_{2}\\ \hat{u}_{3}\\ \vdots\\ \hat{u}_{n}\\ \end{bmatrix} \end{equation*} \]

Para las n observaciones:

\[ \begin{equation*} \begin{bmatrix} y_{1}\\ y_{2}\\ y_{3}\\ \vdots\\ y_{n}\\ \end{bmatrix} = \begin{bmatrix} 1&x_{11} & x_{21} & x_{31} & \cdots & x_{k1}\\ 1&x_{12} & x_{22} & x_{32} & \cdots & x_{k2}\\ 1&x_{13} & x_{23} & x_{33} & \cdots & x_{k3}\\ \vdots&\ddots& \ddots& \ddots& \vdots\\ 1&x_{1n} & x_{2n} & x_{3n} & \cdots & x_{kn}\\ \end{bmatrix} \times \begin{bmatrix} \hat{\beta}_{0}\\ \hat{\beta}_{1}\\ \hat{\beta}_{2}\\ \vdots\\ \hat{\beta}_{k}\\ \end{bmatrix} + \begin{bmatrix} \hat{u}_{1}\\ \hat{u}_{2}\\ \hat{u}_{3}\\ \vdots\\ \end{bmatrix} \end{equation*} \]

Es una forma natural de ver los datos

Estimación MCO

(Versión muy resumida)

  • Lo podemos expresar como:

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

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

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

  • Sacamos las derivadas respecto a beta (Que como vector, tiene a todos los betas) y obtenemos los estimadores:

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

Estimación MCO

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:

\[ \frac{\partial SRC}{\partial \beta} = -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

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.

Ejemplo de Regresión Lineal Múltiple

En su forma matricial

  • 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\).

Ejemplo de Regresión Lineal Múltiple

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.

Ejemplo de Regresión Lineal Múltiple

Usando statsmodels: tabla

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()
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:44:24 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.

Ejemplo de Regresión Lineal Múltiple

Usando statsmodels: 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()

Ejemplo de Regresión Lineal Múltiple

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

Ejemplo de Regresión Lineal Múltiple

Varios modelos en una tabla

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()

Ejemplo de Regresión Lineal Múltiple

Varios modelos en una tabla

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, \(\widehat{\beta}\), se expresa la recta de la regresión de la siguiente forma:

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

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

  • Y también es posible conocer su residuo:

\[ \widehat{u}=y-\widehat{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 \widehat{y}=\widehat{\beta_{1}} \Delta x_{1}+\widehat{\beta_{2}} \Delta x_{2}+\widehat{\beta_{3}} \delta x_{3}+\dots+\widehat{\beta_{k}}\Delta x_{k} \]

  • Entonces:

\[ \widehat{\beta_{1}}=\frac{\Delta \widehat{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 \(\widehat{\beta}\), se puede estimar el valor ajustado para cada observación.
  • Si en el modelo anterior los coeficientes son:

\[ \widehat{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:

\[ \widehat{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:

\[ \widehat{u}=y-\widehat{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}\widehat{u}=0\]

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

  3. Los errores son ortogonales a los regresores, es decir: \[X'\widehat{u}=0\] - Lo que implica que: \[cov(x_{j}, \widehat{u_{i}}=0)\]

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

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

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} (\widehat{y}_{i}- \bar{y})^{2} \]

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

Bondad de ajuste: \(R^2\)

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

\[ STC=SEC+SRC \]

Se definen 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

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_{\widehat{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 \(\widehat{\beta}_0, \widehat{\beta}_1,\dots. \widehat{\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} \widehat{\beta}&=(X'X)^{-1}X'y\\ \widehat{\beta}&=(X'X)^{-1}X'(X\beta+u)\\ \widehat{\beta}&=(X'X)^{-1}X'X\beta+(X'X)^{-1}X'u\\ \widehat{\beta}&=\beta+(X'X)^{-1}X'u\\ \end{array}\]

$$

Media estimador - Estimador MCO insesgado

Calculamos la esperanza del estiamador: $$

\[\begin{array}{rl} E[\widehat{\beta}|X]&=E[\beta+(X'X)^{-1}X'u|X]\\ E[\widehat{\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[\widehat{\beta}|X]&=E[\beta|X]+(X'X)^{-1}X'E[u|X]\\ E[\widehat{\beta}|X]&=\beta\\ \end{array}\]

$$

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

Varianza del estimador

\[ \begin{array}{rl} V[\widehat{\beta}|X]&=V[\beta+(X'X)^{-1}X'u|X]\\ V[\widehat{\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[\widehat{\beta}|X]&=(X'X)^{-1}X'\sigma^{2}X(X'X)^{-1}\\ V[\widehat{\beta}|X]&=\sigma^{2}(X'X)^{-1}X'X(X'X)^{-1}\\ V[\widehat{\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\)

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

Varianza del estimador

Así:

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

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

\[ V[\widehat{\beta}_{j}|X] =\frac{\widehat{\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{(\widehat{\beta}_j-\beta_{j\text{ en }H_{0}})}{SE(\widehat{\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

Detección global: Prueba de Ramesy (pero no dice cual es el porblema o que incluir)

Variables Omitidas

  • Estamos omitiendo una variable relevante, entonces su efecto es absorbido en el error.
  • Consecuencia: genera un sesgo en nuestros coeficientes: \(E[\widetilde{\beta}] \neq \beta\). Problema de endogeneidad.
  • Sesgo estimado: \(\tilde{\beta_i} = \widehat{\beta}_i + \widehat{\beta}_{\text{omitida}} \times \widehat{\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.

Heterocedasticidad

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.

Heterocedasticidad

Detección:

  • Gráfico de los residuos.
  • Graficar la varianza
  • Pruebas estadísticas: Test Breush-Pagan o Test de White

Heterocedasticidad

Detección:

Heterocedasticidad

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.

Heterocedasticidad

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.

Heterocedasticidad

Soluciones a la heterocedasticidad

  • 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.

Heterocedasticidad

Soluciones a la heterocedasticidad

  • Para utilizar errores robustos a la heterocedasticidad en modelos de regresión en statsmodels, puedes utilizar el método get_robustcov_results() después de ajustar tu modelo.

  • Esto proporcionará resultados que tienen errores estándar robustos a la heterocedasticidad.

robust_results = results.get_robustcov_results(cov_type='HC3')
  • En este ejemplo, estamos utilizando cov_type=‘HC3’, que es uno de los tipos de matrices de covarianza robustas que puedes elegir.
  • Puedes seleccionar otros tipos de covarianza robusta, como ‘HC0’, ‘HC1’, ‘HC2’, ‘HC4’, ‘HC4m’, ‘HC5’, ‘HC5m’, etc., según tus necesidades.

Avance en proyecto

Avance en proyecto: Defininiendo nuestra especificación

Considere los datos que desea analizar:

  1. Proponga el modelo más simple que explique el fenómeno de interés. Considere solo un momento en el tiempo.
  2. Proponga posibles alternativas para enriquecer su modelo, que sean factibles con los datos disponibles.
  3. Estime varias especificaciones alternativas y genere una única tabla con estas, recomendado el paquete Stargazer
  4. Compare los diferentes especificaciones
  5. Compruebe si tiene problemas de multicolinealidad
  6. Compruebe si tiene problemas de heterocedasticidad, si es así, use estimadors robustos para corregirlos.