• 沒有找到結果。

第五章 結論與建議

第二節 建議與改進

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

49

此結果類似於問項難易分佈範圍[0,3]、

 

1.25而問項個數為 5,問項難易分佈 範圍[-0.5,2.5](或[0,3])、

 

1.5搭配 5 個問項,以及問項難易分佈範圍[-1.75, 1.25]、

 

1.5且問項個數為 5 的模擬結果。因此,這三個題組所分別篩選出來 的問項,應該可以視為 Mokken 量表。

第二節 建議與改進

本研究主要是針對 Mokken 尺度分析中,MH 模型的資料下進行探討。研究 結果顯示,當問項分佈偏左(正向回答機率偏高)或偏右(正向回答機率偏低)時,

利用自動化問項篩選工具來進行問項篩選,出現有違反篩選問項條件的個數會隨 之增加。但由我們只侷限於 2 個問項反應選項(1 或 0),再者由於時間所限,儘 管我們的模擬設計盡可能一般化,但也只能針對三種問項個數和四個 alpha 值來 進行探討,因此在做結論上明顯還是有所不足。針對這些不足之處,我們提出下 面三點建議,做為後續研究的參考。

1. 現今問卷的問項反應選項大多會超過 2 個,因此未來可以試著對 2 個選項以 上的試題的情況來進行研究。

2. 而 alpha 值的選取上,可以在這 4 個值中間再多選幾個值,甚至可以考慮更 多大於 1.5 的值來做討論。

3. 可以利用更多指標來探討不同問項難易分佈所篩選出的量表之合適性,例如:

總量表係數的變化等。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

50

參考文獻

章英華、傅仰止(2006)。台灣社會變遷基本調查五期一次、六期一次-綜合問卷組(C00153_1)【原

始數據】。取自中央研究院人文社會科學研究中心調查研究專題中心學術調查崖舊資料庫

http://srda.sinica.edu.tw。dio:10.6141/TW-SRDA-C00153_1-1。

Birnbaum, A.(1968). Some latent trait models and their use in inferring an examinee's ability. In F. M.

Lord & M. R. Novick , Statistical theories of mental test scores (pp. 397-472). Reading, MA:

Addison-Wesley.

Bouwmeester, S. & Sijtsma, K. (2006). Constructing a transitive reasoning test for 6 - to 13 year old children. European Journal of Psychological Assessment, 22, 225-232.

Gillespie, M. W., Tanvergert, E. & Kingma, J (1987, 1988). Abortion Attitudes: Effects of item Order and dimensionality. Perceptual and Motor Skills (Volume 74, Issue , pp. 627-642.)

Grayson, D. A. (1988). Two-group classification in latent trait theory: Scores with monotone likelihood ratio. Psychometrika, 53, 383-392.

Guttman, L. (1950). The utility of scalogram analysis. In S. A. Stouffer, L. Guttman, E. A. Suchman, P.

F. Lazarsfeld, S. A. Star, & J. A. Clausen(Eds.), Measurement and prediction . Studies in Social Psychology in World War Ⅱ (Vol. 4, pp. 122-171). New York, NY: Wiley.

Hemker, B. T., Sijtsma, K., Molenaar, I. W. & Junker, B. W. (1996), Polytomous IRT models and monotone likelihood ratio of the total score. Psychometrika, 61, 679-693.

Loevinger, J. (1948), The technique of homogeneous tests compared with some aspects of "scale analysis" and factor analysis. Psychological Bulletin, 45, 507-530.

Meijer, R. R. & Baneke J. J. (2005). Analyzing psychopathology items: A case for nonparametric item response theory modeling. Psychological Methods, 9, 354-368.

Mokken, R. J. (1971). A theory and procedure of scale analysis. With application in political research.

Berlin, Germany: De Gruyter (Mouton)

Mokken, R. J., Lewis, C. & Sijtsma, K. (1986). Rejoinder to "The Mokken scale: A critical discussion.

" Applied Psychological Measurement,10, 279-285.

Molenaar, I. W. (1991). A weighted Loevinger H-coefficient extending Mokken scaling to multicategory items. Kwantitatieve Methoden, 12(37), 97-117.

Molenaar, I. W. & Sijtsma, K. (2000). User's manual MSP5 for Windows. Groningen: iecProGAMMA.

Sijtsma, K. & Junker, B. W. (1996) A survey of theory and methods of invariant item ordering. British Journal of Mathematical and Statistical Psychology, 49, 79-105.

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

51

附錄

## items

items <- data.frame(c(5,9,17))

a <- function(items)(seq(from= -1.5, to=1.5, length=items)) out.items <- apply(items,1,a)

out.items

n.items <- c(5,9,17) n.items

## alphas

alphas_5 <- rep(1.5,5) alphas_8 <- rep(1.5,9) alphas_10 <- rep(1.5,17)

out.alphas<- list(alphas_5,alphas_8,alphas_10) out.alphas

n.alphas <- c(5,9,17) n.alphas

## 加入模擬次數 m

m=1000

Answers_SIM=NULL Answers_SIM=list() Answers_SIM2=NULL Answers_SIM2=list() Answers_SIM3=NULL Answers_SIM3=list()

#Answers_SIM4=NULL

#Answers_SIM4=list()

#Answers_SIM5=NULL

#Answers_SIM5=list()

#Answers_SIM6=NULL

#Answers_SIM6=list()

for (k in 1:m){

d <- function(persons)(rnorm(persons)) out.persons <- apply(persons,1,d) out.persons

else Answers_SIM3[[k]]=Answers }

cat("hahaend"," \n")

#Answers_SIM

#Answers_SIM2

#Answers_SIM3

#---

out.Answers_2 = Answers_SIM2[[i]]

out.Answers_3 = Answers_SIM3[[i]]

aisp.normal = aisp(out.Answers, search="normal") aisp.normal_2 = aisp(out.Answers_2, search="normal") aisp.normal_3 = aisp(out.Answers_3, search="normal")

out.aisp.normal = cbind(out.aisp.normal, aisp.normal) out.aisp.normal_2 = cbind(out.aisp.normal_2, aisp.normal_2) out.aisp.normal_3 = cbind(out.aisp.normal_3, aisp.normal_3)

out.Answers.new <- out.Answers[, aisp.normal==1]

out.Answers.new_2 <- out.Answers_2[, aisp.normal_2==1]

out.Answers.new_3 <- out.Answers_3[, aisp.normal_3==1]

out.Answers.newdata[[i]] = out.Answers.new out.Answers.newdata_2[[i]] = out.Answers.new_2 out.Answers.newdata_3[[i]] = out.Answers.new_3

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

54

#out.aisp.normal_3

#out.Answers.newdata

#out.Answers.newdata_2

#out.Answers.newdata_3

## 計算 scale1 個數

A <- matrix(0,nrow=n.items[1],ncol=m) B <- matrix(0,1,m)

for (i in 1:n.items[1]){

for (j in 1:m){

if (out.aisp.normal[i,j]==1) {A[i,j]=1} else {A[i,j]=0}

B[j] <- sum(A[,j]) }

}

#A

#B

mean.number.scale1 <- mean(B)

A_2 <- matrix(0,nrow=n.items[2],ncol=m) B_2 <- matrix(0,1,m)

for (i in 1:n.items[2]){

for (j in 1:m){

if (out.aisp.normal_2[i,j]==1) {A_2[i,j]=1} else {A_2[i,j]=0}

B_2[j] <- sum(A_2[,j]) }

}

#A_2

#B_2

mean.number.scale1_2 <- mean(B_2)

A_3 <- matrix(0,nrow=n.items[3],ncol=m) B_3 <- matrix(0,1,m)

for (i in 1:n.items[3]){

for (j in 1:m){

if (out.aisp.normal_3[i,j]==1) {A_3[i,j]=1} else {A_3[i,j]=0}

B_3[j] <- sum(A_3[,j]) }

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

55 }

#A_3

#B_3

mean.number.scale1_3 <- mean(B_3)

# PART II sum.0 <- NULL sum.0_2 <- NULL sum.0_3 <- NULL

for (j in 1:m){

sum(out.aisp.normal[,j]) sum(out.aisp.normal_2[,j]) sum(out.aisp.normal_3[,j])

sum.0 <- cbind(sum.0, sum(out.aisp.normal[,j])) sum.0_2 <- cbind(sum.0_2, sum(out.aisp.normal_2[,j])) sum.0_3 <- cbind(sum.0_3, sum(out.aisp.normal_3[,j]))

if (sum.0[,j] >= 1) {sum.0[,j]=0} else {sum.0[,j]=1}

if (sum.0_2[,j] >= 1) {sum.0_2[,j]=0} else {sum.0_2[,j]=1}

if (sum.0_3[,j] >= 1) {sum.0_3[,j]=0} else {sum.0_3[,j]=1}

}

number.0scale <- sum(sum.0) number.0scale_2 <- sum(sum.0_2) number.0scale_3 <- sum(sum.0_3)

#out.aisp.normal

#sum.0

#sum.0_2

#sum.0_3

#which(sum.0==0)

#which(sum.0_2==0)

#which(sum.0_3==0)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

56 out.coefH=list()

out.coefH_2=list() out.coefH_3=list() Hi <- NULL Hi_2 <- NULL Hi_3 <- NULL

for(j in which(sum.0==0)){

newdata <- out.Answers.newdata[[j]]

coefH = coefH(newdata,se=FALSE) out.coefH[[j]] = coefH$Hi

h <- as.vector(out.coefH[[j]]) Hi <- cbind(Hi,mean(h)) }

for(j in which(sum.0_2==0)){

newdata <- out.Answers.newdata_2[[j]]

coefH = coefH(newdata,se=FALSE) out.coefH_2[[j]] = coefH$Hi h_2 <- as.vector(out.coefH_2[[j]]) Hi_2 <- cbind(Hi_2,mean(h_2)) }

for(j in which(sum.0_3==0)){

newdata <- out.Answers.newdata_3[[j]]

coefH = coefH(newdata,se=FALSE) out.coefH_3[[j]] = coefH$Hi h_3 <- as.vector(out.coefH_3[[j]]) Hi_3 <- cbind(Hi_3,mean(h_3)) }

#out.coefH

#out.coefH_2

#out.coefH_3

#---

##篩選 H 值小於 0.3

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

57 error <- matrix(0,nrow=dim(Answers_SIM[[1]])[2], ncol=m) error_2 <- matrix(0,nrow=dim(Answers_SIM2[[1]])[2], ncol=m) error_3 <- matrix(0,nrow=dim(Answers_SIM3[[1]])[2], ncol=m)

for(i in which(sum.0==0)){

for(j in 1:length(out.coefH[[i]])){

out.coefH.Hi = out.coefH[[i]]

out.coefH.Hi.numeric <- as.numeric(out.coefH.Hi)

if (out.coefH.Hi.numeric[j]<0.3) {error[j,i]=1} else {error[j,i]=0}

} }

for(i in which(sum.0_2==0)){

for(j in 1:length(out.coefH_2[[i]])){

out.coefH.Hi = out.coefH_2[[i]]

out.coefH.Hi.numeric <- as.numeric(out.coefH.Hi)

if (out.coefH.Hi.numeric[j]<0.3) {error_2[j,i]=1} else {error_2[j,i]=0}

} }

for(i in which(sum.0_3==0)){

for(j in 1:length(out.coefH_3[[i]])){

out.coefH.Hi = out.coefH_3[[i]]

out.coefH.Hi.numeric <- as.numeric(out.coefH.Hi)

if (out.coefH.Hi.numeric[j]<0.3) {error_3[j,i]=1} else {error_3[j,i]=0}

} }

#error

#error_2

#error_3 sum(error) sum(error_2) sum(error_3) mean.number.scale1 mean.number.scale1_2 mean.number.scale1_3

相關文件