Code Monkey home page Code Monkey logo

Comments (11)

patriciamar avatar patriciamar commented on June 12, 2024

Bockův (nominal response) model do sekce IRT models.

from shinyitemanalysis.

patriciamar avatar patriciamar commented on June 12, 2024

Muj stary kod (20.2.15):
Nominal response model (NRM)
and Nested logit model (2PLNRM, 3PLNRM)

neelegantni prepocet
for (i in 1:680)
dataNRM<-rbind(dataNRM,as.numeric(data[i,varsA]))
keyNRM <- c(4,2,1,4,2,3,3,3,4,1,1,4,1,1,3,1,3,3,3,4)

modely
mod1 <- mirt(dataNRM, 1, 'nominal')
mod2 <- mirt(dataNRM, 1, '2PLNRM', key=keyNRM)
mod3 <- mirt(dataNRM, 1, '3PLNRM', key=keyNRM)

from shinyitemanalysis.

adelahladka avatar adelahladka commented on June 12, 2024

Můj nový kód. Vypadá to, že 2PLNRM je to, co hledáme

library(difNLR)
library(mirt)
data("GMATtest", "GMATkey")
data <- GMATtest[, 1:20]
head(data)

data <- sapply(1:ncol(data), function(i) as.numeric(data[, i]))
head(data)
colnames(data) <- paste("Item", 1:ncol(data))
key <- as.numeric(as.factor(GMATkey))

# NOMINAL MODEL
fitNOM <- mirt(data, 1, "nominal")
coef(fitNOM)
itemplot(fitNOM, 3)

# 2PLNRM
fit2PLNRM <- mirt(data, 1, "2PLNRM", key = key)
coef(fit2PLNRM)
itemplot(fit2PLNRM, 3)

from shinyitemanalysis.

adelahladka avatar adelahladka commented on June 12, 2024

Tady je další kód, kdy ostatní položky jsou odhadovány pomocí 2PL modelu:

library(difNLR)
library(mirt)
data("GMATtest", "GMATkey")
key <- as.numeric(as.factor(GMATkey))
data <- sapply(1:20, function(i) as.numeric(GMATtest[, i]))
colnames(data) <- paste("Item", 1:ncol(data))
scoredGMAT <- key2binary(data, key)

# 2PL IRT model for scored data
mod0 <- mirt(scoredGMAT, 1)
# nominal model for item 1 for unscored data
i <- 1
itemtype <- rep("2PL", ncol(data))
itemtype[i] <- "nominal"
df <- scoredGMAT
df[, i] <- data[, 1]
head(df)

mod1 <- mirt(df, 1, itemtype = itemtype)

# plots of characteristic curves for item 1
itemplot(mod0, 1)
itemplot(mod1, 1)

A tady je ještě porovnání factor scores:
fs0 <- fscores(mod0)
fs1 <- fscores(mod1)

summary(data.frame(fs0, fs1))
plot(fs0 ~ fs1)

A tady pokud odhadnu všechny položky jako nominal
mod1 <- mirt(data, 1, itemtype = "nominal")

# plots of characteristic curves for item 1
itemplot(mod0, 1)
itemplot(mod1, 1)

fs0 <- fscores(mod0)
fs1 <- fscores(mod1)

plot(fs0 ~ fs1)

from shinyitemanalysis.

patriciamar avatar patriciamar commented on June 12, 2024

Díky za update! Zatím úplně nerozumím, proč se ta interpretace theta takto změní, když se fituje nominal pro všechny položky... Připadá mi to jako bug v mirtu(?) Budu se těšit na update.

from shinyitemanalysis.

adelahladka avatar adelahladka commented on June 12, 2024

Přidáno s omezením

from shinyitemanalysis.

patriciamar avatar patriciamar commented on June 12, 2024

Jeste nam sem pridam odkaz na diskusi k tomuto tematu, at ji tu mame: http://stackoverflow.com/questions/41671318/mirt-odd-results-for-nominal-model/41753852#41753852

from shinyitemanalysis.

patriciamar avatar patriciamar commented on June 12, 2024

Vypada to skvele, parada!
Jeste myslim, ze tady by uz stalo za to udelat zalozku Item, a vyobrazovat ICC pro polozky postupne. Nebo jen pridat pod graf ICC graf se sliderem, kde se budou vyobrazovat ICC polozek postupne.

from shinyitemanalysis.

patriciamar avatar patriciamar commented on June 12, 2024

Lze jiz prohlizet a testovat na https://shiny.cs.cas.cz/ShinyItemAnalysis/

from shinyitemanalysis.

adelahladka avatar adelahladka commented on June 12, 2024

Záložky pro IRT (nebo jen Bockův model) bych asi nechala až do další verze. Předpokládám, že se budeme pokoušet řešit DDF pomocí Bockova modelu a bude jednodušší to implementovat najednou.

from shinyitemanalysis.

patriciamar avatar patriciamar commented on June 12, 2024

Dobrá, ponechme tedy prozatím, jak je, grafy pro položky (záložku Items) pořešíme v příští verzi.

Zatím prosím Jakuba o zprovoznění stahování obrázků i v této záložce (IRT models with mirt/Bock's nominal model).

from shinyitemanalysis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.