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.
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:
A escolha da distribuição binomial negativa para esse conjunto de dados é apropriada?
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)
fonte
Respostas:
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
fonte