与我的问题相关的答案没有回答我的问题。 答案是 p 值输出的格式不符合预期。 我的问题与 p 值无关。我关心的是自由度。 如果观察组为n,分布中未知参数的数量为r,则在卡方检验中,自由度应为n-r-1。但在 chisq.test 输出中,它始终是 n-1。 这是我的困惑。
我正在运行拟合优度的卡方检验,观察数据按照观察频率进行了很好的分组。 我假设数据服从正态分布 N(μ σ^2),而 μ 和 σ^2 未知。所以我使用他们的估计。因此,我计算出向量 p
中的概率和输入>x<-c(6,13,14,27,25,19,10,6) #observation freq
>p<-c(0.0505, 0.0874, 0.1533, 0.2088, 0.2088, 0.1533, 0.0874, 0.0505)
#probabilities from normal distribution
test_result<-chisq.test(x=x,p=p)
test_result
Chi-squared test for given probabilities
data: x
X-squared = 1.8468, df = 7, p-value = 0.9678
我的问题: 从输出来看,自由度是7(df=7),我知道因为数据分为8组所以df=8-1=7
但是,如果正态分布中的参数(μ 和 σ^2)很精确,那就完美了。在这种情况下,他们是未知的,我使用了他们的估计。自由度应该是8-2-1=5(有两个未知参数)
概率密度函数中有未知参数时如何进行卡方检验?
您所要求的对于“chisq.test”函数来说是不可能的,因为自由度是根据提供给函数的数据计算的,并且没有选项告诉函数调整该值。
您可以正常运行测试,就像您所做的那样,然后使用“pchisq()”重新计算 p 值并提供调整后的自由度。
pchisq(test_result$statistic, df=test_result$parameter - 2, lower.tail=FALSE)