Bootstrap: Uma Técnica de Minimização de Viés de um Estimador
Upcoming SlideShare
Loading in...5
×
 

Bootstrap: Uma Técnica de Minimização de Viés de um Estimador

on

  • 309 views

In statistics, bootstrapping is a method for assigning measures of accuracy to sample estimates. This technique allows estimation of the sampling distribution of almost any statistic using only very ...

In statistics, bootstrapping is a method for assigning measures of accuracy to sample estimates. This technique allows estimation of the sampling distribution of almost any statistic using only very simple methods. Generally, it falls in the broader class of resampling methods.

Statistics

Views

Total Views
309
Views on SlideShare
309
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Bootstrap: Uma Técnica de Minimização de Viés de um Estimador Bootstrap: Uma Técnica de Minimização de Viés de um Estimador Presentation Transcript

  • Bootstrap: Uma T´cnica de Minimiza¸˜o de Vi´s de um Estimador e ca e Ana Carla de Carvalho Correia Maria Helynne Lima Silva Michel Alves dos Santos Universidade Federal de Alagoas Instituto de Computa¸˜o ca Macei´ – AL, 31 de Maio de 2011 o
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bradley Efron Nasceu em 24 de maio de 1938 Participou do California Institute of Technology, graduando-se em Matem´tica em 1960 a Doutorado em Universidade de Stanford Suspenso por um ano por seu envolvimento com o Chaparral Stanford Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 2 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bradley Efron Nasceu em 24 de maio de 1938 Participou do California Institute of Technology, graduando-se em Matem´tica em 1960 a Doutorado em Universidade de Stanford Suspenso por um ano por seu envolvimento com o Chaparral Stanford Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 2 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bradley Efron Nasceu em 24 de maio de 1938 Participou do California Institute of Technology, graduando-se em Matem´tica em 1960 a Doutorado em Universidade de Stanford Suspenso por um ano por seu envolvimento com o Chaparral Stanford Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 2 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bradley Efron Nasceu em 24 de maio de 1938 Participou do California Institute of Technology, graduando-se em Matem´tica em 1960 a Doutorado em Universidade de Stanford Suspenso por um ano por seu envolvimento com o Chaparral Stanford Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 2 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap M´todo gen´rico para estimar variabilidade em estat´ e e ıstica Originalmente proposto por Efron em (1979) Publicado no Annals of Statistics “A d´cada do Bootstrap” e Dependˆncia do uso de computadores e Populariza¸˜o com os progressos da inform´tica nas ultimas d´cadas ca a ´ e do s´culo XX e [3] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 3 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap M´todo gen´rico para estimar variabilidade em estat´ e e ıstica Originalmente proposto por Efron em (1979) Publicado no Annals of Statistics “A d´cada do Bootstrap” e Dependˆncia do uso de computadores e Populariza¸˜o com os progressos da inform´tica nas ultimas d´cadas ca a ´ e do s´culo XX e [3] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 3 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap M´todo gen´rico para estimar variabilidade em estat´ e e ıstica Originalmente proposto por Efron em (1979) Publicado no Annals of Statistics “A d´cada do Bootstrap” e Dependˆncia do uso de computadores e Populariza¸˜o com os progressos da inform´tica nas ultimas d´cadas ca a ´ e do s´culo XX e [3] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 3 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap M´todo gen´rico para estimar variabilidade em estat´ e e ıstica Originalmente proposto por Efron em (1979) Publicado no Annals of Statistics “A d´cada do Bootstrap” e Dependˆncia do uso de computadores e Populariza¸˜o com os progressos da inform´tica nas ultimas d´cadas ca a ´ e do s´culo XX e [3] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 3 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap M´todo gen´rico para estimar variabilidade em estat´ e e ıstica Originalmente proposto por Efron em (1979) Publicado no Annals of Statistics “A d´cada do Bootstrap” e Dependˆncia do uso de computadores e Populariza¸˜o com os progressos da inform´tica nas ultimas d´cadas ca a ´ e do s´culo XX e [3] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 3 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap M´todo gen´rico para estimar variabilidade em estat´ e e ıstica Originalmente proposto por Efron em (1979) Publicado no Annals of Statistics “A d´cada do Bootstrap” e Dependˆncia do uso de computadores e Populariza¸˜o com os progressos da inform´tica nas ultimas d´cadas ca a ´ e do s´culo XX e [3] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 3 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap Algumas utiliza¸˜es: co Estimar o vi´s e a variˆncia de estimadores ou testes de hip´teses e a o calibrados Baseia-se na constru¸˜o de distribui¸˜es por reamostragem, com ca co reposi¸˜o da amostra original ca Tem por base que o pesquisador pode tratar sua amostra como se fosse a popula¸˜o que deu origem aos dados ca Possibilita estimar caracter´ ısticas da popula¸˜o como m´dia, ca e variˆncia, percentis, etc. a [4] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 4 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap Algumas utiliza¸˜es: co Estimar o vi´s e a variˆncia de estimadores ou testes de hip´teses e a o calibrados Baseia-se na constru¸˜o de distribui¸˜es por reamostragem, com ca co reposi¸˜o da amostra original ca Tem por base que o pesquisador pode tratar sua amostra como se fosse a popula¸˜o que deu origem aos dados ca Possibilita estimar caracter´ ısticas da popula¸˜o como m´dia, ca e variˆncia, percentis, etc. a [4] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 4 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap Algumas utiliza¸˜es: co Estimar o vi´s e a variˆncia de estimadores ou testes de hip´teses e a o calibrados Baseia-se na constru¸˜o de distribui¸˜es por reamostragem, com ca co reposi¸˜o da amostra original ca Tem por base que o pesquisador pode tratar sua amostra como se fosse a popula¸˜o que deu origem aos dados ca Possibilita estimar caracter´ ısticas da popula¸˜o como m´dia, ca e variˆncia, percentis, etc. a [4] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 4 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap Algumas utiliza¸˜es: co Estimar o vi´s e a variˆncia de estimadores ou testes de hip´teses e a o calibrados Baseia-se na constru¸˜o de distribui¸˜es por reamostragem, com ca co reposi¸˜o da amostra original ca Tem por base que o pesquisador pode tratar sua amostra como se fosse a popula¸˜o que deu origem aos dados ca Possibilita estimar caracter´ ısticas da popula¸˜o como m´dia, ca e variˆncia, percentis, etc. a [4] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 4 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap Algumas utiliza¸˜es: co Estimar o vi´s e a variˆncia de estimadores ou testes de hip´teses e a o calibrados Baseia-se na constru¸˜o de distribui¸˜es por reamostragem, com ca co reposi¸˜o da amostra original ca Tem por base que o pesquisador pode tratar sua amostra como se fosse a popula¸˜o que deu origem aos dados ca Possibilita estimar caracter´ ısticas da popula¸˜o como m´dia, ca e variˆncia, percentis, etc. a [4] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 4 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Bootstrap M´todo n˜o-param´trico: e a e Cada amostra de tamanho n ´ obtida amostrando, com reposi¸˜o, os e ca dados originais, onde a estima¸˜o dos parˆmetros ´ realizada para cada ca a e amostra, sendo este processo repetido B vezes Na simula¸˜o param´trica: ca e Os dados s˜o gerados da distribui¸˜o de probabilidade dos dados a ca Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 5 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Estimadores utilizados Reduzindo o vi´s de trˆs estimadores: e e 1 2 3 M´todo por analogia θ1 , baseado no primeiro momento amostral e M´todo por analogia θ2 , baseado no segundo momento amostral e Estimador de M´xima Verossimilhan¸a θmv a c θ1 = Pn 2 i=1 x n q P i n 3 θ2 = n i=1 xi2 θmv = max(x1 , x2 , ..., xn ) Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 6 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Estimadores utilizados Reduzindo o vi´s de trˆs estimadores: e e 1 2 3 M´todo por analogia θ1 , baseado no primeiro momento amostral e M´todo por analogia θ2 , baseado no segundo momento amostral e Estimador de M´xima Verossimilhan¸a θmv a c θ1 = Pn 2 i=1 x n q P i n 3 θ2 = n i=1 xi2 θmv = max(x1 , x2 , ..., xn ) Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 6 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Estimadores utilizados Reduzindo o vi´s de trˆs estimadores: e e 1 2 3 M´todo por analogia θ1 , baseado no primeiro momento amostral e M´todo por analogia θ2 , baseado no segundo momento amostral e Estimador de M´xima Verossimilhan¸a θmv a c θ1 = Pn 2 i=1 x n q P i n 3 θ2 = n i=1 xi2 θmv = max(x1 , x2 , ..., xn ) Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 6 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Estimadores utilizados Reduzindo o vi´s de trˆs estimadores: e e 1 2 3 M´todo por analogia θ1 , baseado no primeiro momento amostral e M´todo por analogia θ2 , baseado no segundo momento amostral e Estimador de M´xima Verossimilhan¸a θmv a c θ1 = Pn 2 i=1 x n q P i n 3 θ2 = n i=1 xi2 θmv = max(x1 , x2 , ..., xn ) Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 6 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Redu¸˜o do custo computacional ca Substituindo o comando for pela fun¸˜o lapply ca b o o t s t r a p < f u n c t i o n (X , B , f u n c ) { − t < f u n c (X) − t b s < 2∗ t − mean ( u n l i s t ( l a p p l y ( 1 : B , f u n c t i o n ( i ) i< f u n c ( s a m p l e (X , r e p l a c e=TRUE) − − )))) r e t u r n ( t bs ) } montecarlo < f u n c t i o n ( n ){ − e1 < e2 < emv < e1B < e2B < emvB < v e c t o r ( mode=” n u m e r i c ” , l e n g t h =1e2 ) − − − − − − l a p p l y ( 1 : 1 e2 , f u n c t i o n ( r ) { X < u n i f ( 1 0 ) −r e1 [ r ] < − U t 1 (X) < e2 [ r ] < − U t 2 (X) < emv [ r ] < − U tmv (X) < e1B [ r ] < − b o o t s t r a p (X , n , U t 1 ) < e2B [ r ] < − b o o t s t r a p (X , n , U t 2 ) < emvB [ r ] < − b o o t s t r a p (X , n , U tmv ) < }) } [2] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 7 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Estimador: θ1 , N ∈ [3,1000] com intercala¸˜es de 5 , B = 200 co Estimador: θ1 , B ∈ [3,1000] com intercala¸˜es de 5 , N = 10 co [1] Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 8 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Estimador: θ2 , N ∈ [3,1000] com intercala¸˜es de 5 , B = 200 co Estimador: θ2 , B ∈ [3,1000] com intercala¸˜es de 5 , N = 10 co Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 9 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Estimador: θmv , N ∈ [3,1000] com intercala¸˜es de 5 , B = 200 co Estimador: θmv , B ∈ [3,1000] com intercala¸˜es de 5 , N = 10 co Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 10 / 11
  • Bradley Efron Hist´ria do Bootstrap o Implementa¸˜o da T´cnica ca e Gr´ficos a Referˆncias e The lapply function. Package ‘lattice’. Paulo Henrique Ferreira da Silva and Francisco Louzada Neto. Medidas do valor preditivo de modelos de classifica¸˜o aplicados a ca dados de cr´dito. e Edson Zangiacomi Martinez and Francisco Louzada-Neto. Estima¸˜o intervalar via bootstrap. ca BRAZILIAN JOURNAL OF MATHEMATICS AND STATISTICS, 19:217–251, 2001. Ana, Helynne e Michel (UFAL) Bootstrap Estat´ ıstica Computacional 11 / 11
  • File: /media/SAMSUNG/10-CoursesAndD…011]/00.bootstrap.evaluation.r #-----------------------------------------------------------------------------# About : Exemplo de comparação entre algoritmos quadráticos e loglineares # Author : Michel A. dos Santos, Maria Helynne e Ana Carla # Date : 30/05/2011 - Maio - 2011 #-----------------------------------------------------------------------------#-----------------------------------------------------------------------------# Carregamento das bibliotecas necessárias para processamento do script #-----------------------------------------------------------------------------# Definindo o nome das bibliotecas que devem ser carregadas pkg = c('lattice') # Carregando bibliotecas print('Carregando bibliotecas necessárias para execução do script...') for (idx_pkg in 1:length(pkg)) { myimg.msgerr <- paste('A seguinte biblioteca não pôde ser carregada: ', pkg[idx_pkg]) if (!require(pkg[idx_pkg], character.only = TRUE)) stop(myimg.msgerr) } #-----------------------------------------------------------------------------# Configurações iniciais do script e inicialização de variáveis: #-----------------------------------------------------------------------------#-----------------------------------------------------------------------------# Variável de configuração que verifica se os gráficos devem ser salvos #-----------------------------------------------------------------------------my.save.result <- TRUE #-----------------------------------------------------------------------------# Variável de configuração que verifica se o dataframe deve ser salvo #-----------------------------------------------------------------------------my.data.frame.save.result <- TRUE #-----------------------------------------------------------------------------# Variável de configuração que verifica se os resultados devem ser vistos # através de uma grade. #-----------------------------------------------------------------------------my.view.grid.results <- FALSE #-----------------------------------------------------------------------------# Variáveis de controle do problema (variáveis globais) #------------------------------------------------------------------------------ Page 1 of 10
  • File: /media/SAMSUNG/10-CoursesAndD…011]/00.bootstrap.evaluation.r valor1 valor2 valormv <- 0 <- 0 <- 0 # Método por analogia | Primeiro momento amostral # Método por analogia | Segundo momento amostral # Máxima verossimilhança #-----------------------------------------------------------------------------# Definição das funções e estruturas implementadas para o problema. #-----------------------------------------------------------------------------# Estimador - Teta 1 - Primeiro momento amostral MyU_T1 <- function(X) { return ( 2*mean(X) ) } # Estimador - Teta 2 - Segundo momento amostral MyU_T2 <- function(X) { return (sqrt(3*mean(X^2))) } # Estimador - Máxima Verossimilhança MyU_TMV <- function(X) { return ( max(X) ) } # Definição da função que calcula o erro quadrático médio (MSE) MyMeanSquaredError <- function(X) { return( (mean(X)-1)^2 + var(X) ) } # Bootstrap sem o uso de looping de maneira explícita NotExplicitlyIterativeBootstrap <- function(X, B, func) { t <- func(X) t_bs <- 2*t - mean(unlist(lapply(1:B, function(i) i<- func(sample(X,replace=TRUE))))) return (t_bs) } # Montecarlo sem o uso explicito de looping NotExplicitlyIterativeMontecarlo <- function(number.of.observations = 10, number.of.bootstrap.iterations = 200, length.of.my.vector = 100) { n <- number.of.observations # Número de observações em runif MyNobi <- number.of.bootstrap.iterations # Número de iterações no bootstrap MyLen <- length.of.my.vector # Tamanho do vetor de estimadores # Criando vetores numéricos e1 <- e2 <- emv <- e1B <- e2B <- emvB <- vector(mode="numeric",length=MyLen) lapply(1:MyLen, function(r){ X <-runif(n) e1[r] <<- MyU_T1(X) Page 2 of 10
  • File: /media/SAMSUNG/10-CoursesAndD…011]/00.bootstrap.evaluation.r e2[r] emv[r] e1B[r] e2B[r] emvB[r] }) <<<<<<<<<<- MyU_T2(X) MyU_TMV(X) NotExplicitlyIterativeBootstrap(X, MyNobi, MyU_T1) NotExplicitlyIterativeBootstrap(X, MyNobi, MyU_T2) NotExplicitlyIterativeBootstrap(X, MyNobi, MyU_TMV) valor1 <<- ( 1 - (MyMeanSquaredError(e1B) / MyMeanSquaredError(e1)) )*100 valor2 <<- ( 1 - (MyMeanSquaredError(e2B) / MyMeanSquaredError(e2)) )*100 valormv <<- ( 1 - (MyMeanSquaredError(emvB) / MyMeanSquaredError(emv)))*100 } # Bootstrap com uso de looping de maneira explícita ExplicitlyIterativeBootstrap <- function(X, B, func) { t <- func(X) vecB <- vector(mode="numeric",length=B) for (b in 1:B) vecB[b] <- func(sample(X,replace=TRUE)) t_bs <- 2*t - mean(vecB) return (t_bs) } # Montecarlo com uso explicito de looping ExplicitlyIterativeMontecarlo <- function(number.of.observations = 10, number.of.bootstrap.iterations = 200, length.of.my.vector = 100) { n <- number.of.observations # Número de observações em runif MyNobi <- number.of.bootstrap.iterations # Número de iterações no bootstrap MyLen <- length.of.my.vector # Tamanho do vetor de estimadores e1 <- e2 <- emv <- e1B <- e2B <- emvB <- vector(mode="numeric",length=MyLen) for (r in 1:MyLen) { X <- runif(n) e1[r] <- MyU_T1(X) e2[r] <- MyU_T2(X) emv[r] <- MyU_TMV(X) Page 3 of 10
  • File: /media/SAMSUNG/10-CoursesAndD…011]/00.bootstrap.evaluation.r Page 4 of 10 e1B[r] <- ExplicitlyIterativeBootstrap(X, MyNobi, MyU_T1) e2B[r] <- ExplicitlyIterativeBootstrap(X, MyNobi, MyU_T2) emvB[r] <- ExplicitlyIterativeBootstrap(X, MyNobi, MyU_TMV) } MyMeanSquaredError(e1) MyMeanSquaredError(e2) MyMeanSquaredError(emv) MyMeanSquaredError(e1B) MyMeanSquaredError(e2B) MyMeanSquaredError(emvB) } #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # MAIN - Começo da execução do código. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Capturando o tempo de inicio da atividade. MyStartTime = Sys.time() # Executando método montecarlo para um determinado número N print("Executando Montecarlo explicitamente iterativo...") my.number.of.observations <- 100 my.number.of.bootstrap.iterations <- 200 my.length.of.my.vector <- 100 ExplicitlyIterativeMontecarlo(my.number.of.observations, my.number.of.bootstrap.iterations, my.length.of.my.vector) # Capturando o tempo de término das atividade. MyEndTime = Sys.time() # Visualizando o tempo para processamento do método MyMatrixTime <- matrix(c("MyStartTime",MyStartTime, "MyEndTime", MyEndTime, "Total Time:", MyEndTime - MyStartTime), ncol=2, byrow=TRUE) print(MyMatrixTime) if (my.view.grid.results) View( MyMatrixTime, title="Processing Time for Explicit Iterative Montecarlo" ) # Capturando o tempo de inicio da atividade. MyStartTime = Sys.time() # Executando método montecarlo para um determinado número N print("Executando Montecarlo não explicitamente iterativo...")
  • File: /media/SAMSUNG/10-CoursesAndD…011]/00.bootstrap.evaluation.r Page 5 of 10 my.number.of.observations <- 100 my.number.of.bootstrap.iterations <- 200 my.length.of.my.vector <- 100 NotExplicitlyIterativeMontecarlo(my.number.of.observations, my.number.of.bootstrap.iterations, my.length.of.my.vecto r) # Capturando o tempo de término das atividade. MyEndTime = Sys.time() # Visualizando o tempo para processamento do método MyMatrixTime <- matrix(c("MyStartTime",MyStartTime, "MyEndTime", MyEndTime, "Total Time:", MyEndTime - MyStartTime), ncol=2, byrow=TRUE) print(MyMatrixTime) if (my.view.grid.results) View( MyMatrixTime, title="Processing Time for Not Explicit Iterative Montecarlo" ) #-----------------------------------------------------------------------------# Produção de amostras obtidas através do método bootstrap. A partir daqui # iremos armazenar o data.frame referente as amostras obtidas através do método # bootstrap e os gráficos gerados a partir do montante de dados final. #-----------------------------------------------------------------------------# Estipulando vetor de comparações utilizado no bootstrap my.start.of.sequence <- 3 # Valor inicial do número de iterações my.end.of.sequence <- 100 # Parâmetro final de iterações B do bootstrap my.jump.of.sequence <- 5 # Valor do salto dado dentro da seqüência MyB = c(seq(my.start.of.sequence, my.end.of.sequence, my.jump.of.sequence)) # Exibindo informações relativas ao parâmetro B print("") print("Exibindo informações relativas ao parâmetro B") print(paste("Início do intervalo de avaliação:", my.start.of.sequence)) print(paste("Fim do intervalo de avaliação:", my.end.of.sequence)) print(paste("Incremento do intervalo de avaliação:", my.jump.of.sequence)) print("") # Exeutando o método montecarlo pela primeira vez print("Obtendo os B valores necessários para efetivação do método...") print(paste("Avaliação com B igual a:", my.start.of.sequence)) NotExplicitlyIterativeMontecarlo(my.number.of.observations, my.start.of.sequence, my.length.of.my.vector) # Amostras para os dados processados transformadas em vetores pE1 = c(valor1)
  • File: /media/SAMSUNG/10-CoursesAndD…011]/00.bootstrap.evaluation.r Page 6 of 10 pE2 = c(valor2) pE3 = c(valormv) # Executando Montecarlo tomando por base os valores de uma sequência. for (i in seq(my.start.of.sequence + my.jump.of.sequence, my.end.of.sequence, my.jump.of.sequence)) { print(paste("Avaliação com B igual a:", i)) NotExplicitlyIterativeMontecarlo(my.number.of.observations, i, my.length.of.my.vector) pE1 = c(pE1, valor1) pE2 = c(pE2, valor2) pE3 = c(pE3, valormv) } # Criando um dataframe com os dados adquiridos my.data.frame <- data.frame(MyB, pE1, pE2, pE3) # Exibindo valores do dataframe print(my.data.frame) if (my.view.grid.results) View(my.data.frame, title="Valores Adquiridos - Usando Montecarlo") #-----------------------------------------------------------------------------# Inicio da plotagem #-----------------------------------------------------------------------------#-----------------------------------------------------------------------------# Iniciando dispositivo de saída caso os resultados devam ser salvos em disco #-----------------------------------------------------------------------------if (my.save.result) { save.name <- paste('saved.result.01[',my.end.of.sequence,'].pdf', sep='') pdf(file = save.name, onefile = TRUE) } # PLOT CONFIG my.col <- 'black' my.type <- c("p","r") my.pch <- 20 my.scales <- list(x = list( relation = "free", limits = c(1, my.end.of.sequence*1.5)), y = list( relation = "free", limits = c(-50, 50))) my.xlab <- "B" my.ylab <- expression(paste('Estimativa bootstrap do erro quadrático médio para o estimador ', theta[1]))
  • File: /media/SAMSUNG/10-CoursesAndD…011]/00.bootstrap.evaluation.r Page 7 of 10 # PLOT myplot01 <- xyplot(pE1~MyB, col = my.col, type = my.type, data = my.data.frame, scales = my.scales, xlab = my.xlab, ylab = my.ylab, pch=my.pch) if (!my.save.result) x11() print(myplot01) #-----------------------------------------------------------------------------# Encerrando dispositivo de saída caso os resultados devam ser salvos em disco #-----------------------------------------------------------------------------if (my.save.result) { dev.off() } #-----------------------------------------------------------------------------# Iniciando dispositivo de saída caso os resultados devam ser salvos em disco #-----------------------------------------------------------------------------if (my.save.result) { save.name <- paste('saved.result.02[',my.end.of.sequence,'].pdf', sep='') pdf(file = save.name, onefile = TRUE) } # PLOT CONFIG my.col <- 'red' my.type <- c("p","r") my.pch <- 20 my.scales <- list(x = list( relation = "free", limits = c(1, my.end.of.sequence*1.5)), y = list( relation = "free", limits = c(-50, 50))) my.xlab <- "B" my.ylab <- expression(paste('Estimativa bootstrap do erro quadrático médio para o estimador ', theta[2])) # PLOT myplot02 <- xyplot(pE2~MyB, col = my.col, type = my.type, data = my.data.frame, scales = my.scales, xlab = my.xlab, ylab = my.ylab, pch=my.pch) if (!my.save.result) x11() print(myplot02) #-----------------------------------------------------------------------------# Encerrando dispositivo de saída caso os resultados devam ser salvos em disco #-----------------------------------------------------------------------------if (my.save.result) { dev.off() }
  • File: /media/SAMSUNG/10-CoursesAndD…011]/00.bootstrap.evaluation.r Page 8 of 10 #-----------------------------------------------------------------------------# Iniciando dispositivo de saída caso os resultados devam ser salvos em disco #-----------------------------------------------------------------------------if (my.save.result) { save.name <- paste('saved.result.03[',my.end.of.sequence,'].pdf', sep='') pdf(file = save.name, onefile = TRUE) } # PLOT CONFIG my.col <- 'green' my.type <- c("p","r") my.pch <- 20 my.scales <- list(x = list( relation = "free", limits = c(1, my.end.of.sequence*1.5)), y = list( relation = "free", limits = c(-50, 50))) my.xlab <- "B" my.ylab <- expression(paste('Estimativa bootstrap do erro quadrático médio para o estimador ', theta[mv])) # PLOT myplot03 <- xyplot(pE3~MyB, col = my.col, type = my.type, data = my.data.frame, scales = my.scales, xlab = my.xlab, ylab = my.ylab, pch=my.pch) if (!my.save.result) x11() print(myplot03) #-----------------------------------------------------------------------------# Encerrando dispositivo de saída caso os resultados devam ser salvos em disco #-----------------------------------------------------------------------------if (my.save.result) { dev.off() } #-----------------------------------------------------------------------------# Abrindo uma nova janela no X para que não ocorra sobreposição das demais #-----------------------------------------------------------------------------if (!my.save.result) x11(title="Confrontando as Estimativas Obtidas") #-----------------------------------------------------------------------------# Iniciando dispositivo de saída caso os resultados devam ser salvos em disco #-----------------------------------------------------------------------------if (my.save.result) { save.name <- paste('saved.result.04[',my.end.of.sequence,'].pdf', sep='') pdf(file = save.name, onefile = TRUE)
  • File: /media/SAMSUNG/10-CoursesAndD…011]/00.bootstrap.evaluation.r Page 9 of 10 } # PLOT CONFIG my.col <- 'black' my.ylab <- expression(paste('Estimativa para ', theta[1])) # PLOT myplot01 <- xyplot(pE1~MyB, col = my.col, type = my.type, data = my.data.frame, scales = my.scales, xlab = my.xlab, ylab = my.ylab, pch=my.pch) # PLOT CONFIG my.col <- 'red' my.ylab <- expression(paste('Estimativa para ', theta[2])) # PLOT myplot02 <- xyplot(pE2~MyB, col = my.col, type = my.type, data = my.data.frame, scales = my.scales, xlab = my.xlab, ylab = my.ylab, pch=my.pch) # PLOT CONFIG my.col <- 'green' my.ylab <- expression(paste('Estimativa para ', theta[mv])) # PLOT myplot03 <- xyplot(pE3~MyB, col = my.col, type = my.type, data = my.data.frame, scales = my.scales, xlab = my.xlab, ylab = my.ylab, pch=my.pch) #PLOT print(myplot01, position=c(0.1,0.1,1,1),split=c(1,1,2,2),more=T) print(myplot02, position=c(0.1,0.1,1,1),split=c(1,2,2,2),more=T) print(myplot03, position=c(0.1,0.1,1,1),split=c(2,1,2,2),more=F) #-----------------------------------------------------------------------------# Encerrando dispositivo de saída caso os resultados devam ser salvos em disco #-----------------------------------------------------------------------------if (my.save.result) { dev.off() } #-----------------------------------------------------------------------------# Escrevendo os dados obtidos em disco #-----------------------------------------------------------------------------if (my.data.frame.save.result) { my.file.name <- paste('Dados.Gerados.Em.',format(Sys.time(), "[Data.%F][Hora.%H.%M.%S]."),'[B.',my.start.of.sequen ce,'.',my.end.of.sequence,'.',my.jump.of.sequence,']','.txt', sep='') write.table(my.data.frame, file=my.file.name)
  • File: /media/SAMSUNG/10-CoursesAndD…011]/00.bootstrap.evaluation.r } #-----------------------------------------------------------------------------# Exibindo mensagem de finalização do script #-----------------------------------------------------------------------------print('Fim do script ............ [OK]') Page 10 of 10
  • q 0 500 1000 1500 40 q q q qq qq q qq qq q q q qqqq qq q q q q qq q q q qqq qq q q qqq q q qq qq q q q q q qq q qqq qq q qq qqqqq q qqqqq q qqq qq qq qqqqq q qqqqqqqqq qqq qqq qq qq q q q q qq q q qqqq qq qq qqqqqq q qqq qqqqqq qqq qqqq q qqqqqqqqq qqqqqq qqqqq qqqqq qqqq qqqqq q q q q qq qq q q qq q q qq q q q q 0 500 1000 B 0 500 1000 40 20 B 20 0 −40 −20 Estimativa para θ2 B 0 Estimativa para θmv q q q −40 −20 40 20 0 q −40 −20 Estimativa para θ1 q q qqq q qq q qq qq qqq q q qq q q q qq q q qqq q q q q qq qqqqqq q qqq qq qqqqqq q q q qq q q q qq qq q q qq q q qq qq qqq qqqqq qqqqqq qqqqqq qqq q q q qqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqq q q qqqqqqq qqqqqqqqqqqqqqq qqqqqqqqqq q q q q q q q qqqq q q q q qq q q q qq q q qq q q q q q q qq q q q q q q q q q qq q q q q q q q qq q q q qq q qqq q q q q q qq q qq qq qq q q q q q q q qqq q qq qqqq q q q q qqqq q q q q q q qq q q q q q qqq q q qq qq q q qq q qq qq qqq qqq q qq q qq q q qq qq q qq q q q qqq q q qqqqq qqqq q q qq q qqq q q q qq q q q q qq q q q q q qq qqq qq q q q q qq qq q q q q q q q q q q q qq 1500 1500
  • 0 500 1000 1500 2000 40 20 0 q q qq qqq q qqqqqqqqqqqqqqqqqqq qqqqqqqq q q q q qq qqqqqqq qq qq qqq qqqqqqq q qq qq q qqqqq q qq qq q q qq q q q q qqq q qqqqqqqqqqqq qq qqqqqqqqqqqqqqqq q q q q q q q q q q q q q qq q q q q qq qq qqq qq q q q q qqqq q qq qqqqqqqqqqqqqqqqqqqq qqqqqqq q qq q q q q qqq q q qq q qqq q q q q q q qq qq q −40 −20 Estimativa para θ2 B q 0 500 1000 1500 2000 B 40 20 0 Estimativa para θmv q q −40 −20 40 20 0 Estimativa para θ1 −40 −20 q q q q qq q q q q q q q qq q qqqq qqq q q q q qq q qq qqq q q qq q q qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qq qq qq qqqqqqqqqq qqq qqqq q q qqq qqqqqq q q qq qq q qqqqq qq qqqqqq q qqqqq qqqq qq q q qqqqqqqq qqqqqq qqq qqq qq qq qqqqqq qq q q q qqqqqqqqq q q q qq q q q qq q q qq q q q q q qq q q q q q q q q q qq q qq q qq q qq q qq q q q q q qq qq qq q q q qq qq q q q q q q qq q q qq qqqqq qq q q q qq q q q q q qq qq q q qq q qq q q q q qq qqqq q q q q q qq q q q q qq qq qq q q q qqqqqq qqqq qqqq q q q qqq qq qqqqq q qqqq q q q qq q q q q q qq qqq qq qq q q q qq q qqq qqq q qqq q qqq qqq q q q q qqq qqqq qqq q q q q qq q q q q qq qq q q qq q qq q qq q q q q qqq qq qq q q q q qq q qq q q q q q q q q q q q qq q q qq qq q qq q q q q q q qq q q q q q q q q q 0 500 1000 1500 2000 B
  • q 0 1000 2000 3000 4000 5000 40 20 0 q −40 −20 Estimativa para θ2 B q qqq qq qq q qqq qqqq q q q q q q q q q q qq q qq qq q qq qqq qqq qqqqqqq q qqqqq qqqqqq q qqqqq qqq q qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqq qq q q q q qq q q qq q qq q qqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qq q q q q q qq q q q q q q q q q q qqqqqqqqq qqqq qqq qqqqq qqqq qqqqq qqq qqq q q qq q q qqqqq q q qq q q q 0 1000 2000 3000 4000 5000 B 40 20 0 Estimativa para θmv q −40 −20 40 20 0 Estimativa para θ1 −40 −20 q q q qq qq qqq q q q qq q qq q q qq q qqq qqqqq qqq qqqqqq qqqqqqq qq qq qqq qq qq qq qqq qqqqqqqqq qqqqq qq q q qq qq qqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq q q q q q q qq q q qqqqqqqqqq qqqqqqqqqq qqqq qqqqqqqqq qqqqq q qq q q qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq q q qq q q qqqqq q qq qq qq q qq q qqqq qqqqqqqqqqq qqq q qq q qq qq q q qqq q q qqqq qq q q q q q q q q q q q q q q q q qq q qq q qq q qq q q q q q q q q q q q qq q qq q qq q qqq qq qqqq qqqq q qqq q q qq qqqqqq qq q q q qq q q q q q q q q q q qqqqqq q q q q q qqqqq q qqq qq qq qqqq qq q q q qqqq q qq q q q q q q q q q qqqq q qqqq qqqqqqqq qq qq qq qqq q qq q qq q q q q qq qq q q qqqqqq q q q q q q qq q qqqq qq qq qq q q q qq q q q q q q qqq qqqqq qqqqq q qqqq qqqqqqq qqq q qqqq qqqq qq qq q qq q qqq q q q q q q qqq qqq qqqqqqqqqqq qqqqqqq q qqqq qqqqqq q qqqq qq qq q qq q q qqq q q q q q q q qqq qqqq q qqq q qq q q qqq q q q q q q q q q q q q qqqqq q q q q qq q q q qqqqq q qq qqqqq q qq q q qqqqq q qqq q q q qqqqqqqq qq q qqqqqqqqqq q q qqqqqqqqqqqq qq q q q q q qq q q q q q qq q q q q q q q qq qq q q q q qqqqq qqqqq qqqqqqqq q qqqq q q q q qq q qq q q qq q q q q q q qqq qq q q q q q q qq q q qq q q q q q q q q q q q qq q q q q q qq qq q qq q qq qq q qq q q q q q q q qq q q q qq q q qq qq qq qqq q q q q q q q q q 0 1000 2000 3000 4000 5000 B
  • 0 5000 10000 40 20 0 qq q q q q qq qqqqqq qqqqqq qqq qqqqqqqqqqqqqqqqqqqqq qqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqq q q qq q qq qq qq qq qq qq qq q qq q q q q qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qq q q q qqqqqqq qqqqq qqqq qqqqqqqqqqqqqqq qqqqq qq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq q qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq q qqqq q q q qq q qqq qq qq q q qq q qqq qq qqq qqq qq qqqqqqqqq qq q qq qq qqqq qq q q q q q q q qq qqq q q q q q 0 5000 10000 B 0 5000 10000 40 20 B q −40 −20 Estimativa para θ2 B 0 Estimativa para θmv q −40 −20 40 20 0 Estimativa para θ1 −40 −20 qqqq q qq q q q q q q q q qq qqqq qq q q q q qqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqq q q q qqqqqqqq qq q qq q qqqqqqqqqqqq qq q q qq q q qq qqq q q q q qq q q qq q qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqq q q q qq qqq qq qqq q qq q q q q qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq q q q qqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqq qqqqq q q qq q q q qq qq q qq q q q q q q qq q qq qq q q q q q q q q qq q q q q q qq q q q q q q qq q q q qq qq q q q q q q q qq qq qqqq qqq qqq qqq q q qq qq q q q q qq q qqq q q qq q qq qq qqq qq q q q q q q q q q qq q q q q q qqqqqqqqqq qqq qq qq qqqqqq qqqq qq qqqqqqqqq qq q q q q q qq q q q qqqqq qqq qqq qq qqqq qq q q q qqqq qq qqq q q qq q q qq q q q q q qqqq qqqqqqqqqqqqq qqqqqqqqqqqqqqqqq qqq qqq qq q q qq q q q q qqq q qq q q q q q qq q q q q q qqqqq qqqqqq qqqqqq qq qqqqq q qqqq qqqqqqq qqq qqq qqqq qqqqqqqq qqqqqqqqqqq qqq qqqqqqqqq q qq q q qq q qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqq qqqqqq qqq q qqqqq q qq qqq q qqqq qqqq q q q q q q qqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqq qqq qqqqqq qqqqqqqqq qqqqqqqqqqqqqq qqqqqqq q q q q q qqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqq q q q q qq qq q q qq qq q qq q q qq qqq q qq q qq q q qqq q qqqqqqqqqqqqqq qq qqqqqqq qqq qq q q q qq qq qqqq qq qq q qq q q q q qq q q qqq q qqqqqq q qqq qqqq q qqqqqqqqqq qqq qqqq q q q q q q q qq qq q q qqqq q qq q q q q q qqq q q qqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqq qqq qq qqqqqqqq qqqqqqq qqq qqqqq qqq qqqq q qq qq qq q q qqqqqqq qq qqqqqqq qqqqqqqqqqqqq q qqq qqqq q qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqq qq q q q q q qq q q q qq qq qqqq q q qqqqqqqq qqqq qqqqqqq qqqqqq qqqqqq q qqqqq q qq q q qq q q q qqqqqqqqqq qqqqqqqq qq q q q q q q q q qq q q qq qq q q q q q qqq q q q q qq q q q qqqq q qqq qq q q q qq q qq qqqq q q q q q q qqqq q q qqqqq q qqq q q q qqqqq qq q qq q q qqqq q q q q qq q q q q q qqqq q q qqqq q qqq qqq qqq qq q q qq qqqq q q q q qq q q qq q q q q q q qq qq q q q q qq q q q q q q