Before jumping into a (partial, non-rigorous) explanation, let me point out that all of your denominator dfs are so large that there should be no practical difference between them. For any df greater than about 50, there's little practical difference between the $t$ distribution and the corresponding Normal distribution, or between the $F$ distribution and the corresponding (scaled) $\chi^2$ distribution -- unless you are doing something like estimating the 99.999% confidence intervals. For example, qnorm(0.75)
(the upper tail cutoff of a symmetric 95% interval for a standard Normal) is 1.959964, while qt(0.975,df=1000)
is 1.962339; changing the df to 10000 will make essentially no differencehardly affect the result. (The comparison for $F$/ vs. $\chi^2$ is almost identical, but slightly more annoying to compute because of the difference in scaling.)
You can play with lme
to get the classical estimate of the degrees of freedom (be aware that lme
's algorithmdf-calculation heuristic can fail badly for random-slope models ...)
dd <- expand.grid(subj=1:67,stim=1:50,dur=1:3)
dd$y <- rnorm(nrow(dd))
library(nlme)
anova(lme(y~1,random=~1|subj/dur/stim,data=dd))
## numDF denDF F-value p-value
## (Intercept) 1 9849 2.520658 0.1124
The df value here is 67349 ... one important thing you haven't told us is what fixed effects you are actually testing, and at what level they vary. I would guess that they don't actually vary the lowest level, so that in the classical case you would essentially be testing over a denominator based on the subject $\times$ duration SS.
I think the fact that the lowest-level variance (cd:dur:subj
) is zero in the high-df model is actually a good clue. No variance among stimuli within duration essentially means that the responses are more less independent, so you get closer to the full possible df for the model ...
It can't be a coincidence that the other df you are getting are near 67*27=1809, but I'm not sure where the 27 would come from ...
I would welcome more rigorous/better-informed answers, especially about what the df would be in the classical case ...