Exclusivo | ler uma estimativa de probabilidade máxima de texto (com o código R)

Autor: Ani Singh

Tradução: Chen Yan

Corrigindo: Ding Nanya

Este artigo sobre 4200 palavras É recomendada a leitura 10+ minutos.

Este artigo irá examinar como MLE funciona, e como ele é usado para determinar coeficientes com qualquer modelo de distribuição.

breve introdução

Como explicar o modelo de trabalho é um dos dados científicos questões mais críticas mais básicas. Quando você construir um modelo, dá-lhe os resultados desejados, mas o processo por trás dele, o que é? Como cientista de dados, você precisa ter a resposta a esta pergunta freqüente.

Por exemplo, se você criar um modelo para prever o preço das ações. Você percebe na calada da noite, os preços das ações subiram rapidamente. Há várias razões possíveis atrás do achado causa mais provável é a estimativa de probabilidade máxima de significância. Este conceito é muitas vezes usado nos campos da economia, ressonâncias magnéticas, imagens de satélite.

Fonte: YouTube

Neste artigo, vamos examinar a estimativa de probabilidade máxima (doravante referida como MLE) é assim que funciona, e como ele é usado para determinar coeficientes com qualquer modelo de distribuição. MLE envolverá probabilidade compreensão e matemática, mas vou tentar torná-lo mais user-friendly por exemplo.

Nota: Como mencionado anteriormente, este artigo pressupõe que você já sabe o básico da teoria da probabilidade. Você pode esclarecer alguns dos conceitos básicos ao ler este artigo: "Probabilidade de cada profissionais da ciência de dados deve estar ciente da distribuição de senso comum": https://www.analyticsvidhya.com/blog/2017/09/6-probability-distributions-data-science/ anuário
  • Por utilização máxima verossimilhança de estimativa (MLE)?
  • MLE entender através de um exemplo
  • Saiba mais sobre os detalhes técnicos
  • parâmetros de distribuição
  • probabilidade
  • Log-probabilidade
  • estimativa de máxima verosimilhança
  • Uso de coeficientes do modelo determinada MLE
  • implementação da linguagem MLE R
Por utilização máxima verossimilhança de estimativa (MLE)?

Suponha que queremos prever as vendas de bilhetes do evento. E histograma densidade de dados como segue.

Como você modelo para esta variável? As variáveis não estão normalmente distribuídos, mas é assimétrica e, portanto, não atende aos pressupostos de regressão linear. Uma abordagem comum é o número de variáveis, a raiz quadrada (sqrt), o recíproco da conversão, a conversão da variável de distribuição normal, e o modelo de regressão linear.

Vamos tentar essas conversões e ver o que acontece:

  • transformação logarítmica:

  • transformação raiz quadrada:

  • transformação recíproca:

Todas essas abordagens não são normalmente distribuídos, então como devemos modelar esses dados, a fim de não violar os pressupostos básicos do modelo? Como usar que não seja a distribuição normal para modelar esses dados que ele? Se usarmos uma distribuição diferente, como transformar os coeficientes estimados?

isto é estimativa de máxima verosimilhança (MLE) é a vantagem principal.

Como um exemplo para aprofundar a compreensão do MLE

Ao estudar estatística e probabilidade, você certamente encontrou tais como probabilidade x> 100, uma vez x distribuição normal, uma média de 50 e um desvio padrão de 10. Entre estes problemas, já sabemos que a distribuição (neste caso é uma distribuição normal) e parâmetros (média e desvio padrão), mas em problemas da vida real, esses parâmetros são desconhecidos e deve ser calculado a partir dos dados . MLE pode nos ajudar a determinar os parâmetros de distribuição dos dados fornecidos.

Vamos usar um exemplo para aprofundar a compreensão: Suponha que nós usar os dados para representar uma classe de ensino médio peso corporal estudantes (em kg). Os dados apresentados a seguir (R também é proporcionado para gerar os dados de código na figura):

Figura 1 x = as.data.frame (rnorm (50,50,10)) ggplot (x, AES (x = x)) + geom_dotplot ()

Este parece seguir uma distribuição normal. Mas como vamos conseguir isso significa distribuição e desvio padrão dele? Um método consiste em calcular directamente um determinado desvio médio e padrão de dados, respectivamente, e 11,37 kg 49,8 kg. Esses valores podem ser bem representada por um determinado dados, mas não pode descrever o melhor no geral.

Podemos usar o MLE para obter estimativa de parâmetros mais robusto. portanto, método MLE pode geralmente ser definida como parâmetros (por exemplo, média e da variância, o coeficiente de Poisson (Lambda) e semelhantes) das estimativas de dados a partir da amostra, de modo que a probabilidade de se obter os dados observados (probabilidade) é maximizada.

A fim de aprofundar a compreensão do MLE, a tentativa probabilidade de adivinhar qual das seguintes seria observar os dados acima para maximizar?

1. Média = 100, desvio-padrão = 102 = 50 média, SD = 10

Obviamente, se a média é de 100, que são menos propensos a observar o gráfico de distribuição de dados acima.

Saiba mais sobre os detalhes técnicos

Depois MLE saber o que fazer, podemos entender o que é as estimativas probabilidade real, e como maximizá-lo. Primeiro, uma rápida revisão dos parâmetros da distribuição desde o início.

  • parâmetros de distribuição

Primeiro, olhe para os parâmetros de distribuição. Wikipedia define este termo como segue: "É uma distribuição de probabilidade do índice de quantização" , Pode ser considerado como valor da característica ou um modelo estatístico da amostra total. Até o gráfico a seguir para compreendê-lo:

Figura 2

Dois parâmetros de largura e altura da curva de sino determina a média e da variância. Este são os parâmetros de distribuição da distribuição normal. De modo semelhante, a distribuição de Poisson é controlada por um parâmetro lambda, isto é, o número de eventos que ocorrem dentro de um intervalo de tempo ou espaço.

Figura 3

A maioria das distribuições têm um ou dois parâmetros, mas algumas distribuições pode ter tantos como quatro parâmetros, tais como a distribuição de 4 parâmetros.

  • probabilidade

Podemos ver a partir da Fig. 2 e Fig. 3, dado um conjunto de parâmetros de distribuição, os valores de dados maior do que a probabilidade de alguns outros dados. A partir da Figura 1, temos visto, quando a média é de 50 em vez de 100, é mais provável que ocorra a dados dada. No entanto, na realidade, temos observado os dados. Por isso, estamos confrontados com um problema inverso: os dados observados e modelar um determinado interesse, temos de encontrar em todos densidade de probabilidade é mais provável para gerar uma base de dados de função massa função densidade de probabilidade / probabilidade (f (x_ \ ).

Para resolver o problema inverso, define-se a função de probabilidade pelo vector de dados e x (distribuição) reversão parâmetro vector [teta] f (x = ), a saber:

L (; x) = f (x | )

No MLE, podemos assumir que existe uma função de probabilidade L (; x), em que [teta] é o parâmetro de distribuição de vector, x é o conjunto de observações. Estamos interessados em encontrar valor com a máxima verossimilhança dado o valor observado (valor x) do.

  • Log-probabilidade

Se for assumida conjunto de observações (XI) são independentes e identicamente distribuído variáveis aleatórias, a distribuição de probabilidade de F0 (em que f 0 = normal, por exemplo, FIG. 1), então o problema matemático no lado torna-se simples. A função de probabilidade pode ser simplificado para:

Para encontrar o valor máximo do valor da função / mínimo, podemos tomar a derivada desta função w.r.t, e configurá-lo para 0 (zero inclinação expressa como valor máximo ou mínimo). Porque aqui nós temos o produto, é necessário aplicar a regra da cadeia, este produto é bastante complicada. O truque é ter uma função de probabilidade logarítmica inteligente, e para maximizar. Este produto é convertido para a víbora, e uma vez que a função logaritmo é um estritamente crescente e, portanto, não afeta o valor do resultado de . Assim, temos:

  • Maximizar a probabilidade

Para encontrar a função de log-verossimilhança LL (Th; x) máximo, nós podemos:

  • Tome LL (; x) é uma função w.r.t primeira Ordem Derivado, e é equivalente a 0;
  • Tome LL (; x) é uma função w.r.t Segunda ordem Derivada, e confirmou a ser negativo.

Em muitos casos, o cálculo de maximizar a estimativa probabilidade não é diretamente ajuda, mas o valor máximo ainda podem ser facilmente identificados. Ao olhar para o número máximo de valores dos parâmetros valor probabilidade, nada mais do que um derivado primeira igual a zero com uma "prioridade" mais ou lugar especial. Quando você precisa para estimar alguns dos parâmetros, é apenas uma ferramenta útil.

Em circunstâncias normais, o método argmax pode encontrar o valor máximo das funções pode ser adaptado para encontrar um registo máximo função de probabilidade. Este é um problema de otimização não-linear sem restrições. Procuramos um algoritmo de otimização funciona da seguinte maneira:

  • Certamente converge a partir de qualquer ponto de partida para um mínimo local
  • Velocidade o mais rápido possível

O uso de técnicas de optimização para maximizar a probabilidade é muito comum e pode ter uma variedade de maneiras para alcançar (por exemplo: o método de Newton, método de pontuação de Fisher, vários métodos de mais íngreme método descida à base de gradiente conjugado, tipo Nder-Mead (simples moldaram) métodos, método BFGS e uma variedade de outras técnicas).

Os resultados mostram que, quando o modelo é assumida como sendo Gaussiana, MLE estimativa é equivalente ao método dos mínimos quadrados geral.

Você pode consultar o seguinte artigo para provar isso:

link: Determinar os coeficientes do modelo com MLE

Agora vamos ver como usar o MLE para determinar o modelo de previsão coeficiente.

Suponhamos que temos um conceito de n medições y1, y2, ..., yn amostras, que pode ser considerado um variáveis aleatórias de Poisson independentes: Yi ~ P (i). Além disso, suponha que nós queremos fazer o que quero dizer (variância também!) Dependem de variáveis xi Composição do vetor. Nós pode constituir um modelo linear simples da seguinte forma:

é o vetor dos coeficientes do modelo. A desvantagem deste modelo é o direito do preditor linear pode assumir qualquer valor real, e um lado esquerdo Poisson desejado contagens médias devem ser não-negativo. Uma solução simples para esse problema é usar um modelo linear para simular o valor médio de um número. Por isso, consideramos uma série de links para uma série de modelos lineares generalizados ter, ele pode ser escrito como segue:

Nosso objetivo é usar MLE para encontrar .

Agora, a distribuição de Poisson como segue:

Utilização em um conceitos log probabilidade aprendidas buscar . Tomando o logaritmo da equação acima, ignorando compreendendo log constante (y!), E nós obter o número da função de verossimilhança é:

Em que, dependente da i xi covariáveis vector e o coeficiente . Nós podemos usar o argumento i = exp (xi') no lugar, resolvendo a equação para obter o máximo valor de probabilidade . Após o vector foi , vamos ser capazes de prever o valor esperado pela multiplicação do xi vetor média e .

R MLE realizado utilizando linguagens

Nesta seção, usaremos um conjunto de dados reais, utilizando conceitos aprendidos anteriormente, para resolver um problema. Você pode baixar os dados deste conjunto:

https://s3-ap-south-1.amazonaws.com/av-blog-media/wp-content/uploads/2018/07/ Train_Tickets.csv

conjunto de dados exemplar como se segue:

 Data de reserva de bilhetes 25-08-201200:008 25-08-201201:002 25-08-201202:006 25-08-201203:002 25-08-201204:002 25-08-201205:002

Tem um número de bilhetes a partir do 25 agosto de 2012 para 25 de setembro de 2014 vendidos por hora (cerca de 18K registros). O nosso objectivo é prever o número de bilhetes vendidos por hora. Este é o mesmo conjunto de dados da primeira seção deste artigo discutida.

Este problema pode ser resolvido por meio de regressão, séries temporais e outras tecnologias. Aqui, vamos ter aprendido a usar nossas técnicas de modelagem estatística, implementado na linguagem R.

Em primeiro lugar, analisar os dados. Modelagem Estatística, estamos mais preocupados com a forma como a distribuição da variável-alvo. Vamos dar uma olhada na contagem de distribuição:

hist (Y $ Count, quebras = 50, a probabilidade = T, principais = "Histograma de contagem Variável") linhas (densidade (Y $ Count), col = "vermelho", LWD = 2)

Isto pode ser visto como uma distribuição de Poisson, ou podemos mesmo tentar encaixar uma distribuição exponencial.

Desde que a variável é uma contagem de votos lado, a distribuição de Poisson é um modelo mais apropriado. distribuição exponencial é freqüentemente usada para simular o tempo entre o intervalo de evento.

Vamos calcular o número de bilhetes vendidos nos últimos dois anos:

Looks com o tempo, as vendas de ingressos tem sido muito maior. A fim de simplificar o problema, vamos só o tempo como um modelo de fator, que é definido como o tempo desde 25 de agosto de 2012 de algumas semanas. Podemos escrevê-lo como:

Na qual, [mu] (votos vendidas) é a média de uma distribuição de Poisson, e 0 e 1 são os coeficientes que precisamos de estimar.

Uma combinação de Equações 1 e 2, obtemos a seguinte função de log verossimilhança:

Podemos usar a função Rstats 4 MLE () pacote para estimar os coeficientes 0 e 1. Ele requer os seguintes parâmetros principais:

  • necessidade Minimizando função de probabilidade negativa Esta função é a mesma que acabamos de derivados, mas precedida por um sinal negativo .
  • Coeficiente de ponto de vector de partida: Este é o valor inicial dos coeficientes de predio. Os resultados podem variar de acordo com estes valores, porque a função pode atingir um mínimo local. Portanto, a função para verificar os resultados por diferentes ponto de partida é uma boa maneira de executar.
  • BFGS É o método padrão para otimizar a função de verossimilhança.

No nosso exemplo, a função de log-probabilidade negativo é codificado como segue:

NLL < - função (theta0, theta1) {x < - Y $ idade y < - Y $ Contagem mu = exp (theta0 + x * theta1) -sum (y * (log (mu)) - mu)}

Eu dividir os dados em treinamento e teste conjuntos, a fim de avaliar objetivamente o desempenho do modelo. idx é o índice das linhas de um conjunto de teste.

set.seed (200) idx < - createDataPartition (Y $ contagem, p = 0,25, lista = FALSO)

Em seguida, chamar a função MLE para obter os parâmetros:

est < - stats4 :: MLE (minuslog = NLL, start = lista (theta0 = 2, theta1 = 0)) de resumo (Cest) de probabilidade máxima estimationCall: stats4 :: MLE (minuslogl = NLL, start = lista (theta0 = 2, theta1 = 0)) Coeficiente Estimado: Std Errortheta02,682807540,032644512.548367e-03theta12.998218e-05 -2 log L :. -16594396

Nós obter uma estimativa do coeficiente, o uso do RMSE conjunto de teste obtida como resultado das medidas de avaliação:

pred.ts < - (exp (coef (est) + Y $ idade * Coef (est) )) RMSE (pred.ts, Y $ Conde ) 86,95227

Agora, vamos olhar para o modelo e comparar o nosso modelo linear padrão (erro de distribuição normal), este modelo é usado para contar o número de modelagem.

lm.fit < . - lm (log (contagem) ~ em geral, dados = Y ): Coeficientes Estimado Std valor de erro t Pr ( > | T |) (Intercept) 1,91129920,0110972172,2 < 2e-16 *** idade 0,04141070,0001768234,3 < 2e-16 *** pred.lm < - prever (lm.fit, Y ) RMSE (exp (pred.lm), Y $ Contagem ) 93,77393

Pode ser visto, o modelo linear padrão RMSE é maior do que o nosso modelo de distribuição de Poisson. Vamos comparar os dois modelos em uma amostra de lotes residuais para ver como o desempenho desses modelos em diferentes áreas:

Comparado com regressão linear convencional, erro de regressão de Poisson mais perto de zero.

Em Python, ou usando o scipy.optimize.minimize () Função para a função de objectivo seja minimizado, com BFGS, semelhante ao valor inicial dos parâmetros estimados e o método de G-BFGS.

R na linguagem, função glm modelagem das estatísticas empacotar mais fácil. Ele suporta Poisson, gama, binomial, Quasi, inversa Gaussiana, binomial proposto, para uma distribuição de Poisson, e assim por diante. Para o exemplo ilustrado acima, a sequência de comando pode ser usado directamente para obter os coeficientes de:

GLM (Contagem ~ em geral, da família = "Poisson", dados = Y) Coeficientes :. Estimado Std valor de erro z Pr ( > | Z |) (Intercept) 2.6692.218e-031203 < 2e-16 *** idade 0,032782.612e-051255 < 2e-16 ***

Ele também pode ser usado função pymc.glm () no pitão, e definir série pm.glm.Familes.Poisson ().

Notas finais

Reflexão no exemplo acima é se melhor do que o modelo estima espaço parâmetro coeficiente linear padrão está presente. A distribuição normal é a distribuição padrão, a distribuição é a forma mais amplamente utilizado, mas se outra distribuição, mais correto, você pode obter melhores resultados . Uma estimativa de máxima verosimilhança podem ser utilizados para estimar os parâmetros de distribuição, independentemente da tecnologia usada na distribuição. Então, da próxima vez que você tem na modelagem lado, primeiro olhar para a distribuição de dados para ver se não há nenhuma distribuição é mais significativo do que a distribuição normal!

código detalhado e os dados podem ser encontrados no meu repositório Gizub.

Os dados sobre o uso da leitura variável idade, formatação e modelagem exemplos, consulte o arquivo "ModelingSingleVariables.R". Além disso, eu também usado várias variáveis com o modelo, salve-o no arquivo "ModelingMultipleVariables.R".

Título original:

Guia de Introdução a máxima verossimilhança Estimation (com um estudo de caso em R)

link original:

https://www.analyticsvidhya.com/blog/2018/07/introductory-guide-maximum-likelihood-estimation-case-study-r/

Introdução do Tradutor

Chen Yan, Universidade Jiaotong de Pequim, Comunicação e pós-graduação Engenharia de Controle, mestrado em engenharia, serviu de Software e Sistemas Engenheiro Great Wall Computer, engenheiro Datang Microelectronics, traduzido Compete superiores Beijing Technology Co., Ltd. Atualmente se dedica ao ensino de operação do sistema de tradução inteligente e manutenção, acumulou alguma experiência no estudo aprofundado da inteligência artificial e termos de processamento de linguagem natural (NLP). Tradução tempo livre criação favorita, trabalhos de tradução incluem: IEC-ISO 7816, projetos de petróleo iraquiano, nova tributação Manifesto, etc., onde o Inglês trabalho de tradução "New tributação Manifesto", foi publicado no Global Times. Traduções pode poupar tempo para se juntar grupo voluntário plataforma de dados THU send, e esperamos compartilhar com a troca de progresso comum.

Assembléia ficar juntos, um novo vento que penteia o texto Ali, formigas, Word, Apple e outros gigantes revelado!
Anterior
ganhos do terceiro trimestre Tencent atingiu divulgados pela primeira vez receita de serviços em nuvem, Netease receitas por 35,1%
Próximo