notaR

Um sistema para notas automatizadas em cursos que utilizam a linguagem R


 


204.2 Eu <3 caixeta!

Estudos apontam que os alunos dessa disciplina se dividem entre aqueles que não aguentam mais exercícios sobre caixeta, e aqueles que não fizeram a disciplina de Introdução à linguagem R! Assim, vamos fazer mais um exercício com dados de altura e CAP (circunferência à altura do peito) de árvores de caixeta!

  1. Carregue os dados do arquivo capChauas.csv em um objeto na sua área de trabalho. Este arquivo tem apenas uma coluna, que é o CAP de 201 árvores de caixeta amostradas com parcelas na Estação Ecológica de Chauás. Guarde esses dados no objeto caixeta.

  2. Vamos ajustar os modelos exponencial, normal e gama à distribuição de CAPs. Crie uma função chamada nLL.norm que recebe dois parâmetros - o primeiro para a média e segundo para o desvio padrão - e retorna a soma da log-verossimilhança negativa dos valores que estão no objeto caixeta para o modelo normal de distribuição de CAPs das árvores. Crie funções semelhantes para a distribuição exponencial e gama. Para a exponencial, a função deve se chamar nLL.exp com o único parâmetro da exponencial como único argumento. Para a gama, a função deve se chamar nLL.gama, que recebe dois parâmetros - o primeiro para a forma e segundo para a escala.

  3. Usando a função mle2 do pacote bbmle, ajuste os modelos normal, exponencial e gama aos dados, minimizando as funções de log-verossimilhança que você criou. Guarde os resultados dos ajustes nos objetos mle.norm, mle.exp, mle.gama. Use um chute inicial razoável para cada um dos ajustes.

  4. Avalie graficamente cada um dos ajustes. Primeiro, construa um gráfico da densidade empírica dos CAPs (DICA: use hist(x, prob=TRUE) ou plot(density(x)) ). Sobre esse gráfico, adicione 3 linhas das distribuições ajustadas. Para isso, faça funções que recebem valores de CAP e retornam as densidades probabilísticas previstas por cada modelo. Esta funções de distribuição de probabilidade dos modelos normal, exponencial e gama devem ser chamadas f.norm, f.exp e f.gama, respectivamente. ATENÇÃO: Como sempre, não inclua os códigos do gráfico na resposta que vai submeter ao notaR. Mas inclua o código das funções de densidade criadas. Finalmente, adicione a curva das distribuições prevsitas pelos modelos ao gráfico que você fez. DICA: use curve(f.exp(x), add=TRUE) e assim por diante.

  5. Examine o valor de verossimilhança de cada ajuste. Guarde nos objetos logLik.norm, logLik.explogLik.gama os valores da log-verossimilhança negativa dos ajustes à normal, exponencial e gama, respectivamente. Esses objetos devem ser da classe logLik.

  6. Crie um objeto chamado omelhor com o nome do modelo com maior verossimilhança ("exponencial", "normal" ou "gama").

 

Submeter resposta ajuda?

 

Escolha o arquivo de resposta usando o botão acima