Anpassen der negativen Binomialverteilung an Daten mit großer Anzahl

9

Ich habe ~ 1 Million Datenpunkte. Hier ist der Link zur Datei data.txt. Jeder von ihnen kann einen Wert zwischen 0 und 145 annehmen. Es handelt sich um einen diskreten Datensatz. Unten ist das Histogramm des Datensatzes. Auf der x-Achse ist die Zählung (0-145) und auf der y-Achse ist die Dichte.

Datenquelle : Ich habe ungefähr 20 Referenzobjekte und 1 Million zufällige Objekte im Raum. Für jedes dieser 1 Million zufälligen Objekte habe ich die Manhattan-Entfernung in Bezug auf diese 20 Referenzobjekte berechnet. Ich habe jedoch nur die kürzeste Entfernung zwischen diesen 20 Referenzobjekten berücksichtigt. Ich habe also 1 Million Manhattan-Entfernungen (die Sie im Link zur Datei finden, der in der Post angegeben ist).

Ich habe versucht, die Poisson- und die negative Binomialverteilung mit R an diesen Datensatz anzupassen. Ich fand die Anpassung, die sich aus den negativen Binomialverteilungen ergibt, vernünftig. Unten ist die angepasste Kurve (in blau).

Endziel : Sobald ich diese Verteilung angemessen angepasst habe, möchte ich diese Verteilung als zufällige Verteilung der Entfernungen betrachten. Wenn ich das nächste Mal den Abstand (d) eines Objekts zu diesen 20 Referenzobjekten berechne, sollte ich wissen können, ob (d) signifikant oder nur ein Teil der Zufallsverteilung ist.

Geben Sie hier die Bildbeschreibung ein

Um die Güte der Anpassung zu bewerten, berechnete ich den Chi-Quadrat-Test unter Verwendung von R mit den beobachteten Häufigkeiten und Wahrscheinlichkeiten, die ich aus der negativen Binomialanpassung erhalten habe. Obwohl die blaue Kurve gut zur Verteilung passt, ist der P-Wert, der aus dem Chi-Quadrat-Test zurückkehrt, extrem niedrig.

Das hat mich ein bisschen verwirrt. Ich habe zwei verwandte Fragen:

  1. Ist die Wahl der negativen Binomialverteilung für diesen Datensatz angemessen?

  2. Wenn der P-Wert des Chi-Quadrat-Tests so niedrig ist, sollte ich eine andere Verteilung in Betracht ziehen?

Unten ist der vollständige Code, den ich verwendet habe:

# 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)
user1275607
quelle
Ich sehe nur 2 Fragen. Gab es einen dritten? Sie sagen, die Daten "können einen Wert zwischen 0 und 145 annehmen". Ist dies eine Zahl einer festen möglichen Summe (145)?
Gung - Reinstate Monica
Ausreißer. Sie sehen rechts einen Schwanz (oder höchstwahrscheinlich nicht, weil es hier nur mehrere Werte gibt). Deshalb. Und tatsächlich können Sie sehen - Ihre angepasste Linie ist aufgrund dieser großen Typen auf der rechten Seite voreingenommen.
Deutsch Demidov
@gung: danke für deine antwort. Ich habe es falsch geschrieben, es gibt nur zwei Fragen. 145: ist keine fix mögliche Summe. Es ist ein Maximalwert, den eine Zufallsvariable annehmen kann.
user1275607
Warum ist es der Maximalwert, den die Variable annehmen kann?
Gung - Reinstate Monica
@gung: Nun, ich habe es gefunden, nachdem ich 1 Million Mal probiert habe (und das ist der Wert, den ich gefunden habe).
user1275607

Antworten:

8

Erstens lehnt die Güte von Fitnesstests oder Tests für bestimmte Verteilungen die Nullhypothese bei einer ausreichend großen Stichprobengröße in der Regel ab, da wir uns kaum in einer Situation befinden, in der Daten genau aus einer bestimmten Verteilung stammen und wir auch alle relevanten Faktoren berücksichtigt haben (möglicherweise nicht gemessene) Kovariaten, die weitere Unterschiede zwischen Subjekt / Einheiten erklären. In der Praxis können solche Abweichungen jedoch ziemlich irrelevant sein, und es ist bekannt, dass viele Modelle verwendet werden können, auch wenn es sich um Abweichungen von Verteilungsannahmen handelt (am bekanntesten in Bezug auf die Normalität von Residuen in Regressionsmodellen mit normalen Fehlertermen).

Zweitens ist ein negatives Binomialmodell eine relativ logische Standardauswahl für Zähldaten (die nur ). Wir haben jedoch nicht so viele Details und es könnte offensichtliche Merkmale der Daten geben (z. B. in Bezug darauf, wie sie entstehen), die auf etwas Anspruchsvolleres hindeuten würden. Beispielsweise könnte die Berücksichtigung von Schlüsselkovariaten unter Verwendung einer negativen binomialen Regression in Betracht gezogen werden.0

Björn
quelle
Danke für deine Antwort. Also werde ich mich an die negative Binomialverteilung halten.
user1275607