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!
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
.Vamos ajustar os modelos exponencial, normal e gama à distribuição de CAPs.
Crie uma função chamadanLL.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 objetocaixeta
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 chamarnLL.exp
com o único parâmetro da exponencial como único argumento. Para a gama, a função deve se chamarnLL.gama
, que recebe dois parâmetros - o primeiro para a forma e segundo para a escala.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.Avalie graficamente cada um dos ajustes. Primeiro, construa um gráfico da densidade empírica dos CAPs (DICA: use
hist(x, prob=TRUE)
ouplot(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 chamadasf.norm
,f.exp
ef.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.Examine o valor de verossimilhança de cada ajuste. Guarde nos objetos
logLik.norm
,logLik.exp
logLik.gama
os valores da log-verossimilhança negativa dos ajustes à normal, exponencial e gama, respectivamente. Esses objetos devem ser da classe logLik.Crie um objeto chamado
omelhor
com o nome do modelo com maior verossimilhança ("exponencial", "normal" ou "gama").