{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Estimador de máxima verossimilhança da distribuição geométrica\n", "A distribuição geométrica é um modelo simples de ser ajustado a dados porque há uma expressão para o estimador de máxima verossimilhança (**MLE**) de seu parâmetro:\n", "\n", "$$\\widehat p \\ = \\ \\frac{N}{N+\\sum x_i}$$\n", "\n", "Onde $N$ é o total de observações e $\\sum x_i$ é a soma dos valores observados. \n", "\n", "Como chegamos a isso? Neste caso por meio de manipulações matemáticas. Quando isso nos leva a uma expressão de funções matemáticas conhecidas dizemos que temos uma **solução analítica** . Isso é bem raro, em geral apenas para casos simples. \n", "\n", "Para ter uma ideia mais concreta deste processo, vamos refazer passo a passo a dedução analítica do mle da geométrica, com o auxílio de um sistema de álgebra simbólica, usando a linguagem Python. Esses sistemas são programas que guardam muitas regras de manipulação de objetos matemáticos. Com ele podemos conferir passo a passo a deduções matemáticas, mesmo sem lembrar de todos detalhes necessários em cada passagem da dedução.\n", "\n", "Este tutorial está em notebook do Jupyter, executado online pelo Google Colab. Para ver os resultados dos comandos de cada etapa coloque o mouse ao lado esquerdo da célula que tem os comandos e clique em 'Run this cell'\n", "\n", "## Preparação\n", "Antes de começar importamos a biblioteca de matemática simbólica do Python. Ela permite criar expressões, como funções e suas derivadas, e manipulá-las simbolicamente." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "from sympy import *\n", "init_printing()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A função de densidade probabilística\n", "O comando abaixo cria um objeto simbólico `f` com a expressão função da densidade da geométrica. Para uma dada observação $x_i$ a função de massa da distribuição geométrica é" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFsAAAAXCAYAAABkrDOOAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADe0lEQVRoBe2Z7VEbMRCGgaEAQjpwOoBQQUIHJlRA6AAmv+x/mbgDJxUE6ACoIJN0AB0kpgPnfYR0oxO62Powc86wM2tJu/p6V9JqT96cz+cbL5RngfF4fGZbvlH6RTwUm7x091bXJFtN7iWTZAFr6CulEzXcFU9t/q3ye7HOVmJsDTqIDbZOsiUwPKiO2707wnZt8Z1IfuVjVdnoqhtbHXO0oivrT2AN8gOLJTpV6b56ivfKGwNL/suTm6xkh2Q2a/psdYrPOlB6bkYJfiRnES7F+8o/BOreFTVHNg472Ddsa54W063SVyiUskhmxys19pD4t/KTajtbnXGUPiltGRq5+FI8lf6beG1cjOaMPz4Fg9KGVMagMys4VurcCaIWfpV/iLk0N7b5qUTcxhi0RZoUO/gIofLr6GLABLZTMEDCcS++sHiMP7Z51I2xJeMCRf8ow43U4NFoNFvUj+qciefinUV1+6TXfGc5c6aN+A4sSodV3IhWD9/kHyVW+H8isH1IBSS7cKo5BZzom8aNSMDlxa16ID4R41spv7Z5Qhoax4jb9iam6JssEyfYwNh5UXbh1HgmEkHv7+xjKbgQoFsxl8BEjL9hZYkiuohA/q5L2TN5Dk6wFV/sxtgyKLuaWxOiU7a+H5gzGLu8i7it/3Qp+yIvwAm2YmM7N4JxXTCO4T8HBsKYG6pDGBdzJbtSx+RBN2lFxlMLTpkZf8nWR2rnsIRNcnFyslPmEI5rysbYzoBK3e4N/S9+h+C+ukGjs7JCO97+v+qk6Nz8M3BW2UzGjXgTxqisfmhUFuHCqxdmOWbFKx92usJyKk6wgbGIQmNj1NauluE/Sobxm2A9MiLHrNinRfpdlSgVJzsbjEW07VrLqKwe/rpZQckwIEZ+F9ntEjeEjyRkXESEkVCVY/nYVdpvJk5cGRiLqDG2emG1oXNNiCAcwjiHKi9a1e+q1xkaqr3TuTF4K6HPa6XJsavalZCbQwpO2jSf69mDu89ifU5OxT9dOTXls1S8l9ruueun4lT9AdhqzNP32axey18nrmDrsSax7XNWT8WJGwVbMRlj6yjjr/HP7sMmuWPrDvjqpJ9eUipOiwVMVVzdljriEYkPB4j3aKKPXOIp9ckza25nNdtl4gRLua+2QKr+U0OfAsXOHip17yx2qPVKNH+CBN6jFwUHSwP7C1jGUEeOSUzoAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle p \\left(1 - p\\right)^{{x}_{i}}$" ], "text/plain": [ " x[i]\n", "p⋅(1 - p) " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Define os símbolos que usaremos e sua representação\n", "x, p, i, n = symbols('x p i n')\n", "## Define objeto com a expressão\n", "f = p*(1-p)**(Indexed(x,i))\n", "## Exibe o objeto\n", "f" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Defina a função de log-verossimilhança negativa\n", "A função de log-verossimilhança da geométrica é a soma dos logarítimos dos valores da função acima sobre todos os valores dos dados ($x_i$). Para chegar à sua expressão, primeiro calculamos o logarítmo da função de massa, e guardamos a expressão resultante no objeto `lf`:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\log{\\left(p \\right)} + \\log{\\left(1 - p \\right)} {x}_{i}$" ], "text/plain": [ "log(p) + log(1 - p)⋅x[i]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lf = ln(f)\n", "lf=expand_log(lf, force=true)\n", "lf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "e em seguida definimos a sua soma sobre todos os valores de $x_i$" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\sum_{i=1}^{n} \\left(\\log{\\left(p \\right)} + \\log{\\left(1 - p \\right)} {x}_{i}\\right)$" ], "text/plain": [ " n \n", " ___ \n", " ╲ \n", " ╲ \n", " ╱ (log(p) + log(1 - p)⋅x[i])\n", " ╱ \n", " ‾‾‾ \n", "i = 1 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "LL = Sum(lf, (i,1,n))\n", "LL" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Estimativa de máxima verossimilhança (mle)\n", "O mle é o valor do parâmetro $p$ que maximiza a função de log-verossimilhança (ou minimiza a de log-verossimilhança negativa). Sabemos que as funções têm derivadas zero em seus pontos máximos e mínimos.\n", "Então o truque para achar a expressão do mle é encontrar a expressão para o valor de $p$\n", "que faz a derivada da função de log-verossimilhança ser igual a zero. São duas etapas:\n", "\n", "### Calcule a derivada da função de log-verossimlhança em relação ao parâmetro\n", "Aqui usamos o comando 'diff' para obter a derivada da log-verossimilhança em função do parâmetro $p$. Para isso, aplicamos este comando sobre o objeto `LL`, criado acima, e guardamos a expressão resultante no objeto `dLL` :" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\frac{n}{p} + \\frac{\\sum_{i=1}^{n} {x}_{i}}{p - 1}$" ], "text/plain": [ " n \n", " ___ \n", " ╲ \n", " ╲ \n", " ╱ x[i]\n", " ╱ \n", " ‾‾‾ \n", "n i = 1 \n", "─ + ──────────\n", "p p - 1 " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dLL = diff(LL,p)\n", "dLL=simplify(expand(dLL))\n", "dLL" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Resolvemos a derivada para o parâmetro\n", "Agora igualamos a derivada da função de log-verossimilhança a zero e resolvemos esta equação para o parãmetro $p$:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\left[ \\frac{n}{n + \\sum_{i=1}^{n} {x}_{i}}\\right]$" ], "text/plain": [ "⎡ n ⎤\n", "⎢──────────────⎥\n", "⎢ n ⎥\n", "⎢ ___ ⎥\n", "⎢ ╲ ⎥\n", "⎢ ╲ ⎥\n", "⎢n + ╱ x[i]⎥\n", "⎢ ╱ ⎥\n", "⎢ ‾‾‾ ⎥\n", "⎣ i = 1 ⎦" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(dLL,p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Esta é a expressão do estimador de máxima verossimilhança do único parâmetro da distribuição geométrica. " ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.7" } }, "nbformat": 4, "nbformat_minor": 4 }