Ajustando a distribuição binomial negativa a grandes dados de contagem


9

Eu tenho ~ 1 milhão de pontos de dados. Aqui está o link para o arquivo data.txt. Cada um deles pode ter um valor entre 0 e 145. É um conjunto de dados discreto. Abaixo está o histograma do conjunto de dados. No eixo x é a contagem (0-145) e no eixo y é a densidade.

fonte de dados : eu tenho cerca de 20 objetos de referência e 1 milhão de objetos aleatórios no espaço. Para cada um desses 1 milhão de objetos aleatórios, calculei a distância de Manhattan em relação a esses 20 objetos de referência. No entanto, eu considerei a menor distância entre esses 20 objetos de referência. Então, eu tenho 1 milhão de distâncias de Manhattan (que você pode encontrar no link para o arquivo fornecido no post)

Tentei ajustar as distribuições binomiais de Poisson e Negativas a esse conjunto de dados usando R. Eu achei o ajuste resultante das distribuições binomiais negativas parece razoável. Abaixo está a curva ajustada (em azul).

Objetivo final : Depois de ajustar adequadamente essa distribuição, gostaria de considerá-la uma distribuição aleatória de distâncias. Na próxima vez em que calcular a distância (d) de qualquer objeto a esses 20 objetos de referência, devo saber se o (d) é significativo ou apenas parte da distribuição aleatória.

insira a descrição da imagem aqui

Para avaliar a qualidade do ajuste, calculei o teste do qui-quadrado usando R com as frequências e probabilidades observadas que obtive do ajuste binomial negativo. Embora a curva azul se ajuste perfeitamente à distribuição, o valor de P retornado pelo teste do qui quadrado é extremamente baixo.

Isso me deixou um pouco confuso. Eu tenho duas perguntas relacionadas:

  1. A escolha da distribuição binomial negativa para esse conjunto de dados é apropriada?

  2. Se o valor P do teste do qui quadrado é tão baixo, devo considerar outra distribuição?

Abaixo está o código completo que eu usei:

# read the file containing count data
data <- read.csv("data.txt", header=FALSE)

# plot the histogram
hist(data[[1]], prob=TRUE, breaks=145)

# load library
library(fitdistrplus)

# fit the negative binomial distribution
fit <- fitdist(data[[1]], "nbinom")

# get the fitted densities. mu and size from fit.
fitD <- dnbinom(0:145, size=25.05688, mu=31.56127)

# add fitted line (blue) to histogram
lines(fitD, lwd="3", col="blue")

# Goodness of fit with the chi squared test  
# get the frequency table
t <- table(data[[1]])   

# convert to dataframe
df <- as.data.frame(t)

# get frequencies
observed_freq <- df$Freq

# perform the chi-squared test
chisq.test(observed_freq, p=fitD)

Eu vejo apenas duas perguntas. Houve um terceiro? Você diz que os dados "podem assumir um valor entre 0 e 145". Esse é um número possível de um total fixo (145)?
gung - Restabelece Monica

Outliers. Você vê uma cauda (ou, provavelmente, não a vê, porque existem apenas vários valores aqui) à direita. É por isso. E na verdade você pode ver - sua linha ajustada é tendenciosa por causa desses caras grandes à direita.
German Demidov 04/04

@ gung: obrigado pela sua resposta. Digitei errado, existem apenas duas perguntas. 145: não é uma correção possível total. É uma variável aleatória de valor máximo que pode levar.
user1275607

Por que é o valor máximo que a variável pode receber?
gung - Restabelece Monica

@ gung: bem, eu o encontrei após a amostragem por 1 milhão de vezes (e esse é o valor que encontrei).
user1275607

Respostas:


8

Em primeiro lugar, a bondade dos testes de aptidão ou testes para distribuições específicas geralmente rejeita a hipótese nula, considerando um tamanho de amostra suficientemente grande, porque quase nunca estamos na situação em que os dados surgem exatamente de uma distribuição específica e também levamos em consideração todos os aspectos relevantes. covariáveis ​​(possivelmente não medidas) que explicam outras diferenças entre sujeito / unidade. No entanto, na prática, tais desvios podem ser bastante irrelevantes e é sabido que muitos modelos podem ser usados, mesmo que haja alguns desvios das premissas distributivas (principalmente em relação à normalidade de resíduos em modelos de regressão com termos de erro normais).

Em segundo lugar, um modelo binomial negativo é uma opção padrão relativamente lógica para dados de contagem (que só podem ser ). Porém, não temos muitos detalhes e pode haver características óbvias dos dados (por exemplo, sobre como eles surgem) que sugerem algo mais sofisticado. Por exemplo, considerar as covariáveis-chave usando regressão binomial negativa pode ser considerado.0 0


Obrigado pela sua resposta. Então, eu vou manter a distribuição binomial negativa.
user1275607
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.