1 / 28

IRT

IRT. IRT . Remember the basics of IRT Individuals have many indicators of some underlying thing that we want to measure. Unknowns Latent “ability” (or ideology, or sophistication…) of the person Latent “difficulty” of the choices Latent discrimination of the question. IRT.

kasia
Télécharger la présentation

IRT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IRT

  2. IRT • Remember the basics of IRT • Individuals have many indicators of some underlying thing that we want to measure. • Unknowns • Latent “ability” (or ideology, or sophistication…) of the person • Latent “difficulty” of the choices • Latent discrimination of the question

  3. IRT • Basic set up is a big logit • You could, if you want, write out the Bugs code to do this • Or you could rely on the programs others have written

  4. IDEAL • Simon Jackman has written a nice package. • Part of the pscl library

  5. Command ideal(object, codes = object$codes, dropList = list(codes = "notInLegis", lop = 0), d = 1, maxiter = 10000, thin = 100, burnin = 5000, impute = FALSE, normalize = FALSE, meanzero = normalize, priors = NULL, startvals = "eigen", store.item = FALSE, file = NULL, verbose=FALSE)

  6. Ideal call the command • Object is an object of class rollcall • This is a specific kind of object • Binary data

  7. Roll call rollcall(data, yea=1, nay=0, missing=NA, notInLegis=9, legis.names=NULL, vote.names=NULL, legis.data=NULL, vote.data=NULL, desc=NULL, source=NULL)

  8. Roll call still • Data can be in two forms • Matrix with the rows corresponding to the subjects and columns the outcomes • List with an element named votes containing the matrix. • Yea. • Must be numeric • Code for a yea or success • Default is 1

  9. Roll call • Nay • A lot like yea • Numeric • Value for no/fail • 0 is default • Missing • Numeric or NA. • Default is NA

  10. Roll call • notInLegis • Numeric or NA • Code for not being in the legislature (test) when item is recorded • Legis.names • Vector of names of observations • Vote.names • Vector of names of votes/questions

  11. Roll call • legis.data a matrix or data.frame of covariates for each subject (party, seniority) • Must be the same number of rows as data • Vote.data a matrix of covariates specific to the items • Desc • String Characters describing the data • Source • A string indicating where the data came from

  12. Ideal • Codes • A list describing the types of voting decisions in the roll call matrix • Defaults to whatever is in the rollcall object • dropList • A list of voting decisions, legislators and or votes dropped from the analysis • d • The number of dimensions to estimate • Default is 1

  13. Ideal • Maxiter • Maximum number of iterations • Thin • Numeric positive integer. • How many iterations between recordings in the MCMC • Burnin • Impute • How to deal with missing data

  14. Normalize • Set it equal to mean zero and standard deviation of one • Priors • List of informative priors • Uninformative is NULL • Startvals • Starting values • Eigen or random • Don’t touch this.

  15. Store.item • Logical • Store the discrimination parameters? • File • String • File to write the output to. • Verbose • How much output do you want

  16. Example: senate data # LOAD SIMON'S PSCL PACKAGE library(pscl) ### LOAD DATA FROM THE 109TH SENATE data(s109) ### IDEAL COMMAND: # DATA 109TH SENATE # D INDICATES A SINGLE DIMENSION (PARTISAN CLEAVAGE) # NORMALIZE CONSTRAINS ESTIMATES TO MEAN 0, SD 1 FOR # IDENTIFICATION # STORE DISCRIMINATION PARAMETERS id1 <- ideal(s109, d=1, normalize=TRUE, store.item=TRUE, maxiter=500, burnin=100, thin=10, verbose=TRUE) summary(id1) plot.ideal(id1)

  17. Note that the info about the senators was saved previously in the data. • It is part of the ideal package, so there is no need to import it.

  18. data(s109) This command loads the data. This is a command for loading R data sets. Again, s109 is part of the package, so R knows where to find it. R code

  19. id1 <- ideal(s109, d=1, normalize=TRUE, store.item=TRUE, maxiter=500, burnin=100, thin=10, verbose=TRUE) Ideal is the command, the first thing is the data d determines the number of dimensions in the IRT model Normalize sets mean to one standard deviation to one. store.item keeps the discrim parameter Maxiter, burnin, and thin are intuitive Verbose means more output

  20. Number of Legislators: 101 Number of Votes: 477 Number of Dimensions: 1 Number of Iterations: 500 Thinned By: 10 Burn-in: 100 Ideal Points (Posterior Means), by Party Mean 2.5% 98% D: Dimension 1 -1.04 -1.47 -0.63 Indep: Dimension 1 -1.03 -1.03 -1.03 R: Dimension 1 0.87 0.20 1.34 Ideal Points, Dimension 1(sorted by posterior means): Mean Std.Dev. 2.5% 97.5% BOXER (D CA) -1.636 0.111 -1.817 -1.478 HARKIN (D IA) -1.468 0.070 -1.584 -1.367 KENNEDY (D MA) -1.448 0.054 -1.539 -1.340 CORZINE (D NJ) -1.406 0.075 -1.589 -1.301 LAUTENBERG (D NJ) -1.344 0.048 -1.420 -1.272 SARBANES (D MD) -1.329 0.052 -1.396 -1.216 KERRY (D MA) -1.328 0.045 -1.391 -1.250 MIKULSKI (D MD) -1.311 0.077 -1.433 -1.209 DURBIN (D IL) -1.296 0.060 -1.397 -1.168 REED (D RI) -1.257 0.062 -1.368 -1.151 CLINTON (D NY) -1.243 0.073 -1.379 -1.137 DAYTON (D MN) -1.238 0.043 -1.295 -1.126

  21. CMS example • Underlying latent variable: attention to the campaign • Indicators: Have you heard enough about CANDIDATE to form an opinion about him? • Candidates: • Reagan, Glenn, Kennedy, Mondale, Cranston, Anderson, Hollings, Askew, Jackson, Bush, Baker, McGovern, Dole, Hart, Bentson, Bumpers, Cuomo

  22. 99% heard of Reagan, Kennedy, Mondale • <10% heard of Bentson, Bumpers, Cuomo

  23. Step One: read in the data • Step Two: Declare it to be roll call data • cms3<-rollcall(cms2, yea=1, nay=0, legis.names=names) • Step Three: estimate! • irt1<-ideal(cms3, d=1, store.item=TRUE, maxiter=500, normalize=TRUE, burnin=100, thin=10, verbose=TRUE) • summary(irt1) • plot.ideal(irt1)

  24. IRT

  25. IRT • Note the scale on the Y axis—it is a proxy of time • Later in the campaign heard of more. • This is surprisingly easy.

  26. Saving the terms • There are a lot of things saved by ideal • n is the number of legislators • m is the number of roll calls • d is the number of dimensions • x is the sample ideal point matrix • beta is the matrix of discrimination parameters • xbar is the mean of the MCMC sample for each legislators • betabar is the mean of the MCMC sample for the discrimination parameters

More Related