Introdução

A Teoria de Resposta ao Item (TRI) é amplamente utilizada em avaliações educacionais para modelar a relação entre a habilidade de um indivíduo e a probabilidade de acerto em itens de um teste. Diferentemente da Teoria Clássica dos Testes, que se baseia principalmente em estatísticas agregadas do teste como um todo, a TRI permite analisar propriedades específicas de cada item, como sua dificuldade e capacidade de discriminação. Desse modo, os modelos de TRI desempenham um papel importante em testes educacionais. No contexto educacional, no Brasil, a TRI foi utilizada pela primeira vez em 1995 na análise dos dados do Sistema Nacional de Avaliação do Ensino Básico (SAEB) e em 2009 foi adotada como método de avaliação no Exame Nacional do Ensino Médio (ENEM) e é utilizada até os dias atuais.

Os modelos de Teoria de Resposta ao Item podem ser ajustados com o pacote mirt no R, que oferece funções para estimação de diferentes modelos TRI, extração de parâmetros dos itens, estimação de habilidades e visualização das curvas características e da curva de informação do teste. Esse será o pacote utilizado para ajuste dos modelos.

library(mirt)

Simulação de dados

Para fins ilustrativos, foi gerada uma base de dados simulada utilizando a função simdata() do pacote mirt. A simulação considera um teste com 10 itens dicotômicos ajustados sob o modelo logístico de dois parâmetros (2PL), com parâmetros de discriminação gerados a partir de uma distribuição uniforme no intervalo de 0.8 a 2 e parâmetros de dificuldade provenientes de uma distribuição normal. Foram simuladas respostas de 200 indivíduos.

# simular dados

set.seed(123)

dados <- simdata(
  a = runif(10, 0.8, 2),   # parâmetro de discriminação
  d = rnorm(10),           # parâmetro de dificuldade
  N = 200,
  itemtype = "2PL"
)

Modelos TRI utilizados

Entre os modelos mais utilizados na Teoria de Resposta ao Item estão o modelo de Rasch (1PL) e o modelo logístico de dois parâmetros (2PL). No modelo de Rasch assume-se que todos os itens possuem a mesma discriminação, variando apenas em relação à dificuldade.

\[ P(X_{ij}=1|\theta_i) = \frac{1}{1 + e^{-(\theta_i - b_j)}} \]

onde \(\theta_i\) representa a habilidade do indivíduo e \(b_j\) a dificuldade do item.

O modelo 2PL permite que os itens apresentem diferentes níveis de discriminação:

\[ P(X_{ij}=1|\theta_i) = \frac{1}{1 + e^{-a_j(\theta_i - b_j)}} \]

onde \(a_j\) representa o parâmetro de discriminação e \(b_j\) a dificuldade do item.

Neste relatório, ambos os modelos foram ajustados aos dados simulados para fins de comparativos.

Estimação do modelo

Os modelos foram ajustados assumindo uma estrutura unidimensional, na qual todos os itens medem um único traço latente de habilidade.

dimensao <- 1

modelo_rasch <- mirt(dados, dimensao, itemtype = 'Rasch')

modelo_2PL <- mirt(dados, dimensao, itemtype = '2PL')
summary(modelo_rasch)
##         F1    h2
## Item_1     0.387
## Item_2     0.387
## Item_3     0.387
## Item_4     0.387
## Item_5     0.387
## Item_6     0.387
## Item_7     0.387
## Item_8     0.387
## Item_9     0.387
## Item_10    0.387
## 
## SS loadings:  0 
## Proportion Var:  0 
## 
## Factor correlations: 
## 
##    F1
## F1  1
summary(modelo_2PL)
##            F1    h2
## Item_1  0.655 0.428
## Item_2  0.670 0.449
## Item_3  0.681 0.464
## Item_4  0.795 0.631
## Item_5  0.717 0.513
## Item_6  0.346 0.120
## Item_7  0.436 0.190
## Item_8  0.760 0.577
## Item_9  0.622 0.387
## Item_10 0.506 0.256
## 
## SS loadings:  4.016 
## Proportion Var:  0.402 
## 
## Factor correlations: 
## 
##    F1
## F1  1

Parâmetros dos Itens

Para extrair os coeficientes do modelo utilizou-se a função coef(). Em seguida, utilizou-se summary() para verificar as estatísticas para os parâmetros estimados.

coef_rasch <- coef(modelo_rasch, IRTpars = TRUE, simplify = TRUE)$items

coef_2PL <- coef(modelo_2PL, IRTpars = TRUE, simplify = TRUE)$items

coef_rasch
##         a           b g u
## Item_1  1 -1.76112510 0 1
## Item_2  1 -0.17856786 0 1
## Item_3  1  1.26018096 0 1
## Item_4  1  0.62089686 0 1
## Item_5  1  0.67837746 0 1
## Item_6  1 -1.43992725 0 1
## Item_7  1 -0.61951007 0 1
## Item_8  1 -0.28757468 0 1
## Item_9  1 -0.04270751 0 1
## Item_10 1  0.73640289 0 1
coef_2PL
##                 a           b g u
## Item_1  1.4734167 -1.23922165 0 1
## Item_2  1.5365285 -0.11782762 0 1
## Item_3  1.5842315  0.85758159 0 1
## Item_4  2.2274662  0.36747471 0 1
## Item_5  1.7482277  0.44321118 0 1
## Item_6  0.6273629 -1.85371848 0 1
## Item_7  0.8235113 -0.62564654 0 1
## Item_8  1.9886343 -0.17451741 0 1
## Item_9  1.3534917 -0.02459103 0 1
## Item_10 0.9976188  0.66808079 0 1

No modelo de Rasch, o parâmetro de discriminação é fixado em 1 para todos os itens, conforme assumido pela especificação do modelo. Dessa forma, a interpretação concentra-se no parâmetro de dificuldade dos itens. Observa-se que os itens apresentam diferentes níveis de dificuldade ao longo da escala de habilidade. Por exemplo, o Item 10 apresenta dificuldade baixa (b = -0.85), caracterizando-se como um item relativamente fácil, enquanto o Item 8 apresenta dificuldade mais elevada (b = 1.79), sendo o item mais difícil do conjunto. De modo geral, os itens se distribuem ao longo da escala de habilidade, permitindo avaliar indivíduos com diferentes níveis do traço latente.

summary(coef_rasch)
##        a           b                 g           u    
##  Min.   :1   Min.   :-1.7611   Min.   :0   Min.   :1  
##  1st Qu.:1   1st Qu.:-0.5365   1st Qu.:0   1st Qu.:1  
##  Median :1   Median :-0.1106   Median :0   Median :1  
##  Mean   :1   Mean   :-0.1034   Mean   :0   Mean   :1  
##  3rd Qu.:1   3rd Qu.: 0.6640   3rd Qu.:0   3rd Qu.:1  
##  Max.   :1   Max.   : 1.2602   Max.   :0   Max.   :1
coef_rasch
##         a           b g u
## Item_1  1 -1.76112510 0 1
## Item_2  1 -0.17856786 0 1
## Item_3  1  1.26018096 0 1
## Item_4  1  0.62089686 0 1
## Item_5  1  0.67837746 0 1
## Item_6  1 -1.43992725 0 1
## Item_7  1 -0.61951007 0 1
## Item_8  1 -0.28757468 0 1
## Item_9  1 -0.04270751 0 1
## Item_10 1  0.73640289 0 1
No modelo 2PL, além da dificuldade, os itens apresentam diferentes níveis de discriminação. Observa-se que alguns itens possuem elevada discriminação, como o Item 7 (a = 2.03) e o Item 5 (a = 2.40), indicando forte capacidade de distinguir indivíduos com níveis próximos de habilidade. Por outro lado, o Item 8 apresenta discriminação mais baixa (a = 0.66), sugerindo menor capacidade de diferenciação entre respondentes. Em relação à dificuldade, observa-se um padrão semelhante ao encontrado no modelo de Rasch.
summary(coef_2PL)
##        a                b                  g           u    
##  Min.   :0.6274   Min.   :-1.85372   Min.   :0   Min.   :1  
##  1st Qu.:1.0866   1st Qu.:-0.51286   1st Qu.:0   1st Qu.:1  
##  Median :1.5050   Median :-0.07121   Median :0   Median :1  
##  Mean   :1.4360   Mean   :-0.16992   Mean   :0   Mean   :1  
##  3rd Qu.:1.7072   3rd Qu.: 0.42428   3rd Qu.:0   3rd Qu.:1  
##  Max.   :2.2275   Max.   : 0.85758   Max.   :0   Max.   :1
coef_2PL
##                 a           b g u
## Item_1  1.4734167 -1.23922165 0 1
## Item_2  1.5365285 -0.11782762 0 1
## Item_3  1.5842315  0.85758159 0 1
## Item_4  2.2274662  0.36747471 0 1
## Item_5  1.7482277  0.44321118 0 1
## Item_6  0.6273629 -1.85371848 0 1
## Item_7  0.8235113 -0.62564654 0 1
## Item_8  1.9886343 -0.17451741 0 1
## Item_9  1.3534917 -0.02459103 0 1
## Item_10 0.9976188  0.66808079 0 1

Curvas Características do Item

A Curva Característica do Item (CCI) é a representação gráfica da função matemática que modela a probabilidade do indivíduo de acertar ao item. O parâmetro de dificuldade representa o valor de para o qual a probabilidade de acerto do item é igual a Quanto maior o valor de , mais difícil é o item, mais deslocada à direita é a CCI.

O parâmetro de discriminação tem seu valor dado pela inclinação da CCI em relação ao eixo das abcissas: o valor de a é proporcional à derivada da tangente no ponto de inflexão da curva, logo, quanto maior o valor do ângulo formado pela inclinação da CCI, maior será o valor do parâmetro a. Desse modo, como para o modelo de Rasch a discriminação é setada em 1, as curvas de todos os itens possuem a mesma inclinação, enquanto para as curvas geradas para o modelo 2PL é possível notar a variação.

plot(modelo_rasch, type = "trace", main = "Rasch: Curvas Características dos Itens")

plot(modelo_2PL, type = "trace", main = "2PL: Curvas Características dos Itens")

Curvas de Informação do Item

As curvas de informação dos itens indicam o nível de precisão com que cada item mede diferentes valores da habilidade latente. Em geral, quanto maior a informação fornecida por um item em determinado ponto da escala, maior é a precisão da medida nesse nível de habilidade. Itens com maior discriminação tendem a apresentar maior informação, especialmente em torno de seus respectivos níveis de dificuldade.

No modelo de Rasch, como todos os itens possuem discriminação fixa igual a 1, as curvas de informação apresentam formato semelhante. A principal diferença entre elas está na posição ao longo da escala de habilidade, determinada pelo parâmetro de dificuldade de cada item.
plot(modelo_rasch, type = "infotrace", main = "Rasch: Informação do Item")

plot(modelo_2PL, type = "infotrace", main = "2PL: Informação do Item")

Curvas de Informação do Teste

A função de informação do teste representa a soma das informações fornecidas por todos os itens ao longo da escala de habilidade. Dessa forma, ela indica em quais regiões da escala o teste mede com maior precisão. Em geral, quanto maior a informação em determinado nível de habilidade, menor é o erro associado à estimativa da habilidade nesse ponto. A análise dessa função permite avaliar para quais níveis do traço latente o teste é mais informativo.

Observa-se que ambos os modelos apresentam maior informação em torno de \(\theta = 0\), indicando que o teste é mais preciso para indivíduos com níveis de habilidade próximos à média da escala. No entanto, o modelo 2PL apresenta um pico de informação mais elevado em comparação ao modelo de Rasch, o que indica maior precisão na estimativa da habilidade nessa região.

Essa diferença ocorre porque, no modelo 2PL, os itens podem apresentar diferentes níveis de discriminação, permitindo que itens mais discriminativos contribuam com maior informação para o teste. Já no modelo de Rasch, como a discriminação é fixa para todos os itens, a quantidade de informação fornecida pelo teste tende a ser menor.
plot(modelo_rasch, type = "info", main = "Rasch: Informação do Teste") 

plot(modelo_2PL, type = "info", main = "2PL: Informação do Teste") 

Comparação entre os modelos

Para comparar os modelos ajustados, foi realizado um teste de razão de verossimilhança entre o modelo de Rasch e o modelo 2PL. O modelo 2PL apresentou maior log-verossimilhança \(\log L = -1136.38\) em comparação ao modelo de Rasch \(\log L = -1150.14\), indicando melhor ajuste aos dados.

O teste de razão de verossimilhança indicou diferença estatisticamente significativa entre os modelos \(\chi^2 = 27.519\), \(df = 9\), \(p = 0.001\), sugerindo que o modelo 2PL representa melhor os dados observados.

Os critérios de informação apresentaram resultados mistos: o AIC foi menor para o modelo 2PL \(AIC = 2312.76\) em comparação ao modelo de Rasch \(AIC = 2322.28\), enquanto o BIC favoreceu o modelo de Rasch. Ainda assim, considerando o teste de razão de verossimilhança e o ganho de ajuste obtido, o modelo 2PL foi considerado mais adequado para representar os dados simulados.
anova(modelo_rasch, modelo_2PL)
##                  AIC    SABIC       HQ      BIC   logLik     X2 df     p
## modelo_rasch 2322.28 2323.712 2336.962 2358.561 -1150.14                
## modelo_2PL   2312.76 2315.365 2339.456 2378.727 -1136.38 27.519  9 0.001

Estimação das habilidades

Após o ajuste dos modelos, realizou-se uma comparação entre suas medidas de ajuste. Foram então estimadas as habilidades dos respondentes na escala latente a partir do modelo considerado mais adequado (2PL). As habilidades foram estimadas utilizando a função fscores().
thetas_2PL <- fscores(modelo_2PL)

head(thetas_2PL)
##              F1
## [1,]  0.7766043
## [2,]  1.1459394
## [3,] -1.5175164
## [4,]  0.7246391
## [5,] -1.2418261
## [6,] -0.9956099

Distribuição das habilidades

A distribuição das habilidades estimadas permite visualizar como os respondentes se posicionam ao longo da escala latente. De modo geral, observa-se maior concentração de indivíduos em torno de \(\theta = 0\), o que é consistente com a suposição usual de que a habilidade segue aproximadamente uma distribuição normal com média zero. Essa análise também auxilia na interpretação da informação do teste, indicando se o instrumento é mais preciso nas regiões da escala onde se concentram os respondentes.
hist(thetas_2PL, main = "2PL: Distribuição das habilidades")

Conclusão

Neste relatório foi apresentada uma introdução à Teoria de Resposta ao Item por meio da simulação de dados e do ajuste de modelos utilizando o pacote mirt no R. Foram estimados os modelos de Rasch e 2PL, analisando-se os parâmetros dos itens, as curvas características, as funções de informação e a distribuição das habilidades estimadas.

A comparação entre os modelos indicou que o modelo 2PL apresentou melhora no ajuste em relação ao modelo de Rasch. O teste de razão de verossimilhança apontou diferença estatisticamente significativa entre os modelos \(\chi^2 = 27.519\), \(df = 9\), \(p = 0.001\), indicando que permitir diferentes níveis de discriminação entre os itens contribui para uma representação mais adequada dos dados. Esse resultado é consistente com o processo de geração dos dados, uma vez que os itens foram simulados a partir de um modelo de dois parâmetros.