Comments (3)
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.
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.
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)
- parse_quosure() was soft-deprecated in rlang 0.2.0 HOT 2
- Multivariate mixed response feature? HOT 3
- Select all that apply type questions HOT 2
- could not find function "run_id" HOT 8
- Examples contain syntax errors HOT 3
- Installation errors HOT 1
- Covariates specific to one person HOT 3
- Function for extracting parameters HOT 1
- Seed and ensuring replicability HOT 1
- Installing problem HOT 6
- Multidimensions HOT 2
- Error running id_estimate() HOT 15
- Generalized Graded Unfolding Model HOT 2
- Installation problem - rlang? HOT 8
- Ordinal IRT not running HOT 23
- Can't install because of deprecated function "rlang::parse_quosure" HOT 1
- Outdated Syntax Error HOT 1
- How to use 2PL & GRM on different items in same model? HOT 1
- Duplicate names error with example in vignette HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from idealstan.