Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 3.48 KB | None | 0 0
  1. b = 1 #parametro de la uniforme X es U[0,b]
  2. n = 15 #cantidad variables / samples.
  3.  
  4. #Estimador de Máxima Verosimilitud para la Uniforme
  5. EMV_U = function(data){
  6.   return(max(data))
  7. }
  8.  
  9. #Estimador de Momentos para la Uniforme
  10. EM_U = function(data){
  11.   return(2 * mean(data))
  12. }
  13.  
  14. #Estimador de la mediana para la Uniforme
  15. Emed_U = function(data){
  16.   return(2 * median(data))
  17. }
  18.  
  19. #EJERCICIO 4
  20.  
  21. #Inicializo 3 vectores para almacenar los datos de los 3 estimadores
  22. vector_MVU = c()
  23. vector_momU = c()
  24. vector_medU = c()
  25.  
  26. #Repito 1000 veces el muestreo de los 3 estimadores, almacenandolos en los vectores correspondientes.
  27. for(i in 1:1000){
  28.   data = runif(n, 0, b)
  29.   estimador_MVU = EMV_U(data)
  30.   estimador_MomU = EM_U(data)
  31.   EmedU = Emed_U(data)
  32.   vector_MVU <- c(vector_MVU, estimador_MVU)
  33.   vector_momU <- c(vector_momU, estimador_MomU)
  34.   vector_medU <- c(vector_medU, EmedU)
  35. }
  36.  
  37. #Dadas 1000 muestras de un estimador, genera una estimación de su sesgo.
  38. estimador_sesgo = function(vector_estimador){
  39.   return (mean(vector_estimador) - b)
  40. }
  41.  
  42. estimacion_sesgo_MVU = estimador_sesgo(vector_MVU)
  43. estimacion_sesgo_momU = estimador_sesgo(vector_momU)
  44. estimacion_sesgo_medU = estimador_sesgo(vector_medU)
  45.  
  46. #Dadas 1000 muestras de un estimador, genera una estimación de su varianza.
  47. estimador_varianza = function(vector_estimador){
  48.   return (var(vector_estimador))
  49. }
  50.  
  51. estimacion_varianza_MVU = estimador_varianza(vector_MVU)
  52. estimacion_varianza_momU = estimador_varianza(vector_momU)
  53. estimacion_varianza_medU = estimador_varianza(vector_medU)
  54.  
  55. #Dadas 1000 muestras de un estimador, genera una estimación de su ECM(Error Cuadrático Medio).
  56. estimador_ECM = function(vector_estimador){
  57.   return((estimador_sesgo(vector_estimador)^2) + estimador_varianza(vector_estimador))
  58. }
  59.  
  60. estimacion_ECM_MVU = estimador_ECM(vector_MVU)
  61. estimacion_ECM_momU = estimador_ECM(vector_momU)
  62. estimacion_ECM_medU = estimador_ECM(vector_medU)
  63.  
  64. #EJERCICIO 5
  65. b = 5 #parametro de la uniforme X es U[0,b]
  66. n = 15 #Cantidad de variables Aleatorias U[0,b]
  67.  
  68. #Devuelve tupla de estimacion del sego de cada estimador para un b y n dados.
  69. aproximar_sesgo = function(b, n){
  70.   vector_MVU = c()
  71.   vector_momU = c()
  72.   vector_medU = c()
  73.   for(i in 1:1000){
  74.     data = runif(n, 0, b)
  75.     estimador_MVU = EMV_U(data)
  76.     estimador_MomU = EM_U(data)
  77.     EmedU = Emed_U(data)
  78.     vector_MVU <- c(vector_MVU, estimador_MVU)
  79.     vector_momU <- c(vector_momU, estimador_MomU)
  80.     vector_medU <- c(vector_medU, EmedU)
  81.   }
  82.  
  83.   estimacion_sesgo_MVU = estimador_sesgo(vector_MVU)
  84.   estimacion_sesgo_momU = estimador_sesgo(vector_momU)
  85.   estimacion_sesgo_medU = estimador_sesgo(vector_medU)
  86.   return(c(estimacion_sesgo_MVU, estimacion_sesgo_momU, estimacion_sesgo_medU))
  87. }
  88.  
  89.  
  90. #Devuelve tupla de estimacion de la varianza de cada estimador para un b y n dados
  91. aproximar_varianza = function(b, n){
  92.   vector_MVU = c()
  93.   vector_momU = c()
  94.   vector_medU = c()
  95.   for(i in 1:1000){
  96.     data = runif(n, 0, b)
  97.     estimador_MVU = EMV_U(data)
  98.     estimador_MomU = EM_U(data)
  99.     EmedU = Emed_U(data)
  100.     vector_MVU <- c(vector_MVU, estimador_MVU)
  101.     vector_momU <- c(vector_momU, estimador_MomU)
  102.     vector_medU <- c(vector_medU, EmedU)
  103.   }
  104.  
  105.  
  106.   estimacion_varianza_MVU = estimador_varianza(vector_MVU)
  107.   estimacion_varianza_momU = estimador_varianza(vector_momU)
  108.   estimacion_varianza_medU = estimador_varianza(vector_medU)
  109.   return(c(estimacion_varianza_MVU, estimacion_varianza_momU, estimacion_varianza_medU))
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement