MODFIT | R Documentation |
MODFIT
computes the adjusted \chi^2
degrees of freedom ratios (\chi^2/df
) introduced by Drasgow
et al. (1995) for the GGUM.
MODFIT(IP, precision = 4)
IP |
Object of class |
precision |
Number of decimal places of the results (default = 4). |
A list (an object of class MODFIT
) with four elements: The
results for singlets, doublets, triples, and a summary result.
This function computes the adjusted
\chi^2
degrees of freedom ratios
(\chi^2/df
) introduced by Drasgow et al. (1995). These
\chi^2
statistics are based on expected frequencies that
depend on the estimated item parameters and the distribution of
\theta
. The unadjusted statistic for item i
is
given by
\chi^2_i = \sum_{z=0}^C \frac{(O_{iz} - E_{iz})^2}{E_{iz}},
chisq_i = sum( (O_iz - E_iz)^2 / E_iz; z = 0, ..., C ),
with
E_{iz} = N\int P_{iz}(\theta)\varphi(\theta)d\theta.
O_{iz}
is the observed frequency of choosing answer z
for
item i
and \varphi(\theta)
is the standard normal
density. The equation above applies to single items ('singlets'). The
formula is easily extendible to pairs and triples of items. For a large
number of items, the function selects suitable subsets of doublets and
triples to perform the computations since its total number increases
quickly with test length (Drasgow et al., 1995).
The formula is adjusted to a sample size of 3,000, as follows (see also LaHuis et al., 2011):
\chi^2_i/df = \frac{3,000(\chi^2_i - df)}{N}+df,
where df
is a number of degrees of freedom that depends on the number
of singlets, doublets, and triplets.
As an heuristic, values of \chi^2/df
larger than 3 are
indicative of model misfit.
This function produces the same numerical results as the MODFIT program (Stark, 2001) for the GGUM.
Jorge N. Tendeiro, tendeiro@hiroshima-u.ac.jp
Drasgowetal1995GGUM
\insertRefLaHuisetal2011GGUM
\insertRefMODFITsoftwareGGUM
# For GUM:
# Generate data:
gen1 <- GenData.GGUM(400, 5, 3, "GUM", seed = 139)
# Fit the GUM:
fit1 <- GUM(gen1$data, 3)
# Compute the adjusted chi square degrees of freedom ratios:
modfit.res1 <- MODFIT(fit1)
modfit.res1$Singlets
modfit.res1$Doublets
modfit.res1$Triplets
modfit.res1$Summary
## Not run:
# For GGUM:
# Generate data:
set.seed(1); C <- sample(3:5, 10, replace = TRUE)
gen2 <- GenData.GGUM(2000, 10, C, "GGUM", seed = 156)
# Fit the GGUM:
fit2 <- GGUM(gen2$data, C)
# Compute the adjusted chi square degrees of freedom ratios:
modfit.res2 <- MODFIT(fit1)
modfit.res2$Singlets
modfit.res2$Doublets
modfit.res2$Triplets
modfit.res2$Summary
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.