beceb22

PR

Jun 22nd, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 KB | None | 0 0
  1. #### PREGUNTA N°1
  2. rm(list = ls())
  3. X=vector()
  4. Y=vector()
  5. U=vector()
  6. U1=vector()
  7. U2=vector()
  8. n=1000
  9.  
  10. for (i in 1:n) {
  11. U1[i]=runif(1,0,1)
  12. U2[i]=runif(1,0,1)
  13. U[i]=runif(1,0,1)
  14. Y[i]=(exp(U[i]^2)+(exp((1-U[i])^2)))/2
  15. X[i]=(exp(U1[i]^2)+(exp(U2[i]^2)))/2
  16. }
  17.  
  18. Antiteticas1=mean(Y)
  19. Antiteticas1
  20. var(Y)/n
  21.  
  22. Diferentes1=mean(X)
  23. Diferentes1
  24. var(X)/n
  25.  
  26. ######pregunta 3
  27.  
  28. rm(list = ls())
  29. ## Parte a)
  30.  
  31. n=1000
  32. x=vector()
  33. y=vector()
  34. cont=0
  35. for (j in 1:n)
  36. {
  37. S=0
  38. for(i in 1:5)
  39. {
  40. u=runif(1,0,1)
  41. y[i]=-logb(u)
  42. S=S+i*y[i]
  43. }
  44. if(S>=21.6)
  45. {cont=cont+1}
  46. }
  47. cont
  48.  
  49. p=cont/1000;p
  50. var=p*(1-p);var
  51.  
  52. ## Parte b)
  53. rm(list = ls())
  54. n=1000
  55. x=vector()
  56. u=vector()
  57. y1=vector()
  58. y2=vector()
  59. cont1=0
  60. cont2=0
  61.  
  62. for (j in 1:n)
  63. {
  64. s1=0
  65. s2=0
  66. for(i in 1:5)
  67. {
  68. u[i]=runif(1,0,1)
  69. y1[i]=-logb(u[i])
  70. y2[i]=-logb(1-u[i])
  71.  
  72. s1=s1+(i*y1[i])
  73. s2=s2+(i*y2[i])
  74. }
  75. if(s1>=21.6)
  76. { cont1=cont1+1}
  77. if(s2>=21.6)
  78. {cont2=cont2+1}
  79. }
  80.  
  81. p=(cont1+cont2)/1000;p
  82. var2=p*(1-p);var2
  83.  
  84. ## Parte c)
  85. No siempre por que no logra en todas las iteraiones reducir la varianza.
  86.  
  87. rm(list = ls())
  88. ### Pregunta 7:
  89. # Caso a: X~U(0,1)
  90. n=1000
  91. X=vector() ## Variable de control
  92. I=vector()
  93. med_X=0.5 ## Media de la Uniforme
  94.  
  95. for(i in 1:n)
  96. {X[i]=runif(1)
  97. if( X[i]<0.8)
  98. { I[i]=1 }
  99. else {I[i]=0 }}
  100.  
  101. p=cor(I,X);p
  102. c=-cov(X,I)/var(X);c
  103. EstSes=mean(I)+(c*(mean(X)-med_X));EstSes
  104. Var_Est=var(I)*(1-p^2);Var_Est
  105. Reduc<- (1-(Var_Est/var(I)));Reduc
  106.  
  107. rm(list = ls())
  108. # Caso b: X~exp(1)
  109. n=1000
  110. X=vector() ## Variable de control
  111. u=vector()
  112. I=vector()
  113. med_X=1 ## Media de la expoenecial
  114.  
  115. for(i in 1:n)
  116. {u[i]=runif(1,0,1)
  117. X[i]=-logb(u[i])
  118. if( X[i]<0.8)
  119. { I[i]=1 }
  120. else {I[i]=0 }}
  121.  
  122. p1=cor(I,X); p1
  123. c1=-cov(X,I)/var(X); c1
  124. EstSes1=mean(I)+(c1*(mean(X)-med_X));EstSes1
  125. Var_Est1=var(I)*(1-p1^2); Var_Est1
  126. Reduc1=(1-(Var_Est1/var(I)));Reduc1
  127.  
  128. ##La varianza utilizando la variable de control se reduce a 0.11
  129. ##con respecto a la varianza de la exponencial que es 0.24
  130.  
  131. ## PREGUNTA 9
  132. ## b) Simulación con variable de control
  133. ## Y=U (variable de control)
  134. rm(list = ls())
  135. n <- 100
  136. X <- vector()
  137. U <- vector()
  138. med_Y=0.5
  139.  
  140. for(i in 1:n)
  141. {
  142. U[i]=runif(1,0,1) #variable de control
  143. X[i]=exp((U[i])^2)
  144. }
  145. c=-cov(X,U)/var(X)
  146. p=cor(U,X)
  147. Var_IC=var(U)*(1-p^2)
  148. Var_IC
  149.  
  150. ## c) Variable antiteticas
  151.  
  152. rm(list = ls())
  153. X=vector()
  154. U=vector()
  155. n=100
  156.  
  157. for (i in 1:n) {
  158. U[i]=runif(1,0,1)
  159. X[i]=(exp(U[i]^2)+(exp((1-U[i])^2)))/2
  160. }
  161. var(X)/n
  162. #### PREGUNTA N°10
  163. ## a)
  164. rm(list = ls())
  165. Y2=vector()
  166. U=vector()
  167. n=100
  168.  
  169. for (i in 1:n) {
  170. U[i]=runif(1,0,1) #Variable de control
  171. Y2[i]=(exp((U[i]+U[i])^2))
  172. }
  173. c=-cov(Y2,U)/var(U)
  174. p=cor(U,Y2);p
  175. Var_IC=var(U)*(1-p^2)
  176. Var_IC
  177.  
  178. #### b)antiteticas
  179. rm(list = ls())
  180. Y2=vector()
  181. U=vector()
  182. n=100
  183. for (i in 1:n) {
  184. U[i]=runif(1,0,1)
  185. Y2[i]=(exp((2*U[i])^2)+(exp((1-2*U[i])^2)))/2
  186. }
  187. var(Y2)/n
  188.  
  189. #### Pregunta 12
  190. ## a)
  191.  
  192. n <- 10000
  193. x <- runif(n, -1, 1)
  194. y <- runif(n, -1, 1)
  195. indice <- (x+y < 0)
  196. # Aproximación por simulación
  197. sum(indice)/n
  198. mean(indice)
Advertisement
Add Comment
Please, Sign In to add comment