Advertisement
kukis03

Multi taller 2

Nov 12th, 2023
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.88 KB | None | 0 0
  1. ---
  2. title: "R Notebook"
  3. output:
  4. pdf_document: default
  5. html_notebook: default
  6. ---
  7.  
  8. # Problemas prácticos de datos, distribuciones y correlación con respuestas parciales
  9.  
  10. ### 1) Si
  11. $$X \sim N_{2}\left(\begin{bmatrix}15\\20 \end{bmatrix},\begin{bmatrix}1&0.5\\0.5&1.25 \end{bmatrix}\right)$$ responda lo siguiente
  12.  
  13. ### a) Encuentre $f(x)$ multiplicando las matrices necesarias (no uses dmvnorm()), tal que $X = \mu$
  14.  
  15. $$f(X|\mu,\Sigma)=\frac{1}{(2\pi)^{p/2}|\Sigma|^{1/2}}exp\left\{-\frac{1}{2}(x-\mu)'\Sigma^{-1}(x-\mu)\right\}$$
  16.  
  17. simplificando cuando $x=\mu$
  18.  
  19. $$f(X|\mu,\Sigma)=\frac{1}{(2\pi)^{p/2}|\Sigma|^{1/2}}$$
  20.  
  21. ```{r}
  22. library(expm)
  23. library(mvtnorm)
  24. library(MASS)
  25.  
  26. mu<-c(15,20)
  27. sigma<-matrix(data = c(1, 0.5, 0.5,1.25),byrow = TRUE, ncol = 2)
  28.  
  29. #X <- mvrnorm(10000, mu, sigma)
  30. dmvnorm(x=c(15,20), mean = mu, sigma = sigma)
  31. #A%ˆ%20
  32.  
  33. #det(sigma)
  34. f<- 1/(2*pi)*sqrt(det(sigma))
  35. f
  36. ```
  37.  
  38. ### Estimación raíz cuadrada de una matriz
  39.  
  40. ```{r}
  41. sigma%^%(1/2)
  42.  
  43. sigma%^%(1/2)
  44.  
  45. vect.val.sigma <- eigen(sigma)
  46. vect.sigma <-vect.val.sigma$vectors
  47.  
  48. #vect.sigma<-matrix(vect.sigma)
  49. val.sigma <- vect.val.sigma$values
  50. val.sigma <- sqrt(diag(val.sigma))
  51. (sigma.raiz <- vect.sigma %*% val.sigma%*%solve(vect.sigma))
  52.  
  53. ```
  54.  
  55. ### b) Halle $f(x)$ en $x =[14, 19]$ multiplicando realmente las matrices necesarias y utilizando dmvnorm().
  56.  
  57. ```{r}
  58. x<-c(14,19)
  59. mu <- c(15, 20)
  60. sigma <- matrix(data = c(1, 0.5, 0.5, 1.25), nrow = 2, ncol = 2, byrow = TRUE)
  61. dmvnorm(x = x, mean = mu, sigma = sigma)
  62. ```
  63.  
  64. ### c) Represente gráficamente la distribución y estudie qué ocurre con ella cuando se realizan cambios en el vector de la media y en la matriz de covarianza. Asegúrese de examinar también los valores propios.
  65.  
  66. ```{r}
  67. mu<-c(15,20)
  68. sigma<-matrix(data = c(1, 0.5, 0.5,1.25),byrow = TRUE, ncol = 2)
  69.  
  70. #X <- mvrnorm(10000, mu, sigma)
  71. dmvnorm(x=c(15,20), mean = mu, sigma = sigma)
  72. ```
  73.  
  74. Al variar el vector de medias, el centro de las elipses se desplazan y al variar las covarianzas las elipses se
  75. inclinan hacia la derecha o izquierda dependiendo del signo de la covarianza. Cuando la covarianza es cero
  76. las elipses son circunfenrecias.
  77.  
  78. ```{r}
  79. # Mean vector and covariance matrix
  80. mu1<-c(5,11)
  81. mu2<-c(10,15)
  82. mu3<-c(15,20)
  83. mu4<-c(20,25)
  84. mu5<-c(25,30)
  85.  
  86. sigma1<-matrix(data = c(1, 0, 0,1.25),byrow = TRUE, ncol = 2)
  87. sigma2<-matrix(data = c(1, 0.25, 0.25,1.25),byrow = TRUE, ncol = 2)
  88. 2
  89. sigma3<-matrix(data = c(1, 0.5, 0.5,1.25),byrow = TRUE, ncol = 2)
  90. sigma4<-matrix(data = c(1, 0.75, 0.75,1.25),byrow = TRUE, ncol = 2)
  91. sigma5<-matrix(data = c(1, 0.95, 0.95,1.25),byrow = TRUE, ncol = 2)
  92.  
  93. mu<-list(mu1,mu2,mu3,mu4,mu5)
  94. sigma <-list(sigma1,sigma2,sigma3,sigma4,sigma5)
  95.  
  96. # To plot the ellipses
  97. plot(x=NULL, y=NULL, xlab='Peso (kg)', ylab='Estatura (cm)',
  98. xlim=c(2.5, 7.5), ylim=c(5, 15), las=1)
  99. car::ellipse(center=mu1, shape=sigma1, col='tomato', fill=TRUE,
  100. radius=sqrt(qchisq(p=0.90, df=2)))
  101. car::ellipse(center=mu1, shape=sigma1, col='blue', fill=TRUE,
  102. radius=sqrt(qchisq(p=0.50, df=2)))
  103. legend('topleft', col=c('blue', 'tomato'), lwd=2, bty='n',
  104. legend=c('50%', '90%'))
  105.  
  106. ```
  107.  
  108. ```{r}
  109. plot(x=NULL, y=NULL, xlab='Peso (kg)', ylab='Estatura (cm)',
  110. xlim=c(8, 12.5), ylim=c(10, 20), las=1)
  111. car::ellipse(center=mu2, shape=sigma2, col='tomato', fill=TRUE,
  112. radius=sqrt(qchisq(p=0.90, df=2)))
  113. car::ellipse(center=mu2, shape=sigma2, col='blue', fill=TRUE,
  114. radius=sqrt(qchisq(p=0.50, df=2)))
  115. legend('topleft', col=c('blue', 'tomato'), lwd=2, bty='n',legend=c('50%', '90%'))
  116.  
  117. ```
  118.  
  119. ```{r}
  120. plot(x=NULL, y=NULL, xlab='Peso (kg)', ylab='Estatura (cm)',
  121. xlim=c(13, 18), ylim=c(15, 23), las=1)
  122. car::ellipse(center=mu3, shape=sigma3, col='tomato', fill=TRUE,
  123. radius=sqrt(qchisq(p=0.90, df=2)))
  124. car::ellipse(center=mu3, shape=sigma3, col='blue', fill=TRUE,
  125. radius=sqrt(qchisq(p=0.50, df=2)))
  126. legend('topleft', col=c('blue', 'tomato'), lwd=2, bty='n',
  127. legend=c('50%', '90%'))
  128.  
  129. ```
  130.  
  131. ```{r}
  132. plot(x=NULL, y=NULL, xlab='Peso (kg)', ylab='Estatura (cm)',
  133. xlim=c(18, 23), ylim=c(22, 28), las=1)
  134. car::ellipse(center=mu4, shape=sigma4, col='tomato', fill=TRUE,
  135. radius=sqrt(qchisq(p=0.90, df=2)))
  136. car::ellipse(center=mu4, shape=sigma4, col='blue', fill=TRUE,
  137. radius=sqrt(qchisq(p=0.50, df=2)))
  138. legend('topleft', col=c('blue', 'tomato'), lwd=2, bty='n',
  139. legend=c('50%', '90%'))
  140.  
  141. ```
  142.  
  143. ```{r}
  144. plot(x=NULL, y=NULL, xlab='Peso (kg)', ylab='Estatura (cm)',
  145. xlim=c(22.5, 28), ylim=c(27, 33), las=1)
  146. car::ellipse(center=mu5, shape=sigma5, col='tomato', fill=TRUE,
  147. radius=sqrt(qchisq(p=0.90, df=2)))
  148. car::ellipse(center=mu5, shape=sigma5, col='blue', fill=TRUE,
  149. radius=sqrt(qchisq(p=0.50, df=2)))
  150. legend('topleft', col=c('blue', 'tomato'), lwd=2, bty='n',
  151. legend=c('50%', '90%'))
  152.  
  153. ```
  154.  
  155. ```{r}
  156. eigen(sigma1)
  157. eigen(sigma2)
  158. eigen(sigma3)
  159. eigen(sigma4)
  160. eigen(sigma5)
  161.  
  162. ```
  163.  
  164. A medida que se las covarianzas pasa de cero a valores mayores de cero, el pirmer valor comienza a incrementar
  165. y el segundo valor propio disminuye. Un análisis similar ocurre con los vectores propios, es decir, para el
  166. primer vector propio su primera componente comienza a incrementarse y su segunda componente en cambio
  167. disminuye de valor
  168.  
  169. ### 2) Simule datos de una distribución normal multivariante de su elección (no es necesario que sea bivariante). Compare los estadísticos resumen multivariantes $\mu$ y $\Sigma$. Examine qué ocurre con los estadísticos resumen relativos $\mu$ y $\Sigma$a medida que N aumenta o disminuye.
  170.  
  171. ```{r}
  172. sigma_matrix=matrix(c(5,1,6,1,4,0,6,0,8), byrow = TRUE, nrow = 3)
  173. mu = c(1, 2,4)
  174.  
  175. n=10
  176. data2=mvrnorm(n,mu,sigma_matrix)
  177. colMeans(data2)
  178. cov(data2)
  179. ```
  180.  
  181. ```{r}
  182. n=30
  183. data2=mvrnorm(n,mu,sigma_matrix)
  184. colMeans(data2)
  185. cov(data2)
  186. ```
  187.  
  188. ```{r}
  189. n=100
  190. data2=mvrnorm(n,mu,sigma_matrix)
  191. colMeans(data2)
  192. cov(data2)
  193. ```
  194.  
  195. ```{r}
  196. n=500
  197. data2=mvrnorm(n,mu,sigma_matrix)
  198. colMeans(data2)
  199. cov(data2)
  200. ```
  201. A medida que N aumenta, los estadísticos van acercándose más al valor de los parámetros.
  202.  
  203. ### 3) La matriz de covarianzas y correlaciones es la misma para variables aleatorias estandarizadas. ¿Por qué?
  204.  
  205. Si Z1 y Z2 son variables aleatorias estandarizadas, entonces ambas tienen una media de 0 y una varianza de
  206. 1. La correlación entre las dos variables es
  207.  
  208. $$\rho_{12}=\frac{Cov(Z_1,Z_2)}{\sqrt{Var(Z_1)Var(Z_2)}}=\frac{Cov(Z_1,Z_2)}{\sqrt{1\times1}}=Cov(Z_1,Z_2)$$
  209.  
  210. ### 4) Con respecto a los datos de goblet, complete lo siguiente:
  211.  
  212. ### a) ¿Cuál es la unidad experimental?
  213.  
  214. Un goblet
  215.  
  216. ### b) Los investigadores del tema están interesados en agrupar copas que tienen la misma forma aunque puedan tener tamaños diferentes. Una forma sugerida por Manly y Alberto (2016) es ajustar los datos dividiendo cada medida por $X_3$ (altura) y luego completar análisis adicionales. A continuación se muestra cómo se realiza el ajuste de datos:
  217.  
  218. ```{r}
  219. #install.packages("readr")
  220. suppressWarnings(library(readr))
  221.  
  222. #goblet <- read.csv("C:/Users/USUARIO/Downloads/goblet.csv")
  223. goblet <- read.csv("D:/Descargas/DATABASES/goblet.csv")
  224.  
  225. head(goblet)
  226.  
  227. goblet2 <- data.frame(ID = goblet$goblet, w1 = goblet$x1/goblet$x3,
  228. w2 = goblet$x2/goblet$x3,
  229. w4 = goblet$x4/goblet$x3,
  230. w5 = goblet$x5/goblet$x3,
  231. w6 = goblet$x6/goblet$x3)
  232.  
  233. head(goblet2)
  234.  
  235. ```
  236.  
  237. ### c) Exponer los datos ajustados en una matriz.
  238.  
  239. ```{r}
  240. as.matrix(goblet2)
  241.  
  242. ```
  243.  
  244.  
  245.  
  246. ### d) Halla los estadísticos de resumen multivariantes para los datos ajustados.
  247.  
  248. ```{r}
  249. covar<-cov(goblet2[,2:6])
  250. covar
  251. ```
  252.  
  253. ### e) Calcule la covarianza de las variables $X_1$ y $X_2$ ajustadas sin utilizar cov() o cualquier función que encuentre inmediatamente la covarianza. En otras palabras, programe en R la fórmula real que calcula la covarianza de dos variables y aplíquela a los datos de estas variables.
  254.  
  255. Lo que buscamos es:
  256.  
  257. $$Cov(X_1,X_2)=\frac{1}{n-1}\sum_{i=1}^n(x_{i1}-\bar x_1)(x_{i2}-\bar x_2)$$
  258. ```{r}
  259. n=length(goblet$x1)
  260. cov_12=(1/(n-1))*sum((goblet$x1-mean(goblet$x1))*(goblet$x2-mean(goblet$x2)))
  261. cov_12
  262. ```
  263.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement