Original link:http://tecdat.cn/?p=23068 

Rasch analysis is an analytical method to obtain objective, most basic, cumulative measurements (both standard errors in the analysis model and quality control such as fitted statistics), and is suitable for the analysis of data obtained through randomly-observed ordered, hierarchical reactions.

How does the Rasch model process data?

In the Rasch model, the researchers used probability estimates to model the answer (right/wrong) to a specific question, and proposed a function that included both the person and the question parameters. The earliest model expressed the probability of correct answer as a logistic function to investigate the difference between human parameters and problem parameters.

To use this model, a few conditions must be met:

  1. The data type should be ordered data, such that three is taller than four, four is taller than five, and so on.
  2. Unlike other statistical models, Rasch wanted to achieve the constant effectiveness of the measurement tool, regardless of the context, regardless of the question, regardless of who was taking part. In other words, its goal is to get data that fits the model. It’s not just about describing a data set, it’s not about revising the parameters and then accepting or rejecting the parameters based on the fit of the model and data.

The Rasch model for R language extensions

About the main features of Rasch.

Rasch is parsed and objects are generated

  • Person.parameter (drmobj) generates objects of the PPAR class.
  • Draw charts from DRM objects: plotPimap (), plotICC(), plotJoinTicc ()
  • Plotting a chart from a PPAR object: plot()
  • Extract information from DRM objects: coef(), vcov(), confint(), logLik(), model.matrix()
  • Extracting information from PPAR objects: confInt(), logLik()
  • The hierarchy of ERM objects

PlotJoinTicc () only works for DRM (binary RM), object LRtest() works for DRM and RM objects, and so on.

Fitting the RM

> rm.res

Default is (datamatrix, sum0 = TRUE, other options).

SUM0 represents a constraint (for estimatability). True summs to zero and FALSE sets the first item to zero.

The output gives the difficulty parameter.

Constraints and design matrices

> model.matrix

> model.matrix(sum0 = FALSE))


> summary(rm.res)


Extracting information

Parameter estimation of the project

> coef

Variance-covariance matrix of item parameter estimates

> vcov

The confidence interval of the project parameter estimate

> confint

Conditional logarithmic likelihood


Draw the ICCs

> plot(res)

Draw a single ICC

> plot( subset = 3)

Draw the ICCs

> plotICC(rm.res, item.subset = 1:4, ask = F, empICC = list("raw"),
+ empCI = list(lty = "solid"))

Draw a people-problem diagram

> plotPImap(rm.res)

Human parameter estimation


If NA is present in the data, different people’s parameters are estimated for each group of NA patterns.

Results of human parameter estimation method

> logLik

> confint



Note: confint(pp) gives the number for all subjects and outputs the confidence interval for each NA group if NA is present in the data.

Is a parameter estimation graph

> plot(pp)

The most popular insight

1. Application case of multiple Logistic Logistic regression in R language

2. Implementation of Panel Smooth Transfer Regression (PSTR) analysis case

3. Partial least squares regression (PLSR) and principal component regression (PCR) in MATLAB

4. Case study of R language Poisson regression model

5. Hosmer-Lemeshow goodness of fit test in R language regression

6. Realization of Lasso regression, Ridge Ridge regression and Elastic Net model in R language

7. Logistic Logistic regression was realized in R language

8. Python uses linear regression to predict stock prices

9. How does R language calculate IDI and NRI indexes in survival analysis and Cox regression