約100万のデータポイントがあります。ここにファイルdata.txtへのリンクがあります。それらのそれぞれは0から145までの値を取ることができます。これは離散データセットです。以下は、データセットのヒストグラムです。X軸はカウント(0-145)であり、Y軸は密度です。
データのソース:空間に約20の参照オブジェクトと100万のランダムオブジェクトがあります。これらの100万個のランダムオブジェクトのそれぞれについて、これらの20個の参照オブジェクトに対してマンハッタン距離を計算しました。しかし、私はこれら20の参照オブジェクトの中で最短距離のみを考慮しました。だから私は100万のマンハッタン距離を持っています(あなたはポストで与えられたファイルへのリンクで見つけることができます)
Rを使用して、ポアソン分布と負の2項分布をこのデータセットに適合させようとしました。負の2項分布から生じる適合は妥当であることがわかりました。以下は、フィットした曲線です(青色)。
最終目標:この分布を適切にフィッティングしたら、この分布を距離のランダム分布と見なしたいと思います。次回、任意のオブジェクトからこれらの20個の参照オブジェクトまでの距離(d)を計算すると、(d)が有意であるか、ランダム分布の一部であるかを知ることができます。
適合度を評価するために、負の二項適合から得られた観測頻度と確率を使用して、Rを使用してカイ2乗検定を計算しました。青い曲線は分布にうまく適合していますが、カイ2乗検定から戻るP値は非常に低くなっています。
これは私を少し混乱させました。関連する質問が2つあります。
このデータセットの負の二項分布の選択は適切ですか?
カイ2乗検定のP値が非常に低い場合、別の分布を検討する必要がありますか?
以下は私が使用した完全なコードです:
# 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)