Giter VIP home page Giter VIP logo

Comments (3)

PatrickJEdwards avatar PatrickJEdwards commented on June 26, 2024

After some additional thought and internet searching on the second issue, I realized that the cutpoints are the response category-specific difficulty parameters. Is this true for the graded response models?

If so, then that raises an additional question for you. Why do you use reg_diff in the following line of code to calculate the non-missing inflated midpoints (lines of indifference)?

reg_mid <- (reg_diff+cuts[[c]])/reg_discrim

In fact, I'm struggling to understand the role of the reg_diff parameter generally in the context of the graded response model. Any clarification on this additional point would be much appreciated.

from idealstan.

saudiwin avatar saudiwin commented on June 26, 2024

hi @PatrickJEdwards - thanks for all these Qs, and I'll do my best to help you understand the package. the GRM does add some complexity as there are varying intercepts/cutpoints for each item (difficulties). When I wrote the package, this was not easy to code because Stan did not have varying-length arrays. It does now, and I could refactor, but that's a project for the future.

In any case, this model does work and it should have all the info you need. What would help me though is if you could share some subset of your data so I can see what you are doing and run it myself. Or perhaps you can generate/replace with fake data if you can't share it.

In response to your second Q, the GRM is parameterized by having C cutpoints for J items, so there is an array/matrix of dimension C x J. Each item also has an intercept, which is essentially the difficulty mentioned above. The actual difficulty is the result of intercept - cutpoint c for level c, which the code above is inverting to get the midpoint. (of course if you find a bug in the code, am happy to fix, but it looks correct).

from idealstan.

PatrickJEdwards avatar PatrickJEdwards commented on June 26, 2024

Hi @saudiwin, thank you for the prompt reply! Thank you for answering my questions and clearing things up for me.

Attached is an anonymized subset of my data: idealstan_GithubExampleData_subset.csv

I believe the following code would reproduce the error:

#Create Danish GAL-TAN `idealstan` object:
idealstan_object <- id_make(
  score_data = Nat_DAN_IRT_Data_long_GALTAN,
  person_id = "person_id",
  item_id = "item_id",
  time_id = "time_id",
  group_id = "group_id",
  model_id = "model_id",
  unbounded = FALSE,
  outcome_disc = "outcome_disc",
  ordered_id = "ordered_id"
)

#Specify `idealstan` model with random-walk prior and PRE-FIXED CONSTANTS:
idealstan_output_PREFIX <- id_estimate(
  idealdata = idealstan_object,
  model_type = 5,
  vary_ideal_pts = "random_walk",
  fixtype = "prefix",
  const_type = "items",
  restrict_ind_high = "61",
  restrict_ind_low = "34",
  ncores = parallel::detectCores(),
  grainsize = 1,
  nchains = 4,
  id_refresh = 10,
  time_var = 1, #Default=10. Lower values = LESS conservative prior.
  restrict_var = F
)

#Estimate item parameters:
items_summary <- summary(idealstan_output_PREFIX, pars = "items")

#Should produce error: 
#`Error: Can't find the following variable(s) in the output: steps_votes`

from idealstan.

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.