duckmayr / gpirt Goto Github PK
View Code? Open in Web Editor NEWProvides an MCMC sampler and related tools for a Gaussian Process IRT model
Provides an MCMC sampler and related tools for a Gaussian Process IRT model
Right now we're just dealing with simulated data to make sure we get everything working well. However, once we want to use this on real data, we'll need to deal with missingness. This should be fairly simple to set up (the key trick to note is that an NA
from R should show up as INT_MIN
on the C++ side), but is not a priority yet.
Since the sampler takes a while, it would be nice to have progress updates while the function is running.
If we use a probit likelihood rather than logit, we can eliminate the step of sampling f* and instead deal with closed-form 1-dimensional integrals. This will also entail changing our response_matrix()
function to put things in {0, 1, NA} rather than {-1, 1, NA}.
Drawing the f* values individually rather than all at once should greatly speed up the algorithm.
We use Armadillo, which uses OpenMP. This has historically been a problem for Macs, but can be easily dealt with using a configure script -- we need to set this up.
Right now the R interface is directly exported using a Roxygen tag in the C++ code. It would be more helpful if that were hidden and a new R interface added, so that, e.g., users didn't have to pre-process their response data, but could pass more arbitrary data structures to the R interface that could clean up some of that stuff before calling the C++ sampling function. See as an example the approach taken for the MC3 sampler in bggum
:
https://github.com/duckmayr/bggum/blob/master/R/ggumMC3.R
https://github.com/duckmayr/bggum/blob/master/src/ggumMC3.cpp
So far I've been focused on making sure we had a good handle on how the sampler was going to work and the approach to a few issues we were going to take, but we really need to get tests set up for our existing code and make sure new incoming code is covered by tests.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.