03-funcao-veros:03-funcao-veros
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
03-funcao-veros:03-funcao-veros [2020/11/13 18:15] – [Função de Log-Verossimilhança Negativa] paulo | 03-funcao-veros:03-funcao-veros [2022/11/24 14:12] (atual) – edição externa 127.0.0.1 | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== 3. Função de Verossimilhança | ||
+ | |||
+ | A função de verossimilhança liga nossos dados a modelos probabilísticos. Enquanto distribuições de probabilidades atribuem probabilidades a cada observação possível, a função de verossimilhança expressa a plausibilidade de diferentes modelos, dada uma mesma observação ou conjunto de dados. | ||
+ | |||
+ | Os tutoriais a seguir mostram como construir funções de verossimilhança em linguagem computacional, | ||
+ | |||
+ | |||
+ | ====== Conceitos ====== | ||
+ | * Verossimilhança | ||
+ | * Função de Verossimilhança | ||
+ | * Log Verossimilhança Negativa | ||
+ | * Método da Máxima Verossimilhança | ||
+ | * Propriedades dos MLE | ||
+ | * Curva e Superfície de Verossimilhança | ||
+ | * Parâmetros Inconvenientes (//Nuisance Parameters// | ||
+ | * Verossimilhança Estimada e Perfilhada | ||
+ | * Intervalos e Regiões de Verossimilhança | ||
+ | |||
+ | ====== Tutoriais ====== | ||
+ | |||
+ | |||
+ | |||
+ | ===== Lei da Verossimilhança ===== | ||
+ | |||
+ | Dada uma variável aletória $X$, cujo comportamento pode ser explicado por duas hipóteses: $H_A$ e $H_B$. | ||
+ | |||
+ | * A hipótese | ||
+ | * A hipótese | ||
+ | |||
+ | A observação $X=x$ é uma evidência em favor de $H_A$ // | ||
+ | | $ p_A(x) > p_B(x)$. | ||
+ | |||
+ | A **força de evidência** em favor de $H_A$ vis-a-vis $H_B$ é dada pela **razão de verossimilhança**: | ||
+ | | ${p_A(x)} / {p_b(x)}$ | ||
+ | \\ | ||
+ | |||
+ | |||
+ | ==== Exemplo: Ninhada de Cachorro-do-Mato ==== | ||
+ | |||
+ | Numa ninhada de 5 filhotes de cachorros-do-mato foi observado apenas um macho. | ||
+ | |||
+ | A hipótese H1 estabelece que a probabilidade de nascimento de um filhote do sexo masculino é p=1/3, enquanto que a hipótese H2 estabelece uma probabilidade p=1/2 para filhote macho. | ||
+ | |||
+ | A probabilidade de observar 1 macho em 5 é: | ||
+ | * Sob H1: | ||
+ | <code rsplus> | ||
+ | > dbinom(1, 5, 1/3) | ||
+ | [1] 0.3292181 | ||
+ | </ | ||
+ | |||
+ | |||
+ | * Sob H2: | ||
+ | <code rsplus> | ||
+ | > dbinom(1, 5, 1/2) | ||
+ | [1] 0.15625 | ||
+ | </ | ||
+ | |||
+ | **Questão: | ||
+ | **R:** A hipótese H1, pois atribui mais probabilidade à observação de um macho em uma ninhada de 5 do que a hipótese H2 ($ p_H1(x) > p_H2(x)$ | ||
+ | |||
+ | |||
+ | **Questão: | ||
+ | <code rsplus> | ||
+ | > dbinom(1, 5, 1/3) / dbinom(1, 5, 1/2) | ||
+ | [1] 2.106996 | ||
+ | </ | ||
+ | |||
+ | **R:** Usando a razão de verossimilhanças como medida de força de evidência dos dados, a hipótese H1 é **//duas vezes mais plausível// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Função de Verossimilhança ===== | ||
+ | |||
+ | A variável $X$ é uma variável aleatória com função de densidade $f_X(x; \theta)$, onde: | ||
+ | * $x$ é uma variável matemática de descreve os valores que $X$ pode assumir; | ||
+ | * $\theta$ indica os parâmetros que controlam o comportamento de $X$. | ||
+ | |||
+ | Para que a função de densidade $f_X(\cdot)$ seja utilizada para calcular a **// | ||
+ | |||
+ | Na pesquisa científica o valor dos parâmetros nunca são conhecidos. | ||
+ | das quais se deseja // | ||
+ | |||
+ | Assim, a função de densidade pode ser utilizada de uma forma diferente: cria-se com ela uma função dos parâmetros, | ||
+ | |||
+ | Essa é a **// | ||
+ | |||
+ | $$\mathcal{L} (\theta | X=x) = f_X(\theta | X = x)$$ | ||
+ | |||
+ | Assim, na função de verossimilhança o elemento que varia são os parâmetros ($\theta$), enquanto que o elemento | ||
+ | constante é a observação ($X=x$). | ||
+ | |||
+ | ==== Exemplo: Ninhada de Cachorro-do-Mato ==== | ||
+ | |||
+ | Considere que numa ninhada de cachorro-do-mato nasceu 1 macho em 5 filhotes. | ||
+ | |||
+ | Assumindo que o número de machos numa ninhada segue a **// | ||
+ | nos diz sobre a probabilidade de nascimento de filhotes machos ($p$)? | ||
+ | |||
+ | Vejamos um gráfico da função de verossimilhança para os diferentes valores de $p$ que essa observação gera: | ||
+ | <code rsplus> | ||
+ | curve(dbinom(1, | ||
+ | </ | ||
+ | |||
+ | **Portanto: | ||
+ | Apesar, deste caso específico o parâmetro ser interpretável como a probabilidade de um sucesso, isso não é a probabilidade atribuída à observação, | ||
+ | |||
+ | A função nos apresenta os valores de // | ||
+ | os demais valores do gráfico. | ||
+ | |||
+ | \\ | ||
+ | **PONTO de MÁXIMO da FUNÇÃO de VEROSSIMILHANÇA** | ||
+ | |||
+ | O valor de **//máxima verossimilhança// | ||
+ | <code rsplus> | ||
+ | theta = seq(0, | ||
+ | y = dbinom(1, 5, p=theta) | ||
+ | theta.mle = theta[ y == max(y) ] | ||
+ | abline( v = theta.mle, lty=2, col=" | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | **VEROSSIMILHANÇA RELATIVA** | ||
+ | |||
+ | Podemos, então, re-escalonar o eixo-//y// (ordenadas) do gráfico em relação a esse valor máximo: | ||
+ | <code rsplus> | ||
+ | yrel = y / max(y) | ||
+ | plot(theta, yrel, type=" | ||
+ | abline( v = theta.mle, lty=2, col=" | ||
+ | </ | ||
+ | |||
+ | **Portanto: | ||
+ | |||
+ | \\ | ||
+ | **INTERVALO DE VEROSSIMILHANÇA** | ||
+ | |||
+ | Imagine que queremos encontrar nesse gráfico um intervalo para todos os valores cujo valor de **// | ||
+ | <code rsplus> | ||
+ | theta.interv = theta[ max(y)/y <= 8 ] | ||
+ | lines(theta.interv, | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Múltiplas Observações ===== | ||
+ | |||
+ | Geralmente, os dados científicos são obtidos na forma de **//uma amostra//** da população, | ||
+ | |||
+ | Se foram tomadas 4 observações independentes de uma variável aleatória: $X$ ($\mathbf{X}_4 = \{x_1, x_2, x_3, x_4\}$) | ||
+ | |||
+ | $$ \mathcal{L} ( \theta | X = \mathbf{X}_4 ) = \mathcal{L} ( \theta | X = x_1 ) \cdot \mathcal{L} ( \theta | X = x_2 ) \cdot \mathcal{L} ( \theta | X = x_3 ) \cdot \mathcal{L} ( \theta | X = x_4 )$$ | ||
+ | |||
+ | Generalizando: | ||
+ | o produto das verossimilhanças das observações individuais: | ||
+ | |||
+ | $$ \mathcal{L} ( \theta | X = \mathbf{X}_n ) = \mathcal{L} ( \theta | X = x_1 ) \cdot \mathcal{L} ( \theta | X = x_2 ) \cdot \mathcal{L} ( \theta | X = x_3 ) \cdot \ldots \cdot \mathcal{L} ( \theta | X = x_n )$$ | ||
+ | |||
+ | $$ \mathcal{L} ( \theta | X = \mathbf{X}_n ) = \prod_{i=1}^n \mathcal{L} ( \theta | X = x_i )$$ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Exemplo: Número de Espécies Arbóreas ==== | ||
+ | |||
+ | Num levantamento em floresta ombrófila densa foram contadas o número de espécies por parcelas de 900m2, obtendo-se os valores: 5, 8, 11 e 9. Como se trata dados de contagem, a distribuição de Poisson é candidata à modelagem desses dados. | ||
+ | |||
+ | Se construírmos uma **//curva de verossimilhança// | ||
+ | <code rsplus> | ||
+ | curve(dpois( 5, lambda=x), 0, 30 , xlab=expression(lambda), | ||
+ | curve(dpois( 8, lambda=x), 0, 30 , add=TRUE) | ||
+ | curve(dpois( 9, lambda=x), 0, 30 , add=TRUE) | ||
+ | curve(dpois( 11, lambda=x), 0, 30 , add=TRUE) | ||
+ | </ | ||
+ | |||
+ | Entretanto, nossa **amostra** é formada pelas quatro observações **conjuntamente** e precisamos representar uma única curva: | ||
+ | <code rsplus> | ||
+ | x = seq(0,30, by=0.1) | ||
+ | y1 = dpois(5, lambda=x) | ||
+ | y2 = dpois(8, lambda=x) | ||
+ | y3 = dpois(9, lambda=x) | ||
+ | y4 = dpois(11, lambda=x) | ||
+ | y = y1 * y2 * y3 * y4 | ||
+ | plot(x, y, type=" | ||
+ | </ | ||
+ | |||
+ | Em um único passo, teríamos: | ||
+ | <code rsplus> | ||
+ | curve(dpois(5, | ||
+ | xlab=expression(lambda), | ||
+ | col=" | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Função de Log-Verossimilhança Negativa ===== | ||
+ | |||
+ | A função de verossimilhança quando aplicada a uma única observação resulta frequentemente (mas não necessariamente) em valores menores do que um. Quando ela é aplicada a uma amostra com muitas observações, | ||
+ | |||
+ | Embora se possa trabalhar com a verossimilhança relativa, a função de verossimilhança é geralmente uma função de difícil tratamento matemático. | ||
+ | |||
+ | Se aplicamos o logaritmo e mudança de sinal à função de verossimilhança relativa, obtemos a **// | ||
+ | |||
+ | |||
+ | ==== Exemplo: Número de Espécies Arbóreas ==== | ||
+ | |||
+ | |||
+ | Se compararmos os valores nos vetores '' | ||
+ | <code rsplus> | ||
+ | range(c(y1, | ||
+ | #[1] 0.0000000 0.1754674 | ||
+ | range(y) | ||
+ | #[1] 0.0000000000 0.0001162465 | ||
+ | </ | ||
+ | |||
+ | Em grandes amostras, com 100 ou mais observações, | ||
+ | <code rsplus> | ||
+ | log.y = - log(y) | ||
+ | log.y2= - (log(y1) + log(y2) + log(y3) + log(y4)) | ||
+ | plot(x, log.y, type=" | ||
+ | lines(x, log.y2, col=" | ||
+ | </ | ||
+ | Note que '' | ||
+ | |||
+ | === Como Calcular a Log-Verossimilhança Negativa para uma Amostra === | ||
+ | |||
+ | No R, a log-verossimilhança negativa pode ser gerada diretamente das funções de densidade das distribuições utilizando o argumento "log = TRUE" que existe em todas elas. Vejamos uma forma mais prática (e elegante) de se gerar a função de log-verossimilhança negativa da distribuição Poisson para esse conjunto de dados: | ||
+ | <code rsplus> | ||
+ | library(MASS) | ||
+ | args(dpois) | ||
+ | lpois = function(x, | ||
+ | llikpois = Vectorize( lpois, c(" | ||
+ | x = c(5, 8, 9, 11) # " | ||
+ | lambda = seq(0, 30, by=0.1) | ||
+ | lver.mat = outer( x, lambda, " | ||
+ | lver = apply( lver.mat, 2, sum) # um vetor com a log-veros. neg da amostra | ||
+ | |||
+ | plot( lambda, lver, type=" | ||
+ | </ | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | Da mesma forma que re-escalonamos a curva de verossimilhança em relação ao seu máximo, podemos re-escalonar essa curva de log-verossimilhança negativa em relação ao seu mínimo: | ||
+ | <code rsplus> | ||
+ | plot(lambda, | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | O ponto que maximiza a verossimilhança é o mesmo que **minimiza a log-verossimilhança negativa**: | ||
+ | <code rsplus> | ||
+ | lambda.min = lambda[ min(lver) == lver ] | ||
+ | abline(v = lambda.min, lty=2, col=" | ||
+ | </ | ||
+ | |||
+ | Note que o valor mais verossímil // | ||
+ | <code rsplus> | ||
+ | lambda.min | ||
+ | #[1] 8.3 | ||
+ | </ | ||
+ | que é muito próximo a média amostral, a solução analítica para o estimador de máxima verossimilhança $\lambda$ da Poisson: | ||
+ | <code rsplus> | ||
+ | mean(c(5, | ||
+ | #[1] 8.25 | ||
+ | </ | ||
+ | |||
+ | A diferença que encontramos é apenas por causa da precisão desta solução gráfica. Que é didática mas pouco precisa. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | Também podemos estabelecer graficamente um intervalo de verossimilhança para o parâmetro $\lambda$ na curva de log-verossimilhança negativa: | ||
+ | <code rsplus> | ||
+ | lambda.int = lambda[ lver - min(lver) <= log(8) ] | ||
+ | lines(lambda.int, | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Método da Máxima Verossimilhança ===== | ||
+ | |||
+ | O método da Máxima Verossimilhança consiste em realizar de uma maneira mais precisa o que foi feito nos exemplos acima, isto é, encontrar a estimativa dos parâmetros de um modelo que // | ||
+ | |||
+ | As estimativas assim geradas são chamadas de //MLE = Maximum Likelihood Estimates// | ||
+ | |||
+ | ==== Minimizando a Função de Log-Verossimilhança no R ==== | ||
+ | |||
+ | O R possui duas funções básicas para minimizar expressões matemáticas, | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | A partir destas funções há várias definidas especificamente para minimizar funções de verossimilhança. As duas mais usadas são a | ||
+ | [[http:// | ||
+ | |||
+ | Como o pacote '' | ||
+ | |||
+ | A função que deve ser fornecida para a " | ||
+ | |||
+ | |||
+ | ==== Exemplo: Número de Plântulas do Palmiteiro Juçara ==== | ||
+ | |||
+ | Nesse exemplo utilizaremos os dados de número de plântulas do palmiteiro juçara (//Euterpe edulis//) encontradas em parcelas de regeneração natural. Vamos ajustar a distribuição Poisson ao dados, o que siginifica buscar a estimativa de máxima verossimilhança do único parâmetro da distribuição Poisson ((taxa média de ocorrência de plantas por parcelas, no caso.)). | ||
+ | |||
+ | <code rsplus> | ||
+ | euplant = c(5, 23, 23, 17, 0, 4, 1, 0, 0, 1, 0, 2, 26, 65, 34, 14, 18, 13, 19, 7) | ||
+ | length(euplant) | ||
+ | mean(euplant) | ||
+ | </ | ||
+ | |||
+ | É necessário criar a função de log-verossimilhança negativa da amostra para distribuição Poisson: | ||
+ | <code rsplus> | ||
+ | nvl = function(lambda) { -sum( dpois( euplant, lambda, log=TRUE ) ) } | ||
+ | </ | ||
+ | |||
+ | Vamos encontrar a estimativa de máxima verossimilhança (MLE) do parâmetro $\lambda$: | ||
+ | <code rsplus> | ||
+ | library(bbmle) | ||
+ | euplant.mle = mle2(nvl, start=list(lambda=10) ) # gera um objeto " | ||
+ | summary(euplant.mle) | ||
+ | logLik(euplant.mle) | ||
+ | </ | ||
+ | |||
+ | Verifique se a MLE gerada pela função " | ||
+ | <code rsplus> | ||
+ | coef(euplant.mle) | ||
+ | mean(euplant) | ||
+ | </ | ||
+ | |||
+ | |||
+ | Para visualizar a //**curva da log-verossimilhança negativa**// | ||
+ | |||
+ | <code rsplus> | ||
+ | library(sads) | ||
+ | plotprofmle( profile(euplant.mle) ) | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Propriedades dos MLE ===== | ||
+ | |||
+ | Os estimadores de máxima verossimilhança têm várias propriedades de um [[http:// | ||
+ | |||
+ | A simulação consiste nos seguintes passos: | ||
+ | - geramos um grande número de amostras de uma distribuição conhecida com valores conhecidos dos parâmetros; | ||
+ | - obtemos para cada uma das amostras simuladas as MLE; | ||
+ | - construímos gráficos da distribuição das MLE para analisar o seu comportamento. | ||
+ | |||
+ | ==== Consistência ==== | ||
+ | |||
+ | A [[http:// | ||
+ | |||
+ | $$ \widehat{s} = \left[ | ||
+ | |||
+ | |||
+ | Primeiramente, | ||
+ | <code rsplus> | ||
+ | sd.mle = function(x) | ||
+ | </ | ||
+ | |||
+ | Esse estimador será aplicado a amostras da distribuição Gaussiana com média 100 e desvio padrão 5, de tamanhos crescentes. | ||
+ | |||
+ | Gerando a distribuição das MLE para amostras de tamanho 10: | ||
+ | <code rsplus> | ||
+ | samp10 = sort(rep(1: | ||
+ | vals10 = rnorm(1000*10, | ||
+ | dens10 = density( tapply(vals10, | ||
+ | dens10$y = dens10$y/ max(dens10$y) | ||
+ | plot( dens10, type=" | ||
+ | ylab=" | ||
+ | abline(v = 5, col=" | ||
+ | </ | ||
+ | |||
+ | Note que a distribuição das MLE das amostras de tamanho 10 não é simétrica e não parece centrada no valor do parâmetro. | ||
+ | |||
+ | Gerando a distribuição das MLE para amostras de tamanho 100: | ||
+ | <code rsplus> | ||
+ | samp100 = sort(rep(1: | ||
+ | vals100 = rnorm(1000*100, | ||
+ | dens100 = density( tapply(vals100, | ||
+ | dens100$y = dens100$y/ max(dens100$y) | ||
+ | lines( dens100, col=" | ||
+ | </ | ||
+ | |||
+ | Note que as MLE das amostras de tamanho 100 já tem distribuição simétrica e o ponto central se aproxima bastante do valor do parâmetro. Mais precisamente, | ||
+ | |||
+ | |||
+ | ==== Eficiência Assintótica ==== | ||
+ | |||
+ | A [[http:// | ||
+ | |||
+ | Vamos comparar a variâncias dos MLEs do desvio padrão obtidos acima (nossa função " | ||
+ | <code rsplus> | ||
+ | ## Amostras de tamanho 10 | ||
+ | var( tapply(vals10, | ||
+ | var( tapply(vals10, | ||
+ | ## Amostras de tamanho 100 | ||
+ | var( tapply(vals100, | ||
+ | var( tapply(vals100, | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Normalidade Assintótica ==== | ||
+ | |||
+ | Esta é a propriedade de [[http:// | ||
+ | |||
+ | A melhor forma de investigar a aproximação assintótica da distribuição Gaussiana é através do gráfico Quantil-Quantil: | ||
+ | <code rsplus> | ||
+ | par(mfrow=c(2, | ||
+ | qqnorm( tapply(vals10, | ||
+ | main=" | ||
+ | qqline( tapply(vals10, | ||
+ | qqnorm( tapply(vals100, | ||
+ | main=" | ||
+ | qqline( tapply(vals100, | ||
+ | par(mfrow=c(1, | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Invariância ==== | ||
+ | |||
+ | A propriedade de invariância dos MLE é de difícil de comprovação por simulação, | ||
+ | |||
+ | O estimador tradicional da variância tem a propriedade de não ser viciado, independentemente do tamanho da amostra. | ||
+ | |||
+ | $$ \widehat{s^2} = \frac{ \sum_{i=1}^n (x_i - \bar{x})^2 }{ n - 1 }$$ | ||
+ | |||
+ | Isso pode ser comprovado com uma simulação: | ||
+ | <code rsplus> | ||
+ | var.trad10 = tapply( vals10, samp10, var) # estimativas tradicionais da variância de amostras de tamanho 10 | ||
+ | plot( density(var.trad10), | ||
+ | abline( v = mean(var.trad10) ) # média das estimativas | ||
+ | abline( v = 5^2, col=" | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | No entanto, este não é um estimador de máxima verossimilhança. Por isso a propriedade de não ser viciado não se mantém quando a variância é transformada em desvio padrão , que é uma transformação monotônica: | ||
+ | |||
+ | $$ \widehat{s} = \sqrt{ \widehat{s^2}} \ = \ \sqrt{ \frac{ \sum_{i=1}^n (x_i - \bar{x})^2 }{ n - 1 } }$$ | ||
+ | |||
+ | |||
+ | Verifique isto repetindo a avaliação de viés feita antes para a variância: | ||
+ | |||
+ | |||
+ | <code rsplus> | ||
+ | sd.trad10 = tapply(vals10, | ||
+ | plot(density(sd.trad10), | ||
+ | abline( v = mean(sd.trad10) ) | ||
+ | abline( v = 5, col=" | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Superfície e Curvas de Verossimilhança ===== | ||
+ | |||
+ | Quando temos mais de parâmetro no modelo estatístico, | ||
+ | |||
+ | No caso de dois parâmetros, | ||
+ | |||
+ | ==== Exemplo: Superfície para uma Variável Gaussiana ==== | ||
+ | |||
+ | <code rsplus> | ||
+ | dados = rnorm(1000, mean=150, sd=20 ) # gerando os dados | ||
+ | m = seq(125, 175, length=50) | ||
+ | s = seq(10, 60, length=50) | ||
+ | lgauss = function(m, s, dados) -sum(stats:: | ||
+ | llikgauss = Vectorize(lgauss, | ||
+ | sup.mat = outer(m, s, llikgauss, dados) | ||
+ | contour(m, s, sup.mat, xlab=" | ||
+ | abline(v=150, | ||
+ | abline(h=20, | ||
+ | persp(m, s, sup.mat, theta=135, phi=10, col=" | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Exemplo: Árvores de Copaifera langsdorffii no Cerradão ==== | ||
+ | |||
+ | //Copaifera langsdorffii// | ||
+ | <code rsplus> | ||
+ | copa = read.csv(" | ||
+ | mean(copa$narv) | ||
+ | var(copa$narv) | ||
+ | </ | ||
+ | |||
+ | |||
+ | A distribuição espacial da // | ||
+ | * $k$ - parâmetro de agregação e | ||
+ | * $\mu$ - número médio de árvores por parcela. | ||
+ | |||
+ | <code rsplus> | ||
+ | lnbinom.x = function(k, mu, x) -sum(dnbinom(x, | ||
+ | lnbinom.vec = Vectorize( lnbinom.x, c(" | ||
+ | |||
+ | k.var = seq(0.1, 10, length=50) | ||
+ | mu.var = seq(10, 80, length=50) | ||
+ | sup.mat | ||
+ | contour(k.var, | ||
+ | persp(k.var, | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Verossimilhança Estimada e Verossimilhança Perfilhada ===== | ||
+ | |||
+ | |||
+ | Quando o modelo estatístico tem muitos parâmetros, | ||
+ | |||
+ | Há duas formas de contornar esse problema que permitem investigar somente o comportamento dos parâmetros de interesse um-a-um, sem a necessidade de avaliar uma superfície: | ||
+ | * a verossimilhança estimada e | ||
+ | * a verossimilhança perfilhada. | ||
+ | |||
+ | A verossimilhança perfilhada é uma forma mais apropriada de estudar a superfície de verossimilhança, | ||
+ | |||
+ | Mas em algumas situações, | ||
+ | |||
+ | Vejamos alguns exemplos: | ||
+ | |||
+ | |||
+ | ==== Verossimilhança Estimada ==== | ||
+ | |||
+ | ==== Exemplo: Produção Média de Florestas ==== | ||
+ | |||
+ | Num inventário em floresta plantada de //Pinus// foram medidas 52 parcelas, tendo sido obtida a produção média de 243 $m^3\, ha^{-1}$, com desvio padrão de 28 $m^3\, ha^{-1}$. | ||
+ | |||
+ | Pelo Teorema Central do Limite, sabemos que a média amostral segue distribuição Gaussiana, com média igual à média populacional e desvio padrão igual ao desvio padrão populacional dividido pela raiz quadrada do tamanho da amostra. | ||
+ | |||
+ | Portanto, podemos assumir que a produção média relatada é uma observação de uma distribuição Gaussiana. | ||
+ | |||
+ | <code rsplus> | ||
+ | prod.var = seq(230, 260, length=100) | ||
+ | lvn.prod = -dnorm(243, mean=prod.var, | ||
+ | lvn.prod = lvn.prod - min(lvn.prod) | ||
+ | plot(prod.var, | ||
+ | abline(h=log(8), | ||
+ | </ | ||
+ | |||
+ | ==== Exemplo: Árvores Bifurcadas ==== | ||
+ | |||
+ | Numa floresta planta de eucalipto foram encontradas 7 árvores bifurcadas numa amostra aleatória de 150. | ||
+ | Deseja-se a taxa de bifurcação e um intervalo de // | ||
+ | |||
+ | Neste caso a estimativa é o parâmetro $p$ de uma binomial, sendo o outro parâmetro (número de tentativas, $N$) conhecido. | ||
+ | <code rsplus> | ||
+ | p.var = seq(0.01, 0.10, length=100) | ||
+ | lvn.binom = -dbinom(7, 150, prob=p.var, log=T) | ||
+ | lvn.binom = lvn.binom - min(lvn.binom) | ||
+ | plot( p.var, lvn.binom, type=" | ||
+ | p.mle = p.var[lvn.binom == min (lvn.binom)] | ||
+ | abline(v=p.mle, | ||
+ | abline(h=log(8), | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Verossimilhança Perfilhada ==== | ||
+ | |||
+ | ==== Exemplo: Estrutura de Tamanho em Florestas ==== | ||
+ | |||
+ | O arquivo {{diam.csv|diam.csv}} apresenta dados do diâmetro à altura do peito (DAP) de árvores de uma parcela em floresta nativa no município de Bom Jardim, MA. | ||
+ | |||
+ | Frequentemente se assume que a distribuição dos DAP das árvores em floresta tropical segue uma **distribuição exponencial**. | ||
+ | |||
+ | Assim, podemos verificar se a distribuição exponencial é de fato um bom modelo para os dados acima, comparando-a com a Weibull. | ||
+ | |||
+ | \\ | ||
+ | Inicialmente é necessário ler os dados do arquivo | ||
+ | <code rsplus> | ||
+ | dap = read.csv(" | ||
+ | </ | ||
+ | |||
+ | Para ajustar a distribuição Weibull aos dados é necessário considerar que só foram medidas as árvores com DAP a partir de 14.3 cm (45cm de circunferência) e, portanto, o valor 14.3 representa um valor mínimo conhecido. | ||
+ | <code rsplus> | ||
+ | dap.a = dap - 14.3 # 14.3 é o DAP mínimo de medição | ||
+ | lweibull = function(esc, | ||
+ | -sum( dweibull(dap.a, | ||
+ | scale=esc, log=T) ) | ||
+ | } # função log-ver.neg. da Weibull | ||
+ | |||
+ | dap.mle = mle2( lweibull, start=list(esc=10, | ||
+ | summary(dap.mle) | ||
+ | |||
+ | dap.mle.p = profile( dap.mle ) # perfilhando as MLE | ||
+ | par(mfrow=c(1, | ||
+ | plotprofmle( dap.mle.p ) # gráficos da veros. perfilhada | ||
+ | </ | ||
+ | |||
+ | **Questão: | ||
+ | |||
+ | |||
+ | ==== Exemplo: Árvores de Copaifera langsdorffii ==== | ||
+ | |||
+ | Para obtermos a curva de verossimilhança perfilhada para o modelo de Binomial Negativa nos dados de número de árvores de //Copaifera langsdorffii// | ||
+ | <code rsplus> | ||
+ | lnbinom = function(k, mu) -sum(dnbinom(narv, | ||
+ | narv = copa$narv | ||
+ | copa.mle = mle2( lnbinom, start=list(k=2, | ||
+ | summary(copa.mle) | ||
+ | par(mfrow=c(1, | ||
+ | plotprofmle( profile(copa.mle) ) | ||
+ | |||
+ | par(mfrow=c(1, | ||
+ | contour(k.var, | ||
+ | abline(v=coef(copa.mle)[" | ||
+ | abline(h=coef(copa.mle)[" | ||
+ | </ | ||
+ | |||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | |||
+ | ====== Exercícios ====== | ||
+ | |||
+ | Faça os exercícios 203.1 a 203.3 no sistema [[http:// | ||
+ | ====== Questões motivadoras para a dicussão ====== | ||
+ | Proponha questões para discutirmos em nosso subfórum. Criamos um subfórum para isso [[http:// | ||
+ | |||
+ | ===Questões escolhidas=== | ||
+ | - Na inferência por verossimilhança o espaço amostral é irrelevante, | ||
+ | - Na análise de dados usando a Lei da Verossimilhança não se compara uma determinada hipótese a uma hipótese nula, e sim comparam-se hipóteses entre si (podendo haver mais de duas). Podemos dizer que esse tipo de análise depende mais fortemente da habilidade do pesquisador para formular hipóteses e criar modelos que explicarão melhor seus dados (já que as hipóteses não estão prontas, elas devem ser formuladas)? | ||
+ | - O Princípio da Verossimilhança afirma que a função de verossimilhança contém toda informação que um conjunto de dados tem sobre um dado modelo. | ||
+ | ====== Recursos para Estudo ====== | ||
+ | |||
+ | |||
+ | ===== Leituras ===== | ||
+ | |||
+ | ==== Principal ==== | ||
+ | |||
+ | * {{: | ||
+ | |||
+ | ==== Complementares ==== | ||
+ | |||
+ | * {{: | ||
+ | * Likelihood and all that. capítulo 6 de: Bolker, B.M. 2008 Ecological Models and Data in R Princeton: Princeton University Press. | ||
+ | * The Concept of Likelihood , cap.2 de: Edwards, A.W.F., 1992 Likelihood. Baltimore: John Hopkins University Press. | ||
+ | * Hobbs, N.T. & Hilborn, R. 2006. Alternatives to statistical hypothesis testing in ecology: A guide to self-teaching. Ecological Applications: | ||
+ | |||
+ | |||
+ | ===== Na Internet ===== | ||
+ | |||
+ | * Índice do pacote [[http:// | ||
+ | * Índice do [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * Scott, C., & Nowak, R. 2004. [[http:// | ||
+ | |||
+ | ====Notebooks de deduções analíticas de MLEs==== | ||
+ | |||
+ | Nossos notebooks | ||
+ | |||
+ | * Você pode executar os notebooks online no servidor [[https:// | ||
+ | * Ou você pode ver as páginas estáticas dos mesmos códigos, já com os resultados (mais rápido): | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||