Advertisement
Guest User

Untitled

a guest
Jun 14th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.08 KB | None | 0 0
  1. b = 1 #parametro de la uniforme
  2. n = 15 #variables
  3.  
  4. estimador_maxima_verosimilitud_U = function(data){
  5.   return(max(data))
  6. }
  7. estimador_momentos_U = function(data){
  8.   return(2 * mean(data))
  9. }
  10. estimador_b_U = function(data){
  11.   return(2 * median(data))
  12. }
  13.  
  14. #EJERCICIO 4
  15.  
  16. vector_MVU = c()
  17. vector_momU = c()
  18. vector_bU = c()
  19. for(i in 1:1000){
  20.   data = runif(n, 0, b)
  21.   estimador_MVU = estimador_maxima_verosimilitud_U(data)
  22.   estimador_MomU = estimador_momentos_U(data)
  23.   estimador_bU = estimador_b_U(data)
  24.   vector_MVU <- c(vector_MVU, estimador_MVU)
  25.   vector_momU <- c(vector_momU, estimador_MomU)
  26.   vector_bU <- c(vector_bU, estimador_bU)
  27. }
  28.  
  29. #Calculamos una estimacion del sesgo para cada estimador
  30. #Estimador momentos:
  31. estimacion_sesgo = function(vector_estimador){
  32.   return (mean(vector_estimador) - b)
  33. }
  34. estimacion_sesgo_MVU = estimacion_sesgo(vector_MVU)
  35. estimacion_sesgo_momU = estimacion_sesgo(vector_momU)
  36. estimacion_sesgo_bU = estimacion_sesgo(vector_bU)
  37.  
  38. #VARIANZA(ESTIMADOR)
  39. varianza_estimador = function(vector_estimador){
  40.   return (var(vector_estimador))
  41. }
  42.  
  43. varianza_estimador_MVU = varianza_estimador(vector_MVU)
  44. varianza_estimador_momU = varianza_estimador(vector_momU)
  45. varianza_estimador_bU = varianza_estimador(vector_bU)
  46.  
  47. #Estimamos el ECM
  48. estimacion_ECM = function(vector_estimador){
  49.   return((estimacion_sesgo(vector_estimador)^2) + varianza_estimador(vector_estimador))
  50. }
  51.  
  52. estimacion_ECM(vector_MVU)
  53. estimacion_ECM(vector_momU)
  54. estimacion_ECM(vector_bU)
  55.  
  56. #EJERCICIO 5
  57.  
  58. b = 5
  59. n = 15
  60.  
  61. #Obtener estimacion del sego de cada estimador para un b y n dados.
  62. aproximar_sesgo = function(b, n){
  63.   vector_MVU = c()
  64.   vector_momU = c()
  65.   vector_bU = c()
  66.   for(i in 1:1000){
  67.     data = runif(n, 0, b)
  68.     estimador_MVU = estimador_maxima_verosimilitud_U(data)
  69.     estimador_MomU = estimador_momentos_U(data)
  70.     estimador_bU = estimador_b_U(data)
  71.     vector_MVU <- c(vector_MVU, estimador_MVU)
  72.     vector_momU <- c(vector_momU, estimador_MomU)
  73.     vector_bU <- c(vector_bU, estimador_bU)
  74.   }
  75.  
  76.   estimacion_sesgo_MVU = estimacion_sesgo(vector_MVU)
  77.   estimacion_sesgo_momU = estimacion_sesgo(vector_momU)
  78.   estimacion_sesgo_bU = estimacion_sesgo(vector_bU)
  79.   return(c(estimacion_sesgo_MVU, estimacion_sesgo_momU, estimacion_sesgo_bU))
  80. }
  81.  
  82. #Obtener estimacion de la varianza de cada estimador para un b y n dados
  83. aproximar_varianza = function(b, n){
  84.   vector_MVU = c()
  85.   vector_momU = c()
  86.   vector_bU = c()
  87.   for(i in 1:1000){
  88.     data = runif(n, 0, b)
  89.     estimador_MVU = estimador_maxima_verosimilitud_U(data)
  90.     estimador_MomU = estimador_momentos_U(data)
  91.     estimador_bU = estimador_b_U(data)
  92.     vector_MVU <- c(vector_MVU, estimador_MVU)
  93.     vector_momU <- c(vector_momU, estimador_MomU)
  94.     vector_bU <- c(vector_bU, estimador_bU)
  95.   }
  96.  
  97.  
  98.   estimacion_varianza_MVU = varianza_estimador(vector_MVU)
  99.   estimacion_varianza_momU = varianza_estimador(vector_momU)
  100.   estimacion_varianza_bU = varianza_estimador(vector_bU)
  101.   return(c(estimacion_varianza_MVU, estimacion_varianza_momU, estimacion_varianza_bU))
  102. }
  103.  
  104. nuevot = aproximar_varianza(b,n)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement