6.3 Farklı Modellere Göre Çoklu puanlanan Veri Seti Üretimi

Bir önceki bölümde ikili puanlanan maddelere sahip testler için veri üretim süreci örneklendirilmişti. Bunu yaparken R programlama diline ilişkin oluşturulan kodlar sunulmuştu. Bu süreçte R kütüphanelerinde bulunmakla beraber öğretim amaçlı olması için hazır fonksiyonlar kullanılmamıştı.

Şimdi ise benzer modeller için çoklu puanlanan maddelere sahip testler için veri üretim süreci açıklanacaktır. Ancak bu sefer R kütüphanesinde yer alan bazı hazır fonksiyonları kullanacağız. Öncelikli olarak “catR” paketi içerisinde yer alan “genPolyMatrix” ve “genPattern” fonksiyonlarından faydalanacğız. ilk olarak “genPolyMatrix” fonksiyonu ile her bir madde için eşik değerlerini elde edeceğiz (Magis & Raiche, 2012).

library(catR)

esik_pcm<-genPolyMatrix(items = 10, nrCat = 4, model = "PCM",seed = NULL, same.nrCat = TRUE,

                             cbControl = NULL)

Fonksiyonda yer alan bazı önemli argümanları açıklamakla başlayalım. İlk argüman (item) madde sayısını, ikinci argüman ise (nrCat) katergori sayısını ifade eder. Biz burada 4 seçenekli 10 madde ürettik. Üçüncü argüman ( model) ise MTK modelini belirlememize yarar. Çoklu puanlanan maddeler için MTK modelleri kitabın ilgili bölümünde ele alınmıştı. O nedenle burada detaylı açıklamarda bulunmadık. Bu argüman için örneğin “PCM” kısmi puanlama modeli, “GPCM” genelleştirilmiş kısmi puan modeli, “GRM” aşamalı tepki modeli,“NRM” sınıflamalı tepki modeline uygun veri üretiminde kullanılır. Biz bu örnekte “PCM” kısmi puanlama modeline uygun veri seti üretmeyi tercih ettik. Dördüncü argümanda (seed) eğer ürettiğiniz simülatif veriye daha sonra tekrar ulaşmak isterseniz herhangi bir tam sayı kullanabilirsiniz. Çoğu durumda psikometristler önceki çalışmalarında ürettikleri veri setlerine tekrar ulaşmak isteyebilirler. Biz burada “seed” değeri olarak “NULL” seçeneğini işaretledik. Eğer bu argümana herhangi bir değer girerseniz aynı değeri kullandığınız her durumda aynı veri setini elde edersiniz. Beşinci argümanın (same.nrCat) “TRUE” olarak belirlenmesi testteki tüm maddelerin seçenek sayısının aynı olduğunu ifade eder. Aksi bir durumda “FALSE” olarak kullanılması gerekir. Son argüman ise içerik dengesi ile ilgilidir ve normal şartlarda “NULL” olarak belirtilmesi uygundur. Bu fonksiyona ve kullanımına ilişkin detaylı bilgi için ?genPolyMatrix komutundan faydalanabilirsiniz. Şimdi elde ettiğimiz çıktıya bakalım.

print(esik_pcm)
##    deltaj1 deltaj2 deltaj3
## 1    2.078  -1.597  -0.250
## 2    0.167   0.470   1.606
## 3    0.651   0.963  -0.582
## 4   -0.318  -0.190   0.501
## 5    1.209   0.855   0.014
## 6    0.739  -0.630  -0.713
## 7   -0.116  -0.568  -1.791
## 8    1.283   0.214  -1.740
## 9   -0.332   0.367   0.774
## 10   0.070  -1.193  -0.933

Görüldüğü gibi her bir madde için üç eşik değeri belirlenmiştir ( dört seçenekli olduğu için). Çıktıda yer alan “deltaj” değerleri her bir madde için üretilen eşik değerleridir. Şimdi bu eşik değerlerini kullanarak veri setini üretelim. Bunun için “genPattern” fonksiyonundan faydalanacağız.

veri_pcm<-genPattern(rnorm(400), esik_pcm, model = "PCM")

veri_pcm[1:10,]
##       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
##  [1,]    0    0    0    2    0    3    0    0    2     3
##  [2,]    2    1    0    2    0    0    2    0    0     1
##  [3,]    3    2    3    2    0    2    3    3    2     3
##  [4,]    2    0    1    1    0    3    0    0    0     2
##  [5,]    3    2    3    2    3    3    3    3    3     3
##  [6,]    2    2    3    2    1    0    3    3    2     3
##  [7,]    2    2    3    3    2    3    3    3    1     3
##  [8,]    2    1    1    3    2    3    3    1    3     3
##  [9,]    3    2    3    2    1    3    3    3    1     2
## [10,]    0    0    0    0    0    0    1    1    2     2

Bu fonksiyon içerisinde ilk olarak yanıtlayıcıların yetenek düzeyleri belirlenir. Biz burada yanıtlayıcıların yetenek düzeylerini “rnorm” fonksiyonu ile ortalaması “0” standart sapması “1” olan bir dağılımdan elde ettik. Akabinde oluşturulmuş olan eşik parametreleri girilir ve son olarak da model seçilir. Gösterim açısından pratiklik sağlaması için ilk 10 bireye ilişkin yanıt örüntüsü sunulmuştur.

Şimdi aşağıdaki kodlar ile 10 veri seti üretelim ve veri seti için sütun isimlerini belirleyelim. Bir farklılık olması açısından bu sefer aşamalı tepki modeline (“GRM”) uyum gösterecek şekilde veri setleri üretelim. Ayrıca seçenek sayısını da “3” olacak şekilde değiştirelim.

GRM_param<-list()   # esik değerlerinin ve a parametresinin aktarılacağı boş liste

GRM_veri<-list()    # üretilen veri setlerinin aktarılacağı boş liste

for ( i in 1:10)   {    

GRM_param[[i]]<- genPolyMatrix(items = 10, nrCat = 3, model = "GRM",seed = i, same.nrCat = TRUE,
                             cbControl = NULL)

GRM_veri[[i]]<-genPattern(rnorm(400), GRM_param[[i]], model = "GRM")

colnames(GRM_veri[[i]])<-paste0("madde",1:10)   # sütun isimlerini belirleme

}

Bu örneğimizde “GRM” aşamalı tepki modelini kullandığımız için kısmi puanlama modelinden farklı olarak maddelere ilişkin ayırt edicilik parametresi de yer alacaktır. Bunun için üretilen madde parametrelerinden bir tanesine göz atalım.

GRM_param[[2]]
##    alphaj betaj1 betaj2
## 1   0.896  0.418  0.982
## 2   1.023 -1.040 -0.393
## 3   1.215 -2.311  1.782
## 4   0.871  0.036  0.879
## 5   0.990  0.432  1.013
## 6   1.016 -1.200  2.091
## 7   1.091  1.590  1.955
## 8   0.971 -2.452  0.005
## 9   1.275 -0.597  0.477
## 10  0.983  0.290  0.792

Çıktıda görüldüğü gibi madde eşik değerlerinin (deltaj) yanı sıra ayırt edicilik değerleri (alphaj) de yer almaktadır. Kategori sayısı “3” olarak belirlendiği için “2” eşik değeri üretilmiştir. Aşağıda ise örnek olarak üretilien 7. veri setinin ilk 10 satırı sunulmuştur.

GRM_veri[[7]][1:10,]
##       madde1 madde2 madde3 madde4 madde5 madde6 madde7 madde8 madde9 madde10
##  [1,]      0      1      0      1      0      0      0      0      0       0
##  [2,]      0      1      2      0      2      2      0      1      0       2
##  [3,]      1      0      1      2      2      0      2      0      0       0
##  [4,]      1      0      0      0      1      0      1      1      2       2
##  [5,]      1      0      0      2      0      2      1      0      0       1
##  [6,]      0      0      1      1      0      0      1      0      0       2
##  [7,]      0      0      1      2      0      2      1      2      1       2
##  [8,]      0      0      0      0      0      0      2      1      2       2
##  [9,]      0      2      1      1      0      0      0      0      0       0
## [10,]      0      0      2      0      0      0      1      0      0       0