SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
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

Más contenido relacionado

Similar a Bootstrap Evaluation in R - Source Code

14 algoritmos de classificacao de tabelas
14   algoritmos de classificacao de tabelas14   algoritmos de classificacao de tabelas
14 algoritmos de classificacao de tabelasRicardo Bolanho
 
Uso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sqlUso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sqlLocaweb
 
Notas de aula 1 cinematica mecanismos
Notas de aula 1 cinematica mecanismosNotas de aula 1 cinematica mecanismos
Notas de aula 1 cinematica mecanismosVanessa Santos
 
Como medir a sua aplicação - Python Brasil 8
Como medir a sua aplicação - Python Brasil 8Como medir a sua aplicação - Python Brasil 8
Como medir a sua aplicação - Python Brasil 8Mauro Baraldi
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Cristiano Rafael Steffens
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em PythonLuciano Ramalho
 
Introdução à Linguagem de programação Python
Introdução à Linguagem de programação PythonIntrodução à Linguagem de programação Python
Introdução à Linguagem de programação Pythondmmartins
 
Minicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayMinicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayDilan Nery Lopes
 
Inteligencia artificial 10
Inteligencia artificial 10Inteligencia artificial 10
Inteligencia artificial 10Nauber Gois
 
O que mudou no Ruby 1.9
O que mudou no Ruby 1.9O que mudou no Ruby 1.9
O que mudou no Ruby 1.9Nando Vieira
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlabblogmaxima
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao OctavePeslPinguim
 
Curso matlab 6 especiais
Curso matlab 6 especiaisCurso matlab 6 especiais
Curso matlab 6 especiaisJosh Santos
 

Similar a Bootstrap Evaluation in R - Source Code (20)

MRO predict
MRO predictMRO predict
MRO predict
 
14 algoritmos de classificacao de tabelas
14   algoritmos de classificacao de tabelas14   algoritmos de classificacao de tabelas
14 algoritmos de classificacao de tabelas
 
Uso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sqlUso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sql
 
MRO simula
MRO simulaMRO simula
MRO simula
 
Apostila rpira
Apostila rpiraApostila rpira
Apostila rpira
 
Notas de aula 1 cinematica mecanismos
Notas de aula 1 cinematica mecanismosNotas de aula 1 cinematica mecanismos
Notas de aula 1 cinematica mecanismos
 
Pythonbrasil8
Pythonbrasil8Pythonbrasil8
Pythonbrasil8
 
Como medir a sua aplicação - Python Brasil 8
Como medir a sua aplicação - Python Brasil 8Como medir a sua aplicação - Python Brasil 8
Como medir a sua aplicação - Python Brasil 8
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
 
Introdução à Linguagem de programação Python
Introdução à Linguagem de programação PythonIntrodução à Linguagem de programação Python
Introdução à Linguagem de programação Python
 
Minicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayMinicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDay
 
Inteligencia artificial 10
Inteligencia artificial 10Inteligencia artificial 10
Inteligencia artificial 10
 
O que mudou no Ruby 1.9
O que mudou no Ruby 1.9O que mudou no Ruby 1.9
O que mudou no Ruby 1.9
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlab
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao Octave
 
Curso matlab 6 especiais
Curso matlab 6 especiaisCurso matlab 6 especiais
Curso matlab 6 especiais
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Map, filter e reduce
Map, filter e reduceMap, filter e reduce
Map, filter e reduce
 

Más de Michel Alves

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseMichel Alves
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesMichel Alves
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresMichel Alves
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesMichel Alves
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel FunctionsMichel Alves
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceMichel Alves
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - ResultsMichel Alves
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseMichel Alves
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexMichel Alves
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationMichel Alves
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsMichel Alves
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMichel Alves
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in RMichel Alves
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel PrototypeMichel Alves
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh PlotMichel Alves
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesMichel Alves
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogMichel Alves
 

Más de Michel Alves (20)

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU Use
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color Palettes
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color Measures
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment Indexes
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel Functions
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV Space
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - Results
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin Noise
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM Index
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and Reports
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJ
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in R
 
Sigmoid Curve Erf
Sigmoid Curve ErfSigmoid Curve Erf
Sigmoid Curve Erf
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel Prototype
 
Cosine Curve
Cosine CurveCosine Curve
Cosine Curve
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh Plot
 
Triangle Plot
Triangle PlotTriangle Plot
Triangle Plot
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video Slides
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function Catalog
 

Último

Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...DirceuNascimento5
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfKarinaSouzaCorreiaAl
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Cabiamar
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptxMarlene Cunhada
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.denisecompasso2
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeitotatianehilda
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptjricardo76
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxAntonioVieira539017
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRafaelaMartins72608
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 

Último (20)

Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDF
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 

Bootstrap Evaluation in R - Source Code

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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...")
  • 5. 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)
  • 6. 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]))
  • 7. 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() }
  • 8. 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)
  • 9. 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)
  • 10. 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