• FAO’s Voices of the Hungry (VoH) telah mengembangkan standard global baru untuk memperkirakan prevalensi kerawanan pangan melalui penggunaan alat yang disebut Skala Pengalaman Kerawanan Pangan (FIES).

  • FIES adalah matriks pengalaman keparahan kerawanan pangan yang bergantung pada tanggapan langsung responden terhadap pertanyaan tentang akses mereka ke makanan yang memadai untuk melihat kemampuan mengakses makanan.

  • Unit sampel yang dikumpulkan dalam FIES: rumah tangga atau individu.

1 Sumber Data

FIES Survey Module (FIES-SM) terdiri dari 8 pertanyaan tentang akses ke makanan. Pertanyaan tentang FIES-SM fokus pada perilaku dan pengalaman mereka sendiri terkait dengan meningkatnya kesulitan dalam mengakses makanan karena keterbatasan sumber daya.

Sejak Susenas Maret 2021, pertanyaan mengenai Pengalaman Kerawanan Pangan sudah dimasukkan dengan mengadopsi 8 pertanyaan FIES dari FAO.

Delapan pertanyaan terbagi menjadi 3 bagian, yaitu:

  1. Bagian pertama adalah 3 pertanyaan pertama yang mengarah pada pengukuran kerawanan pangan ringan (light),

  2. Bagian kedua adalah 3 pertanyaan kedua yang mengarah pada pengukuran kerawanan pangan sedang (moderate), dan

  3. Bagian ketiga adalah 2 pertanyaan terakhir yang mengarah pada pengukuran kerawanan pangan berat (severe).

## Loading required package: psychotools
## Loading required package: Hmisc
## Warning: package 'Hmisc' was built under R version 4.3.3
## 
## Attaching package: 'Hmisc'
## The following objects are masked from 'package:base':
## 
##     format.pval, units
myfies23 <- as.data.frame(read.spss("KOR23_RT.sav", use.value.labels = FALSE))
myfies23 <- myfies23[myfies23$R101 == 53, ]
myfies23[,10:17][myfies23[,10:17]==5] <- 0
myfies23[,10:17][myfies23[,10:17]==8] <- NA
myfies23[,10:17][myfies23[,10:17]==9] <- NA
myfies23 <- myfies23[complete.cases(myfies23[,10:17]),]

2 Set data FIES

Pada tahapan ini ditentukan set dari pertanyaan FIES yang digunakan beserta penimbang yang digunakan.

XX = subset(myfies23, select = c(10:17))
colnames(XX) = c("WORRIED", "HEALTHY", "FEWFOOD", "SKIPPED", "ATELESS",
                 "RUNOUT", "HUNGRY", "WHLDAY")

# Normalisasi Penimbang
wt <- myfies23$FWT
wt_normalized <- wt / sum(wt) * length(wt)

3 Model Rasch

Model Rasch merupakan model analisis yang digunakan untuk menguji validitas dan reliabilitas instrumen riset, serta menguji kesesuaian person dan item secara simultan.

Beberapa kelebihan dari Model Rasch, antara lain:

  1. Mampu memberikan skala linier dengan interval yang sama.

  2. Dapat memberikan estimasi nilai pada data yang hilang.

  3. Menghasilkan pengukuran yang replicable.

  4. Mampu mendeteksi ketidaktepatan model.

Kalibrasi dilakukan dalam pemodelan Rasch secara sekaligus pada tiga hal, yaitu skala pengukuran, responden (person), dan item (item). Suatu instrument yang tidak dikalibrasi, maka mempunyai kemungkinan menghasilkan data yang tidak valid. Bond dan Fox (2007) menyampaikan bahwa penggunaan model Rasch dalam validasi instrumen akan menghasilkan informasi yang lebih holistik tentang instrumen dan lebih memenuhi definisi pengukuran.

Ukuran Kebaikan

Data FIES divalidasi menggunakan Teori Respons Item Rasch Model untuk mengonfirmasi bahwa data FIES memberikan ukuran kerawanan pangan yang andal.

Ukuran-ukuran yang digunakan untuk kelayakan model adalah:

  1. Infit Statistics

    Statistik Infit berada pada rentang 0.7-1.3 dianggap sebagai rentang yang dapat diterima untuk item yang sesuai dengan model Rasch.

  2. Residuals Correlation

    Nilai korelasi residual yang dihasilkan haruslah tidak signifikan. Jika korelasi yang dihasilkan adalah signifikan pada residual, ini menunjukkan bahwa ada aspek dalam data yang belum dijelaskan oleh model dan mengindikasi model perlu diperbaiki atau diubah.

  3. Reliability Rasch

    Nilai reliabilitas Rasch > 0.7 dianggap cukup untuk menunjukkan bahwa instrumen memiliki tingkat reliabilitas yang layak. Artinya instrumen dapat memisahkan responden ke dalam setidaknya dua grup yang berbeda (Wright dan Masters, 1982).

#  Penerapan Model Rasch
Model_Rasch = RM.w(as.data.frame(XX), wt_normalized, country = "NTT", write.file = TRUE, max.it = 1000)
cbind("sev" = Model_Rasch$b, "infit" = Model_Rasch$infit)
##                sev     infit
## WORRIED -4.5341532 1.1134929
## HEALTHY -2.5952627 0.9255422
## FEWFOOD -1.8759988 0.6936339
## SKIPPED  1.0624836 0.9452026
## ATELESS -0.5224253 0.8370446
## RUNOUT   1.4329448 1.0513984
## HUNGRY   2.7352840 0.7523026
## WHLDAY   4.2973369 1.0136731
Model_Rasch$reliab.fl
## [1] 0.821485

Dari ouput di atas terlihat bahwa hasil infit untuk ke-8 item pertanyaan berada pada range 0.7-1.3 dan nilai reliabilitas yang dihasilkan sebesar 0.821485 (bernilai >0.7).

screeplot(prcomp(Model_Rasch$mat.res), type = "lines")

Plot di atas merupakan plot dari residual korelasi. Tampak plot menurun.

Kemudian berikut ditampilkan nilai sebaran residual dari masing-masing pertanyaan.

residuals_rasch = Model_Rasch$mat.res
head(residuals_rasch)
##           WORRIED      HEALTHY     FEWFOOD      SKIPPED     ATELESS
## 179  0.0098829426  0.064880791  0.12467788  0.729013628  0.35542315
## 367 -0.3687311530  0.922481771 -0.03932339 -0.002162553 -0.01046300
## 828  0.6312688470 -0.077518229 -0.03932339 -0.002162553 -0.01046300
## 830  0.0009629816  0.006655577  0.01356829  0.206217831  0.05055648
## 838  0.0031361938  0.021400382  0.04296517  0.458851404  0.14806279
## 919  0.3591546248  0.795736172 -0.11114295 -0.006576845 -0.03128921
##           RUNOUT        HUNGRY        WHLDAY
## 179 -0.204226483 -0.0652273650 -1.442195e-02
## 367 -0.001494061 -0.0004066702 -8.530825e-05
## 828 -0.001494061 -0.0004066702 -8.530825e-05
## 830  0.273405026  0.5805238731 -1.315895e-01
## 838  0.551193390 -0.1812601866 -4.436667e-02
## 919 -0.004550022 -0.0012412406 -2.605501e-04

Matriks korelasi residuals sebagai berikut:

library(eRm)
correlation_matrix <- cor(residuals_rasch)
print(correlation_matrix)
##            WORRIED     HEALTHY     FEWFOOD       SKIPPED       ATELESS
## WORRIED  1.0000000 -0.26491243 -0.46239734 -0.2197938770 -0.3529436738
## HEALTHY -0.2649124  1.00000000 -0.01773681 -0.1557289023 -0.3005424944
## FEWFOOD -0.4623973 -0.01773681  1.00000000 -0.0782336509  0.0455033858
## SKIPPED -0.2197939 -0.15572890 -0.07823365  1.0000000000  0.0008230951
## ATELESS -0.3529437 -0.30054249  0.04550339  0.0008230951  1.0000000000
## RUNOUT  -0.1709741 -0.15512781 -0.12161179 -0.1431153373 -0.0613937993
## HUNGRY  -0.1340999 -0.16286069 -0.10127730 -0.0914232176 -0.0337963397
## WHLDAY  -0.0702431 -0.10712771 -0.06520235 -0.0769949621 -0.0321593926
##              RUNOUT      HUNGRY      WHLDAY
## WORRIED -0.17097412 -0.13409988 -0.07024310
## HEALTHY -0.15512781 -0.16286069 -0.10712771
## FEWFOOD -0.12161179 -0.10127730 -0.06520235
## SKIPPED -0.14311534 -0.09142322 -0.07699496
## ATELESS -0.06139380 -0.03379634 -0.03215939
## RUNOUT   1.00000000  0.09852323  0.01912640
## HUNGRY   0.09852323  1.00000000  0.09426732
## WHLDAY   0.01912640  0.09426732  1.00000000

4 Adjusted Skor FIES

Pada tahapan ini dilakukan penyesuaian dan kalibrasi nilai skor FIES terhadap nilai standard global dan memeriksa nilai mean dan standard deviasi yang dihasilkan.

adj_b = (Model_Rasch$b - mean(Model_Rasch$b))/sd(Model_Rasch$b)*sd(fies.global.st)+
  mean(fies.global.st)
(common = which(abs(fies.global.st - adj_b) < tolerance))
## HEALTHY SKIPPED ATELESS  RUNOUT  HUNGRY  WHLDAY 
##       2       4       5       6       7       8

Output di atas menunjukkan bahwa dari hasil nilai adjusted FIES hanya pertanyaan: 2, 4, 5, 6, 7, dan 8 yang memiliki nilai di bawah batas tolerasi (yaitu 0.35).

adj_fies = (fies.global.st - mean(fies.global.st[common]))/
  sd(fies.global.st[common])*sd(Model_Rasch$b[common]) + 
  mean(Model_Rasch$b[common])
mean(adj_fies[common]) - mean(Model_Rasch$b[common])
## [1] 0
sd(adj_fies[common])-sd(Model_Rasch$b[common])
## [1] 0

Jika dibuat plot, maka akan tampak sebagai berikut:

plot(Model_Rasch$b, adj_fies, 
     xlim = range(adj_fies) * c(1.8, 1.1), 
     ylim = range(adj_fies) * c(1.8, 1.1))
points(Model_Rasch$b[-common], adj_fies[-common], col = "red", pch = 16)
text(Model_Rasch$b, adj_fies, names(fies.global.st), cex = 0.5, pos = 3)
abline(0, 1)
title(main = "Plot Model Rasch", sub = Model_Rasch$country)
abline(v = adj_fies[c(5,8)], lty = 2)
abline(h = adj_fies[c(5,8)], lty = 2)

Dari plot di atas tampak ada 2 pertanyaan yang tidak fit dengan batas toleransi, yaitu worried dan fewfood.

5 Penghitungan FIES

Menghitung kerawanan pangan sedang dan berat

P_mod = 1 - pnorm(adj_fies[5], mean = Model_Rasch$a, sd = Model_Rasch$se.a)
P_mod[1] = 0
P_sev = 1 - pnorm(adj_fies[8], mean= Model_Rasch$a, sd = Model_Rasch$se.a)

Prev_mod = t(P_mod)%*%Model_Rasch$wt.rs / sum(Model_Rasch$wt.rs)
Prev_sev = t(P_sev)%*%Model_Rasch$wt.rs / sum(Model_Rasch$wt.rs)
(FIES = Prev_mod*100)
##          [,1]
## [1,] 14.68146

6 Referensi

Bond, T. G., & Fox, C. M. (2007). Applying the Rasch model: Fundamental measurement in the human sciences (2nd ed.). Mahwah, NJ: Lawrence Erlbaum Associates.

Food and Agriculture Organization of the United Nations. (2017). The Food Insecurity Experience Scale: Measuring food insecurity through people’s experiences. Rome: FAO.

Wright, B. D., & Masters, G. N. (1982). Rating scale analysis: Rasch measurement. Chicago: MESA Press.


Direktorat Statistik Kesejahteraan Rakyat, BPS,