LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

Rでやる項目反応理論 -応用失敗編-

Posted at

はじめに

qiitaで記事を書くのは初めてです。不手際等あるかもしれませんが優しい目で見守ってください。
項目反応理論というのはテスト理論の1つでして項目への応答データから項目の特性を推定するもので、そこから学力テストの問題の分析・回答者の分析などに主に使わるものです。
それの応用である展開モデルを使った項目反応理論を動かしてみます(したかった)。
※日本語で説明されているページが見つからなかったので表現等間違っているところがあることがあるかもしれません。ご了承ください。

前準備

本記事ではR言語を用いてパッケージの一つであるScoreGGUMというものを使い展開モデルの項目反応理論を実現します。
実行環境:R, Rstudio

パッケージ

Rにはパッケージというものがございまして、めんどくさい計算などを有志の方がパッケージ化して頂いてるものが多いです。それを使うことによって簡単に計算ができます。
パッケージのインストール方法としては、
install.packages("package_name")をR起動中にターミナルで入力したり、Rstudioを使っている場合はもっと簡単にできます。
また、パッケージをRプログラム内で利用する場合は、Rstudio右側にあるタブからpackagesを選び、使いたいパッケージ名にチェックを入れることが必要です。

ScoreGGUMパッケージのインストール

ScoreGGUMパッケージをインストールします。
1.ターミナル上でinstall.packages("ScoreGGUM")を実行します。
2.Rstudio右側にあるタブからpackagesを選び、ScoreGGUMを探しチェックを入れます。
これにより、パッケージが利用できるようになりました。
また、library("ScoreGGUM")をRファイル内のパッケージを使う前の部分に記述する必要があります。

なぜScoreGGUMを使うのか

一般的な項目反応理論はロジスティック曲線を用いて右肩上がりのグラフになります。
しかし、項目反応理論の教育以外への応用を考えるとそのままそれを使うのは適しているとは言えません。
なのでグラフが山型になるものを使おうというのが展開モデルとなります。展開モデルの一番ジェネラルなものがGGUMモデル らしいです。こちらの英記事から
GGUMをRで実現するのに適している(と思われる)のがScoreGGUMパッケージ(公式マニュアル)です。

read.GGUMで項目応答データを読み込む

read.GGUM("ファイル名","項目数", "項目ごとの重み付け", model=8 ) という関数を使うと項目応答データを読み込むことができます。
- ファイル名:ファイル名です
- 項目数:応答データの項目数(テストにおける問題数)です。
- 項目ごとの重み付け:項目に重み付けをすることができます。(全部均一なら1でOK?)
- model=8:数字変えたら違うモデルも使える?

ここまではよかった・・・

いざファイルを作ってやってみようとするとエラーが・・・
ggum.txt
10101100101110011010

作成プログラム↓
library("ScoreGGUM")
item <- c(1,2)
irt1 <- read.GGUM("ggum_test1.txt", 2, item, model=8)

として実行してみるとエラー

公式マニュアルみてみるとここのファイルは項目ごとの特性値を入力するところ?しかもサンプルの応答データも思ってたのと違う・・・
あれ?なんかやりたかったことできなくね・・・?

・・・

自分の研究で使おうと思ってましたが、なんか思ってたのと違うパッケージでした。
中身がよく分からないパッケージを使うよりも自分でコードを組んだ方が良いかもしれませんね!

教訓

パッケージに全てを頼らずに勉強して自分でコードを組みましょう。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up