diff --git a/README.md b/README.md index b91c7c1e57f22b8496de968a7c6c2a2423b9f862..d6da165e1ac6897b7183ee5aade8401b1bfe21cf 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,10 @@ Prof. Dr. [Walmes Zeviani] (walmes [@] ufpr.br) ## Conteúdo programado +1. Geração de Números Aleatórios. +2. Métodos Computacionalmente Intensivos para Inferência Estatística. +3. Métodos de Otimização. + ## Referências bibliográficas [references.bib](references.bib) @@ -91,6 +95,41 @@ Prof. Dr. [Walmes Zeviani] (walmes [@] ufpr.br) ## Atividades e avaliações +### Atividade 1 - Geração de Números Aleatórios + +Implementar funções para geração de números aleatórios de 6 +distribuições de probabilidade. + +1. Distribuições: + * Triangular: <https://en.wikipedia.org/wiki/Triangular_distribution>. + * Kumaraswamy: <https://en.wikipedia.org/wiki/Kumaraswamy_distribution>. + * Lomax: <https://en.wikipedia.org/wiki/Lomax_distribution>. + * Dagum: <https://en.wikipedia.org/wiki/Dagum_distribution>. + * Geométrica: <https://en.wikipedia.org/wiki/Geometric_distribution>. + * Poisson: <https://en.wikipedia.org/wiki/Poisson_distribution>. +2. Métodos: + * Método da transformação integral da probabilidade. + * Método da aceitação e rejeição. + * Métodos baseados em relação entre variáveis aleatórias ou + propriedades especiais. +3. Detalhes: + 1. Implementar as funções para geração de números aleatórios. + 2. Acima da função, fazer a documentação usando o padrão roxygen2 + (veja exemplos em <https://gitlab.c3sl.ufpr.br/leg/MRDCr/blob/devel/R/gcnt.R>). + 3. Escrever um relatório onde cada distribuição de probabilidades é + uma sessão. + 4. Incluir um pequeno texto que descreva a distribuição (função de + densidade, função de distribuição acumulada, interpretação, + inversa da função se existir), exibir o código da implementação + da função, gerar números aleatórios e verificar a qualidade do + gerador com gráficos dos dados gerados contra as funções teóricas. + 5. Entregar o relatório impresso que não deve ultrapassar 10 folhas. + 6. Sugere-se usar `Rmarkdown` para escrever o documento exportando + para LaTeX. Veja o documento `template.Rmd` no diretório + *scripts*. + 7. Trabalho para ser feito em duplas com entrega para o dia 23/09 às + 22h00. + ## Notas <!------------------------------------------- --> diff --git a/scripts/template.Rmd b/scripts/template.Rmd new file mode 100644 index 0000000000000000000000000000000000000000..71fd412619978d847596532b76d0fd409a5aa03b --- /dev/null +++ b/scripts/template.Rmd @@ -0,0 +1,50 @@ +--- +title: "ce089 - Geração de Números Aleatórios" +author: > + Fulado (GRR 01234567) & Sicrano (GRR 76543210) +output: + pdf_document: + keep_tex: true + fig_caption: true + toc: true +geometry: margin=1in +fontfamily: mathpazo +fontsize: 11pt +lang: pt +--- + +# Triangular + +A distribuição triangular é ... + +$$ +f(x) = + \begin{cases} + \frac{2(x-a)}{(b-a)(m-a)} &, a < x < m \\ + \frac{2}{(b-a)} &, x = m \\ + \frac{2(b-x)}{(b-a)(b-m)} &, m < x < b. + \end{cases} +$$ + +Abaixo a implementação de números aleatórios pelo método XYZ. + +```{r} +#' @title Função para Gerar Números Aleatórios da Distrribuição +#' Triangular +#' +#' @description Função para geração de números aleatórios da +#' distribuição triagular pelo método XYZ. +#' +#' @param n Número de números aleatórios a serem gerados. +#' @param a Parâmetro que o limite inferior do suporte da distribuição. +#' @param b Parâmetro que o limite superior do suporte da distribuição. +#' @param m Parâmetro que que a moda da distribuição. +#' +#' @return Retorna um vetor de tamanho \code{n} com números aleatórios +#' da distribuição triangular. +#' +#' @author Fulano \email{fulano@@email.com}. +rtrian <- function(n, a, b, m = (b + a)/2) { + # Código. +} +```