Como ajustar uma distribuição discreta para contar dados?

17

Eu tenho o seguinte histograma de dados de contagem. E eu gostaria de ajustar uma distribuição discreta a ela. Não tenho certeza de como devo fazer isso.insira a descrição da imagem aqui

Devo primeiro sobrepor uma distribuição discreta, digamos, Distribuição binomial negativa, no histograma para obter os parâmetros da distribuição discreta e, em seguida, executar um teste de Kolmogorov – Smirnov para verificar os valores de p?

Não tenho certeza se este método está correto ou não.

Existe um método geral para resolver um problema como este?

Esta é uma tabela de frequência dos dados da contagem. No meu problema, estou focando apenas contagens diferentes de zero.

  Counts:     1    2    3    4    5    6    7    9   10 
 Frequency: 3875 2454  921  192   37   11    1    1    2 

UPDATE: Gostaria de perguntar: usei a função fitdistr em R para obter os parâmetros para ajustar os dados.

fitdistr(abc[abc != 0], "Poisson")
     lambda  
  1.68147852 
 (0.01497921)

Em seguida, traço a função de massa de probabilidade da distribuição de Poisson no topo do histograma. insira a descrição da imagem aqui

No entanto, parece que a distribuição de Poisson falha ao modelar os dados da contagem. Há algo que eu possa fazer?

user1769197
fonte
3
Um método geral é usar a probabilidade máxima para ajustar-se a uma distribuição candidata. O que você quer dizer com sobreposição de uma distribuição para obter os parâmetros não é claro, mas se você quer dizer adivinhar os valores dos parâmetros até obter um bom ajuste, esse é um péssimo método. Kolmogorov-Smirnov não é útil aqui. Você precisa de um software decente que ofereça resultados inferenciais; portanto, indique seu software de escolha para que as pessoas que o utilizam possam tentar ajudá-lo. Seu histograma não está claro, mas se houver lacunas, é provável que nenhuma distribuição caiba bem.
31513 Nick Cox
3
Embora o uso de um teste KS dessa maneira seja um método péssimo (e, em qualquer caso, o teste KS não seja para distribuições discretas), seria possível estimar parâmetros minimizando a estatística KS sobre todos os valores possíveis; mas se você estiver seguindo esse caminho (otimizando alguma adequação), o qui-quadrado mínimo seria a abordagem mais típica. Como Nick Cox sugere, o ML seria a coisa mais óbvia, quase certamente mais eficiente, mais fácil de eliminar erros padrão e mais facilmente aceita por outros. (Existem outras possibilidades, como o método dos momentos, mas o ML é a coisa principal.)
Glen_b -Reinstala Monica 31/07
Estou usando R. Quando você diz estimar o MLE, existem algoritmos que você recomendará para o trabalho? E depois de encontrar o ML, o que devo fazer a seguir?
user1769197
Eu começaria aqui ?MASS::fitdistr, uma vez que já está na sua distribuição R (veja o exemplo final na parte inferior; consulte rnegbin para obter mais informações sobre essa parametrização do binômio negativo). .... " E depois de encontrar o ML, o que devo fazer a seguir? " - nesse ponto, você tem estimativas de parâmetros e erros padrão. Além disso, o que você deseja alcançar? - Eu não posso adivinhar.
Glen_b -Reinstala Monica
Ocorre-me que você pode estar tentando perguntar 'como faço para avaliar a adequação do meu modelo?'. Se for esse o caso, você poderia atualizar sua pergunta para refletir isso?
Glen_b -Reinstate Monica

Respostas:

17

Métodos de ajuste de distribuições discretas

Existem três métodos principais * usados ​​para ajustar (estimar os parâmetros de) distribuições discretas.

1) Máxima Verossimilhança

Ele encontra os valores dos parâmetros que oferecem a melhor chance de fornecer sua amostra (dadas as outras suposições, como independência, parâmetros constantes, etc.)

2) Método dos momentos

Ele encontra os valores dos parâmetros que fazem com que os primeiros momentos da população correspondam aos seus momentos de amostra. Geralmente, é bastante fácil de fazer e, em muitos casos, gera estimadores razoáveis. Às vezes, também é usado para fornecer valores iniciais às rotinas de ML.

3) Qui-quadrado mínimo

Isso minimiza a estatística do ajuste qui-quadrado da distribuição discreta, embora, às vezes, com conjuntos de dados maiores, as categorias finais possam ser combinadas por conveniência. Muitas vezes, funciona razoavelmente bem, e ainda tem algumas vantagens sobre o ML em situações específicas, mas geralmente deve ser iterado para convergência; nesse caso, a maioria das pessoas costuma preferir o ML.

Os dois primeiros métodos também são usados ​​para distribuições contínuas; o terceiro geralmente não é usado nesse caso.

Isso de forma alguma compreende uma lista exaustiva, e seria bem possível estimar parâmetros minimizando a estatística KS, por exemplo - e mesmo (se você ajustar a discrição), obter uma região de consonância conjunta a partir dela, se você estivesse tão inclinado. Como você está trabalhando em R, é muito fácil obter a estimativa de ML para o binômio negativo. Se sua amostra estava x, é tão simples quanto library(MASS);fitdistr (x,"negative binomial"):

> library(MASS) 
> x <- rnegbin(100,7,3)
> fitdistr (x,"negative binomial")
     size         mu    
  3.6200839   6.3701156 
 (0.8033929) (0.4192836)

Essas são as estimativas de parâmetros e seus erros padrão (assintóticos).

No caso da distribuição de Poisson, o MLE e o MoM estimam o parâmetro Poisson na média da amostra.

Se você quiser ver exemplos, publique algumas contagens reais. Observe que seu histograma foi feito com caixas escolhidas para que as categorias 0 e 1 sejam combinadas e não tenhamos as contagens brutas.

O mais próximo que posso imaginar, seus dados são aproximadamente os seguintes:

    Count:  0&1   2   3   4   5   6  >6    
Frequency:  311 197  74  15   3   1   0

Mas os grandes números serão incertos (depende muito da precisão com que as contagens baixas são representadas pelas contagens de pixels de suas alturas de barras) e pode haver vários desses números, como duas vezes esses números (as contagens brutas afetam os erros padrão, por isso importa se eles são sobre esses valores ou duas vezes maiores)

A combinação dos dois primeiros grupos torna um pouco estranho (é possível, mas menos direto se você combinar algumas categorias. Muitas informações estão nesses dois primeiros grupos, portanto, é melhor não deixar o histograma padrão agrupá-los )


* Outros métodos de ajuste de distribuições discretas são possíveis, é claro (é possível combinar quantis ou minimizar outras estatísticas de ajuste de qualidade, por exemplo). Os que menciono parecem ser os mais comuns.

Glen_b -Reinstate Monica
fonte
+1, informações legais. Por curiosidade, por que você costuma usar 1), em vez da numeração de marcação que o CV suporta (ou seja, - o 1.que leva ao recuo)?
gung - Restabelece Monica
1
@gung Principalmente, não penso nisso - prefiro minhas listas da maneira que as digito; mas quando penso nisso, acho que a edição dos números digitados pelo markdown para o que eles acham que deve ser muito chata (se eu digitar "36.", realmente não quis dizer "1.") ... então quando me ocorre usar "1". em vez de "1)", geralmente acabo digitando "1 \". explicitamente para impedi- lo de reconhecê-lo e fazer coisas que eu não pretendia. Fiquei tão sintonizado com esse comportamento nos 5 anos de reddit que nem sequer penso nisso - acabaria interferindo automaticamente por força do hábito.
Glen_b -Reinstala Monica
1
@gung Se o recuo fosse muito menor, eu provavelmente estaria inclinado a suportar o risco de renumeração e usá-lo. Tal como está, geralmente acho isso perturbador quando o vejo. Mas, nesse caso em particular, eu estava tentando fazê-los parecer mais com subtítulos, então provavelmente teria evitado isso mesmo que não me incomodasse com o comportamento. (Por outro lado, nas ocasiões em que outras pessoas decidem editar minhas listas para fazer o recuo, eu geralmente as deixo agradar a si mesmas. Se elas querem fazer com que pareça de uma certa maneira, elas podem, desde que não altere o significado.)
Glen_b -Reinstala Monica
Vou tentar me conter ;-).
gung - Restabelece Monica
2

Em uma edição, você forneceu alguns dados e adicionou uma nova pergunta:

"Esta é uma tabela de frequência dos dados de contagem. No meu problema, estou focando apenas em contagens diferentes de zero.

   Counts:     1    2    3    4    5    6    7    9   10 
Frequency:  3875 2454  921  192   37   11    1    1    2 

Alguém pode me dar um exemplo de como você realizaria o teste de adequação do qui-quadrado aqui? "

Isso leva a outros comentários:

  1. Ter zeros, mas querer ignorá-los, pode fazer sentido, mas geralmente as pessoas estatísticas e de assunto gostariam de ver uma boa razão para isso.

  2. Se você optar por ignorar os zeros, estará se colocando em um território difícil, pois não poderá simplesmente iniciar rotinas para, por exemplo, Poisson ou binômio negativo se você deixar de fora os zeros. Bem, você pode, mas as respostas estariam erradas. Você precisa de funções ou comandos de finalidade especial para distribuições como o Poisson truncado com zero ou o binômio negativo com truncamento zero. Isso é algo desafiador e precisa de uma leitura dedicada para esclarecer o que você está fazendo.

  3. Perguntar como fazer um teste do qui-quadrado sugere para mim que você realmente não entendeu o que eu disse muito brevemente e o @Glen_b disse com muito mais detalhes (e, na minha opinião, com muita clareza). Dividindo isso em dois:

    • Não pode haver teste do qui-quadrado sem frequências esperadas e não pode haver frequências esperadas sem estimativas de parâmetros. Pode ser que você esteja familiarizado com as rotinas de teste qui-quadrado nas quais a independência de linhas e colunas em uma tabela bidirecional é testada. Embora esse seja o teste do qui-quadrado mais encontrado nos cursos introdutórios, na verdade é muito incomum entre os testes do qui-quadrado em geral, pois o software usual em vigor faz a estimativa de parâmetros para você e, assim, obtém as frequências esperadas. Além disso, nos problemas mais complicados, como o seu, você precisa obter as estimativas de parâmetro primeiro.

    • Um teste do qui-quadrado não está errado, mas se você estimar parâmetros com a máxima probabilidade, é irrelevante, pois a rotina de ajuste fornece estimativas e erros padrão e permite que os testes sejam seguidos. @Glen_b já deu um exemplo em sua resposta.

Uma questão secundária é que seria mais claro ajustar seus histogramas para respeitar a discrição da variável e mostrar probabilidades, não densidades. As lacunas aparentes são apenas artefatos da opção de compartimento padrão, não respeitando a discrição da variável.

ATUALIZAÇÃO: A pergunta complementar sobre um teste do qui-quadrado foi excluída. No momento, estou deixando o número 3 acima de pé, caso outra pessoa siga o mesmo caminho de querer um teste do qui-quadrado.

Nick Cox
fonte
Eu tenho que ignorar os zeros, porque estou tentando modelar contagens ativas. Contagens = 0 é referido como contagens inativas.
User1769197
Essa é uma escolha substantiva. Observe que em muitos campos existem os chamados modelos de duas partes, nos quais você modela (em seus termos) ativo versus inativo e depois como ativo.
Nick13
Tentei ajustar os histogramas fazendo "plot (table (abc), digite =" h ")". Mas, eu não tenho certeza de como posso fazer com que ele mostre probabilidades
#
Eu não uso R, mas você pode obter conselhos sobre isso. Você pode precisar perguntar separadamente.
Nick Cox