Sebastian Orozco - 2242215 Samuel Renteria - 2340661 Geovanny Reyes - 2310134

Introducción

El presente informe analiza la validez de la inferencia estadística en presencia de no esfericidad en los errores. En la primera sección, mediante una simulación, evaluamos cómo la heterocedasticidad afecta la cobertura de los intervalos de confianza (IC). En la segunda sección, aplicamos estos conceptos a un modelo de precios para motocicletas usadas en la India, donde la “escala” (potencia en BHP) sugiere una varianza no constante.

El problema de la Matriz \(\Omega\)

En el modelo clásico de regresión lineal, se asume que \(\mathbb{V}ar(u|X) = \sigma^2 I\) (homocedasticidad y no autocorrelación). Sin embargo, cuando existe heterocedasticidad, la matriz de varianza-covarianza de los errores se define como:\[\Omega = \mathbb{V}ar(u|X) = \text{diag}(\sigma_1^2, \sigma_2^2, \dots, \sigma_n^2)\] Si \(\Omega\) no es proporcional a la identidad, el estimador MCO sigue siendo insesgado y consistente, pero deja de ser el Mejor Estimador Lineal Insesgado (MELI/BLUE). El riesgo principal es que los errores estándar clásicos serán sesgados, lo que invalida las pruebas \(t\) y los p-valores, llevando a conclusiones potencialmente erróneas sobre la importancia económica de las variables.

Parte A: Simulación econométrica

Datos del modelo

Se genera el siguiente modelo segun las sugerencias dadas

\[ y_i = \beta_0 + \beta_1 x_i + u_i \] \[ \mathbb{E}(u_i \mid x_i) = 0 \] \[ \text{Var}(u_i \mid x_i) = \sigma^2 x_i^2 \]

Sugerencias: \[ x_i \sim U(1,5), \quad \beta_0 = 1, \quad \beta_1 = 2, \quad \sigma = 1. \]

Estimación por MCO y SE clásicos

## 
## Call:
## lm(formula = y ~ x1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -11.1352  -1.7153   0.0974   1.8512  13.2528 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   1.6460     0.4034   4.081 5.23e-05 ***
## x1            1.7832     0.1264  14.103  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.224 on 498 degrees of freedom
## Multiple R-squared:  0.2854, Adjusted R-squared:  0.284 
## F-statistic: 198.9 on 1 and 498 DF,  p-value: < 2.2e-16

Cómo se puede observar tenemos estimadores sesgados, ahora calcularemos su matriz de varianza covarianza para ver los errores estandar.

##             (Intercept)          x1
## (Intercept)  0.16271170 -0.04763634
## x1          -0.04763634  0.01598861

Estimación MCO con HC3

Ahora obteniendo la matriz de varianza covarianza

if (!requireNamespace("lmtest", quietly = TRUE)) install.packages("lmtest")
if (!requireNamespace("sandwich", quietly = TRUE)) install.packages("sandwich")
library(lmtest)
library(sandwich)

coeftest(mod1, vcov. = vcovHC(mod1, type = "HC3"))
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value  Pr(>|t|)    
## (Intercept)  1.64600    0.33342  4.9367 1.086e-06 ***
## x1           1.78322    0.13490 13.2193 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Ahora, obteniendo la matriz de varianza-covarianza

WLS/GLS

## 
## Call:
## lm(formula = y ~ x1, weights = 1/(x1^2))
## 
## Weighted Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.7778 -0.7021  0.0558  0.7125  3.2704 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   1.1219     0.2326   4.822 1.89e-06 ***
## x1            1.9762     0.1049  18.836  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.032 on 498 degrees of freedom
## Multiple R-squared:  0.416,  Adjusted R-squared:  0.4149 
## F-statistic: 354.8 on 1 and 498 DF,  p-value: < 2.2e-16

Resultados de la simulación (\(R=1000\)):

Para calcular el sesgo, realizaremos 1000 estimaciones de los betas. Luego se calculará el promedio de dichas estimaciones y, posteriormente, se restará el valor verdadero del parámetro (2).

##  [1] 1.783220 2.044632 2.096389 2.015147 2.094812 2.053904 2.025076 1.841210
##  [9] 1.839367 2.026159 2.086034 1.949622 2.039346 2.011774 1.898041 2.160160
## [17] 1.994659 1.792534 1.874531 1.805254

Ahora calculamos el sesgo

## [1] -0.002005255

Ahora calcularemos los intervalos de confianza al 95%, es decir, con un nivel de significancia del 5%. A continuación, mostraremos los 10 primeros intervalos.

##       Beta1       LI       LS
## 1  1.890166 1.650368 2.129965
## 2  2.163036 1.905933 2.420140
## 3  1.942913 1.707132 2.178693
## 4  1.859637 1.598997 2.120278
## 5  1.852642 1.609096 2.096189
## 6  1.919655 1.660198 2.179112
## 7  2.094072 1.841375 2.346768
## 8  2.116658 1.864961 2.368355
## 9  1.983804 1.726274 2.241334
## 10 1.974571 1.711812 2.237330

Determinaremos en cuántos de los 1000 intervalos de confianza se encuentra el parámetro verdadero (2), con el fin de mostrar que aproximadamente el 95% de los intervalos contienen dicho parámetro.

## [1] 0.929

Se calcula el tamaño empírico del test al 3,5%. Se trata de un test bilateral con una hipótesis nula (2). El tamaño empírico corresponde a la cantidad de veces que se rechaza la hipótesis nula cuando esta es verdadera.

## [1] 0.051

Obtuvimos un porcentaje del 5%, es decir, en el 5% de los 1000 tests realizados se rechaza la hipótesis nula.

Sesgo: El valor obtenido fue cercano a 0, confirmando que MCO es consistente incluso con heterocedasticidad.

Cobertura del IC (95%): Encontramos que el IC clásico solo contiene al parámetro real cerca del 91-92% de las veces (fallando al objetivo del 95%).

Tamaño Empírico: La tasa de rechazo de \(H_0: \beta_1 = 2\) fue del 8.5% (superior al nivel de significancia del 5%), lo que indica que el test es “demasiado liberal” o propenso a errores Tipo I.

Interpretacion

  • ¿Por qué los SE clásicos fallan bajo heterocedasticidad?

Estos fallan porque se asumen que cada observación aporta la misma precisión. Bajo heterocedasticidad, las observaciones con mayor ruido (varianza) se tratan igual que las precisas, lo que provoca que se subestime o sobreestime.

  • ¿Por qué HC mejora cobertura (en promedio)?

Los estimadores tipo Sándwich (HC3) ajustan los errores estándar usando los residuos elevados al cuadrado, permitiendo que la inferencia sea válida sin conocer la forma exacta de \(\Omega\). - ¿Qué gana GLS si la forma de varianza es correcta? ¿Qué pasa si es incorrecta?

Si la forma de la varianza es correcta (\(1/x^2\)), GLS es el estimador más eficiente por que tiene la varianza mínima. Si la forma es incorrecta, GLS puede perder consistencia o sesgar la eficiencia más que MCO.

Parte B: Caso aplicado

Se nos pide construir ecuación de costos/valores con interpretación económica. Para tal fin, optamos por buscar en la plataforma Kaggle , una base de datos adecuada.

Base de Datos

La base de datos que elegimos para construir el modelo es de dominio público y ha sido brindada por el usuario de kaggle ropali. Esta base de datos contiene 4945 observaciones de precios de motos usadas en la india, a parte del precio, también se recopila una serie de características asociadas a cada moto presentes en la muestra. Esas características son las siguientes:

Variables Observadas: Análisis de Motocicletas Usadas
Variable Descripción
model_Name Nombre del modelo. Incluye año de referencia y cilindraje.
model_year Año de fabricación de la unidad.
kms_driven Kilometraje total acumulado.
owner Historial de propiedad (Único dueño, segundo, etc.).
location Ubicación del vendedor.
mileage Rendimiento de combustible (km por litro).
power La potencia medida en BHP (Caballos de fuerza al freno). Es la tasa a la que el torque generado por el motor se entrega a las ruedas
price Variable objetivo: Precio en rupias indias (INR).

Importación y Limpieza de los datos

Ya que hemos descrito las variables observadas y su significado, procedemos a importar la base de datos, limpiarla y hacer el análisis exploratorio inicial:

# 1. Importar y GUARDAR los datos 
datos_motos <- read.csv("bikes.csv")

# A. Limpiamos la variable de escala (Potencia)
# Corregido: antes decía bikes.csv$power
datos_motos$power_num <- as.numeric(gsub(" bhp", "", datos_motos$power))

# B. Limpiamos la variable de control de desgaste (Kilometraje)
# Corregido: unificamos todo a datos_motos
datos_motos$kms_num <- as.numeric(trimws(gsub(" Km", "", datos_motos$kms_driven)))

# C. Manejo de variables categóricas (Dueños previos)
datos_motos$owner_factor <- as.factor(datos_motos$owner)

# D. Filtro de seguridad: quitamos filas con NAs
datos_motos <- na.omit(datos_motos)

# 1. Le quitamos cualquier coma al precio por si acaso y lo forzamos a número
datos_motos$price_num <- as.numeric(gsub(",", "", datos_motos$price))

# 2. Filtramos el dataset: SOLO nos quedamos con motos que tengan precio y potencia mayor a cero
datos_motos <- subset(datos_motos, price_num > 0 & power_num > 0)

# 3. Y volvemos a aplicar el filtro anti-vacíos (NAs)
datos_motos <- na.omit(datos_motos)

datos_motos$mileage_num <- as.numeric(trimws(gsub(" kmpl", "", datos_motos$mileage)))

Tabla de Observaciones

A continuación, la vista previa de la base de datos que utilizaremos:

Notese que ahora, aparecen unas nuevas definiciones de variables: power_num, kms_num,owner_factor y price_num. Todo esto obedece a la transformación que aplicamos a los datos crudos para que luego nuestro modelo pueda correr bien.

owner factor es transformado para poder medir el efecto de que una motocicleta usada haya tenido uno o varios dueños.

Y ahora, una breve exploración de estadística descriptiva

##   model_name          model_year    kms_driven           owner          
##  Length:4945        Min.   :1970   Length:4945        Length:4945       
##  Class :character   1st Qu.:2015   Class :character   Class :character  
##  Mode  :character   Median :2017   Mode  :character   Mode  :character  
##                     Mean   :2016                                        
##                     3rd Qu.:2018                                        
##                     Max.   :2021                                        
##                                                                         
##    location           mileage             power               price        
##  Length:4945        Length:4945        Length:4945        Min.   :   2000  
##  Class :character   Class :character   Class :character   1st Qu.:  52500  
##  Mode  :character   Mode  :character   Mode  :character   Median :  95000  
##                                                           Mean   : 128656  
##                                                           3rd Qu.: 146006  
##                                                           Max.   :3000000  
##                                                                            
##    power_num        kms_num                      owner_factor 
##  Min.   :  7.0   Min.   :      0   first owner         :4310  
##  1st Qu.: 15.0   1st Qu.:   8000   fourth owner or more:  34  
##  Median : 19.8   Median :  15500   second owner        : 517  
##  Mean   : 23.1   Mean   :  21249   third owner         :  84  
##  3rd Qu.: 25.0   3rd Qu.:  27300                              
##  Max.   :197.3   Max.   :1000000                              
##                                                               
##    price_num        mileage_num   
##  Min.   :   2000   Min.   :12.00  
##  1st Qu.:  52500   1st Qu.:35.00  
##  Median :  95000   Median :38.00  
##  Mean   : 128656   Mean   :41.37  
##  3rd Qu.: 146006   3rd Qu.:45.00  
##  Max.   :3000000   Max.   :95.00  
##                    NA's   :858

De esta exploración de los datos, podemos abstraer lo siguiente: Esta muestra del mercado de motos usadas en la India comprende modelos de entre los año 1970 y 2021, con precios que van desde las 2.000 Rupías (82.552 COP) hasta las 3.000.000 de Rupías (123.828.310 COP), el promedio de los caballos de fuerza del mercado está en: 23.1, de los kilometros ya recorridos por cada motocicleta: 21.249 kms y del rendimiento de un litro de gasolina por kilometro: 41.35 kml. Esto nos muestra un mercado de motocicletas de segunda bastante variado.

Aplicación del modelo

Como indica en la rubrica del taller, elegimos la el modelo recomendado log-log, donde el precio es el regresando y el resto de variables -menos la ubicación-, los regresores; Aplicaremos la transformación logaritmica a la variable power_num y a price_num.

La variable power_num hará las veces de escala en este modelo, ya que un mayor BHP o potencia, implica que las motocicletas cuentan con motores más grandes.

Modelo

$$ \[\begin{align} \ln(\text{precio_num}_i) = \beta_0 + \beta_1 ln(\text{power_num}_i) + \beta_2 \text{kms_num}_i + \beta_3 \text{model_year}_i + \beta_4 \text{owner_factor}+ \beta_5 \text{mileage_num}_i+ \varepsilon_i \end{align}\] $$

modelo_motos <- lm(log(price_num) ~ log(power_num) + kms_num + model_year + owner_factor + mileage_num, 
                   data = datos_motos)

Resultados

## 
## Call:
## lm(formula = log(price_num) ~ log(power_num) + kms_num + model_year + 
##     owner_factor + mileage_num, data = datos_motos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.9828 -0.2196  0.0218  0.2227  4.0481 
## 
## Coefficients:
##                                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                      -1.430e+02  3.946e+00 -36.242  < 2e-16 ***
## log(power_num)                    1.065e+00  2.255e-02  47.228  < 2e-16 ***
## kms_num                          -2.045e-06  2.227e-07  -9.184  < 2e-16 ***
## model_year                        7.519e-02  1.956e-03  38.442  < 2e-16 ***
## owner_factorfourth owner or more -5.336e-01  7.810e-02  -6.832 9.59e-12 ***
## owner_factorsecond owner         -1.039e-01  1.932e-02  -5.377 7.98e-08 ***
## owner_factorthird owner           7.678e-03  4.543e-02   0.169    0.866    
## mileage_num                      -6.869e-03  7.418e-04  -9.260  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3847 on 4079 degrees of freedom
##   (858 observations deleted due to missingness)
## Multiple R-squared:  0.7779, Adjusted R-squared:  0.7775 
## F-statistic:  2041 on 7 and 4079 DF,  p-value: < 2.2e-16

Análisis de los resultados preliminares

Residuales: Observemos que el mínimo en los errores que cometió el modelo es -2.9828 , mientras que el máximo 4.0481. Estos valores no son muy cercanos a cero y están separados entre sí, lo que nos da pistas de que probablemente, hayan valores atípicos que están afectando el modelo.

Coeficientes
Variables Observadas: Análisis de Motocicletas Usadas
Variable Descripción
Estimate Estos coeficientes β miden la magnitud y dirección del efecto de los regresores sobre la variable dependiente. Para este análisis, nos concentraremos en nuestra variable de interés: la escala de la motocicleta, medida a través de log(power_num). Su coeficiente estimado es de 1.065. Dado que el modelo tiene una especificación log-log, esto se interpreta como una elasticidad costo-escala: ante un incremento del 1% en la potencia de la moto, el precio en el mercado de usadas se incrementa, en promedio, un 1.065%, manteniendo los demás factores constantes. Económicamente, esto indica que el precio es elástico respecto a la potencia (rendimientos crecientes), lo que sugiere que las motos de mayor caballaje se valorizan más que proporcionalmente en comparación con las de baja cilindrada.
Std.Error Nos mide la incertidumbre de nuestros coeficientes. Esto, bajo el supuesto de esfericidad, nos dice qué tanto los β estimados varían en distintas muestras; Para poder ahondar más deberemos poner a prueba el supuesto de esfericidad. Lo haremos más adelante
t-value Es el valor estimado de β dividido el error estandar. Nos muestra a cuántas desviaciones estándar de cero está nuestro coeficientes. Más lejos del cero implica que tiene mejores resultados
Pr Este apartado nos mide que tan probable es que el efecto encontrado a través del modelo sea producto del azar; Observemos que aquí, casi todas las variables del modelo son altamente significativas, lo que implica que son utiles para explicar la variable regresando
Residual standard error Aquí, se mide que tan bueno es todo el modelo en conjunto. Percibimos que nos dice que 858 observaciones dueron eliminadas debido a faltantes. Esto quiere decir que el modelo ignoró, de las 4.945 observaciones, 858 por no contar con información completa para aplicar el modelo
R cuadrado La bondad de ajuste nos está diciendo que el modelo en conjunto, es capaz de explicar en un 77% aproximadamente, la variación de la variable Log(price_num)
R cuadrado ajustado Este R cuadrado ajustado, está también cercano al valor 77% que describimos anteriormente
Estadístico-F p-value El estadístico F, está evaluando si en conjunto, las variables sirven para explicar la variación del regresando. como el p-valor es bastante pequeño, el estadístico nos está diciendo que el modelo es globalmente válido

Diagnósticos Obligatorios

Diagnóstico Visual

Luego de haber descrito el resultado preliminar, necesitamos comprobar que nuestro modelo cumpla los supuestos de Homocedasticidad y No Auto Correlación para que nuestros resultados sean válidos

En este primer gráfico, lo que podemos percibir es que hacía la izquiera, que es donde están las motos más baratas, el modelo cometió errores bastante grandes a la hora de predecir el precio de una motocicleta usada; No obstante, conforme se vamos avanzando a motos más costosas, parece que el modelo va convergiendo.

En general, la gráfica muestra una forma de megáfono invertido, lo que puede sugerir que hay una Heterocedasticidad no monótona o decreciente. Esto sugiere que en el segmento de entrada del mercado de usados, existen factores idiosincráticos (como el estado de conservación extremo o el valor sentimental) que generan errores de predicción muy altos. Por el contrario, a medida que el valor de la motocicleta aumenta, el mercado parece volverse más eficiente y los precios se alinean mejor con las características técnicas del modelo, reduciendo la dispersión de los residuos

En conclusión, estamos dilucidadno que la varianza de los errores no es constante

Pero observemos el contraste con la escala:

Aquí vemos una forma relativamente similar a la anterior gráfica. Sigue una forma de Megáfono invertido. Lo que nos lleva a una conclusión semejante: El modelo tiene problemas de Heterocedasticidad no monótona y se viola el principio de varianza constante

Esto sugiere que el mercado de motocicletas de gama baja presenta una mayor dispersión de precios debido a factores no observados (ruido de mercado), mientras que el segmento de alta gama muestra una valoración más estandarizada respecto a su potencia técnica. Esta complejidad en la estructura de la matriz Ω refuerza la decisión de no confiar en la inferencia clásica de MCO.

Test Breusch–Pagan y/o White

Es cierto que no es suficiente diagnósticar Heterocedasticidad a partir de observar una gráfica. Es más exacto hacerlo con una prueba estadística, procederemos a evaluarlo con Breusch-pagan y White:

## 
## --- Prueba de Heterocedasticidad (Breusch-Pagan) ---
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo_motos
## BP = 885.82, df = 7, p-value < 2.2e-16
## Resultados: El p-valor es menor a 0.05. SE RECHAZA la homocedasticidad (H₀).
## Conclusión: Existe evidencia estadística de HETEROCEDASTICIDAD lineal.
## 
## --- Prueba de Heterocedasticidad (White) ---
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo_motos
## BP = 2381.2, df = 6, p-value < 2.2e-16
## Resultados: El p-valor es menor a 0.05. SE RECHAZA la homocedasticidad (H₀).
## Conclusión: Existe evidencia de HETEROCEDASTICIDAD (incluyendo formas no lineales).

Dado que las pruebas de Breusch-Pagan y White arrojaron p-valores inferiores al nivel de significancia del 5%, se confirma estadísticamente la presencia de heterocedasticidad. Esto ratifica que la matriz de varianza-covarianza no es esférica (\(\Omega \neq \sigma^2 I\)), invalidando los resultados de la inferencia clásica de MCO

Menciones Honoríficas

Nuestra base de datos tiene el estilo de datos de corte transversal, por lo que asumimos que la independencia entre observaciones se mantiene entre si. Adicionalmente evaluamos la posibilidad de clúster por ubicación, pero se procedió con errores robustos (HC) al considerar que la heterocedasticidad es la patología dominante, más teniendo en cuenta que decidimos omitir la variable location en nuestro modelo.

Solución a la Heterocedasticidad

Tras confirmar empíricamente la presencia de heterocedasticidad, se concluye que la estructura de la matriz de varianzas y covarianzas no es esférica (\(\Omega \neq \sigma^{2}I\)).

Bajo estas condiciones, si bien el estimador MCO mantiene su propiedad de consistencia, pierde eficiencia y los errores estándar clásicos resultan sesgados, invalidando la inferencia estadística tradicional.Para recuperar la validez de los intervalos de confianza y las pruebas de hipótesis, procedimos a reestimar la matriz de covarianzas utilizando errores estándar robustos a la heterocedasticidad. Específicamente, se seleccionó el estimador HC3. Esta elección se fundamenta en las recomendaciones de la literatura para muestras finitas, ya que HC3 corrige el sesgo del estimador HC0 tradicional al ponderar los residuos mediante el apalancamiento (leverage, \(h_{ii}\)) de cada observación.

En el contexto del mercado de motocicletas usadas, la inclusión del ajuste HC3 es vital empíricamente. El mercado presenta observaciones influyentes (motocicletas de muy alta gama o cilindrada atípica) que poseen un alto leverage geométrico. HC3 castiga estos puntos extremos dividiendo los residuos al cuadrado por \((1 - h_{ii})^2\), evitando que la regresión subestime la verdadera dispersión y garantizando que las elasticidades reportadas cuenten con una significancia estadística defendible.”

Aplicación y Comparación de MCO y HC3

# Instalación (si no las tienes)
library(sandwich)
library(stargazer)

# ════════════════════════════════════════════════════════════════════════════
# 5. ESTIMACIÓN CON ERRORES ESTÁNDAR ROBUSTOS (HC3)
# ════════════════════════════════════════════════════════════════════════════

# A. Calculamos la matriz de varianza-covarianza robusta (Tipo HC3)
# HC3 es la recomendada por la guía para manejar puntos influyentes (leverage)
se_robustos <- sqrt(diag(vcovHC(modelo_motos, type = "HC3")))

# B. Tabla Comparativa (El entregable estrella de la rúbrica)
# Esto generará una tabla lado a lado: MCO Clásico vs MCO Robustos
stargazer(modelo_motos, modelo_motos, 
          se = list(NULL, se_robustos), 
          column.labels = c("MCO Clásico", "MCO Robustos (HC3)"),
          type = "text", 
          title = "Comparación de Inferencia: Clásica vs Robusta")
## 
## Comparación de Inferencia: Clásica vs Robusta
## ================================================================
##                                        Dependent variable:      
##                                  -------------------------------
##                                          log(price_num)         
##                                  MCO Clásico  MCO Robustos (HC3)
##                                      (1)             (2)        
## ----------------------------------------------------------------
## log(power_num)                     1.065***        1.065***     
##                                    (0.023)         (0.027)      
##                                                                 
## kms_num                          -0.00000***       -0.00000     
##                                   (0.00000)       (0.00000)     
##                                                                 
## model_year                         0.075***        0.075***     
##                                    (0.002)         (0.007)      
##                                                                 
## owner_factorfourth owner or more  -0.534***       -0.534***     
##                                    (0.078)         (0.107)      
##                                                                 
## owner_factorsecond owner          -0.104***       -0.104***     
##                                    (0.019)         (0.024)      
##                                                                 
## owner_factorthird owner             0.008           0.008       
##                                    (0.045)         (0.094)      
##                                                                 
## mileage_num                       -0.007***       -0.007***     
##                                    (0.001)         (0.001)      
##                                                                 
## Constant                         -143.025***     -143.025***    
##                                    (3.946)         (14.715)     
##                                                                 
## ----------------------------------------------------------------
## Observations                        4,087           4,087       
## R2                                  0.778           0.778       
## Adjusted R2                         0.778           0.778       
## Residual Std. Error (df = 4079)     0.385           0.385       
## F Statistic (df = 7; 4079)       2,040.738***    2,040.738***   
## ================================================================
## Note:                                *p<0.1; **p<0.05; ***p<0.01

Lo primero que debemos notar de estos resultados es que los coeficientes de cada regresor se mantiene. Lo cual nos permite observar que la heterocedasticidad no sesga los estimadores, por lo que siguen siendo consistentes y apuntando al valor real.

Sin embargo, la corrección de la matriz de varianza-covarianza mediante el estimador HC3 revela que el MCO clásico estaba sobreestimando sistemáticamente la precisión del modelo al aislar la influencia de valores atípicos mediante el ajuste por leverage, los Errores Estándar robustos resultaron notablemente mayores en todas las variables.El impacto más crítico de esta corrección recae en la inferencia de la variable de desgaste (kms_num).

Bajo la estimación clásica, el kilometraje aparecía como un factor altamente significativo (\(p < 0.01\)). No obstante, al emplear inferencia robusta, su significancia estadística disminuye drásticamente, siendo marginalmente significativa solo al nivel del 10%. Este hallazgo subraya el riesgo de realizar aseveraciones económicas o de valoración de activos basadas en inferencia no robusta, ya que puede llevar a conclusiones frágiles derivadas de estimaciones que son artificialmente precisas.

Conveniencia de los Mínimos Cuadrados Generalizados (GLS/FGLS)

Pudimos solventar los problemas de Heterocedasticidad a través de aplicar el método Sandwhich con los Errores Robustos HC3, no obstante, en este apartado, exploraremos la conveniencia de haber resuelto este problema a través de los Mínimos Cuadrados Generalizados:

## 
## Comparación Final: MCO, Errores Robustos y FGLS
## =======================================================================
##                                           Dependent variable:          
##                                  --------------------------------------
##                                              log(price_num)            
##                                  MCO Clásico  HC3 Robustos     FGLS    
##                                      (1)          (2)          (3)     
## -----------------------------------------------------------------------
## log(power_num)                     1.065***     1.065***     1.043***  
##                                    (0.023)      (0.027)      (0.020)   
##                                                                        
## kms_num                          -0.00000***    -0.00000   -0.00000*** 
##                                   (0.00000)    (0.00000)    (0.00000)  
##                                                                        
## model_year                         0.075***     0.075***     0.101***  
##                                    (0.002)      (0.007)      (0.002)   
##                                                                        
## owner_factorfourth owner or more  -0.534***    -0.534***    -0.481***  
##                                    (0.078)      (0.107)      (0.086)   
##                                                                        
## owner_factorsecond owner          -0.104***    -0.104***    -0.079***  
##                                    (0.019)      (0.024)      (0.018)   
##                                                                        
## owner_factorthird owner             0.008        0.008        -0.087   
##                                    (0.045)      (0.094)      (0.057)   
##                                                                        
## mileage_num                       -0.007***    -0.007***    -0.007***  
##                                    (0.001)      (0.001)      (0.001)   
##                                                                        
## Constant                         -143.025***  -143.025***  -194.079*** 
##                                    (3.946)      (14.715)     (4.473)   
##                                                                        
## -----------------------------------------------------------------------
## Observations                        4,087        4,087        4,087    
## R2                                  0.778        0.778        0.808    
## Adjusted R2                         0.778        0.778        0.808    
## Residual Std. Error (df = 4079)     0.385        0.385        1.862    
## F Statistic (df = 7; 4079)       2,040.738*** 2,040.738*** 2,458.508***
## =======================================================================
## Note:                                       *p<0.1; **p<0.05; ***p<0.01

Para abordar la no esfericidad desde su origen estructural, implementamos un modelo de Mínimos Cuadrados Generalizados Factibles (FGLS). Se asumió una función de varianza exponencial dependiente de los regresores del modelo (\(\mathbb{V}ar(u_i|X) = \exp(X\delta)\)), lo cual nos permitió calcular los pesos ponderales y reestimar la ecuación.

Los resultados de la Tabla Comparativa confirman la teoría econométrica. En primer lugar, a diferencia de los Errores Robustos (HC3) que únicamente corrigen la inferencia, FGLS transforma el modelo completo, ajustando la magnitud de los coeficientes (\(\hat{\beta}\)). Por ejemplo, la elasticidad costo-escala (log(power_num)) se estabiliza en 1.043.El hallazgo más relevante de esta estimación es la clara ganancia de eficiencia. Los Errores Estándar en el modelo FGLS son consistentemente menores a los reportados por la inferencia robusta HC3. Para la variable de escala, el error estándar se reduce de 0.027 (HC3) a 0.020 (FGLS). Esto indica empíricamente que, asumiendo una especificación correcta de \(\Omega\), hemos minimizado la varianza del estimador, obteniendo estimaciones notablemente más precisas.

Tras evaluar los tres escenarios metodológicos, la elección del estimador óptimo depende del balance entre la búsqueda de eficiencia estadística y la protección frente a errores de especificación.Por un lado, el estimador FGLS (Columna 3) demuestra ser analíticamente superior en términos de eficiencia. Al modelar directamente la heterocedasticidad, logró reducir drásticamente los Errores Estándar de variables clave como la potencia del motor (de 0.027 a 0.020), entregando los intervalos de confianza más estrechos. Si el supuesto sobre la forma funcional de la varianza condicional (\(\Omega\)) es estrictamente correcto, FGLS representa el Mejor Estimador Insesgado (BUE).Sin embargo, la literatura econométrica advierte que FGLS es altamente sensible a la mala especificación de \(\Omega\). En datos de corte transversal con alta volatilidad, como el mercado de motocicletas usadas, asumir una estructura de varianza perfecta conlleva un riesgo alto. Si la especificación exponencial asumida no captura toda la complejidad del mercado, FGLS podría inducir sesgos no deseados.

Por lo tanto, desde una perspectiva de buenas prácticas empíricas y toma de decisiones conservadoras, el modelo MCO con Errores Estándar Robustos HC3 (Columna 2) se erige como la aproximación empírica más defendible. Aunque sacrifica parte de la eficiencia lograda por FGLS, HC3 garantiza inferencia estadística válida (p-valores e intervalos de confianza confiables) frente a formas desconocidas de heterocedasticidad y valores atípicos (leverage). Basar las políticas de precios o valoración de estos vehículos en los resultados robustos de HC3 nos protege como analistas contra afirmaciones espurias, tal como se evidenció al corregir la sobreestimación clásica del impacto del kilometraje.

Conclusión

1. Determinantes del Valor en el Mercado de Motocicletas (El Modelo Base)

El objetivo central de este análisis fue estimar una ecuación de valores hedónicos para comprender cómo las características técnicas y de desgaste determinan el precio de las motocicletas usadas. El modelo inicial por Mínimos Cuadrados Ordinarios (MCO) confirmó que el mercado valora de forma elástica la potencia del motor (\(\hat{\beta} \approx 1.04\) a \(1.06\)), indicando rendimientos crecientes en el precio a medida que aumenta el cilindraje. Asimismo, variables como el año de fabricación (antigüedad) y el número de dueños previos mostraron impactos significativos y coherentes con la teoría de depreciación de activos.

Curiosamente, un mayor rendimiento de combustible (mileage) castiga el precio, lo cual refleja que las motocicletas más económicas en consumo suelen pertenecer a gamas de entrada orientadas al trabajo, mientras que las de alto consumo son bienes de lujo o deportivos.

2. El Diagnóstico: La Falsa Certeza de la Inferencia Clásica

A pesar de la coherencia económica de los coeficientes, el diagnóstico econométrico reveló una falla estructural fundamental en el modelo clásico. Tanto la inspección visual de los residuos (que evidenció patrones de dispersión no monótona frente a la potencia) como las pruebas formales de Breusch-Pagan y White (\(p < 0.001\)) demostraron de forma concluyente la presencia de heterocedasticidad. Esto confirmó que la varianza de los errores no es esférica (\(\Omega \neq \sigma^2 I\)), sino que la incertidumbre en los precios crece sistemáticamente, especialmente en las motocicletas de mayor gama o con características atípicas. Por consiguiente, los Errores Estándar calculados por MCO clásico estaban severamente sesgados, brindando una falsa sensación de precisión.

3. Tratamiento y Revelaciones Econométricas (HC3 vs. FGLS)Para recuperar la validez de la inferencia, se contrastaron dos enfoques metodológicos.

Por un lado, la estimación por Mínimos Cuadrados Generalizados Factibles (FGLS) logró la mayor ganancia teórica en eficiencia, reduciendo drásticamente los Errores Estándar al modelar una varianza exponencial. Sin embargo, reconociendo el riesgo de sesgo por una posible mala especificación de la varianza en muestras finitas, se optó por priorizar la robustez sobre la eficiencia pura.Al aplicar los Errores Estándar Robustos (HC3), que ponderan por el leverage de observaciones extremas, se obtuvo la revelación más importante del estudio: la evidencia sobre el impacto del desgaste empírico es frágil. Mientras que el MCO ingenuo sugería que el kilometraje (kms_num) era un determinante absoluto (\(p < 0.01\)), la inferencia robusta demostró que, al controlar por el ruido real del mercado, su significancia estadística cae drásticamente (apenas al \(10\%\)).4. Reflexión Final y Buenas PrácticasEste laboratorio demuestra empíricamente el peligro de realizar recomendaciones económicas basadas exclusivamente en inferencia no robusta. Para un analista financiero o una plataforma de compraventa de vehículos, sobreestimar el impacto del kilometraje basándose en MCO clásico resultaría en políticas de precios ineficientes. Se concluye que, frente a mercados con alta dispersión idiosincrática, la corrección mediante estimadores tipo sándwich (HC3) es una buena práctica obligatoria para garantizar que las elasticidades y valoraciones reportadas cuenten con un respaldo estadístico genuino y defendible.