Contexto: Este recurso constituye un objeto de aprendizaje diseñado para cerrar la brecha entre la abstracción algebraica de los Mínimos Cuadrados Ordinarios y su representación geométrica en el espacio euclidiano.
Al finalizar la interacción con este script, el estudiante será capaz de: * Comprender visualmente la relación funcional entre una variable dependiente (\(Y\)) y un vector de predictores (\(X_1, X_2\)). * Identificar el “Plano de Regresión” como la superficie optimizada que minimiza la suma de los residuos al cuadrado. * Interpretar la bondad de ajuste del modelo mediante la proximidad de las observaciones empíricas respecto al plano estimado.
El flujo metodológico implementado en este recurso sigue cuatro
etapas fundamentales: 1. Preparación de entorno:
Gestión de librerías especializadas y vinculación de fuentes de datos
externas. 2. Estimación econométrica: Ejecución del
algoritmo de optimización mediante la función lm() para la
obtención de estimadores \(\hat{\beta}\). 3. Modelado
geométrico: Generación de una malla de predicción para la
construcción de la superficie de respuesta. 4. Análisis
interactivo: Renderizado dinámico con plotly para
la exploración multivariante mediante rotación y escala.
La interacción con este modelo permite constatar que la regresión lineal no es únicamente un conjunto de estadísticos tabulares, sino la determinación de una estructura geométrica óptima. La dispersión de los puntos respecto al plano ofrece un diagnóstico visual inmediato sobre la precisión y el error estocástico del modelo.
El propósito fundamental de este recurso digital es facilitar la transición del dominio teórico a la praxis económica, permitiendo la aplicación de métodos cuantitativos a fenómenos de la realidad social.
Este recurso se integra de manera orgánica con los objetivos del programa de estudios bajo la siguiente estructura de vinculación:
| Componente del Programa | Integración con el Recurso Digital |
|---|---|
| Objetivo general | Aplicación de principios econométricos mediante el uso de datasets reales y herramientas de computación estadística. |
| Contenido temático | Soporte práctico para las unidades de Inferencia Estadística y Modelos de Regresión Múltiple. |
| Estrategias didácticas | Funciona como plataforma para prácticas de laboratorio y resolución de problemas complejos. |
| Resultados de aprendizaje | Fortalece la capacidad del estudiante para emitir informes técnicos con rigor científico y sustento visual. |
# Instalar los paquetes necesarios (solo la primera vez)
# install.packages("readxl")
# install.packages("plotly")
# install.packages("dplyr")
library(plotly)
library(readxl)
library(dplyr)# Especifica la ruta a tu archivo de Excel, por ejemplo:
ruta_excel <- "C:/Users/uac_facsoc/Desktop/Gráfico_R_MCO.xlsx"
# Carga la hoja de datos. Asegúrate de que los nombres de las columnas
# sean claros (por ejemplo: 'Y', 'X1', 'X2').
datos_regresion <- read_excel(ruta_excel, sheet = 1)
# Mostrar las primeras filas para verificar la carga
head(datos_regresion)## # A tibble: 6 × 5
## Año n Y X1 X2
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1971 1 40 6 4
## 2 1972 2 44 10 4
## 3 1973 3 46 12 5
## 4 1974 4 48 14 7
## 5 1975 5 52 16 9
## 6 1976 6 58 18 12
# Define tu modelo: Y en función de X1 y X2
modelo_rlm <- lm(Y ~ X1 + X2, data = datos_regresion)
# Ver el resumen del modelo (opcional, pero útil)
summary(modelo_rlm)##
## Call:
## lm(formula = Y ~ X1 + X2, data = datos_regresion)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.8199 -0.7304 0.1302 0.9173 1.8108
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 31.9807 1.6318 19.598 2.25e-07 ***
## X1 0.6501 0.2502 2.599 0.03550 *
## X2 1.1099 0.2674 4.150 0.00429 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.397 on 7 degrees of freedom
## Multiple R-squared: 0.9916, Adjusted R-squared: 0.9892
## F-statistic: 414.8 on 2 and 7 DF, p-value: 5.356e-08
# 1. Crear rangos basados en los datos reales de tu Excel
range_X1 <- seq(min(datos_regresion$X1), max(datos_regresion$X1), length.out = 30)
range_X2 <- seq(min(datos_regresion$X2), max(datos_regresion$X2), length.out = 30)
# 2. Crear la matriz de predicción usando los nombres de tu modelo (Y ~ X1 + X2)
pred_fun <- function(x1, x2) {
predict(modelo_rlm, newdata = data.frame(X1 = x1, X2 = x2))
}
Z_predicha <- outer(range_X1, range_X2, Vectorize(pred_fun))# 1. Crear la superficie (Plano)
fig <- plot_ly(
x = ~range_X1,
y = ~range_X2,
z = ~t(Z_predicha),
type = "surface",
opacity = 0.6,
showscale = FALSE,
name = "Plano de regresión"
)
# 2. Añadir los puntos reales del Excel
fig <- fig %>% add_markers(
data = datos_regresion,
x = ~X1,
y = ~X2,
z = ~Y,
marker = list(
size = 4,
color = '#27ae60',
line = list(color = 'black', width = 1)
),
name = "Datos Reales",
inherit = FALSE
)
# 3. PERSONALIZACIÓN DE NOMBRES (Edita lo que está entre comillas)
fig <- fig %>% layout(
title = "Análisis de regresión múltiple: visualización 3D",
scene = list(
xaxis = list(title = "Inversión en publicidad ($)"), # Cambia esto por tu X1
yaxis = list(title = "Fuerza de ventas (Pers.)"), # Cambia esto por tu X2
zaxis = list(title = "Ingresos totales (Y)") # Cambia esto por tu Y
)
)
# 4. Mostrar el gráfico final
figA continuación, se presentan los coeficientes estimados del modelo. Estos valores representan el impacto de cada variable independiente sobre la variable dependiente.
library(stargazer)
stargazer(modelo_rlm,
type = "html",
title = "Tabla 1: Resultados de la regresión múltiple",
dep.var.labels = "Ingresos Totales (Y)",
covariate.labels = c("Inversión en publicidad (X1)", "Fuerza de ventas (X2)"),
digits = 3)| Dependent variable: | |
| Ingresos Totales (Y) | |
| Inversión en publicidad (X1) | 0.650** |
| (0.250) | |
| Fuerza de ventas (X2) | 1.110*** |
| (0.267) | |
| Constant | 31.981*** |
| (1.632) | |
| Observations | 10 |
| R2 | 0.992 |
| Adjusted R2 | 0.989 |
| Residual Std. Error | 1.397 (df = 7) |
| F Statistic | 414.849*** (df = 2; 7) |
| Note: | p<0.1; p<0.05; p<0.01 |
Utilizando el modelo ajustado, podemos predecir un valor esperado. Por ejemplo, si invertimos 50 en Publicidad y contamos con 30 personas en la Fuerza de Ventas:
Resultado de la predicción: El valor estimado para la variable dependiente (Y) es de: 97.78.
En este gráfico, las líneas verticales representan el residuo. Los puntos con colores más intensos indican dónde el modelo tiene mayor error de predicción.