kukis03

taller 5 modelos

Dec 1st, 2023
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.30 KB | None | 0 0
  1. ---
  2. title: "Taller 5_Modelos I"
  3. output: pdf_document
  4. ---
  5.  
  6. ```{r setup, include=FALSE}
  7. knitr::opts_chunk$set(echo = TRUE)
  8. # Set so that long lines in R will be wrapped:
  9. knitr::opts_chunk$set(tidy.opts=list(width.cutoff=70),tidy=TRUE)
  10. ```
  11.  
  12. # Unidad 7: Regresión Lineal Múltiple con predictores categóricos
  13.  
  14.  
  15. ## Dataset: SMA
  16.  
  17. Considere los datos sobre 141 áreas metropolitanas estándar en los Estados Unidos (sma.txt). Los datos proporcionan información sobre 11 variables para cada área para el período 1976-1977. Las zonas se han dividido en 4 regiones geográficas: 1=Noreste, 2=Norte-Centro, 3=Sur,
  18. 4=Oeste. Las variables proporcionadas son las siguientes:
  19.  
  20.  
  21. Área: tamaño de la tierra en millas cuadradas
  22. Población total: estimada en miles
  23. Porcentaje ciudad: porcentaje de la población en el centro de la ciudad / ciudades
  24. Porcentaje senior: porcentaje de personas mayores de $\leq$ 65 años
  25. Médicos: número de médicos profesionalmente activos
  26. Camas de hospital: número total de camas de hospital
  27. Graduados: porcentaje de adultos que terminaron la escuela secundaria
  28. Laboral: número de personas en la fuerza laboral en miles
  29. Ingresos: ingresos totales en 1976 en millones de dólares
  30. Delitos: número de delitos graves
  31. Región: región geográfica según el Censo de los Estados Unidos
  32.  
  33. La variable respuesta que estamos interesados en modelar es la tasa de delitos por cada mil habitantes (Delitos/Población total).
  34.  
  35. ```{r}
  36. sma <- read.table("D:/Descargas/DATABASES/sma.txt", row.names=1, quote="\"", comment.char="")
  37. names(sma) <- c('Area', 'PobT', 'PCiudad', 'PSenior', 'Medicos', 'CHosp', 'Grad', 'Laboral', 'Ingresos', 'Delitos', 'Region')
  38. head(sma)
  39. #summary(sma)
  40.  
  41. # Variable de respuesta
  42. sma$TDelitos <- sma$Delitos/sma$PobT
  43. summary(sma$TDelitos)
  44. hist(sma$TDelitos, xlab = "Tasa de delitos", main = "Histograma de la tasa de delitos")
  45. boxplot(sma$TDelitos)
  46. ```
  47.  
  48. ### Codificación de las variables categóricas: Indicativas o dummy
  49.  
  50. La variable región es una variable categórica. Sin embargo, si pedimos la clase de la variable, nos saldrá como numérica:enteros.
  51.  
  52. ```{r}
  53. class(sma$Region)
  54.  
  55. ```
  56. Si se ingresa al modelo así, R va a usar a la variable región como numérica y por lo tanto va a estimar un solo coeficiente.
  57.  
  58. ```{r}
  59. summary(lm(TDelitos~Region, data=sma))
  60.  
  61. ```
  62. Para indicar que es una variable categórica vamos a utilizar la función factor().
  63.  
  64. ```{r}
  65. sma$Regionf=factor(sma$Region)
  66. class(sma$Regionf)
  67.  
  68. #Podemos saber cúales son los niveles o clases de la variable usando levels()
  69. levels(sma$Regionf)
  70.  
  71. ```
  72. Ahora sí, si la ingresamos en el modelo, va a esta tres coeficientes, usando una región como categoría de referencia.
  73.  
  74. ```{r}
  75. summary(lm(TDelitos~Regionf, data=sma))
  76.  
  77. ```
  78. Obtengo los mismos resultados si utilizo la función factor dentro de la fórmula del modelo.
  79.  
  80. ```{r}
  81. summary(lm(TDelitos~factor(Region), data=sma))
  82.  
  83. ```
  84.  
  85. En este caso, la región 1: Noreste es la categoría de referencia.
  86. El default de R para la categoría de referencia es usar el primer nivel (ordenado de menor a mayor, o en orden alfabético).
  87.  
  88. Por ejemplo, creemos otra variable Región 2, que en vez de usar número para las regiones usa los nombres de la región:
  89.  
  90.  
  91. ```{r}
  92. sma$Region_n=sma$Region
  93. sma$Region_n[sma$Region_n==1]="Noreste"
  94. sma$Region_n[sma$Region_n==2]="Norte-Centro"
  95. sma$Region_n[sma$Region_n==3]="Sur"
  96. sma$Region_n[sma$Region_n==4]="Oeste"
  97.  
  98. class(sma$Region_n)
  99. #La clase de la variable ahora es "character"
  100. #Aunque se puede usar como tal, es mejor siempre utilizar factor()
  101.  
  102. sma$Region_n<-factor(sma$Region_n)
  103.  
  104. levels(sma$Region_n)
  105.  
  106. ```
  107. Las categorías están ordenados alfabéticamente, y la referencia sería Noreste
  108.  
  109. ```{r}
  110. summary(lm(TDelitos~Region_n, data=sma))
  111.  
  112. ```
  113. La interpretación de los coeficientes sería en comparación a la categoría de referencia, en este caso Noreste.
  114.  
  115. Supongamos que estamos interesados en comparar con respecto al Sur. En ese caso podemos cambiar la categoría base con la función relevel().
  116.  
  117. ```{r}
  118. relevel(x=sma$Regionf, ref = 2)
  119.  
  120. #OJO: la función relevel afecta directamente a la variable, cada vez que desee usar otra categoría de referencia debe cambiarlo con la opción ref=
  121.  
  122. ```
  123. Ahora nos sale Levels: 2 1 3 4. Lo que significa que el dos es la categoría base.
  124.  
  125.  
  126. ```{r}
  127. sma$Region2=relevel(x=sma$Regionf, ref = 2)
  128.  
  129. summary(lm(TDelitos~Region2, data=sma))
  130. ```
  131. Los coeficientes estimados cambian porque ahora son relativos a la categoría de referencia que es el Sur.
  132.  
  133. Además, podemos conocer las variables indicadoras creadas en este modelo usando contrasts()
  134.  
  135. ```{r}
  136. contrasts(sma$Region2)
  137.  
  138. ```
  139. Las columnas identifican a las tres variables indicativas. Por ejemplo, la primera variable es 1 si la región es 1 y 0 caso contrario. La primera fila que toma el valor de 0 en las tres variables es la región de referencia, en este caso la región 2.
  140.  
  141. ### Pregunta 1. Estime el siguiente modelo e interprete todos los coeficientes estimados. Interprete las pruebas t de los coeficientes de las regiones.
  142.  
  143. $$
  144. TDelitos = \beta_0 + \beta_1 Area + \beta_2 Grad + \beta_3 Region_{Noreste} + \beta_4 Region_{Norte-Centro} + \beta_5 Region_{Sur} + \epsilon
  145. $$
  146. Para modelar el modelo descrito, se necesita usar como categoría de referencia a la región Oeste. Así, el modelo descrito puede ser modelado por:
  147.  
  148. ```{r}
  149. sma$Region_n=relevel(x=sma$Region_n,ref="Oeste")
  150.  
  151. modelo=lm(TDelitos~Area+Grad+Region_n,data=sma)
  152.  
  153. (res=summary(modelo))
  154. ```
  155. $\beta_{0}=40.41$ es la tasa de crímenes promedio de una zona con 0 de área, 0 graduados, en la región Oeste.
  156. $\beta_{1}=0.0007$ es el cambio en la tasa de crímenes promedio por cada milla cuadrada adicional, suponiendo que el porcentaje de graduados es constante, en una región cualquiera.
  157. $\beta_{2}=0.4139$ es el cambio en la tasa de crímenes promedio por cada 1% de adicional de graduados, suponiendo que el área de la zona se mantiene igual, en una región cualquiera.
  158. $\beta_{3}=-20.75$ es el cambio en la tasa de crímenes promedio entre la región Oeste y la región Noreste, si ambas tienen la misma área, y el mismo porcentaje de graduados.
  159. $\beta_{4}=-12.43$ es el cambio en la tasa de crímenes promedio entre la región Oeste y la región Norte-Centro, si ambas tienen la misma área, y el mismo porcentaje de graduados.
  160.  
  161. Antes de hablar sobre la interpretación de $\beta_{5}$, discutamos la interpretación de las pruebas t. Usando un nivel de significancia del 5%, vemos que para $\beta_{i}, i=0,\cdots,4$ existe evidencia estadística para rechazar la hipótesis de que cada una de ellos es igual a 0.
  162.  
  163. Esto no ocurre para $\beta_{5}$, pues el valor de su prueba t es superior al de nuestro nivel de significancia. Por lo tanto, no existe evidencia para rechazar $H_{0}:\beta_{5}=0$. Por este motivo, no se realiza una interpretación de $\beta_{5}$.
  164.  
  165. ### Pregunta 2. Ahora estime el siguiente modelo y compare la prueba F general de la regresión y el coeficiente de determinación con el modelo de la pregunta 1. ¿Existe algún cambio?
  166.  
  167. $$
  168. TDelitos = \beta_0 + \beta_1 Area + \beta_2 Grad + \beta_3 Region_{Norte-Centro} + \beta_4 Region_{Sur} + \beta_5 Region_{Oeste} + \epsilon
  169. $$
  170. ```{r}
  171. sma$Region_n=relevel(x=sma$Region_n,ref="Noreste")
  172.  
  173. modelo2=lm(TDelitos~Area+Grad+Region_n,data=sma)
  174.  
  175. (res2=summary(modelo2))
  176.  
  177. res$r.squared
  178. res2$r.squared
  179.  
  180. res$df
  181. res$fstatistic
  182. res2$df
  183. res2$fstatistic
  184. ```
  185. Los valores del $R^{2}$ y del estadístico F, así como sus grados de libertad, y por tanto, su valor p, no cambian a pesar de que usó una codifiación distinta.
  186.  
  187.  
  188. ### Codificación de las variables categóricas: Contraste
  189.  
  190. Para realizar la codificación por contraste, donde la referencia es el promedio de todas las categorías, podemos usar contrast() y la opción contr.sum
  191.  
  192.  
  193. ```{r}
  194.  
  195. contrasts(sma$Regionf)=contr.sum
  196.  
  197. contrasts(sma$Regionf)
  198.  
  199.  
  200. #OJO: después de usar la opcion contr.sum, el cambio se hace directamete en la variable, por lo que desea volver a la codificación indicadora, dummy debe usar contr.treatment
  201.  
  202. ```
  203. En este caso el intercepto tendría la interpretación usando el promedio de las regiones y el coeficiente de la región 4 se obtiene como la suma de los negativos de las demás regiones.
  204.  
  205.  
  206. ### Pregunta 3. Modele la tasa de delitos con las variables Área, número de graduados y región. Utilice la codificación de contraste para la variable región. Interprete todos los coeficientes estimados. Interprete las pruebas t de los coeficientes de las regiones. Compare la prueba F general de la regresión y el coeficiente de determinación con los modelos de las pregunta 1 y 2. ¿Existe algún cambio?
  207.  
  208. ```{r}
  209. contrasts(sma$Region_n)=contr.sum
  210. contrasts(sma$Region_n)
  211.  
  212. modelo3=lm(TDelitos~Area+Grad+Region_n,data=sma)
  213. (res3=summary(modelo3))
  214. ```
  215.  
  216. $\beta_{0}=30.74$ es la tasa de delitos promedio en una zona con 0 de área, 0 graduados, en una región promedio (esto es, sin importar si es Noereste, Norte-centro, Sur u Oeste)
  217. $\beta_{1}=0.0007496$ es el cambio en la tasa de crímenes promedio por cada milla cuadrada adicional, suponiendo que el porcentaje de graduados es constante, en una región cualquiera.
  218. $\beta_{2}=0.4139$ es el cambio en la tasa de crímenes promedio por cada 1% de adicional de graduados, suponiendo que el área de la zona se mantiene igual, en una región cualquiera.
  219. $\beta_{3}=-11.08$ es el cambio en la tasa de crímenes promedio si la región es el Noreste.
  220. $\beta_{4}=9.67$ es el cambio en la tasa de crímenes si la región es el Oeste.
  221.  
  222. Con una significancia del 5%, para los cuatro primeros $\beta$ se rechaza la hipótesis nula que indica que son iguaes a 0. Para $\beta_{5}$, dado nuestro nivel de significancia, no exeiste evidencia estadística para rechazar dicha hipótesis, por lo tanto, no se lo interpreta.
  223.  
  224. ```{r}
  225. res2$r.squared
  226. res3$r.squared
  227.  
  228.  
  229. res2$df
  230. res2$fstatistic
  231.  
  232. res3$df
  233. res3$fstatistic
  234. ```
  235.  
  236. De nuevo, no existe ningún cambio. Recuérdese que la prueba F y el R cuadrado del modelo de la pregunta 2 son iguales a los del de la pregunta 1.
  237.  
  238. ## Más codificaciones:
  239.  
  240. Usted puede manualmente crear una codificación de interés.
  241. Además puede crear constrastes ortogonales usando contr.poly(), contrastes de Helmert. Revise la ayuda de R ?contr.helmert. Ahí aparece una lista de todos los contrastes implementados.
  242.  
Add Comment
Please, Sign In to add comment