티스토리 뷰
문항반응으로 만들 수 있는 구성요소(psychological construct)는 매우 많다.
여기서 구성요소란 심리학적 개념으로서, 예를 들어, 신경증, 동기, 사회적 불안 등 이런 개념들이 모두 구성요소에 해당한다.
하지만 이런 구성요소는 바로 측정할 수 없기에 잠재변인(latent variable)를 만들어 측정한다.
(앞에서 말했듯이 조작적 정의를 통해 (식욕부진-먹은 양 등) 측정한다.
이런 구성요소들은 범주형으로 만들 수도 있지만 연속형으로 간주한다.
예를 들어 불안 수준은 1, 2, 3, 4, 5라고 하면 이는 분명 범주형이지만, 사실 불안은 4와 5사이에도 있을 것이다. 그렇기에 이산형이라도 이렇게 연속선 상 위에 불안이 있다고 보면된다.
우리의 관심사가 무엇이든간에(우울, 불안, 일반 지능 등), 우리는 개인의 반응을 통해 문항과 현상을 각각 일치시키려고 한다.
예를 들면, 우리가 만든 문항("얼마나 자주 잠에서 깹니까?")과 반응("5번")을 매치시킨다고 보면 될 것 같다.
RASCH 모델의 개념적 발달
우리는 수학능력(mathmatics profiencies)을 직접 볼 수 없다(형태가 없고 추상적인 개념이기 때문이다). 그렇기에 우리는 행동을 통해 이 수학능력을 추론하려고 한다(수학 시험의 맞은 갯수 등).
우리는 5개의 문제(문항)를 학생들에게 내주고, 이를 통해 개인의 수학능력을 측정해보려고 한다.
위의 그림을 보면 사람과 문항이 제시되어 있다.
여기서 ①쪽으로 갈수록 쉬운 것이고 ⑤쪽으로 갈수록 어려운 문항이 된다.
이제 문항과 사람을 각각 글자로 나타낼 것이다.
이 문항(①~⑤)의 위치를 \(\delta\)로 나타내고 \(\delta_1 = -2, \delta_5=2\)로 나타낼 수 있다.
사람의 위치도 문자로 표시하는데 맨 위의 박스 A가 보일 것이다. 이는 \(\theta\)로 표현한다.
사람과 문항을 모두 같은 연속선상에 놓는 것은 어떻게 일반적인 사람이 문항에 반응할 수 있는지 비교할 수 있게해준다.
예를 들면, 왼쪽의 아이템이 낮은 수학적 능력을 나타낸다고 하면, 이 문항에 정확히 답하기 위해 적은 수학능력이 필요하다고 할 수 있다.
결과적으로 0에 위치한 사람은 맨 왼쪽 문항에 아마 정확히 대답할 확률이 높을 것이다.
왼쪽에서 2번째 문항(\(\delta_2\))에 대한 답을 맞출 확률은 맨 왼쪽보다는 적을 것이다.
반면에 3번에 위치한 사람이 4번의 문항을 맞추려고 하면 오답을 더 낼 가능성이 높을 것이다.
즉, 사람과 문항의 거리가 멀면 멀수록 정답을 맞추거나 틀릴지가 더 확실해진다. (쉬운건 더 잘맞추고, 어려운 건 더 못맞춘다고 생각한다)
만약 위치가 3일 때, 문항 3은 정확히 반응할 확률이 50:50이라는 것이다.
하지만 위치가 5이고, 문항의 난이도가 1이라면, 1을 맞출 확률은 더 높을 것이고, 반대로 사람의 위치는 1이고 문항의 난이도가 5라면 문항을 틀릴 확률은 높을 것이다. 결국 더 예상이 쉽다는 뜻이다.
그렇다면 사람의 위치가 증가함에 따라, 문항을 정확히 맞출 확률도 증가하는가?
실제로 그렇다고 한다. 위의 그래프를 보면 z점수가 증가함에 따라 정확한 답을 내놓을 확률도 증가한다.
이 분포는 알겠지만 정규분포를 누적해서 쌓은 것이다.
z값은 2라는 것은 평균으로 2표준편차 떨어져있다고 보면 된다.(매우 잘하는 학생)
실제 점수분포표를 보면
맨 위의 00000은 다 틀린 것이고 11111은 다 맞은 것을 가리키는 것 같다.
마치 확률변수표처럼 점수가 나온다.
맨 위에서 두번째를 보면 1번(쉬운 문항)은 맞추고, 다른 문항은 다 틀린 사람이 매우 많다.
그 아래를 차례로 보면 더 어려운 문항은 맞은 사람이 현저히 적어지는 것을 볼 수 있다.
그 이후도 마찬가지이다.
응답자가 2번에 위치할 때 2번까지는 맞춘 사람이 많다. 그 이후로 정확한 응답을 한 사람이 줄어들기 시작한다.
이러한 모델을 시그모이드 함수로 나타낼 수 있다.
$$ p(x) = \frac{e^z}{1+e^z}$$
위의 식은 가장 기본적인 시그모이드 함수이다. 우리는 여기서 응답자(\(\theta\))와 문항\(\delta\))를 사용하여 식을 만들자.
$$ p(x_j = 1 | \theta, \delta_j) = \frac{e^{(\theta-\delta_j)}}{1+e^{(\theta-\delta_j)}}$$
\(\theta-\delta_j\)는 응답자와 문항의 거리를 나타낸다. 위의 모델을 Rasch 모델이라고 부른다.
이 함수는 응답자의 위치와 정답의 위치의 차이를 0과 1의 확률로 반환한다.
예를 들면, 만약 응답자의 위치가 3이고, 문항의 위치도 3이라면
\(\frac{e^{(3-3)}}{1+e^{(3-3)}}\)이 되고, 이는 \(\frac{e^0}{1+e^0} = \frac{1}{2}\)가 되어 0.5가 된다. 즉 앞에서 말했듯이 맞출 확률이 0.5 틀릴 확률이 0.5가 된다.
또한 자신의 위치가 0이고, 문항의 위치가 1이라고 한다면,
\(P_j = \frac{e^{(0-1)}}{1+e^{(0-1)}} = 0.2689\)이다.
그렇다면 자신이 맞을 확률은 0.2689, 틀릴 확률은 0.7311이다.
이를 오즈비로 사용할 수 있는데, \(\frac{\text{틀릴 확률}}{\text{맞을 확률}} =\frac{0.7311}{0.2889} = 2.71\)이 나온다.
즉 틀릴확률이 거의 3배정도 많다는 것을 의미한다.
문항의 범위는 이론적으로는 \(-\infty, \infty)\)이지만 실제로 (-3,3)의 범위를 사용한다고 한다. 이 3은 실제로 3표준편차와 마찬가지로 99%의 범위를 커버한다. 3을 넘어서는 것은 1%이하라고 보면 된다.
$$ p(x_j = 1 | \theta, \delta_j) = \frac{e^{(\theta-\delta_j)}}{1+e^{(\theta-\delta_j)}}$$
여태다뤘던 이 공식으로 그리면 한 점이 나오고 이를 연결하면 그래프가 된다.
이 그래프는 문항 특성 곡선(item charactoristic curve) 혹은 문항 반응 함수(item response function)라고 한다.
Rasch모델은 \(\delta\)를 문항특성곡선의 변곡점 혹은 중간점으로 칭한다.
중간점의 값은 0.5이다. 그리고 그 중간점은 1보다 아래에 있다.
1모수 모형(The one-parameter model)
우리는 Rasch 모델을 보았다. 1모수 모형과 Rasch모델의 차이점을 봐보자.
위의 점에서 중간점(𝛿)은 -0.37이다. (아래의 그래프를 보자)
그리고 이때의 확률은 0.5로 보인다.
그래프를 보면 검은점은 실제 데이터를 가리키고 파선(---)은 추정된 Rasch그래프를 보인다. 하지만 실제 데이터에 비해 Rsch그래프가 일치하지 않는 것을 볼 수 있을 것이다. 즉 둘의 기울기가 다르다.
우리는 이 두개의 기울기가 다르기 떄문에 이를 맞춰주려고 한다.
우리는 이 식을 응답자의 위치(𝝷)-문항의 위치(𝝳)로 구했다(\(\theta - \delta\)).
이 값에 곱셈을 해주면 기울기가 달라질 것이다.
예를 들면 응답자가 3이고, 문항이 1이면 (3-1) =2였지만 2(𝝷-𝝳)= 4가 된다.
이런 방식으로 기울기를 조정해줄 수 있다.
이 때 (𝝷-𝝳)의 앞에 곱하는 수를 𝛼라고 하자.
그렇다면 기울기는 이제 𝛼(𝜃-𝛿)로 나타낼 수 있다.
𝛾=𝛼𝛿라고 해보자. (왜하는지는 모른다)
그러면 위의 𝛼(𝜃-𝛿) = 𝛼𝜃-𝛼𝛿=𝛼𝜃-𝛾이 된다.
𝛼𝜃-𝛾
이는 마치 일차방정식처럼 되었는데, 𝛾는 절편을 나타내고, 𝛼는 계수(기울기)를 나타내는 것으로 보인다.
그렇다면 문항의 위치를 나타내는 식은 \(\delta = - \frac{\gamma}{\alpha}\)가 된다.
𝛼는 직접적으로 기울기와 연관돼 있기 때문에, 𝛼
𝛼의 값을 바꿨더니 그래프가 바뀐 것을 볼 수 있다. 그리고 우리가 위에서 유도했던 일차방정식의 형태는 도함수처럼 생각할 수 있다. 즉 위 함수의 미분값으로도 볼 수 있는데, 기울기가 클수록 각 집단을 구분하는 능력이 커지는 것이다. 그렇기 때문에 𝛼를 문항 차별 모수(the item discrimination paramter)라고 한다.
그렇다면 왜 기울기가 크면 집단과 집단의 구분을 구분하는 능력이 커질까?
예를 들면 기울기(𝛼)가 2라고하고 절편(𝛾)=0이라고 해보자, 𝛼𝜃-𝛾의 값은 𝜃에 따라 바뀐다. 만약 \(\theta_1 =1, \theta_2=2\)라고 해보자. 그렇다면 기울기가 2일 때의 값은 2와 4이다.
반면 기울기가 4라면, 값은 4와 8이 나온다. 절대값의 차이가 4가 된다. 이는 분포에서 확률이 된다. 즉 1집단과 2집단을 구분할 수 있는 능력이 큰 것이다.
1모수 모형과 Rasch 모형
Rasch모델과 1모수 모형은 모두 𝛼라는 상수를 갖고 있다. 그러나 Rasch모델은 𝛼값이 1.0이고 1모수 모형은 이 상수가 1.0인건 아니다. 수학적으로 1모수 모형과 Rasch모형은 같기에 스케일링 작업을 한다면 서로 바뀔 수 있다.
1모수 모형과 Rasch 모형은 다른 철학적인 관점을 갖고 있는데, 1모수모형은 데이터를 모형에 잘 적합하려고 한다. 그렇기에 아마 𝛼값을 조절하여 데이터를 모형에 잘 적합시키려는 건지 모르겠다. 반면에 Rasch는 관심의 대상인 변수를 만드는 것이 목적이다.
모델의 가정들(Assumptions underlying the model)
1) 차원 가정(dimensionality assumption)
관찰된 반응 자료는 사람에 근거한(person-oriented) 잠재변인을 나타내는 것으로 본다.
(내 생각에는 수학능력점수는 그 사람의 수학 능력을 나타내는 것으로 본다는 것 같다)
그리고 이러한 가정은 1차원성 가정(unidemensionality assumption)으로도 간주되는데, 하나의 현상은 하나의 잠재변인의 함수로 정의된다. 수학능력을 측정하면 수학능력만 측정해야하지 언어능력까지 측정하는 것이면 안된다.
2) 문항의 독립성 가정
이문항은 조건부 독립성(conditional independence) 또는 지역 독립성(Local independence)
어떻게 한 사람이 질문에 반응하는가는 오직 그 사람의 잠재변인 위의 위치에 의해 결정된다. 다른 문항은 이 부분에 영향을 미치지 않는다.
예를 들면 1번 문항이 2번 문항에 영향을 미치지 않는 것이다.
차원 가정과 독립성 가정이 헷갈릴 수 있는데 차원 가정은 문항이 수학 능력만 측정해야지 문제를 읽을 때 어렵게 써놓아서 국어능력까지 같이 평가하면 안된다는 것이고, 문항의 독립성은 앞선 문항의 점화 혹은 힌트로 2번 문항에 영향을 끼치면 안된다는 것이다.
3) 함수 형태 가정(functional from assumption)
데이터가 모델에 맞는 특정형태의 함수를 따라야 한다. 위의 모형에서는 S자 형태의 함수를 따르고 있었다.
수학 테스트 데이터(An emprical data set: the mathematics data set)
우리는 이 수학능력(mathmatics proficiency)를 연속적인 잠재변수로 본다. 우리가 이 수학능력을 예시로 봤지만 수항능력 뿐 아니라 성격, 태도 등 다른 영역에서도 쓰일 수 있다. 또한 문항반응이론은 검사에 대한 형태(format)에 대해 가정을 두고 있지 않기 때문에 객관식, 주관식, 빈칸 채우기 등 여러 형태로 쓰일 수 있다.
개념적으로 응답자의 위치의 추정(Conceptually estimating an individual's location)
실질적으로 우리는 문항의 위치(𝛿)나 개인의 위치(𝜃) 를 둘다 모른다.
우리는 개인의 위치를 추정하고 싶은데, 우리는 응답자(\(\hat{\theta}\))의 위치를 먼저 추정해야 한다.
^ 기호는 추정값을 의미한다.
위의 그림에서 보듯이 문항1의 위치는 -1.9이다. 이를 표기하면 \(\delta_1 =-1.9)\)
추가적으로 이후의 문항들은 \(\delta_2 = -0.6, \delta_3=-0.25, \delta_4 = 0.30, \delta_5=0.45\)가 된다.
이 위치를 어떻게 추정했는지는 부록에 있다고 한다(어려워 보여서 나중에 한다).
즉 개념적으로만 이해한다면, 1번문항이 가장쉽고, 5번문항이 가장 어려운 것으로 볼 수 있다.
이제 개인의 위치를 추정하기 위해, 우리는 응답 패턴 중 하나를 임의로 골라보자.
여기서 골라진건 11000(앞의 2개는 맞고 뒤에 3개는 틀렸다)이다.
이 추정은 개념적으로 어떤 𝜃가 11000이란 패턴을 가장 만들 가능성이 높은지를 보는 것이다.
이 추정은 과정은 다음과 같이 나뉜다.
1) 확률을 구한다.
확률을 구하는 과정은 위에서 다룬 식 \(P=\frac{e^{(\theta-\delta_j)}}{1+e^{(\theta-\delta_j)}}\)를 통해 구한다.
2) 응답자 패턴의 확률을 구한다.
조건부 독립을 통해 구한다는데, 아마 11000이면, 내 생각에 다음과 같이 해서
(1번 문항을 맞출 확률 x 2번 문항을 맞출확률 x 3번 문항을 못맞출확률 x 4번 문항을 못맞출확률 x 5번 문항을 못맞출확률)구하지 않을 까 한다.
3) 𝜃 값의 범위에 대해 1번과 2번을 다시 수행하기
-> 뭔말인지 모르겠음
4) 3에서 했던 범위에서 패턴을 나타낼 가장 높은 위치 찾기
자 그럼 위의 단계를 걸쳐서 응답1을 할 확률(1=정답, 0=오답)을 찾아보자.
지금 예로 들 패턴은 11000이다. 응답자의 위치는 지금 -3.0에 있다.
1번 문항을 맞출 확률=\(P(x_1=1 | \theta = -3.0, \delta_1 = -1.9)=0.2497\)이다.
2번 문항을 맞출 확률=\(P(x_2=1 | \theta = -3.0, \delta_2 = -0.6)=0.2497\)이다.
그렇다면 5번 문항은 틀릴 확률이기에, 5를 맞출 확률 \p(x_5=0|\theta=-3.0,\delta_5=0.45)\)를 1에서 빼준다
\(1 - p(x_5=1)\)을 하면 0.9692가 나온다고 한다.
이 값을 최대 우도 추정도(Maximum likelihood)를 통해 구하면,
\(p(x_1=1) *p(x_2=1)*p(x_3=0)*p(x_4=0)*p(x_5=0)=0.0182\)가 나온다.
즉 -3.0 위치에 있는 사람이 1,2번을 맞고 나머지를 다 틀릭확률은 2%정도 된다는 것이다.
위의 최대 우도 추정 방법의 식을 쓰면 다음과 같다.
$$ L(x_i | \theta, \alpha, \delta) = \displaystyle{\prod_{j=1}^L} p_j^{x_{ij}} (1-p_j)^{(1-x_{ij})}$$
여기서 \(x_i\)는 반응패턴(ex, 11000)을 나타내고, \(x_{ij}\)는 i번째 사람의 j번째 문항에 대한 응답을 \(\delta\)는 문항의 위치에 대한 벡터를 나타낸다. 그리고 L은 검사에 대한 문항들의 수를 의미한다.
하지만 이 값은 베르누이 분포를 따르기 때문에 값이 매우작다. 이럴 때 로그 변환을 해주면 좋다고 한다.
여기서는 자연로그를 취해보자.
$$ \ln L(x_i | \theta, \alpha, \delta) = \displaystyle{\sum_{j=1}^L} (x_{ij} \ln (p_j) + (1-x_{ij}) \ln (1-p_j))$$
위의 공식을 사용하여 11000의 값에, 다른 응답자들의 패턴을 그래프화 해보자.
-0.85의 값에서 가장 높은 값이 나왔다.
이 위치에 있는 사람이 가장 11000의 응답을 낼 것이다.
그러면 우리가 2개를 맞추는 응답자의 패턴은 10개가 있었다.
(11000, 10100, 10010 ... 00101)
이 패턴들도 그래프화해보자
그래프에서 보듯이 모두 같은 곳에서 가장 높은 확률을 갖는다. 그러나 그 확률은 각각 다르다.
최대 우도 추정법의 몇몇 모수적 특성
우도는 최대점수(5점) 혹은 최저점수(0점)에서는 제공되지 않는다는 것을 안 사람도 있을 것이다(이 블로그에는 그 내용 없다. 부록에 있을듯?)
로그변환 전의 값과 로그변환후의 값과 매칭되는 값이 없기 때문에 최고점이나 최저점은 무한으로 발산을 한다고 한다. 그래서 0으로 가까워진다고 한다.
추정량과 정보의 표준오차(The standard error of estimate and information)
이 추정량에 대한 오류(error)를 측정하기 위해서 표준오차라는 것을 사용한다.
표준오차(standard deviation)이 클수록 더 많은 오류가 있는 것이고 추정된 값이 덜 확실한(certain) 것이다.
문항반응이론에서 사람의 위치를 SSE(standard error of estimate), \(\sigma_e (\hat{\theta})\)로 표기한다.
사실 \(\sigma_e(\theta)\)는 \(\sigma(\hat{\theta}|theta)\)의 줄임말이다.
이 분산(표준오차의 제곱)은 다음과 같이 나타낼 수 있다.
$$ \sigma_e^2(\hat{\theta}|\theta) = \frac{1}{\epsilon [\frac{\partial}{\partial \theta^2}] \ln L} = \frac{1}{\displaystyle{\sum_{j=1}^L} \frac{[p_j]^2}{p_j(1-p_j)}}$$
이게 분산을 구하는 방법이라는데 어떻게 유도되는지 잘 모르겠다.
(원래 분산이 '값-평균'의 제곱을 n으로 나눈 것으로 아는데 식이 특이하다)
솔직히 이 부분은 모르겠으니 더 똑똑해지면 쓰기로 하자.
'심리학 > 문항반응이론' 카테고리의 다른 글
[Basic of IRT using R] 4. The Test characteristic curve (0) | 2024.01.16 |
---|---|
[Basic of IRT using R] 3. Estimating Item Parameters (1) | 2024.01.14 |
[Basic of IRT using R] 2. Item Characteristic Curve Models (2) | 2024.01.11 |
[Basic of IRT using R] 1. The item Characteristic Curve (1) | 2024.01.09 |
1. Introduction to Measurement (0) | 2023.11.05 |
- Total
- Today
- Yesterday
- C/C++
- 데이터분석
- 일본어
- 윤성우
- C
- Python
- 일본어문법무작정따라하기
- 통계
- 통계학
- 여인권
- 열혈프로그래밍
- 파이썬
- stl
- 보세사
- 인프런
- 오블완
- 백준
- 뇌와행동의기초
- 심리학
- c++
- 류근관
- 사회심리학
- 인지부조화
- EBS
- K-MOOC
- 코딩테스트
- 회계
- jlpt
- 티스토리챌린지
- 일문따
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |