Descargue del aula virtual, carpeta Evaluación 2 – Datos, el archivo de datos con su nombre.
El archivo consiste en un conjunto de datos, con cinco variables teóricas: una variable independiente x y cuatro variables dependientes o series: ya, yb, yc, yd.
Para cada una de las series ya, yb, yc, yd, encuentre el mejor modelo entre los siguientes:
La ecuación original de cada uno de estos modelos es:
\[y = \beta_0 + \beta_1x + u...(Lineal)\] \[y = \beta_0x^{\beta_1}u...(Log)\] \[y = \beta_0e^{\beta_1x}u...(Semilog)\] \[y = \frac{y_m}{1 + e^{-\beta_0 - \beta_1x + u}}...(Logístico)\]
Para cada una de las series, use el mejor modelo para estimar el parámetro \(\beta_1\).
¡Ojo! Un modelo puede ser el mejor en más de una serie. Por lo mismo, no necesariamente van a usar todos los modelos.
Ayuda: Para el modelo logístico, estime el valor de \({\mathrm{y}}_{\mathrm{m}}\) usando el siguiente código R:
ym = max(df_datos$ya) + 1
Es importante el + 1 al final para que la regresión no dé un mensaje de error.
Escriba todas sus respuestas en el formulario a continuación.
En las preguntas numéricas, escriba su respuesta redondeada a 4 decimales y con coma decimal.
Siempre el primer paso es hacer un gráfico de los datos. Esto da la
pista de cual podría ser la solución.
Se carga el archivo csv de datos personalizado, y se crean los cuatro
gráficos:
df_data = read.table(paste0(path.data, nombre, ".csv"), header = T, sep = "|")
ga = ggplot(data = df_data, mapping = aes(y=ya, x=x)) + geom_point() + ggtitle("A")
gb = ggplot(data = df_data, mapping = aes(y=yb, x=x)) + geom_point() + ggtitle("B")
gc = ggplot(data = df_data, mapping = aes(y=yc, x=x)) + geom_point() + ggtitle("C")
gd = ggplot(data = df_data, mapping = aes(y=yd, x=x)) + geom_point() + ggtitle("D")
grid.arrange(ga, gb, gc, gd, nrow = 2, ncol = 2)
Los gráficos nos dan una pista para el posible mejor modelo para cada serie de datos. Ahora lo comprobaremos haciendo una regresión para cada serie, para cada uno de los modelos.
Para poder hacer la regresión con cada modelo, necesitamos transformar cada ecuación original a una forma lineal, con la cual se puede hacer una regresión lineal. Las formas lineales para los modelos log, semilog y logística son:
\[log(y) = log(\beta_0) + \beta_1 log(x) + v...(Log)\] \[log(y) = log(\beta_0) + \beta_1 x + v...(Semilog)\] \[log \left( \frac{y_m}{y} - 1 \right) = -\beta_0 - \beta_1x + u...(Logístico)\]
Note que cuando realiza la regresión del modelo logístico, tiene que cambiar el signo del coeficiente de la regresión:
\[\hat \beta_1 = -Coeficiente \ de \ la \ regresión\]
¿Cuál es el mejor modelo para la serie (a)?
Con los datos \(ya\), hacemos cuatro regresiones usando las ecuaciones transformadas y para cada una, anotamos los resultados:
x = df_data$x
y = df_data$ya
df_resultados = data.frame(Modelo = c("Lineal", "Log", "Semilog", "Logistico"), R2 = NA, Estadistico.F = NA, Beta1 = NA)
ym = max(y) + 1
df_resultados[df_resultados$Modelo=="Lineal", "R2"] = summary(lm(formula = y ~ x))$r.squared
df_resultados[df_resultados$Modelo=="Log", "R2"] = summary(lm(formula = log(y) ~ log(x)))$r.squared
## Warning in log(y): NaNs produced
df_resultados[df_resultados$Modelo=="Semilog", "R2"] = summary(lm(formula = log(y) ~ x))$r.squared
## Warning in log(y): NaNs produced
df_resultados[df_resultados$Modelo=="Logistico", "R2"] = summary(lm(formula = log(ym/y-1) ~ x))$r.squared
## Warning in log(ym/y - 1): NaNs produced
df_resultados[df_resultados$Modelo=="Lineal", "Estadistico.F"] = summary(lm(formula = y ~ x))$fstatistic[1]
df_resultados[df_resultados$Modelo=="Log", "Estadistico.F"] = summary(lm(formula = log(y) ~ log(x)))$fstatistic[1]
## Warning in log(y): NaNs produced
df_resultados[df_resultados$Modelo=="Semilog", "Estadistico.F"] = summary(lm(formula = log(y) ~ x))$fstatistic[1]
## Warning in log(y): NaNs produced
df_resultados[df_resultados$Modelo=="Logistico", "Estadistico.F"] = summary(lm(formula = log(ym/y-1) ~ x))$fstatistic[1]
## Warning in log(ym/y - 1): NaNs produced
df_resultados[df_resultados$Modelo=="Lineal", "Beta1"] = lm(formula = y ~ x)$coefficients[2]
df_resultados[df_resultados$Modelo=="Log", "Beta1"] = lm(formula = log(y) ~ log(x))$coefficients[2]
## Warning in log(y): NaNs produced
df_resultados[df_resultados$Modelo=="Semilog", "Beta1"] = lm(formula = log(y) ~ x)$coefficients[2]
## Warning in log(y): NaNs produced
df_resultados[df_resultados$Modelo=="Logistico", "Beta1"] = -lm(formula = log(ym/y-1) ~ x)$coefficients[2]
## Warning in log(ym/y - 1): NaNs produced
df_resultados
## Modelo R2 Estadistico.F Beta1
## 1 Lineal 0.4150740 69.54255 0.030953060
## 2 Log 0.3341052 48.66866 0.219238382
## 3 Semilog 0.3714972 57.33503 0.006894223
## 4 Logistico 0.3878056 61.44639 0.015754573
El mejor modelo es el que tiene los mayores valores \(R^2\) y \(estadístico \ F\). En este caso, se observa que el mejor modelo es el Lineal.
Ingrese el coeficiente \(\beta_1\) de su mejor modelo para la serie (a).
Se realiza la regresión con el mejor modelo (Lineal) y se observa que:
\[\hat \beta_1 = 0.031\]
¿Cuál es el mejor modelo para la serie (b)?
Con los datos \(yb\), hacemos cuatro regresiones usando las ecuaciones transformadas y para cada una, anotamos los resultados:
## Modelo R2 Estadistico.F Beta1
## 1 Lineal 0.3048203 42.97074 1.153189774
## 2 Log 0.2569743 33.89315 0.242636060
## 3 Semilog 0.2971818 41.43862 0.008346884
## 4 Logistico 0.2222734 28.00830 0.017395203
El mejor modelo es el que tiene los mayores valores \(R^2\) y \(estadístico \ F\). En este caso, se observa que el mejor modelo es el Lineal.
Ingrese el coeficiente \(\beta_1\) de su mejor modelo para la serie (b).
Se realiza la regresión con el mejor modelo (Lineal) y se observa que:
\[\hat \beta_1 = 1.1532\]
¿Cuál es el mejor modelo para la serie (c)?
Con los datos \(yc\), hacemos cuatro regresiones usando las ecuaciones transformadas y para cada una, anotamos los resultados:
## Modelo R2 Estadistico.F Beta1
## 1 Lineal 0.8193478 444.4789 1.2048377
## 2 Log 0.8762331 693.8111 4.9532380
## 3 Semilog 0.7729892 333.6975 0.1488226
## 4 Logistico 0.8859419 761.2113 0.2118165
El mejor modelo es el que tiene los mayores valores \(R^2\) y \(estadístico \ F\). En este caso, se observa que el mejor modelo es el Logistico.
Ingrese el coeficiente \(\beta_1\) de su mejor modelo para la serie (c).
Se realiza la regresión con el mejor modelo (Logistico) y se observa que:
\[\hat \beta_1 = 0.2118\]
¿Cuál es el mejor modelo para la serie (d)?
Con los datos \(yd\), hacemos cuatro regresiones usando las ecuaciones transformadas y para cada una, anotamos los resultados:
## Modelo R2 Estadistico.F Beta1
## 1 Lineal 0.4873835 93.17605 -0.15408193
## 2 Log 0.7103818 240.37651 -1.30966708
## 3 Semilog 0.8930728 818.51113 -0.04697440
## 4 Logistico 0.8362091 500.32370 -0.05240963
El mejor modelo es el que tiene los mayores valores \(R^2\) y \(estadístico \ F\). En este caso, se observa que el mejor modelo es el Semilog.
Ingrese el coeficiente \(\beta_1\) de su mejor modelo para la serie (d).
Se realiza la regresión con el mejor modelo (Semilog) y se observa que:
\[\hat \beta_1 = -0.047\]
\[...\]