1 Persiapan Data

1.1 Load Library

# ── Manipulasi Data ───────────────────────────────────────────────
library(foreign)           # read.dbf
library(dplyr)
library(readxl)            # read_excel
library(tidyr)
library(htmltools)         # HTML

# ── Pemodelan ─────────────────────────────────────────────────────
library(ResourceSelection) # Hosmer-Lemeshow
library(logistf)           # Firth logistic regression
library(pROC)              # ROC-AUC

# ── Output Tabel ──────────────────────────────────────────────────
library(knitr)
library(kableExtra)

# Paket yang dipanggil dengan prefix (themis::smoten, car::vif)
for (pkg in c("themis", "car")) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    cat("PERINGATAN: paket", pkg, "belum terpasang. Jalankan install.packages('", pkg, "').\n", sep = "")
  }
}

1.2 Load Data Utama (SUSENAS 2023)

Data utama adalah data individu SUSENAS Maret 2023 (.dbf), sama dengan skripsi.

data_susenas <- read.dbf("D:/Altytan Semester 7/Skripsi Rampunggg/Data Pengolahan/46654/Susenas KOR maret 2023/bv2_2026_02_22_08_59_08_ssn202303kor_ind_1.dbf")

# Konversi aman ke numerik (berlaku untuk kolom factor maupun character)
num <- function(x) as.numeric(as.character(x))

1.3 Filter Populasi Studi

Populasi studi adalah anak penyandang disabilitas usia 7–12 tahun (usia SD) yang berdomisili di Pulau Jawa (kode provinsi R101 31–36).

  • JUMLAH_JENIS_DISABILITAS: jumlah jenis disabilitas anak (dari R1002–R1009), definisi sama dengan skripsi.
  • status (Variabel Y): partisipasi sekolah β€” 1 = sedang bersekolah (R610 == 2), 0 = tidak bersekolah. Tidak ada syarat jenjang sesuai umur.
UMUR_MIN  <- 7
UMUR_MAX  <- 12
PROV_JAWA <- 31:36
allowed_vals <- c(1, 2, 3, 5, 6, 7)

dataku_filtered <- data_susenas %>%
  mutate(
    across(R1002:R1009, num),

    # Kolom kunci dijadikan numerik agar aman dipakai untuk join
    R101  = num(R101),
    R102  = num(R102),
    URUT  = num(URUT),
    umur  = num(R407),
    R610n = num(R610),

    JUMLAH_JENIS_DISABILITAS = rowSums(
      across(R1002:R1009, ~ .x %in% allowed_vals),
      na.rm = TRUE
    ),

    prov = R101,
    kabu = R101 * 100 + R102,

    # Y: Partisipasi Sekolah (1 = Bersekolah, 0 = Tidak Bersekolah)
    status = ifelse(
      !is.na(umur) & umur >= UMUR_MIN & umur <= UMUR_MAX & JUMLAH_JENIS_DISABILITAS > 0,
      ifelse(R610n == 2, 1, 0),
      NA_real_
    )
  ) %>%
  filter(
    !is.na(umur), umur >= UMUR_MIN, umur <= UMUR_MAX,
    JUMLAH_JENIS_DISABILITAS > 0,
    R101 %in% PROV_JAWA
  )

cat("Jumlah observasi setelah filter (SD, Jawa):", nrow(dataku_filtered), "\n")
Jumlah observasi setelah filter (SD, Jawa): 367 

1.4 Fungsi Pengaman Join

kunci_rt <- c("R101", "R102", "URUT")

cek_kunci_unik <- function(df, kunci, nama) {
  n_baris <- nrow(df)
  n_unik  <- nrow(dplyr::distinct(df, dplyr::across(dplyr::all_of(kunci))))
  cat(sprintf("[Cek kunci] %-12s : %d baris, %d kunci unik (%s)\n",
              nama, n_baris, n_unik, paste(kunci, collapse = " + ")))
  if (n_baris != n_unik) {
    stop(sprintf(
      "Kunci %s tidak unik pada %s (%d baris vs %d kunci unik). Join akan menggandakan baris. Periksa data sumber.",
      paste(kunci, collapse = " + "), nama, n_baris, n_unik
    ))
  }
  invisible(TRUE)
}

join_aman <- function(x, y, by, nama) {
  n_sebelum <- nrow(x)
  out <- dplyr::left_join(x, y, by = by)
  cat(sprintf("[Cek join]  %-22s : %d baris sebelum, %d baris sesudah\n",
              nama, n_sebelum, nrow(out)))
  if (nrow(out) != n_sebelum) {
    stop(sprintf("Join '%s' mengubah jumlah baris (%d -> %d). Kemungkinan many-to-many; periksa kunci join.",
                 nama, n_sebelum, nrow(out)))
  }
  out
}

1.5 Variabel Kepala Rumah Tangga (X4, X5, X6)

Variabel karakteristik kepala rumah tangga (KRT) diekstrak dari baris dengan R403 == 1.

Variabel Deskripsi Kategori
X4 Jenis kelamin KRT 0 = Perempuan*; 1 = Laki-laki
X5 Pendidikan KRT (biner) 0 = ≀ SMP/Sederajat*; 1 = Minimal SMA/Sederajat
X6 Pekerjaan KRT 0 = Tidak bekerja*; 1 = Pertanian; 2 = Nonpertanian
# ==================================================================
# FUNGSI REKODE IJAZAH (R614) β€” satu sumber kebenaran (sama dengan skripsi)
# ==================================================================
# Biner : 0 = ≀ SMP/Sederajat (ref) ; 1 = Minimal SMA/Sederajat
ijazah_biner <- function(x) {
  x <- as.numeric(x)
  dplyr::case_when(
    x >= 11 & x <= 24   ~ 1L,
    x %in% c(0:10, 25)  ~ 0L,
    TRUE                ~ NA_integer_
  )
}
data_krt <- data_susenas %>%
  filter(num(R403) == 1) %>%
  mutate(
    R101 = num(R101),
    R102 = num(R102),
    URUT = num(URUT),
    R405 = num(R405),
    R614 = num(R614),
    R705 = num(R705),
    R706 = num(R706),

    # X4: Jenis Kelamin KRT
    X4 = case_when(
      R405 == 1 ~ 1L,
      R405 == 2 ~ 0L,
      TRUE      ~ NA_integer_
    ),

    # X5: Tingkat Pendidikan KRT (biner) β€” dari ijazah R614
    X5 = ijazah_biner(R614),

    # X6: Pekerjaan KRT
    # 0 = Tidak bekerja; 1 = Pertanian; 2 = Nonpertanian
    X6 = case_when(
      R706 >= 1 & R706 <= 6   ~ 1L,
      R706 >= 7 & R706 <= 26  ~ 2L,
      R705 == 5               ~ 0L,
      TRUE                    ~ NA_integer_
    )
  ) %>%
  select(all_of(kunci_rt), X4, X5, X6)

cek_kunci_unik(data_krt, kunci_rt, "data_krt")
[Cek kunci] data_krt     : 341802 baris, 341802 kunci unik (R101 + R102 + URUT)

1.6 Variabel Kemiskinan Rumah Tangga (X9)

Pengeluaran per kapita (KAPITA) dari KP Blok 4.3 dibandingkan dengan Garis Kemiskinan (GK) provinsi/daerah. Provinsi 31 berada pada file blok43_11_31, provinsi 32–36 pada file blok43_32_36; ketiga file dipakai.

files_43 <- c(
  "D:/Altytan Semester 7/Skripsi Rampunggg/Data Pengolahan/46654/Susenas KP Maret 2023/bv2_2026_02_22_08_55_02_ssn202303kp_blok43_51_94.dbf",
  "D:/Altytan Semester 7/Skripsi Rampunggg/Data Pengolahan/46654/Susenas KP Maret 2023/bv2_2026_02_22_08_49_01_ssn202303kp_blok43_11_31.dbf",
  "D:/Altytan Semester 7/Skripsi Rampunggg/Data Pengolahan/46654/Susenas KP Maret 2023/bv2_2026_02_22_08_52_06_ssn202303kp_blok43_32_36.dbf"
)

data_kp_43 <- bind_rows(lapply(files_43, read.dbf, as.is = TRUE)) %>%
  mutate(
    R101 = num(R101),
    R102 = num(R102),
    R105 = num(R105),
    URUT = num(URUT)
  )

prov_hilang <- setdiff(PROV_JAWA, unique(data_kp_43$R101))
if (length(prov_hilang) > 0) {
  cat("PERINGATAN: provinsi berikut tidak ditemukan di data KP blok 4.3:",
      paste(prov_hilang, collapse = ", "), "\n")
} else {
  cat("Seluruh provinsi Jawa (31–36) ditemukan di data KP blok 4.3.\n")
}
Seluruh provinsi Jawa (31–36) ditemukan di data KP blok 4.3.
GK <- read_excel(
  "D:/Altytan Semester 7/Skripsi Rampunggg/Data Pengolahan/Garis Kemiskinan (Rupiah_Kapita_Bulan) Menurut Provinsi dan Daerah , 2023.xlsx",
  sheet = "Sheet2"
) %>%
  mutate(R101 = num(R101), R105 = num(R105))

data_kp_x9 <- join_aman(data_kp_43, GK, by = c("R101", "R105"), nama = "KP blok 4.3 x GK") %>%
  mutate(
    # X9: Status Kemiskinan RT (0 = Miskin/ref; 1 = Tidak Miskin)
    X9 = if_else(KAPITA < GK, 0L, 1L, missing = NA_integer_)
  ) %>%
  select(all_of(kunci_rt), X9)
[Cek join]  KP blok 4.3 x GK       : 341802 baris sebelum, 341802 baris sesudah
cek_kunci_unik(data_kp_x9, kunci_rt, "data_kp_x9")
[Cek kunci] data_kp_x9   : 341802 baris, 341802 kunci unik (R101 + R102 + URUT)

1.7 Penggabungan & Pembuatan Variabel

Variabel Deskripsi Kategori
Y Partisipasi sekolah anak 1 = Bersekolah; 0 = Tidak
X1 Jenis kelamin anak 0 = Perempuan*; 1 = Laki-laki
X2 Jenis disabilitas 0 = Ganda (β‰₯2)*; 1 = Tunggal
X3 Tingkat kesulitan disabilitas 0 = Sangat kesulitan*; 1 = Kesulitan; 2 = Sedikit
X4 Jenis kelamin KRT 0 = Perempuan*; 1 = Laki-laki
X5 Pendidikan KRT (biner) 0 = ≀ SMP/Sederajat*; 1 = Minimal SMA/Sederajat
X6 Pekerjaan KRT 0 = Tidak bekerja*; 1 = Pertanian; 2 = Nonpertanian
X7 Daerah tempat tinggal 0 = Perdesaan*; 1 = Perkotaan
X8 Kepemilikan KIP/PIP 0 = Tidak memiliki*; 1 = Memiliki
X9 Status kemiskinan RT 0 = Miskin*; 1 = Tidak miskin
dataku_final <- dataku_filtered %>%
  mutate(
    R105 = num(R105),
    R405 = num(R405),
    R615 = num(R615),
    R616 = num(R616),

    # Y: Partisipasi Sekolah
    Y  = as.integer(status),

    # X1: Jenis Kelamin Anak
    X1 = case_when(
      R405 == 1 ~ 1L,
      R405 == 2 ~ 0L,
      TRUE      ~ NA_integer_
    ),

    # X2: Jenis Disabilitas (0 = Ganda/ref; 1 = Tunggal)
    X2 = case_when(
      JUMLAH_JENIS_DISABILITAS > 1  ~ 0L,
      JUMLAH_JENIS_DISABILITAS == 1 ~ 1L,
      TRUE                          ~ NA_integer_
    ),

    # X3: Tingkat Kesulitan Disabilitas (prioritas terberat)
    X3 = case_when(
      rowSums(across(R1002:R1009, ~ .x %in% c(1, 5)), na.rm = TRUE) > 0 ~ 0L,
      rowSums(across(R1002:R1009, ~ .x %in% c(2, 6)), na.rm = TRUE) > 0 ~ 1L,
      rowSums(across(R1002:R1009, ~ .x %in% c(3, 7)), na.rm = TRUE) > 0 ~ 2L,
      TRUE ~ NA_integer_
    ),

    # X7: Daerah Tempat Tinggal
    X7 = case_when(
      R105 == 1 ~ 1L,
      R105 == 2 ~ 0L,
      TRUE      ~ NA_integer_
    ),

    # X8: Kepemilikan KIP/PIP
    X8 = if_else(
      R615 %in% c(1, 2) | R616 %in% c(1, 2),
      1L, 0L
    )
  ) %>%
  join_aman(data_krt,   by = kunci_rt, nama = "x data_krt (X4-X6)") %>%
  join_aman(data_kp_x9, by = kunci_rt, nama = "x data_kp_x9 (X9)") %>%
  select(prov, kabu, Y, X1, X2, X3, X4, X5, X6, X7, X8, X9)
[Cek join]  x data_krt (X4-X6)     : 367 baris sebelum, 367 baris sesudah
[Cek join]  x data_kp_x9 (X9)      : 367 baris sebelum, 367 baris sesudah

1.8 Encoding Variabel Kategorik (Factor)

Seluruh prediktor dipertahankan sebagai faktor; level pertama adalah kategori referensi (bertanda *).

dataku_final <- dataku_final %>%
  mutate(
    Y       = factor(Y,       levels = c(0, 1),    labels = c("Tidak bersekolah", "Bersekolah")),
    X1      = factor(X1,      levels = c(0, 1),    labels = c("Perempuan", "Laki-laki")),
    X2      = factor(X2,      levels = c(0, 1),    labels = c("Disabilitas ganda", "Disabilitas tunggal")),
    X3      = factor(X3,      levels = c(0, 1, 2), labels = c("Sangat kesulitan", "Kesulitan", "Sedikit kesulitan")),
    X4      = factor(X4,      levels = c(0, 1),    labels = c("Perempuan", "Laki-laki")),
    X5      = factor(X5,      levels = c(0, 1),    labels = c("≀ SMP", "β‰₯ SMA")),
    X6      = factor(X6,      levels = c(0, 1, 2), labels = c("Tidak bekerja", "Pertanian", "Nonpertanian")),
    X7      = factor(X7,      levels = c(0, 1),    labels = c("Perdesaan", "Perkotaan")),
    X8      = factor(X8,      levels = c(0, 1),    labels = c("Tidak memiliki", "Memiliki")),
    X9      = factor(X9,      levels = c(0, 1),    labels = c("Miskin", "Tidak miskin"))
  )

1.9 Referensi Variabel

data.frame(
  Kode     = c("Y", "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9"),
  Nama     = c(
    "Partisipasi Sekolah",
    "Jenis Kelamin Anak",
    "Jenis Disabilitas",
    "Tingkat Kesulitan Disabilitas",
    "Jenis Kelamin KRT",
    "Pendidikan KRT (biner)",
    "Pekerjaan KRT",
    "Daerah Tempat Tinggal",
    "Kepemilikan KIP/PIP",
    "Status Kemiskinan RT"
  ),
  Sumber = c(
    "R610",
    "R405", "R1002–R1009", "R1002–R1009",
    "R403 == 1 & R405",
    "R403 == 1 & R614",
    "R403 == 1 & R705/R706",
    "R105", "R615/R616", "KAPITA vs GK"
  ),
  Kategori = c(
    "Dependen",
    rep("Karakteristik Anak", 3),
    rep("Karakteristik KRT",  3),
    rep("Sosial-Ekonomi RT",  3)
  ),
  Koding = c(
    "1 = Bersekolah; 0 = Tidak bersekolah",
    "0 = Perempuan*; 1 = Laki-laki",
    "0 = Disabilitas ganda*; 1 = Disabilitas tunggal",
    "0 = Sangat kesulitan*; 1 = Kesulitan; 2 = Sedikit kesulitan",
    "0 = Perempuan*; 1 = Laki-laki",
    "0 = ≀ SMP/Sederajat*; 1 = Minimal SMA/Sederajat",
    "0 = Tidak bekerja*; 1 = Pertanian; 2 = Nonpertanian",
    "0 = Perdesaan*; 1 = Perkotaan",
    "0 = Tidak memiliki*; 1 = Memiliki",
    "0 = Miskin*; 1 = Tidak miskin"
  ),
  check.names = FALSE
) %>%
  kable(caption = "Referensi Variabel Penelitian (Y, X1–X9)") %>%
  kable_styling(bootstrap_options = c("striped", "hover"), full_width = TRUE) %>%
  column_spec(1, bold = TRUE, width = "7em") %>%
  column_spec(4, italic = TRUE) %>%
  row_spec(1, background = "#fff3e0") %>%
  footnote(
    general = "* = kategori referensi.",
    general_title = "Keterangan: ",
    footnote_as_chunk = TRUE,
    escape = FALSE
  )
Referensi Variabel Penelitian (Y, X1–X9)
Kode Nama Sumber Kategori Koding
Y Partisipasi Sekolah R610 Dependen 1 = Bersekolah; 0 = Tidak bersekolah
X1 Jenis Kelamin Anak R405 Karakteristik Anak 0 = Perempuan*; 1 = Laki-laki
X2 Jenis Disabilitas R1002–R1009 Karakteristik Anak 0 = Disabilitas ganda*; 1 = Disabilitas tunggal
X3 Tingkat Kesulitan Disabilitas R1002–R1009 Karakteristik Anak 0 = Sangat kesulitan*; 1 = Kesulitan; 2 = Sedikit kesulitan
X4 Jenis Kelamin KRT R403 == 1 & R405 Karakteristik KRT 0 = Perempuan*; 1 = Laki-laki
X5 Pendidikan KRT (biner) R403 == 1 & R614 Karakteristik KRT 0 = ≀ SMP/Sederajat*; 1 = Minimal SMA/Sederajat
X6 Pekerjaan KRT R403 == 1 & R705/R706 Karakteristik KRT 0 = Tidak bekerja*; 1 = Pertanian; 2 = Nonpertanian
X7 Daerah Tempat Tinggal R105 Sosial-Ekonomi RT 0 = Perdesaan*; 1 = Perkotaan
X8 Kepemilikan KIP/PIP R615/R616 Sosial-Ekonomi RT 0 = Tidak memiliki*; 1 = Memiliki
X9 Status Kemiskinan RT KAPITA vs GK Sosial-Ekonomi RT 0 = Miskin*; 1 = Tidak miskin
Keterangan: * = kategori referensi.

2 Fungsi Dasar

# ── Prediktor (identik dengan skripsi) ─────────────────────────────
xvars_global <- c("X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9")
vars_for_tab <- xvars_global

LABEL_X <- c(
  X1 = "Jenis Kelamin Anak (X1)",
  X2 = "Jenis Disabilitas (X2)",
  X3 = "Tingkat Kesulitan (X3)",
  X4 = "Jenis Kelamin KRT (X4)",
  X5 = "Pendidikan KRT β€” biner (X5)",
  X6 = "Pekerjaan KRT (X6)",
  X7 = "Daerah Tinggal (X7)",
  X8 = "Kepemilikan KIP/PIP (X8)",
  X9 = "Status Kemiskinan RT (X9)"
)

# ── Konversi kable ke string HTML ─────────────────────────────────
kbl_h <- function(df, caption = NULL) {
  knitr::kable(df, format = "html", caption = caption, escape = FALSE) %>%
    kable_styling(
      bootstrap_options = c("striped", "hover", "condensed"),
      full_width = FALSE, font_size = 13, position = "left"
    ) %>%
    as.character()
}

# ── Pra-pemrosesan data standar (diparameterisasi dengan xvars) ──
# Y dikonversi ke 0/1 (0 = tidak bersekolah; 1 = bersekolah).
# Seluruh X dipertahankan sebagai faktor agar kategori referensi mengikuti
# level pertama (kategori bertanda * pada tabel referensi).
prep_data <- function(data, xvars = xvars_global) {
  df <- data %>%
    select(all_of(c("Y", xvars))) %>%
    mutate(
      status_sekolah = if_else(Y == "Bersekolah", 1L, 0L),
      across(all_of(xvars), ~ droplevels(as.factor(.x)))
    ) %>%
    select(-Y) %>%
    na.omit()

  konstan <- xvars[sapply(xvars, function(v) dplyr::n_distinct(df[[v]]) < 2)]
  xvars_model <- setdiff(xvars, konstan)
  df <- df %>% mutate(across(all_of(xvars_model), ~ droplevels(as.factor(.x))))
  formula_mod <- as.formula(paste("status_sekolah ~", paste(xvars_model, collapse = " + ")))
  list(df = df, xvars_model = xvars_model, formula_mod = formula_mod, konstan = konstan)
}

3 Ringkasan Populasi Studi

p_all   <- prep_data(dataku_final)
df_all  <- p_all$df

n_tot   <- nrow(dataku_final)
n_valid <- nrow(df_all)
n_ber   <- sum(df_all$status_sekolah == 1)
n_tdk   <- sum(df_all$status_sekolah == 0)
pct_tdk <- n_tdk / n_valid * 100
pct_ber <- n_ber / n_valid * 100
pct_min <- min(pct_tdk, pct_ber)
k_par   <- ncol(model.matrix(p_all$formula_mod, data = df_all))   # termasuk intercept
epv     <- min(n_ber, n_tdk) / (k_par - 1)                        # per parameter non-intersep

tab_pop <- data.frame(
  Indikator = c(
    "Anak disabilitas usia 7–12 tahun di Jawa (n total)",
    "n valid untuk model (tanpa missing pada Y dan X1–X9)",
    "Bersekolah (Y = 1)",
    "Tidak bersekolah (Y = 0)",
    "Proporsi kelas minoritas (%)",
    "Parameter model (termasuk intercept)",
    "Events per variable (kelas minoritas / parameter non-intersep)"
  ),
  Nilai = c(
    n_tot, n_valid,
    paste0(n_ber, " (", round(pct_ber, 2), "%)"),
    paste0(n_tdk, " (", round(pct_tdk, 2), "%)"),
    round(pct_min, 2),
    k_par,
    round(epv, 2)
  )
)
cat(kbl_h(tab_pop, "Ringkasan Populasi Studi β€” SD (7–12 tahun), Pulau Jawa"))
Ringkasan Populasi Studi β€” SD (7–12 tahun), Pulau Jawa
Indikator Nilai
Anak disabilitas usia 7–12 tahun di Jawa (n total) 367
n valid untuk model (tanpa missing pada Y dan X1–X9) 367
Bersekolah (Y = 1) 351 (95.64%)
Tidak bersekolah (Y = 0) 16 (4.36%)
Proporsi kelas minoritas (%) 4.36
Parameter model (termasuk intercept) 12
Events per variable (kelas minoritas / parameter non-intersep) 1.45
if (pct_min < 5) {
  cat('<p style="color:#c62828;font-weight:600;">&#9888; Kelas minoritas hanya ',
      round(pct_min, 2), '% dari n valid (di bawah 5%): data sangat tidak seimbang.</p>', sep = "")
}

⚠ Kelas minoritas hanya 4.36% dari n valid (di bawah 5%): data sangat tidak seimbang.

if (epv < 10) {
  cat('<p style="color:#c62828;font-weight:600;">&#9888; EPV = ', round(epv, 2),
      ' (di bawah 10): estimasi regresi logistik biasa berisiko tidak stabil. ',
      'Firth dan SMOTEN dijalankan sebagai pembanding.</p>', sep = "")
}

⚠ EPV = 1.45 (di bawah 10): estimasi regresi logistik biasa berisiko tidak stabil. Firth dan SMOTEN dijalankan sebagai pembanding.

cat('<p><em>Observasi dengan nilai hilang pada Y atau salah satu X dibuang oleh <code>na.omit()</code> ',
    'di <code>prep_data()</code> (', n_tot - n_valid, ' observasi).</em></p>', sep = "")

Observasi dengan nilai hilang pada Y atau salah satu X dibuang oleh na.omit() di prep_data() (0 observasi).

3.1 Sebaran per Provinsi

prov_lab <- data.frame(
  prov = 31:36,
  Provinsi = c("DKI Jakarta", "Jawa Barat", "Jawa Tengah", "DI Yogyakarta", "Jawa Timur", "Banten")
)

tab_prov <- dataku_final %>%
  filter(!is.na(Y)) %>%
  count(prov, Y) %>%
  pivot_wider(names_from = Y, values_from = n, values_fill = 0) %>%
  left_join(prov_lab, by = "prov") %>%
  mutate(
    Total = `Tidak bersekolah` + Bersekolah,
    `% Tidak bersekolah` = round(`Tidak bersekolah` / Total * 100, 2)
  ) %>%
  select(Kode = prov, Provinsi, `Tidak bersekolah`, Bersekolah, Total, `% Tidak bersekolah`) %>%
  arrange(Kode)

cat(kbl_h(tab_prov, "Partisipasi Sekolah per Provinsi di Jawa (sampel, tanpa pembobot)"))
Partisipasi Sekolah per Provinsi di Jawa (sampel, tanpa pembobot)
Kode Provinsi Tidak bersekolah Bersekolah Total % Tidak bersekolah
31 DKI Jakarta 0 22 22 0.00
32 Jawa Barat 5 87 92 5.43
33 Jawa Tengah 4 113 117 3.42
34 DI Yogyakarta 0 12 12 0.00
35 Jawa Timur 6 90 96 6.25
36 Banten 1 27 28 3.57

3.2 Sel Jarang pada Tabulasi Prediktor Γ— Y

Kategori dengan kurang dari 5 observasi pada salah satu kelas Y rawan menimbulkan quasi-complete separation.

sel_jarang <- bind_rows(lapply(xvars_global, function(v) {
  tb <- table(df_all[[v]], df_all$status_sekolah)
  data.frame(
    Variabel = LABEL_X[[v]],
    Kategori = rownames(tb),
    `Tidak bersekolah` = as.integer(tb[, "0"]),
    Bersekolah         = as.integer(tb[, "1"]),
    check.names = FALSE
  )
})) %>%
  mutate(Tanda = ifelse(pmin(`Tidak bersekolah`, Bersekolah) < 5, "⚠ < 5", ""))

tbl_sj <- knitr::kable(sel_jarang, format = "html", escape = FALSE,
                       caption = "Frekuensi kategori prediktor menurut Y") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
                full_width = FALSE, font_size = 13, position = "left")
if (any(sel_jarang$Tanda != "")) {
  tbl_sj <- row_spec(tbl_sj, which(sel_jarang$Tanda != ""), background = "#ffebee")
}
cat(as.character(tbl_sj))
Frekuensi kategori prediktor menurut Y
Variabel Kategori Tidak bersekolah Bersekolah Tanda
Jenis Kelamin Anak (X1) Perempuan 9 169
Jenis Kelamin Anak (X1) Laki-laki 7 182
Jenis Disabilitas (X2) Disabilitas ganda 15 155
Jenis Disabilitas (X2) Disabilitas tunggal 1 196 ⚠ < 5
Tingkat Kesulitan (X3) Sangat kesulitan 11 84
Tingkat Kesulitan (X3) Kesulitan 1 64 ⚠ < 5
Tingkat Kesulitan (X3) Sedikit kesulitan 4 203 ⚠ < 5
Jenis Kelamin KRT (X4) Perempuan 2 28 ⚠ < 5
Jenis Kelamin KRT (X4) Laki-laki 14 323
Pendidikan KRT β€” biner (X5) ≀ SMP 13 195
Pendidikan KRT β€” biner (X5) β‰₯ SMA 3 156 ⚠ < 5
Pekerjaan KRT (X6) Tidak bekerja 1 27 ⚠ < 5
Pekerjaan KRT (X6) Pertanian 4 80 ⚠ < 5
Pekerjaan KRT (X6) Nonpertanian 11 244
Daerah Tinggal (X7) Perdesaan 5 125
Daerah Tinggal (X7) Perkotaan 11 226
Kepemilikan KIP/PIP (X8) Tidak memiliki 16 262
Kepemilikan KIP/PIP (X8) Memiliki 0 89 ⚠ < 5
Status Kemiskinan RT (X9) Miskin 3 43 ⚠ < 5
Status Kemiskinan RT (X9) Tidak miskin 13 308
cat('<p><em>', sum(sel_jarang$Tanda != ""), ' dari ', nrow(sel_jarang),
    ' kategori memiliki kurang dari 5 observasi pada salah satu kelas Y.</em></p>', sep = "")

9 dari 20 kategori memiliki kurang dari 5 observasi pada salah satu kelas Y.


4 Fungsi Analisis

4.1 Fungsi Pembantu Output

# ── Wadah rekap odds ratio lintas kombinasi ───────────────────────
OR_RECAP <- data.frame()

catat_or <- function(kombinasi, metode, variabel, or, p, n, ci_l = NA_real_, ci_u = NA_real_) {
  OR_RECAP <<- bind_rows(OR_RECAP, data.frame(
    Kombinasi    = kombinasi,
    Metode       = metode,
    Variabel     = variabel,
    `Odds Ratio` = round(or, 3),
    `p-value`    = round(p, 4),
    `CI 2.5%`    = round(ci_l, 3),
    `CI 97.5%`   = round(ci_u, 3),
    n            = n,
    row.names    = NULL,
    check.names  = FALSE
  ))
}

# ── Wrapper HTML untuk tiap sub-bagian ───────────────────────────
sec <- function(icon, judul, isi) {
  paste0(
    '<div style="margin-bottom:18px">',
    '<h5 style="color:#1565c0;border-bottom:2px solid #bbdefb;',
    'padding-bottom:5px;margin-top:18px;font-size:13.5px;">',
    icon, ' ', judul, '</h5>', isi, '</div>'
  )
}

# ── EDA: distribusi Y ────────────────────────────────────────────
eda_html <- function(df) {
  tbl <- table(factor(df$status_sekolah, levels = c(0, 1)))
  pct <- round(prop.table(tbl) * 100, 2)
  kbl_h(data.frame(
    Kategori = c("Tidak Bersekolah (0)", "Bersekolah (1)"),
    N        = as.integer(c(tbl["0"], tbl["1"])),
    Persen   = paste0(c(pct["0"], pct["1"]), " %")
  ), "Distribusi Y β€” Partisipasi Sekolah")
}

# ── Uji Simultan (GLM-based) ─────────────────────────────────────
simultan_html <- function(model, model_null, xvars_model) {
  G2    <- model_null$deviance - model$deviance
  df_G2 <- model_null$df.residual - model$df.residual
  chi_k <- qchisq(0.95, df_G2)
  pval  <- pchisq(G2, df_G2, lower.tail = FALSE)
  kbl_h(data.frame(
    Statistik = c("-2LL Null", "-2LL Model", "GΒ² Hitung", "df",
                  "χ² Tabel (Ξ±=5%)", "p-value", "Keputusan"),
    Nilai = c(
      round(model_null$deviance, 3), round(model$deviance, 3),
      round(G2, 3), df_G2, round(chi_k, 3), round(pval, 4),
      ifelse(G2 > chi_k, "βœ… Tolak H0 β€” Model Signifikan", "❌ Gagal Tolak H0")
    )
  ), "Uji Simultan (Likelihood Ratio Test / GΒ²)")
}

# ── Uji Parsial Wald (GLM-based) ────────────────────────────────
wald_html <- function(model, alpha = 0.05) {
  koef      <- summary(model)$coefficients
  wald_stat <- (koef[, 1] / koef[, 2])^2
  chi_tabel <- qchisq(1 - alpha, df = 1)

  kbl_h(data.frame(
    Variabel        = rownames(koef),
    B               = round(koef[, 1], 4),
    SE              = round(koef[, 2], 4),
    `Wald (Chi-Sq Hitung)` = round(wald_stat, 4),
    df              = 1,
    `Chi-Sq Tabel (df=1, Ξ±=5%)` = round(chi_tabel, 4),
    `p-value`       = round(koef[, 4], 4),
    Kesimpulan      = ifelse(wald_stat > chi_tabel & koef[, 4] < alpha,
                              "βœ… Signifikan", "❌ Tdk Signifikan"),
    check.names = FALSE
  ), "Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)")
}

# ── Hosmer-Lemeshow ──────────────────────────────────────────────
hl_html <- function(model, y) {
  hl <- tryCatch(hoslem.test(y, fitted(model), g = 10), error = function(e) NULL)
  if (is.null(hl)) return("<p><em>⚠️ Hosmer-Lemeshow tidak dapat dihitung.</em></p>")
  kbl_h(data.frame(
    Statistik = c("χ² HL", "df", "p-value", "Keputusan"),
    Nilai = c(
      round(hl$statistic, 3), hl$parameter, round(hl$p.value, 4),
      ifelse(hl$p.value > 0.05,
             "βœ… Gagal Tolak H0 β€” Model FIT",
             "❌ Tolak H0 β€” TIDAK FIT")
    )
  ), "Goodness of Fit (Hosmer-Lemeshow)")
}

hl_p <- function(y, p) {
  hl <- tryCatch(hoslem.test(y, p, g = 10), error = function(e) NULL)
  if (is.null(hl)) NA_real_ else as.numeric(hl$p.value)
}

g2_p_glm <- function(model) {
  tryCatch(
    pchisq(model$null.deviance - model$deviance,
           model$df.null - model$df.residual, lower.tail = FALSE),
    error = function(e) NA_real_
  )
}

# ── Odds Ratio (GLM-based) dengan CI 95% ─────────────────────────
or_html <- function(model) {
  or <- exp(coef(model))
  ci <- tryCatch(exp(confint.default(model)), error = function(e) NULL)
  ci_l <- if (!is.null(ci)) ci[, 1] else rep(NA_real_, length(or))
  ci_u <- if (!is.null(ci)) ci[, 2] else rep(NA_real_, length(or))
  kbl_h(data.frame(
    Variabel     = names(or),
    `exp(B)`     = round(or, 4),
    `CI 2.5%`    = round(ci_l, 4),
    `CI 97.5%`   = round(ci_u, 4),
    Interpretasi = ifelse(names(or) == "(Intercept)", "Baseline odds",
                   ifelse(or > 1,
                          "↑ Peluang bersekolah lebih besar dibanding referensi",
                          "↓ Peluang bersekolah lebih kecil dibanding referensi")),
    check.names = FALSE
  ), "Interpretasi Parameter (Odds Ratio, CI 95%)")
}

# ── Keputusan eksplisit variabel ORβ‰ˆ1 / tidak signifikan ─────────
keputusan_html_generic <- function(nama, or, pval) {
  pv <- ifelse(is.na(pval), 1, pval)
  df_dec <- data.frame(
    Variabel  = nama,
    `exp(B)`  = round(or, 3),
    `p-value` = round(pv, 4),
    check.names = FALSE
  ) %>% filter(Variabel != "(Intercept)")

  df_dec$Kandidat_Ditinjau <- ifelse(
    (df_dec$`exp(B)` >= 0.8 & df_dec$`exp(B)` <= 1.25) | df_dec$`p-value` >= 0.05,
    "⚠️ OR mendekati 1 dan/atau tidak signifikan", "β€”")

  df_dec$Keputusan <- ifelse(
    df_dec$Kandidat_Ditinjau != "β€”",
    "Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)",
    "Dipertahankan (signifikan/berkontribusi)"
  )

  paste0(
    kbl_h(df_dec, "Keputusan Eksplisit: Variabel dengan OR \u2248 1 atau Tidak Signifikan"),
    '<p><em>Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. ',
    'Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi ',
    'teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata ',
    'berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan ',
    'eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk ',
    'tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.</em></p>'
  )
}

keputusan_variabel_html <- function(model) {
  koef <- summary(model)$coefficients
  keputusan_html_generic(rownames(koef), exp(coef(model)[rownames(koef)]), koef[, 4])
}

# ── Kriteria Informasi: AIC / AICc / BIC ─────────────────────────
ic_html <- function(model, n, k, method = "glm") {
  if (method == "glm") {
    aic_val <- tryCatch(AIC(model),                error = function(e) NA)
    bic_val <- tryCatch(BIC(model),                error = function(e) NA)
    ll_val  <- tryCatch(as.numeric(logLik(model)), error = function(e) NA)
  } else if (method == "firth") {
    ll_val  <- max(model$loglik)
    aic_val <- -2 * ll_val + 2 * k
    bic_val <- -2 * ll_val + log(n) * k
  } else {
    aic_val <- NA; bic_val <- NA; ll_val <- NA
  }

  aicc_val <- if (!is.na(aic_val) && (n - k - 1) > 0) {
    aic_val + (2 * k^2 + 2 * k) / (n - k - 1)
  } else NA

  rows <- paste0(
    '<tr><td><strong>AIC</strong></td><td>',  round(aic_val,  3),
    '</td><td>Semakin kecil semakin baik</td></tr>',
    '<tr><td><strong>AICc</strong></td><td>', round(aicc_val, 3),
    '</td><td>Koreksi utk sampel kecil</td></tr>',
    '<tr><td><strong>BIC</strong></td><td>',  round(bic_val,  3),
    '</td><td>Penalti lebih besar pada parameter</td></tr>',
    '<tr><td>Log-Likelihood</td><td>',         round(ll_val,  3),
    '</td><td>', if (method == "firth") "Penalized log-likelihood" else "", '</td></tr>'
  )

  paste0(
    '<table class="table table-striped table-condensed" style="font-size:13px;width:auto;margin-bottom:0">',
    '<thead><tr>',
    '<th style="min-width:130px">Kriteria</th>',
    '<th style="min-width:90px">Nilai</th>',
    '<th>Keterangan</th></tr></thead><tbody>',
    rows,
    '<tr><td>k (parameter)</td><td>', k, '</td><td>Termasuk intercept</td></tr>',
    '<tr><td>n (observasi)</td><td>', n, '</td><td></td></tr>',
    '</tbody></table>'
  )
}

4.2 Fungsi Evaluasi Model

# ── A. Perfect Separation Check ──────────────────────────────────
separation_html <- function(coefs, ses, is_firth = FALSE) {
  if (is_firth) {
    return(paste0(
      '<div class="eval-sub">',
      '<h6>Perfect Separation Check</h6>',
      '<p class="sep-ok">&#10003; Firth (Penalized Likelihood) dirancang khusus ',
      'menangani complete/quasi-complete separation β€” hasil tetap valid tanpa bias.</p>',
      '</div>'
    ))
  }
  flag_b  <- !is.na(coefs) & abs(coefs) > 10
  flag_se <- !is.na(ses) & ses > 5
  flag    <- flag_b | flag_se
  status  <- if (any(flag, na.rm = TRUE)) {
    '<p class="sep-flag">&#9888; Terdeteksi potensi separation pada variabel berikut:</p>'
  } else {
    '<p class="sep-ok">&#10003; Tidak terdeteksi perfect/quasi-complete separation.</p>'
  }
  tbl <- kbl_h(data.frame(
    Variabel   = names(coefs),
    `|B|>10`   = ifelse(flag_b,  "&#9888; Ya", "&#10003; Tidak"),
    `SE>5`     = ifelse(flag_se, "&#9888; Ya", "&#10003; Tidak"),
    Status     = ifelse(flag,
                        '<span class="sep-flag">&#9888; Potensi Separation</span>',
                        '<span class="sep-ok">&#10003; Aman</span>'),
    check.names = FALSE
  ), "Perfect Separation Check")
  paste0('<div class="eval-sub"><h6>Perfect Separation Check</h6>', status, tbl, '</div>')
}

# ── B. Confusion Matrix + Metrics (blok seluruh data) ────────────
conf_metrics <- function(y_true, y_prob, cutoff) {
  y_pred <- as.integer(y_prob >= cutoff)
  tp <- sum(y_true == 1 & y_pred == 1)
  tn <- sum(y_true == 0 & y_pred == 0)
  fp <- sum(y_true == 0 & y_pred == 1)
  fn <- sum(y_true == 1 & y_pred == 0)
  acc  <- ifelse((tp + tn + fp + fn) > 0, (tp + tn) / (tp + tn + fp + fn), NA)
  sens <- ifelse((tp + fn) > 0, tp / (tp + fn), NA)
  spec <- ifelse((tn + fp) > 0, tn / (tn + fp), NA)
  prec <- ifelse((tp + fp) > 0, tp / (tp + fp), NA)
  f1   <- ifelse(!is.na(prec) & !is.na(sens) & (prec + sens) > 0,
                 2 * prec * sens / (prec + sens), NA)
  list(tp = tp, tn = tn, fp = fp, fn = fn,
       acc = acc, sens = sens, spec = spec, prec = prec, f1 = f1)
}

conf_block_html <- function(y_true, y_prob, cutoff, label_class, label_text) {
  m   <- conf_metrics(y_true, y_prob, cutoff)
  pct <- function(x) ifelse(is.na(x), "NA", paste0(round(x * 100, 2), " %"))
  cm_tbl <- kbl_h(data.frame(
    ` `          = c("Pred: Tidak Bersekolah (0)", "Pred: Bersekolah (1)"),
    `Aktual: 0`  = c(m$tn, m$fp),
    `Aktual: 1`  = c(m$fn, m$tp),
    check.names  = FALSE
  ), paste0("Confusion Matrix β€” ", label_text))
  chips <- paste0(
    '<div class="metric-row">',
    '<span class="metric-chip">Accuracy: ',    pct(m$acc),  '</span>',
    '<span class="metric-chip">Sensitivity: ', pct(m$sens), '</span>',
    '<span class="metric-chip">Specificity: ', pct(m$spec), '</span>',
    '<span class="metric-chip">Precision: ',   pct(m$prec), '</span>',
    '<span class="metric-chip">F1-Score: ',    pct(m$f1),   '</span>',
    '</div>'
  )
  paste0(
    '<div class="cm-box">',
    '<span class="cm-label ', label_class, '">', label_text, '</span>',
    cm_tbl, chips,
    '</div>'
  )
}

cm_html <- function(y_true, y_prob) {
  roc_obj <- tryCatch(
    pROC::roc(y_true, y_prob, levels = c(0, 1), direction = "<", quiet = TRUE),
    error = function(e) NULL
  )
  cut_you <- if (!is.null(roc_obj)) {
    co <- tryCatch(
      pROC::coords(roc_obj, "best", best.method = "youden", ret = "threshold"),
      error = function(e) NULL
    )
    v <- if (!is.null(co)) suppressWarnings(as.numeric(unlist(co)[1])) else NA_real_
    if (is.finite(v)) v else 0.5
  } else 0.5

  b50 <- conf_block_html(y_true, y_prob, 0.5,     "cut50",  "Cutoff 0.5")
  byo <- conf_block_html(y_true, y_prob, cut_you, "cutyou",
                         paste0("Youden Optimal (", round(cut_you, 3), ")"))
  paste0('<div class="eval-sub"><h6>Confusion Matrix &amp; Metrik Klasifikasi</h6>',
         '<div class="cm-wrap">', b50, byo, '</div></div>')
}

# ── C. ROC-AUC + Toggle Plot ─────────────────────────────────────
roc_html <- function(y_true, y_prob, plot_id) {
  roc_obj <- tryCatch(
    pROC::roc(y_true, y_prob, levels = c(0, 1), direction = "<", quiet = TRUE),
    error = function(e) NULL
  )
  if (is.null(roc_obj))
    return('<div class="eval-sub"><h6>ROC-AUC</h6><p><em>ROC tidak dapat dihitung.</em></p></div>')

  auc_val <- as.numeric(pROC::auc(roc_obj))
  auc_cat <- if (auc_val >= 0.9) list(cls = "auc-great", txt = "Sangat Baik")
        else if (auc_val >= 0.8) list(cls = "auc-good",  txt = "Baik")
        else if (auc_val >= 0.7) list(cls = "auc-fair",  txt = "Cukup")
        else                     list(cls = "auc-poor",  txt = "Kurang")

  tmp <- tempfile(fileext = ".png")
  png(tmp, width = 400, height = 400, res = 90)
  plot(roc_obj, col = "#1565c0", lwd = 2.5,
       main = paste0("ROC Curve\nAUC = ", round(auc_val, 4)),
       cex.main = 0.9, cex.axis = 0.8, cex.lab = 0.85)
  abline(a = 0, b = 1, lty = 2, col = "gray60")
  dev.off()
  b64 <- knitr::image_uri(tmp)
  unlink(tmp)

  pid <- gsub("[^a-zA-Z0-9]", "_", plot_id)
  paste0(
    '<div class="eval-sub"><h6>ROC-AUC</h6>',
    '<span class="auc-badge ', auc_cat$cls, '">AUC = ', round(auc_val, 4), '</span>',
    '<strong>', auc_cat$txt, '</strong>',
    ' &nbsp;|&nbsp; Skala: 0.9–1.0 Sangat Baik | 0.8–0.9 Baik | 0.7–0.8 Cukup | &lt;0.7 Kurang<br>',
    '<button class="btn-roc" onclick="toggleRoc(\'', pid, '\')">',
    '&#128200; Tampilkan / Sembunyikan Plot ROC</button>',
    '<div class="roc-plot-wrap" id="roc_', pid, '">',
    '<img src="', b64, '" alt="ROC Curve">',
    '</div></div>'
  )
}

# ── D. Full Evaluasi Section ─────────────────────────────────────
evaluasi_html <- function(model, y_true, y_prob, plot_id, is_firth = FALSE) {
  coefs <- coef(model)
  ses   <- tryCatch(sqrt(diag(vcov(model))), error = function(e) rep(NA, length(coefs)))
  if (length(ses) != length(coefs)) ses <- rep(NA_real_, length(coefs))
  paste0(
    '<div class="eval-wrap">',
    separation_html(coefs, ses, is_firth),
    cm_html(y_true, y_prob),
    roc_html(y_true, y_prob, plot_id),
    '</div>'
  )
}

4.3 Fungsi Metrik & Ringkasan

# ==================================================================
# METRIK EVALUASI β€” event model tetap Y = 1 (Bersekolah)
# Kelas minoritas = Tidak Bersekolah (Y = 0), sehingga recall, precision
# dan F1 kelas 0 dilaporkan eksplisit bersama Balanced Accuracy dan G-mean.
# ==================================================================
smote_metrics_school <- function(y_true, prob_school, cutoff_school = 0.50) {
  y_true <- as.integer(y_true)
  y_pred <- as.integer(prob_school >= cutoff_school)

  tp <- sum(y_true == 1 & y_pred == 1)
  tn <- sum(y_true == 0 & y_pred == 0)
  fp <- sum(y_true == 0 & y_pred == 1)
  fn <- sum(y_true == 1 & y_pred == 0)

  acc <- ifelse((tp + tn + fp + fn) > 0,
                (tp + tn) / (tp + tn + fp + fn), NA_real_)

  # Kinerja kelas 1 = Bersekolah
  sens_school <- ifelse((tp + fn) > 0, tp / (tp + fn), NA_real_)
  prec_school <- ifelse((tp + fp) > 0, tp / (tp + fp), NA_real_)
  f1_school   <- ifelse(!is.na(prec_school) && !is.na(sens_school) &&
                        (prec_school + sens_school) > 0,
                        2 * prec_school * sens_school /
                          (prec_school + sens_school), NA_real_)

  # Kinerja kelas 0 = Tidak Bersekolah (minoritas)
  recall_noschool <- ifelse((tn + fp) > 0, tn / (tn + fp), NA_real_)
  prec_noschool   <- ifelse((tn + fn) > 0, tn / (tn + fn), NA_real_)
  f1_noschool     <- ifelse(!is.na(prec_noschool) && !is.na(recall_noschool) &&
                            (prec_noschool + recall_noschool) > 0,
                            2 * prec_noschool * recall_noschool /
                              (prec_noschool + recall_noschool), NA_real_)

  bal <- ifelse(!is.na(sens_school) && !is.na(recall_noschool),
                (sens_school + recall_noschool) / 2, NA_real_)
  gmn <- ifelse(!is.na(sens_school) && !is.na(recall_noschool),
                sqrt(sens_school * recall_noschool), NA_real_)

  roc_obj <- tryCatch(
    pROC::roc(response = y_true, predictor = prob_school,
              levels = c(0, 1), direction = "<", quiet = TRUE),
    error = function(e) NULL
  )
  auc_val <- if (!is.null(roc_obj)) as.numeric(pROC::auc(roc_obj)) else NA_real_

  list(
    tp = tp, tn = tn, fp = fp, fn = fn,
    acc = acc,
    sens_school = sens_school,
    spec_school = recall_noschool,
    prec_school = prec_school,
    f1_school = f1_school,
    recall_noschool = recall_noschool,
    prec_noschool = prec_noschool,
    f1_noschool = f1_noschool,
    bal = bal,
    gmean = gmn,
    auc = auc_val,
    cutoff = cutoff_school
  )
}

# ---- Cutoff Youden ditentukan HANYA dari training asli ----
smote_youden_from_train <- function(y_true, prob_school) {
  y_true <- as.integer(y_true)

  roc_obj <- tryCatch(
    pROC::roc(response = y_true, predictor = prob_school,
              levels = c(0, 1), direction = "<", quiet = TRUE),
    error = function(e) NULL
  )
  if (is.null(roc_obj)) return(0.50)

  co <- tryCatch(
    pROC::coords(roc_obj, "best", best.method = "youden",
                 ret = "threshold", transpose = FALSE),
    error = function(e) NULL
  )
  if (is.null(co)) return(0.50)

  cut <- suppressWarnings(as.numeric(unlist(co)[1]))
  if (!is.finite(cut)) 0.50 else cut
}

# ---- Baris ringkasan lintas hasil ----
mk_ringkas <- function(kelompok, metode, skema, n_tr, n_sint, pct_min,
                       m, hlp, g2p, pemenang = NA_character_) {
  data.frame(
    Kelompok            = kelompok,
    Metode              = metode,
    Skema               = skema,
    n_training          = n_tr,
    n_sintetis          = n_sint,
    pct_minoritas_akhir = pct_min,
    BalAcc              = m$bal * 100,
    Recall_Tdk          = m$recall_noschool * 100,
    Gmean               = m$gmean * 100,
    AUC                 = m$auc,
    HL_p                = hlp,
    G2_p                = g2p,
    Pemenang            = pemenang,
    stringsAsFactors    = FALSE
  )
}

# ---- Pemenang di antara metode (Balanced Accuracy > recall Tdk Bersekolah > AUC) ----
pilih_pemenang <- function(mlist) {
  nilai <- function(x, ganti = -1) ifelse(is.na(x), ganti, round(x, 8))
  tb <- data.frame(
    metode = names(mlist),
    bal  = unname(sapply(mlist, function(m) nilai(m$bal))),
    rec0 = unname(sapply(mlist, function(m) nilai(m$recall_noschool))),
    auc  = unname(sapply(mlist, function(m) nilai(m$auc))),
    stringsAsFactors = FALSE
  )
  tb  <- tb[order(-tb$bal, -tb$rec0, -tb$auc), ]
  top <- tb[tb$bal == tb$bal[1] & tb$rec0 == tb$rec0[1] & tb$auc == tb$auc[1], ]
  if (nrow(top) > 1) paste0("Setara: ", paste(top$metode, collapse = " = ")) else top$metode[1]
}

4.4 Fungsi Analisis β€” Reglog Biasa

run_biasa <- function(data, nama_dataset, xvars = xvars_global) {
  p   <- prep_data(data, xvars)
  df  <- p$df; xm <- p$xvars_model; fm <- p$formula_mod

  if (length(xm) == 0) return(list(html = "<p>⚠️ Tidak ada variabel valid.</p>", ringkas = NULL))

  mdl  <- tryCatch(glm(fm, data = df, family = binomial), error = function(e) NULL)
  mdl0 <- tryCatch(glm(status_sekolah ~ 1, data = df, family = binomial), error = function(e) NULL)
  if (is.null(mdl)) return(list(html = "<p>⚠️ Model gagal di-fit.</p>", ringkas = NULL))

  info <- paste0('<p><strong>n valid:</strong> ', nrow(df), ' obs.',
    if (length(p$konstan) > 0) paste0(' | <em>Konstan (dikeluarkan): ',
                                       paste(p$konstan, collapse = ", "), '</em>') else '',
    ' | <em>Model dilatih pada seluruh data, tanpa pembagian latih-uji.</em></p>')

  k_biasa <- length(coef(mdl))
  n_biasa <- nrow(df)
  pid     <- paste0("biasa-", gsub("[^a-zA-Z0-9]", "_", nama_dataset))

  # ── Rekam OR (dengan CI) untuk rekap Lampiran ──
  koef_b <- summary(mdl)$coefficients
  ci_b   <- tryCatch(exp(confint.default(mdl)), error = function(e) NULL)
  nm_b   <- rownames(koef_b)
  catat_or(nama_dataset, "Reglog Biasa", nm_b, exp(coef(mdl)[nm_b]), koef_b[, 4], n_biasa,
           if (!is.null(ci_b)) ci_b[nm_b, 1] else NA_real_,
           if (!is.null(ci_b)) ci_b[nm_b, 2] else NA_real_)

  m_ins <- smote_metrics_school(df$status_sekolah, fitted(mdl), 0.50)
  ringkas <- mk_ringkas(
    "Seluruh data (in-sample)", "Reglog Biasa", "Seluruh data",
    n_biasa, 0, mean(df$status_sekolah == 0) * 100,
    m_ins, hl_p(df$status_sekolah, fitted(mdl)), g2_p_glm(mdl), "β€”"
  )

  html <- paste0(info,
    sec("πŸ“Š", "EDA β€” Distribusi Y",               eda_html(df)),
    sec("βœ…", "Goodness of Fit (H-L Test)",        hl_html(mdl, df$status_sekolah)),
    sec("πŸ“", "Uji Simultan (GΒ²)",                if (!is.null(mdl0)) simultan_html(mdl, mdl0, xm) else "<p>⚠️ Model null gagal.</p>"),
    sec("πŸ“‹", "Uji Parsial (Wald Test)",           wald_html(mdl)),
    sec("πŸ“Š", "Kriteria Informasi (AIC/AICc/BIC)", ic_html(mdl, n_biasa, k_biasa, "glm")),
    sec("πŸ“ˆ", "Interpretasi Parameter (OR, CI 95%)", or_html(mdl)),
    sec("🧭", "Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan", keputusan_variabel_html(mdl)),
    sec("πŸ”", "Evaluasi Model (in-sample, seluruh data)",
        evaluasi_html(mdl, df$status_sekolah, fitted(mdl), pid))
  )
  list(html = html, ringkas = ringkas)
}

4.5 Fungsi Analisis β€” Firth (Penalized Likelihood)

Sintaks mengikuti run_firth() pada file FB_v3, disesuaikan agar prediktor berupa faktor (kategori referensi sama dengan model biasa dan SMOTEN).

# ---- Probabilitas Firth untuk data baru (dengan cadangan manual) ----
prob_firth <- function(mdl, newdata, xm) {
  out <- tryCatch(as.numeric(predict(mdl, newdata = newdata, type = "response")),
                  error = function(e) NULL)
  if (!is.null(out) && length(out) == nrow(newdata) && all(is.finite(out))) return(out)

  # Cadangan: hitung manual dari matriks desain
  b <- mdl$coefficients
  X <- model.matrix(reformulate(xm), data = newdata)
  X <- X[, names(b), drop = FALSE]
  as.numeric(plogis(X %*% b))
}

run_firth <- function(data, nama_dataset, xvars = xvars_global) {
  p  <- prep_data(data, xvars)
  df <- p$df; xm <- p$xvars_model; fm <- p$formula_mod

  if (length(xm) == 0) return(list(html = "<p>⚠️ Tidak ada variabel valid.</p>", ringkas = NULL))

  mdl <- tryCatch(logistf(fm, data = df), error = function(e) e)
  if (inherits(mdl, "error")) {
    return(list(html = paste0("<p>⚠️ Model Firth gagal di-fit: ", mdl$message, "</p>"), ringkas = NULL))
  }

  coefs <- mdl$coefficients
  k_f   <- length(coefs)
  n_f   <- nrow(df)

  # Uji Simultan β€” penalized LRT
  G2    <- 2 * abs(diff(as.numeric(mdl$loglik)))
  df_G2 <- k_f - 1
  chi_k <- qchisq(0.95, df_G2)
  pval  <- pchisq(G2, df_G2, lower.tail = FALSE)
  sim_tbl <- kbl_h(data.frame(
    Statistik = c("LogLik Null", "LogLik Model", "GΒ² Hitung", "df",
                  "χ² Tabel (Ξ±=5%)", "p-value", "Keputusan"),
    Nilai = c(
      round(min(mdl$loglik), 3), round(max(mdl$loglik), 3),
      round(G2, 3), df_G2, round(chi_k, 3), round(pval, 4),
      ifelse(G2 > chi_k, "βœ… Tolak H0 β€” Signifikan", "❌ Gagal Tolak H0")
    )
  ), "Uji Simultan (Penalized LRT)")

  # Koefisien, SE, p-value β€” disejajarkan secara posisional dengan koefisien
  se_raw <- sqrt(diag(mdl$var))
  se     <- setNames(se_raw[seq_along(coefs)], names(coefs))
  pvals  <- as.numeric(mdl$prob)
  if (length(pvals) != k_f) pvals <- rep(NA_real_, k_f)
  names(pvals) <- names(coefs)
  chi_sq <- (coefs / se)^2
  ci_l   <- as.numeric(mdl$ci.lower)
  ci_u   <- as.numeric(mdl$ci.upper)

  wald_tbl <- kbl_h(data.frame(
    Variabel   = names(coefs),
    B          = round(coefs, 4),
    SE         = round(se, 4),
    `Wald (B/SE)Β²` = round(chi_sq, 4),
    `p-value (Penalized LRT)` = round(pvals, 4),
    Kesimpulan = ifelse(!is.na(pvals) & pvals < 0.05, "βœ… Signifikan", "❌ Tdk Signifikan"),
    check.names = FALSE
  ), "Uji Per Variabel (Penalized LRT)")

  # Odds Ratio dengan CI profile penalized likelihood
  or_tbl <- kbl_h(data.frame(
    Variabel     = names(coefs),
    `exp(B)`     = round(exp(coefs), 4),
    `CI 2.5%`    = round(exp(ci_l), 4),
    `CI 97.5%`   = round(exp(ci_u), 4),
    Interpretasi = ifelse(names(coefs) == "(Intercept)", "Baseline odds",
                   ifelse(exp(coefs) > 1,
                          "↑ Peluang bersekolah lebih besar dibanding referensi",
                          "↓ Peluang bersekolah lebih kecil dibanding referensi")),
    check.names = FALSE
  ), "Interpretasi Parameter (Odds Ratio β€” CI Firth/Profile Likelihood)")

  # Goodness of Fit Hosmer-Lemeshow β€” memakai mdl$predict
  prob_fit <- as.numeric(mdl$predict)
  hl_firth <- tryCatch(hoslem.test(df$status_sekolah, prob_fit, g = 10), error = function(e) NULL)
  hl_firth_tbl <- if (is.null(hl_firth)) {
    "<p><em>⚠️ Hosmer-Lemeshow tidak dapat dihitung.</em></p>"
  } else {
    kbl_h(data.frame(
      Statistik = c("χ² HL", "df", "p-value", "Keputusan"),
      Nilai = c(
        round(hl_firth$statistic, 3), hl_firth$parameter, round(hl_firth$p.value, 4),
        ifelse(hl_firth$p.value > 0.05,
               "βœ… Gagal Tolak H0 β€” Model FIT",
               "❌ Tolak H0 β€” TIDAK FIT")
      )
    ), "Goodness of Fit (Hosmer-Lemeshow)")
  }

  info <- paste0('<p><strong>n valid:</strong> ', n_f, ' obs.',
    if (length(p$konstan) > 0) paste0(' | <em>Konstan (dikeluarkan): ',
                                       paste(p$konstan, collapse = ", "), '</em>') else '',
    ' | <em>Firth menangani quasi-complete separation &amp; kelas minoritas kecil. ',
    'Model dilatih pada seluruh data, tanpa pembagian latih-uji.</em></p>')

  pid <- paste0("firth-", gsub("[^a-zA-Z0-9]", "_", nama_dataset))

  # ── Rekam OR (dengan CI) untuk rekap Lampiran ──
  catat_or(nama_dataset, "Firth", names(coefs), exp(coefs), pvals, n_f, exp(ci_l), exp(ci_u))

  m_ins <- smote_metrics_school(df$status_sekolah, prob_fit, 0.50)
  ringkas <- mk_ringkas(
    "Seluruh data (in-sample)", "Firth", "Seluruh data",
    n_f, 0, mean(df$status_sekolah == 0) * 100,
    m_ins, hl_p(df$status_sekolah, prob_fit), pval, "β€”"
  )

  html <- paste0(info,
    sec("πŸ“Š", "EDA β€” Distribusi Y",                    eda_html(df)),
    sec("βœ…", "Goodness of Fit (H-L Test)",            hl_firth_tbl),
    sec("πŸ“", "Uji Simultan (Penalized LRT)",          sim_tbl),
    sec("πŸ“‹", "Uji Per Variabel (Penalized LRT)",      wald_tbl),
    sec("πŸ“Š", "Kriteria Informasi (AIC/AICc/BIC)",     ic_html(mdl, n_f, k_f, "firth")),
    sec("πŸ“ˆ", "Interpretasi Parameter (OR β€” CI Firth)", or_tbl),
    sec("🧭", "Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan",
        keputusan_html_generic(names(coefs), exp(coefs), pvals)),
    sec("πŸ”", "Evaluasi Model (in-sample, seluruh data)",
        evaluasi_html(mdl, df$status_sekolah, prob_fit, pid, is_firth = TRUE))
  )
  list(html = html, ringkas = ringkas)
}

4.6 Fungsi Analisis β€” SMOTEN

# ==================================================================
# SMOTEN β€” ALUR SAMA DENGAN SKRIPSI KTI (v15)
# 1) Split stratified training-testing dilakukan SEBELUM resampling.
# 2) SMOTEN hanya pada training set (themis::smoten, jarak VDM,
#    karena seluruh prediktor kategorik).
# 3) Testing set tidak pernah di-SMOTE; dipakai hanya untuk evaluasi final.
# 4) Reglog biasa, Firth, dan SMOTEN dibandingkan pada testing set yang SAMA.
# 5) Coding outcome tetap: 1 = Bersekolah, 0 = Tidak Bersekolah (minoritas).
# 6) Cutoff Youden ditentukan dari training asli, dikunci, lalu dipakai pada testing.
# ==================================================================

# ---- Split stratified yang menjaga kedua kelas dan level prediktor ----
smote_stratified_split <- function(df, xvars_model, train_prop = 0.80,
                                   seed = 2026, max_try = 200) {
  y <- df$status_sekolah
  if (length(unique(y)) != 2) stop("Y harus memiliki tepat dua kelas.")

  for (attempt in 0:(max_try - 1)) {
    set.seed(seed + attempt)

    idx_by_class <- split(seq_len(nrow(df)), y)
    idx_train <- unlist(lapply(idx_by_class, function(idx) {
      n_i <- length(idx)
      if (n_i < 2) stop("Salah satu kelas memiliki kurang dari 2 observasi.")
      n_tr <- floor(train_prop * n_i)
      n_tr <- max(1L, min(n_i - 1L, n_tr))
      sample(idx, size = n_tr, replace = FALSE)
    }), use.names = FALSE)

    idx_train <- sort(unique(idx_train))
    idx_test  <- setdiff(seq_len(nrow(df)), idx_train)

    tr <- df[idx_train, , drop = FALSE]
    te <- df[idx_test,  , drop = FALSE]

    kelas_ok <- length(unique(tr$status_sekolah)) == 2 &&
                length(unique(te$status_sekolah)) == 2

    pred_ok <- all(vapply(xvars_model, function(v) {
      lev_tr <- unique(as.character(tr[[v]]))
      lev_te <- unique(as.character(te[[v]]))
      length(lev_tr) >= 2 && all(lev_te %in% lev_tr)
    }, logical(1)))

    if (kelas_ok && pred_ok) {
      for (v in xvars_model) {
        tr[[v]] <- droplevels(as.factor(tr[[v]]))
        te[[v]] <- factor(as.character(te[[v]]), levels = levels(tr[[v]]))
      }
      return(list(train = tr, test = te, seed_used = seed + attempt))
    }
  }

  stop(paste0("Tidak berhasil membentuk split stratified yang valid dalam ", max_try,
              " percobaan (kemungkinan ada kategori prediktor yang sangat jarang). ",
              "Coba ubah seed atau train_prop."))
}

# ---- Konteks split: split + model pembanding (dilatih sekali per split) ----
siapkan_split <- function(data, label, train_prop, xvars = xvars_global, seed = 2026) {
  p  <- prep_data(data, xvars)
  df <- p$df; xm <- p$xvars_model; fm <- p$formula_mod
  if (length(xm) == 0) stop("Tidak ada variabel valid.")

  spl   <- smote_stratified_split(df, xm, train_prop = train_prop, seed = seed)
  train <- spl$train
  test  <- spl$test

  # Reglog biasa pada training asli
  mdl_b  <- glm(fm, data = train, family = binomial)
  mdl_b0 <- glm(status_sekolah ~ 1, data = train, family = binomial)

  # Firth pada training asli (pl = FALSE: CI/p profile tidak diperlukan di sini)
  mdl_f <- tryCatch(logistf(fm, data = train, pl = FALSE), error = function(e) NULL)

  pr_te <- list(); pr_tr <- list()
  pr_te[["Reglog Biasa"]] <- as.numeric(predict(mdl_b, newdata = test,  type = "response"))
  pr_tr[["Reglog Biasa"]] <- as.numeric(predict(mdl_b, newdata = train, type = "response"))
  if (!is.null(mdl_f)) {
    pr_te[["Firth"]] <- prob_firth(mdl_f, test,  xm)
    pr_tr[["Firth"]] <- prob_firth(mdl_f, train, xm)
  }

  ok <- vapply(names(pr_te), function(nm)
    all(is.finite(pr_te[[nm]])) && all(is.finite(pr_tr[[nm]])), logical(1))
  if (!ok[["Reglog Biasa"]])
    stop("Prediksi Reglog Biasa mengandung NA/Inf (kategori sangat jarang atau rank deficiency).")
  pr_te <- pr_te[ok]; pr_tr <- pr_tr[ok]

  cuts <- lapply(pr_tr, function(pp) smote_youden_from_train(train$status_sekolah, pp))

  n_min_train <- sum(train$status_sekolah == 0)
  n_maj_train <- sum(train$status_sekolah == 1)
  pct_min_tr  <- n_min_train / nrow(train) * 100

  # Baris ringkasan baseline (training asli -> testing)
  kel <- paste("Split", label)
  rb  <- list()
  rb[[1]] <- mk_ringkas(kel, "Reglog Biasa", "Training asli β†’ testing",
                        nrow(train), 0, pct_min_tr,
                        smote_metrics_school(test$status_sekolah, pr_te[["Reglog Biasa"]], 0.50),
                        hl_p(train$status_sekolah, pr_tr[["Reglog Biasa"]]),
                        g2_p_glm(mdl_b), "β€”")
  if ("Firth" %in% names(pr_te)) {
    g2_f <- tryCatch(pchisq(2 * abs(diff(as.numeric(mdl_f$loglik))),
                            length(mdl_f$coefficients) - 1, lower.tail = FALSE),
                     error = function(e) NA_real_)
    rb[[2]] <- mk_ringkas(kel, "Firth", "Training asli β†’ testing",
                          nrow(train), 0, pct_min_tr,
                          smote_metrics_school(test$status_sekolah, pr_te[["Firth"]], 0.50),
                          hl_p(train$status_sekolah, pr_tr[["Firth"]]),
                          g2_f, "β€”")
  }

  list(
    label = label, train_prop = train_prop, seed_used = spl$seed_used,
    df = df, xm = xm, fm = fm, train = train, test = test,
    pr_te = pr_te, pr_tr = pr_tr, cuts = cuts,
    n_min_train = n_min_train, n_maj_train = n_maj_train,
    ringkas_base = bind_rows(rb),
    firth_ada = "Firth" %in% names(pr_te)
  )
}

# ---- HTML confusion matrix pada testing asli ----
smote_test_block_html <- function(y_true, prob_school, cutoff, label_text) {
  m <- smote_metrics_school(y_true, prob_school, cutoff)
  pct <- function(x) ifelse(is.na(x), "NA", paste0(round(x * 100, 2), " %"))

  cm_tbl <- kbl_h(data.frame(
    ` ` = c("Pred: Tidak Bersekolah (0)", "Pred: Bersekolah (1)"),
    `Aktual: Tidak Bersekolah (0)` = c(m$tn, m$fp),
    `Aktual: Bersekolah (1)`       = c(m$fn, m$tp),
    check.names = FALSE
  ), paste0("Confusion Matrix Testing - ", label_text))

  paste0(
    '<div class="cm-box">',
    '<span class="cm-label cut50">', label_text, '</span>',
    cm_tbl,
    '<div class="metric-row">',
    '<span class="metric-chip">Accuracy: ', pct(m$acc), '</span>',
    '<span class="metric-chip">Sensitivity / Recall Bersekolah: ', pct(m$sens_school), '</span>',
    '<span class="metric-chip">Specificity / Recall Tidak Bersekolah: ', pct(m$recall_noschool), '</span>',
    '<span class="metric-chip">Balanced Accuracy: ', pct(m$bal), '</span>',
    '<span class="metric-chip">Precision Bersekolah: ', pct(m$prec_school), '</span>',
    '<span class="metric-chip">F1 Bersekolah: ', pct(m$f1_school), '</span>',
    '<span class="metric-chip">Precision Tidak Bersekolah: ', pct(m$prec_noschool), '</span>',
    '<span class="metric-chip">F1 Tidak Bersekolah: ', pct(m$f1_noschool), '</span>',
    '<span class="metric-chip">G-mean: ', pct(m$gmean), '</span>',
    '<span class="metric-chip">AUC (Y=1 Bersekolah): ',
      ifelse(is.na(m$auc), "NA", round(m$auc, 4)), '</span>',
    '</div></div>'
  )
}

# ---- Perbandingan tiga metode (Reglog Biasa, Firth, SMOTEN) pada testing yang sama ----
banding_tiga_html <- function(y_test, probs, cuts) {
  mkrow <- function(metode, skema, m) {
    data.frame(
      Metode = metode,
      Cutoff = skema,
      `Nilai cutoff P(Bersekolah)` = round(m$cutoff, 3),
      `Accuracy (%)` = round(m$acc * 100, 2),
      `Sensitivity / Recall Bersekolah (%)` = round(m$sens_school * 100, 2),
      `Specificity / Recall Tidak Bersekolah (%)` = round(m$recall_noschool * 100, 2),
      `Balanced Accuracy (%)` = round(m$bal * 100, 2),
      `F1 Bersekolah (%)` = round(m$f1_school * 100, 2),
      `F1 Tidak Bersekolah (%)` = round(m$f1_noschool * 100, 2),
      `G-mean (%)` = round(m$gmean * 100, 2),
      `AUC Y=1 Bersekolah` = round(m$auc, 4),
      check.names = FALSE
    )
  }

  rows50 <- list(); rowsY <- list(); mets50 <- list(); metsY <- list()
  for (nm in names(probs)) {
    mets50[[nm]] <- smote_metrics_school(y_test, probs[[nm]], 0.50)
    metsY[[nm]]  <- smote_metrics_school(y_test, probs[[nm]], cuts[[nm]])
    rows50[[nm]] <- mkrow(nm, "Fixed 0.50", mets50[[nm]])
    rowsY[[nm]]  <- mkrow(nm, "Youden dari training", metsY[[nm]])
  }
  tbl <- bind_rows(c(unname(rows50), unname(rowsY)))

  # Keputusan utama: testing asli, cutoff tetap 0.50
  pemenang <- pilih_pemenang(mets50)

  sm <- mets50[["SMOTEN + Reglog"]]
  kal <- paste0(
    '<p><strong>Metode terbaik (testing asli, cutoff 0.50):</strong> ', pemenang, '. ',
    'Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.</p>'
  )
  for (pembanding in setdiff(names(mets50), "SMOTEN + Reglog")) {
    mb <- mets50[[pembanding]]
    kal <- paste0(kal,
      '<p>SMOTEN terhadap ', pembanding, ': selisih Balanced Accuracy = ',
      round((sm$bal - mb$bal) * 100, 2), ' poin persentase; selisih recall Tidak Bersekolah = ',
      round((sm$recall_noschool - mb$recall_noschool) * 100, 2),
      ' poin persentase; selisih sensitivity Bersekolah = ',
      round((sm$sens_school - mb$sens_school) * 100, 2), ' poin persentase.</p>')
  }
  kal <- paste0(kal,
    '<p><em>Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. ',
    'Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance ',
    'dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik ',
    'event model logistik.</em></p>')

  list(
    html = paste0(kbl_h(tbl, "Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli"), kal),
    mets50 = mets50, pemenang = pemenang
  )
}

# ---- Satu skenario SMOTEN (satu split x satu persen Chawla) ----
run_smote <- function(ctx, nama_dataset, pct, label_skema, K = 5) {
  xm <- ctx$xm; fm <- ctx$fm; train <- ctx$train; test <- ctx$test
  n_min <- ctx$n_min_train; n_maj <- ctx$n_maj_train
  gagal <- function(msg) list(html = paste0("<p>⚠️ ", msg, "</p>"), ringkas = NULL)

  if (!requireNamespace("themis", quietly = TRUE))
    return(gagal("Paket <code>themis</code> diperlukan untuk SMOTEN. Instal dengan <code>install.packages('themis')</code>."))

  pred_semua_kategorik <- all(vapply(train[xm], function(z) is.factor(z) || is.character(z), logical(1)))
  if (!pred_semua_kategorik)
    return(gagal("SMOTEN hanya tepat bila seluruh prediktor kategorik. Gunakan SMOTENC untuk prediktor numerik."))

  # Konversi persen Chawla -> over_ratio (themis::smoten)
  target_akhir <- round(n_min * (1 + pct / 100))
  over_ratio   <- min(1, target_akhir / n_maj)

  # Pengaman K: kelas minoritas pada training harus >= K + 1 observasi
  K_pakai <- K; cat_K <- ""
  if (n_min < K + 1) {
    K_pakai <- n_min - 1
    cat_K <- paste0(' | <em>K diturunkan otomatis dari ', K, ' menjadi ', K_pakai,
                    ' karena kelas minoritas pada training hanya ', n_min, ' observasi.</em>')
  }
  if (K_pakai < 1)
    return(gagal(paste0("SMOTEN tidak dapat dijalankan: kelas minoritas pada training hanya ", n_min, " observasi.")))

  # ================================================================
  # 1. SMOTEN HANYA PADA TRAINING SET
  # ================================================================
  train_sm_in <- train[, c("status_sekolah", xm), drop = FALSE]
  train_sm_in$status_sekolah <- factor(
    train_sm_in$status_sekolah,
    levels = c(0, 1),
    labels = c("Tidak Bersekolah", "Bersekolah")
  )
  for (v in xm) {
    train_sm_in[[v]] <- factor(as.character(train_sm_in[[v]]), levels = levels(train[[v]]))
  }

  set.seed(ctx$seed_used + 1000L)
  df_sm <- tryCatch(
    themis::smoten(df = train_sm_in, var = "status_sekolah", k = K_pakai, over_ratio = over_ratio),
    error = function(e) e
  )
  if (inherits(df_sm, "error"))
    return(gagal(paste0("SMOTEN gagal: ", df_sm$message)))

  df_sm <- as.data.frame(df_sm)
  df_sm$status_sekolah <- ifelse(as.character(df_sm$status_sekolah) == "Bersekolah", 1L, 0L)
  for (v in xm) {
    df_sm[[v]] <- factor(as.character(df_sm[[v]]), levels = levels(train[[v]]))
  }

  # ================================================================
  # 2. FIT REGRESI LOGISTIK SETELAH SMOTEN
  # ================================================================
  mdl  <- tryCatch(glm(fm, data = df_sm, family = binomial), error = function(e) NULL)
  mdl0 <- tryCatch(glm(status_sekolah ~ 1, data = df_sm, family = binomial), error = function(e) NULL)
  if (is.null(mdl) || is.null(mdl0))
    return(gagal("Model GLM setelah SMOTEN gagal di-fit."))

  # ================================================================
  # 3. EVALUASI FINAL HANYA PADA TESTING SET ASLI
  # ================================================================
  prob_te_s <- tryCatch(as.numeric(predict(mdl, newdata = test, type = "response")),
                        error = function(e) rep(NA_real_, nrow(test)))
  if (any(!is.finite(prob_te_s)))
    return(gagal("Prediksi testing SMOTEN mengandung NA/Inf. Periksa kategori sangat jarang atau rank deficiency."))

  prob_tr_s <- as.numeric(predict(mdl, newdata = train, type = "response"))
  cut_s     <- smote_youden_from_train(train$status_sekolah, prob_tr_s)

  probs <- c(ctx$pr_te, list("SMOTEN + Reglog" = prob_te_s))
  cuts  <- c(ctx$cuts,  list("SMOTEN + Reglog" = cut_s))

  bandingan <- banding_tiga_html(test$status_sekolah, probs, cuts)

  # ================================================================
  # 4. EDA DISTRIBUSI TOTAL, TRAINING, SMOTEN, TESTING
  # ================================================================
  tab2 <- function(x) as.integer(table(factor(x, levels = c(0, 1))))
  eda_tbl <- kbl_h(data.frame(
    Kategori = c("Tidak Bersekolah (0) - minoritas", "Bersekolah (1) - event model"),
    `N Total Asli`      = tab2(ctx$df$status_sekolah),
    `N Training Asli`   = tab2(train$status_sekolah),
    `N Training SMOTEN` = tab2(df_sm$status_sekolah),
    `N Testing Asli`    = tab2(test$status_sekolah),
    check.names = FALSE
  ), "Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing")

  info <- paste0(
    '<p><strong>Skema:</strong> ', label_skema,
    ' | <strong>target minoritas pada training:</strong> ', target_akhir,
    ' (dari ', n_min, ' asli) | <strong>over_ratio:</strong> ', round(over_ratio, 4),
    ' | <strong>K:</strong> ', K_pakai, cat_K, '</p>',
    '<p><strong>n total valid:</strong> ', nrow(ctx$df),
    ' | <strong>training asli:</strong> ', nrow(train),
    ' | <strong>training setelah SMOTEN:</strong> ', nrow(df_sm),
    ' | <strong>testing asli:</strong> ', nrow(test),
    ' | <strong>split:</strong> ', round(ctx$train_prop * 100), ':', round((1 - ctx$train_prop) * 100),
    ' stratified | <strong>seed:</strong> ', ctx$seed_used, '.</p>',
    '<p><em>SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli ',
    'dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan ',
    'sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. ',
    'Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.</em></p>'
  )

  # Blok evaluasi testing untuk tiap metode, dua skema cutoff
  blok50 <- paste0(vapply(names(probs), function(nm)
    smote_test_block_html(test$status_sekolah, probs[[nm]], 0.50,
                          paste0(nm, " | cutoff P(Bersekolah) 0.50")), character(1)), collapse = "")
  blokY  <- paste0(vapply(names(probs), function(nm)
    smote_test_block_html(test$status_sekolah, probs[[nm]], cuts[[nm]],
                          paste0(nm, " | Youden training = ", round(cuts[[nm]], 3))), character(1)), collapse = "")

  ses_s <- tryCatch(sqrt(diag(vcov(mdl))), error = function(e) rep(NA, length(coef(mdl))))
  if (length(ses_s) != length(coef(mdl))) ses_s <- rep(NA_real_, length(coef(mdl)))

  eval_html <- paste0(
    '<div class="eval-wrap">',
    separation_html(coef(mdl), ses_s, FALSE),
    '<div class="eval-sub"><h6>Testing Set Asli - Cutoff Tetap 0.50</h6>',
    '<p><em>Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.</em></p>',
    '<div class="cm-wrap">', blok50, '</div></div>',
    '<div class="eval-sub"><h6>Testing Set Asli - Cutoff Youden dari Training</h6>',
    '<p><em>Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.</em></p>',
    '<div class="cm-wrap">', blokY, '</div></div>',
    '</div>'
  )

  # ================================================================
  # 5. INFERENSI MODEL SMOTEN PADA TRAINING RESAMPLED
  # ================================================================
  k_smote <- length(coef(mdl))
  n_smote <- nrow(df_sm)

  koef_s <- summary(mdl)$coefficients
  ci_s   <- tryCatch(exp(confint.default(mdl)), error = function(e) NULL)
  nm_s   <- rownames(koef_s)
  catat_or(nama_dataset, "SMOTE", nm_s, exp(coef(mdl)[nm_s]), koef_s[, 4], n_smote,
           if (!is.null(ci_s)) ci_s[nm_s, 1] else NA_real_,
           if (!is.null(ci_s)) ci_s[nm_s, 2] else NA_real_)

  ringkas <- mk_ringkas(
    paste("Split", ctx$label), "SMOTEN + Reglog", label_skema,
    nrow(train), nrow(df_sm) - nrow(train),
    mean(df_sm$status_sekolah == 0) * 100,
    bandingan$mets50[["SMOTEN + Reglog"]],
    hl_p(df_sm$status_sekolah, fitted(mdl)), g2_p_glm(mdl),
    bandingan$pemenang
  )

  html <- paste0(
    info,
    sec("πŸ“Š", "EDA - Distribusi Y dan Pembagian Data", eda_tbl),
    sec("βš–οΈ", "Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli", bandingan$html),
    sec("βœ…", "Goodness of Fit (H-L Test) - Model SMOTEN", hl_html(mdl, df_sm$status_sekolah)),
    sec("πŸ“", "Uji Simultan (GΒ²) - Model SMOTEN", simultan_html(mdl, mdl0, xm)),
    sec("πŸ“‹", "Uji Parsial (Wald Test) - Model SMOTEN", wald_html(mdl)),
    sec("πŸ“Š", "Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN",
        paste0(
          ic_html(mdl, n_smote, k_smote, "glm"),
          '<p><em><small>&#9432; AIC/AICc/BIC dihitung pada training setelah SMOTEN. ',
          'Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.</small></em></p>'
        )),
    sec("πŸ“ˆ", "Interpretasi Parameter (OR, CI 95%) - Model SMOTEN", or_html(mdl)),
    sec("🧭", "Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN",
        keputusan_variabel_html(mdl)),
    sec("πŸ”", "Evaluasi Model pada Testing Set Asli", eval_html)
  )
  list(html = html, ringkas = ringkas)
}

5 Penggunaan SMOTE dan N% Oversampling

Konvensi Chawla et al.Β (2002): N% oversampling berarti menambahkan N% dari ukuran kelas minoritas pada training sebagai data sintetis baru.

Grid ditetapkan peneliti: mulai dari 100%, naik dengan kelipatan 100% (100%, 200%, 300%, dan seterusnya) sampai mendekati seimbang, lalu ditutup dengan titik seimbang penuh (pct_full). Karena n_min_train dan n_maj_train berbeda antara split 70:30 dan 80:20, grid dihitung per split.

# ── PARAMETER GRID (ubah di sini bila perlu) ───────────────────────
PCT_MULAI   <- 100    # persen Chawla pada titik pertama (ditetapkan peneliti)
PCT_LANGKAH <- 100    # langkah antar titik (kelipatan 100%: 100%, 200%, ...)
K_SMOTEN     <- 5      # jumlah tetangga terdekat

# ── Skenario pembagian data latih : uji ──────────────────────────
split_list <- list(
  s7030 = list(label = "70:30", train_prop = 0.70),
  s8020 = list(label = "80:20", train_prop = 0.80)
)

# ── Titik seimbang penuh dan grid per split ───────────────────────
buat_grid <- function(n_min, n_maj) {
  pct_full <- floor((n_maj / n_min - 1) * 100)   # titik seimbang penuh (over_ratio <= 1)
  if (!is.finite(pct_full) || pct_full < 1) {
    return(list(pct_full = pct_full, grid = numeric(0)))
  }
  pct_seq <- if (pct_full >= PCT_MULAI) seq(PCT_MULAI, pct_full, by = PCT_LANGKAH) else numeric(0)
  list(pct_full = pct_full, grid = sort(unique(c(pct_seq, pct_full))))
}
# ── Bentuk konteks split (split + model pembanding) satu kali per split ──
ctx_list <- list()
ctx_err  <- list()
for (sp_id in names(split_list)) {
  sp  <- split_list[[sp_id]]
  res <- tryCatch(siapkan_split(dataku_final, sp$label, sp$train_prop), error = function(e) e)
  if (inherits(res, "error")) {
    ctx_err[[sp_id]] <- res$message
  } else {
    ctx_list[[sp_id]] <- res
  }
}

grid_info <- lapply(ctx_list, function(cx) buat_grid(cx$n_min_train, cx$n_maj_train))

5.1 Grid yang Terbentuk

for (sp_id in names(split_list)) {
  sp <- split_list[[sp_id]]
  cat("\n\n### Split ", sp$label, "\n\n", sep = "")

  if (!is.null(ctx_err[[sp_id]])) {
    cat('<p style="color:#c62828;font-weight:600;">&#9888; Pembagian data gagal: ',
        ctx_err[[sp_id]], '</p>\n', sep = "")
    next
  }

  cx <- ctx_list[[sp_id]]
  g  <- grid_info[[sp_id]]
  n_min <- cx$n_min_train; n_maj <- cx$n_maj_train

  cat('<p><strong>Training asli:</strong> ', nrow(cx$train),
      ' observasi (Tidak Bersekolah = ', n_min, '; Bersekolah = ', n_maj, '; minoritas = ',
      round(n_min / nrow(cx$train) * 100, 2), '%). <strong>Testing asli:</strong> ', nrow(cx$test),
      ' observasi. <strong>Titik seimbang penuh:</strong> ', g$pct_full, '%.</p>\n', sep = "")

  if (length(g$grid) == 0) {
    cat('<p style="color:#c62828;font-weight:600;">&#9888; Kelas Tidak Bersekolah bukan kelas minoritas ',
        'pada training (atau titik seimbang tidak terdefinisi). SMOTEN tidak dijalankan pada split ini.</p>\n', sep = "")
    next
  }
  if (g$pct_full < PCT_MULAI) {
    cat('<p style="color:#e65100;font-weight:600;">&#9888; Titik seimbang penuh (', g$pct_full,
        '%) lebih kecil dari PCT_MULAI (', PCT_MULAI,
        '%). Hanya titik seimbang penuh yang dijalankan pada split ini.</p>\n', sep = "")
  }
  if (length(g$grid) > 15) {
    cat('<p style="color:#e65100;font-weight:600;">&#9888; Jumlah titik grid pada split ini = ', length(g$grid),
        ' (lebih dari 15). Waktu knit bisa lama; PCT_LANGKAH dapat diperbesar.</p>\n', sep = "")
  }

  ta <- round(n_min * (1 + g$grid / 100))
  tab_grid <- data.frame(
    `Persen Chawla` = paste0(g$grid, "%"),
    Jenis           = ifelse(g$grid == g$pct_full, "Seimbang penuh", "Chawla"),
    `Target minoritas (training)` = ta,
    over_ratio      = round(pmin(1, ta / n_maj), 4),
    `Proporsi minoritas akhir (%)` = round(ta / (ta + n_maj) * 100, 2),
    check.names = FALSE
  )
  cat(kbl_h(tab_grid, paste0("Grid SMOTEN β€” Split ", sp$label, " (", length(g$grid), " titik)")))
}

5.1.1 Split 70:30

Training asli: 256 observasi (Tidak Bersekolah = 11; Bersekolah = 245; minoritas = 4.3%). Testing asli: 111 observasi. Titik seimbang penuh: 2127%.

⚠ Jumlah titik grid pada split ini = 22 (lebih dari 15). Waktu knit bisa lama; PCT_LANGKAH dapat diperbesar.

Grid SMOTEN β€” Split 70:30 (22 titik)
Persen Chawla Jenis Target minoritas (training) over_ratio Proporsi minoritas akhir (%)
100% Chawla 22 0.0898 8.24
200% Chawla 33 0.1347 11.87
300% Chawla 44 0.1796 15.22
400% Chawla 55 0.2245 18.33
500% Chawla 66 0.2694 21.22
600% Chawla 77 0.3143 23.91
700% Chawla 88 0.3592 26.43
800% Chawla 99 0.4041 28.78
900% Chawla 110 0.4490 30.99
1000% Chawla 121 0.4939 33.06
1100% Chawla 132 0.5388 35.01
1200% Chawla 143 0.5837 36.86
1300% Chawla 154 0.6286 38.60
1400% Chawla 165 0.6735 40.24
1500% Chawla 176 0.7184 41.81
1600% Chawla 187 0.7633 43.29
1700% Chawla 198 0.8082 44.70
1800% Chawla 209 0.8531 46.04
1900% Chawla 220 0.8980 47.31
2000% Chawla 231 0.9429 48.53
2100% Chawla 242 0.9878 49.69
2127% Seimbang penuh 245 1.0000 50.00

5.1.2 Split 80:20

Training asli: 292 observasi (Tidak Bersekolah = 12; Bersekolah = 280; minoritas = 4.11%). Testing asli: 75 observasi. Titik seimbang penuh: 2233%.

⚠ Jumlah titik grid pada split ini = 23 (lebih dari 15). Waktu knit bisa lama; PCT_LANGKAH dapat diperbesar.

Grid SMOTEN β€” Split 80:20 (23 titik)
Persen Chawla Jenis Target minoritas (training) over_ratio Proporsi minoritas akhir (%)
100% Chawla 24 0.0857 7.89
200% Chawla 36 0.1286 11.39
300% Chawla 48 0.1714 14.63
400% Chawla 60 0.2143 17.65
500% Chawla 72 0.2571 20.45
600% Chawla 84 0.3000 23.08
700% Chawla 96 0.3429 25.53
800% Chawla 108 0.3857 27.84
900% Chawla 120 0.4286 30.00
1000% Chawla 132 0.4714 32.04
1100% Chawla 144 0.5143 33.96
1200% Chawla 156 0.5571 35.78
1300% Chawla 168 0.6000 37.50
1400% Chawla 180 0.6429 39.13
1500% Chawla 192 0.6857 40.68
1600% Chawla 204 0.7286 42.15
1700% Chawla 216 0.7714 43.55
1800% Chawla 228 0.8143 44.88
1900% Chawla 240 0.8571 46.15
2000% Chawla 252 0.9000 47.37
2100% Chawla 264 0.9429 48.53
2200% Chawla 276 0.9857 49.64
2233% Seimbang penuh 280 1.0000 50.00

6 Menjalankan Seluruh Analisis

Seluruh kombinasi dijalankan pada bagian ini (tanpa tampilan). Hasilnya ditampilkan pada tabel ringkasan dan panel interaktif di bawah. Bila satu kombinasi gagal, pesan kesalahan ditampilkan pada kartu hasil kombinasi tersebut dan knit tetap berlanjut.

7 Tabel Ringkasan Hasil

if (is.null(ringkas_all)) {
  cat("<p><em>Tidak ada hasil yang dapat diringkas.</em></p>")
} else {
  fmt_p <- function(x) ifelse(is.na(x), "NA", formatC(x, format = "g", digits = 3))

  tab_r <- ringkas_all %>%
    transmute(
      `Metode`                      = Metode,
      `Skema`                       = Skema,
      `n training`                  = n_training,
      `n sintetis`                  = n_sintetis,
      `% minoritas akhir (training)` = round(pct_minoritas_akhir, 1),
      `Balanced Accuracy (%)`       = round(BalAcc, 2),
      `Recall Tdk Bersekolah (%)`   = round(Recall_Tdk, 2),
      `G-mean (%)`                  = round(Gmean, 2),
      `AUC`                         = round(AUC, 4),
      `p H-L`                       = fmt_p(HL_p),
      `p GΒ²`                        = fmt_p(G2_p),
      `Metode terbaik (testing)`    = Pemenang
    )

  # Balanced Accuracy tertinggi dalam tiap kelompok (di antara semua baris kelompok)
  kel_lev <- unique(ringkas_all$Kelompok)
  idx_best <- unlist(lapply(kel_lev, function(k) {
    ix <- which(ringkas_all$Kelompok == k)
    ix[which(!is.na(ringkas_all$BalAcc[ix]) & ringkas_all$BalAcc[ix] == max(ringkas_all$BalAcc[ix], na.rm = TRUE))]
  }))

  tbl_r <- knitr::kable(tab_r, format = "html", escape = FALSE,
                        caption = "Ringkasan Hasil: Regresi Logistik Biner, Firth, dan SMOTE (SD, Pulau Jawa)") %>%
    kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
                  full_width = TRUE, font_size = 12.5)
  if (length(idx_best) > 0) tbl_r <- row_spec(tbl_r, idx_best, bold = TRUE, background = "#e8f5e9")

  tbl_idx <- table(factor(ringkas_all$Kelompok, levels = kel_lev))
  tbl_r <- pack_rows(tbl_r, index = setNames(as.integer(tbl_idx), names(tbl_idx)))

  cat(as.character(tbl_r))
  cat('<p style="font-size:12.5px;color:#455a64;">Baris hijau = Balanced Accuracy tertinggi dalam kelompok. ',
      'Baris "Seluruh data (in-sample)" dievaluasi pada data yang sama dengan data latih sehingga ',
      'tidak sebanding langsung dengan baris split (testing asli). Pada baris split, p H-L dan p GΒ² ',
      'dihitung dari model pada data latih (setelah SMOTEN untuk baris SMOTEN).</p>')
}
Ringkasan Hasil: Regresi Logistik Biner, Firth, dan SMOTE (SD, Pulau Jawa)
Metode Skema n training n sintetis % minoritas akhir (training) Balanced Accuracy (%) Recall Tdk Bersekolah (%) G-mean (%) AUC p H-L p GΒ² Metode terbaik (testing)
Seluruh data (in-sample)
Reglog Biasa Seluruh data 367 0 4.4 49.86 0.00 0.00 0.9095 0.97 3.66e-05 β€”
Firth Seluruh data 367 0 4.4 52.98 6.25 24.96 0.9024 0.888 0.000402 β€”
Split 70:30
Reglog Biasa Training asli β†’ testing 256 0 4.3 49.53 0.00 0.00 0.7783 0.95 0.000306 β€”
Firth Training asli β†’ testing 256 0 4.3 49.53 0.00 0.00 0.8066 0.934 0.00512 β€”
SMOTEN + Reglog Chawla 100% 256 11 8.2 47.64 0.00 0.00 0.7594 0.366 5.52e-11 Firth
SMOTEN + Reglog Chawla 200% 256 22 11.9 48.11 0.00 0.00 0.7538 0.368 1.6e-18 Firth
SMOTEN + Reglog Chawla 300% 256 33 15.2 48.11 0.00 0.00 0.7519 0.191 1.14e-25 Firth
SMOTEN + Reglog Chawla 400% 256 44 18.3 48.11 0.00 0.00 0.7538 0.0604 2.47e-32 Firth
SMOTEN + Reglog Chawla 500% 256 55 21.2 47.17 0.00 0.00 0.7538 0.0193 1.5e-38 Firth
SMOTEN + Reglog Chawla 600% 256 66 23.9 47.17 0.00 0.00 0.7538 0.196 2.26e-44 Firth
SMOTEN + Reglog Chawla 700% 256 77 26.4 47.17 0.00 0.00 0.7462 0.0677 7.64e-50 Firth
SMOTEN + Reglog Chawla 800% 256 88 28.8 47.17 0.00 0.00 0.7462 0.0105 5.28e-55 Firth
SMOTEN + Reglog Chawla 900% 256 99 31.0 47.17 0.00 0.00 0.7481 0.0148 6.88e-60 Firth
SMOTEN + Reglog Chawla 1000% 256 110 33.1 47.17 0.00 0.00 0.7481 1.55e-06 1.58e-64 Firth
SMOTEN + Reglog Chawla 1100% 256 121 35.0 47.17 0.00 0.00 0.7481 0.00681 6.07e-69 Firth
SMOTEN + Reglog Chawla 1200% 256 132 36.9 47.17 0.00 0.00 0.7481 0.0331 3.7e-73 Firth
SMOTEN + Reglog Chawla 1300% 256 143 38.6 56.23 20.00 43.00 0.7481 0.00274 3.43e-77 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1400% 256 154 40.2 56.23 20.00 43.00 0.7481 0.0135 4.68e-81 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1500% 256 165 41.8 56.23 20.00 43.00 0.7481 2.42e-05 9.07e-85 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1600% 256 176 43.3 55.28 20.00 42.56 0.7368 4.71e-12 2.44e-88 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1700% 256 187 44.7 55.28 20.00 42.56 0.7387 NA 8.83e-92 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1800% 256 198 46.0 55.28 20.00 42.56 0.7349 6.09e-05 4.23e-95 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1900% 256 209 47.3 55.28 20.00 42.56 0.7349 0.0015 2.63e-98 SMOTEN + Reglog
SMOTEN + Reglog Chawla 2000% 256 220 48.5 55.28 20.00 42.56 0.7349 0.00265 2.07e-101 SMOTEN + Reglog
SMOTEN + Reglog Chawla 2100% 256 231 49.7 55.28 20.00 42.56 0.7349 7.41e-05 2.06e-104 SMOTEN + Reglog
SMOTEN + Reglog Seimbang penuh (2127%) 256 234 50.0 55.28 20.00 42.56 0.7349 0.000112 3.14e-105 SMOTEN + Reglog
Split 80:20
Reglog Biasa Training asli β†’ testing 292 0 4.1 50.00 0.00 0.00 0.7306 1 0.000206 β€”
Firth Training asli β†’ testing 292 0 4.1 50.00 0.00 0.00 0.7940 0.948 0.00298 β€”
SMOTEN + Reglog Chawla 100% 292 12 7.9 50.00 0.00 0.00 0.7025 0.48 5.95e-12 Firth
SMOTEN + Reglog Chawla 200% 292 24 11.4 46.48 0.00 0.00 0.7095 0.989 2.93e-20 Firth
SMOTEN + Reglog Chawla 300% 292 36 14.6 46.48 0.00 0.00 0.7095 0.463 3.66e-28 Firth
SMOTEN + Reglog Chawla 400% 292 48 17.6 46.48 0.00 0.00 0.7165 0.262 1.48e-35 Firth
SMOTEN + Reglog Chawla 500% 292 60 20.5 57.57 25.00 47.47 0.7165 0.345 1.81e-42 SMOTEN + Reglog
SMOTEN + Reglog Chawla 600% 292 72 23.1 57.57 25.00 47.47 0.7165 0.335 5.95e-49 SMOTEN + Reglog
SMOTEN + Reglog Chawla 700% 292 84 25.5 57.57 25.00 47.47 0.7165 0.329 4.71e-55 SMOTEN + Reglog
SMOTEN + Reglog Chawla 800% 292 96 27.8 57.57 25.00 47.47 0.7201 0.207 8.14e-61 SMOTEN + Reglog
SMOTEN + Reglog Chawla 900% 292 108 30.0 57.57 25.00 47.47 0.7236 0.0212 2.82e-66 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1000% 292 120 32.0 57.57 25.00 47.47 0.7236 0.0988 1.82e-71 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1100% 292 132 34.0 57.57 25.00 47.47 0.7236 0.183 2.06e-76 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1200% 292 144 35.8 57.57 25.00 47.47 0.7236 0.228 3.88e-81 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1300% 292 156 37.5 57.57 25.00 47.47 0.7236 0.26 1.16e-85 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1400% 292 168 39.1 57.57 25.00 47.47 0.7236 0.0151 5.33e-90 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1500% 292 180 40.7 57.57 25.00 47.47 0.7236 0.0111 3.61e-94 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1600% 292 192 42.1 57.57 25.00 47.47 0.7236 0.0108 3.5e-98 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1700% 292 204 43.5 57.57 25.00 47.47 0.7236 0.019 4.74e-102 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1800% 292 216 44.9 57.57 25.00 47.47 0.7236 0.0784 8.73e-106 SMOTEN + Reglog
SMOTEN + Reglog Chawla 1900% 292 228 46.2 57.57 25.00 47.47 0.7236 0.108 2.14e-109 SMOTEN + Reglog
SMOTEN + Reglog Chawla 2000% 292 240 47.4 57.57 25.00 47.47 0.7236 0.132 6.89e-113 SMOTEN + Reglog
SMOTEN + Reglog Chawla 2100% 292 252 48.5 57.57 25.00 47.47 0.7236 NA 2.85e-116 SMOTEN + Reglog
SMOTEN + Reglog Chawla 2200% 292 264 49.6 57.57 25.00 47.47 0.7236 0.201 1.49e-119 SMOTEN + Reglog
SMOTEN + Reglog Seimbang penuh (2233%) 292 268 50.0 57.57 25.00 47.47 0.7236 0.219 1.26e-120 SMOTEN + Reglog

Baris hijau = Balanced Accuracy tertinggi dalam kelompok. Baris β€œSeluruh data (in-sample)” dievaluasi pada data yang sama dengan data latih sehingga tidak sebanding langsung dengan baris split (testing asli). Pada baris split, p H-L dan p GΒ² dihitung dari model pada data latih (setelah SMOTEN untuk baris SMOTEN).

8 Hasil Analisis Interaktif β€” 47 Kombinasi

πŸ”§ Filter Hasil Analisis (47 Kombinasi)

Metode Analisis

Persentase Oversampling SMOTEN (Chawla, % dari Minoritas Asli)

Khusus SMOTEN. Tidak memengaruhi blok Reglog Biasa dan Firth. N% = menambah N% dari ukuran minoritas asli (training) sebagai data sintetis (konvensi Chawla et al., 2002). Titik seimbang penuh berbeda per split.

Split Data (Latih : Uji)

Khusus SMOTEN. Tidak memengaruhi blok Reglog Biasa dan Firth.

Menghitung…
⚠ Tidak ada hasil yang sesuai pilihan.
Centang minimal satu opsi pada setiap kelompok filter.

Regresi Logistik Biasa β€” Seluruh Data

Reglog Biasa

Reglog Biasa

n valid: 367 obs. | Model dilatih pada seluruh data, tanpa pembagian latih-uji.

πŸ“Š EDA β€” Distribusi Y
Distribusi Y β€” Partisipasi Sekolah
Kategori N Persen
Tidak Bersekolah (0) 16 4.36 %
Bersekolah (1) 351 95.64 %
βœ… Goodness of Fit (H-L Test)
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 2.32
df 8
p-value 0.9696
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²)
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 131.541
-2LL Model 91.601
GΒ² Hitung 39.94
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test)
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.0073 1.3842 0.5296 1 3.8415 0.4668 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki 0.5572 0.5694 0.9576 1 3.8415 0.3278 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 2.6706 1.1069 5.8216 1 3.8415 0.0158 βœ… Signifikan
X3Kesulitan X3Kesulitan 2.2646 1.1288 4.0250 1 3.8415 0.0448 βœ… Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 1.0179 0.6781 2.2531 1 3.8415 0.1333 ❌ Tdk Signifikan
X4Laki-laki X4Laki-laki 0.2513 1.0353 0.0589 1 3.8415 0.8082 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 1.3856 0.7214 3.6889 1 3.8415 0.0548 ❌ Tdk Signifikan
X6Pertanian X6Pertanian -1.1482 1.4175 0.6562 1 3.8415 0.4179 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -0.6784 1.3754 0.2433 1 3.8415 0.6218 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan -0.8591 0.7041 1.4888 1 3.8415 0.2224 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 17.3705 1623.0019 0.0001 1 3.8415 0.9915 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.9675 0.8542 1.2828 1 3.8415 0.2574 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC)
KriteriaNilaiKeterangan
AIC115.601Semakin kecil semakin baik
AICc116.482Koreksi utk sampel kecil
BIC162.465Penalti lebih besar pada parameter
Log-Likelihood-45.8
k (parameter)12Termasuk intercept
n (observasi)367
πŸ“ˆ Interpretasi Parameter (OR, CI 95%)
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 2.738200e+00 0.1817 41.2730 Baseline odds
X1Laki-laki X1Laki-laki 1.745700e+00 0.5719 5.3286 ↑ Peluang bersekolah lebih besar dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 1.444930e+01 1.6507 126.4779 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 9.627400e+00 1.0536 87.9684 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.767400e+00 0.7326 10.4543 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 1.285800e+00 0.1690 9.7817 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 3.997100e+00 0.9720 16.4368 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 3.172000e-01 0.0197 5.1038 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 5.074000e-01 0.0343 7.5177 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 4.235000e-01 0.1066 1.6835 ↓ Peluang bersekolah lebih kecil dibanding referensi
X8Memiliki X8Memiliki 3.498861e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 2.631300e+00 0.4932 14.0377 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 1.746 0.3278 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 14.449 0.0158 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 9.627 0.0448 β€” Dipertahankan (signifikan/berkontribusi)
X3Sedikit kesulitan X3Sedikit kesulitan 2.767 0.1333 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X4Laki-laki X4Laki-laki 1.286 0.8082 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 3.997 0.0548 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Pertanian X6Pertanian 0.317 0.4179 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 0.507 0.6218 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 0.424 0.2224 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 34988610.973 0.9915 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 2.631 0.2574 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model (in-sample, seluruh data)
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Confusion Matrix & Metrik Klasifikasi
Cutoff 0.5
Confusion Matrix β€” Cutoff 0.5
Aktual: 0 Aktual: 1
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 16 350
Accuracy: 95.37 %Sensitivity: 99.72 %Specificity: 0 %Precision: 95.63 %F1-Score: 97.63 %
Youden Optimal (0.91)
Confusion Matrix β€” Youden Optimal (0.91)
Aktual: 0 Aktual: 1
Pred: Tidak Bersekolah (0) 14 48
Pred: Bersekolah (1) 2 303
Accuracy: 86.38 %Sensitivity: 86.32 %Specificity: 87.5 %Precision: 99.34 %F1-Score: 92.38 %
ROC-AUC
AUC = 0.9095Sangat Baik Β |Β  Skala: 0.9–1.0 Sangat Baik | 0.8–0.9 Baik | 0.7–0.8 Cukup | <0.7 Kurang
ROC Curve

Firth (Penalized Likelihood) β€” Seluruh Data

Firth

Firth

n valid: 367 obs. | Firth menangani quasi-complete separation & kelas minoritas kecil. Model dilatih pada seluruh data, tanpa pembagian latih-uji.

πŸ“Š EDA β€” Distribusi Y
Distribusi Y β€” Partisipasi Sekolah
Kategori N Persen
Tidak Bersekolah (0) 16 4.36 %
Bersekolah (1) 351 95.64 %
βœ… Goodness of Fit (H-L Test)
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 3.64
df 8
p-value 0.888
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (Penalized LRT)
Uji Simultan (Penalized LRT)
Statistik Nilai
LogLik Null -59.121
LogLik Model -42.262
GΒ² Hitung 33.718
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 4e-04
Keputusan βœ… Tolak H0 β€” Signifikan
πŸ“‹ Uji Per Variabel (Penalized LRT)
Uji Per Variabel (Penalized LRT)
Variabel B SE Wald (B/SE)Β² p-value (Penalized LRT) Kesimpulan
(Intercept) (Intercept) 0.5585 1.0897 0.2627 0.6313 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki 0.4617 0.4818 0.9182 0.3800 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 2.1946 0.7887 7.7425 0.0045 βœ… Signifikan
X3Kesulitan X3Kesulitan 1.8090 0.8399 4.6394 0.0216 βœ… Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 0.8820 0.5674 2.4162 0.1434 ❌ Tdk Signifikan
X4Laki-laki X4Laki-laki 0.3582 0.8369 0.1831 0.7054 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 1.1929 0.6034 3.9087 0.0563 ❌ Tdk Signifikan
X6Pertanian X6Pertanian -0.7880 1.0551 0.5578 0.4908 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -0.3153 1.0094 0.0976 0.7810 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan -0.7287 0.5936 1.5071 0.2565 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 2.1108 1.2328 2.9317 0.0510 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.8369 0.6772 1.5272 0.2870 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC)
KriteriaNilaiKeterangan
AIC108.525Semakin kecil semakin baik
AICc109.406Koreksi utk sampel kecil
BIC155.389Penalti lebih besar pada parameter
Log-Likelihood-42.262Penalized log-likelihood
k (parameter)12Termasuk intercept
n (observasi)367
πŸ“ˆ Interpretasi Parameter (OR β€” CI Firth)
Interpretasi Parameter (Odds Ratio β€” CI Firth/Profile Likelihood)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 1.7481 0.1872 23.6857 Baseline odds
X1Laki-laki X1Laki-laki 1.5868 0.5657 4.6494 ↑ Peluang bersekolah lebih besar dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 8.9768 1.8643 87.5202 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 6.1045 1.2682 60.8148 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.4157 0.7487 9.1346 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 1.4307 0.1788 7.9011 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 3.2967 0.9697 13.9817 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 0.4547 0.0275 3.8062 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 0.7295 0.0463 5.3372 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 0.4825 0.1241 1.6805 ↓ Peluang bersekolah lebih kecil dibanding referensi
X8Memiliki X8Memiliki 8.2545 0.9929 1086.3665 ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 2.3092 0.4656 10.0792 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 1.587 0.3800 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 8.977 0.0045 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 6.104 0.0216 β€” Dipertahankan (signifikan/berkontribusi)
X3Sedikit kesulitan X3Sedikit kesulitan 2.416 0.1434 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X4Laki-laki X4Laki-laki 1.431 0.7054 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 3.297 0.0563 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Pertanian X6Pertanian 0.455 0.4908 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 0.730 0.7810 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 0.483 0.2565 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 8.254 0.0510 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 2.309 0.2870 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model (in-sample, seluruh data)
Perfect Separation Check

βœ“ Firth (Penalized Likelihood) dirancang khusus menangani complete/quasi-complete separation β€” hasil tetap valid tanpa bias.

Confusion Matrix & Metrik Klasifikasi
Cutoff 0.5
Confusion Matrix β€” Cutoff 0.5
Aktual: 0 Aktual: 1
Pred: Tidak Bersekolah (0) 1 1
Pred: Bersekolah (1) 15 350
Accuracy: 95.64 %Sensitivity: 99.72 %Specificity: 6.25 %Precision: 95.89 %F1-Score: 97.77 %
Youden Optimal (0.891)
Confusion Matrix β€” Youden Optimal (0.891)
Aktual: 0 Aktual: 1
Pred: Tidak Bersekolah (0) 14 55
Pred: Bersekolah (1) 2 296
Accuracy: 84.47 %Sensitivity: 84.33 %Specificity: 87.5 %Precision: 99.33 %F1-Score: 91.22 %
ROC-AUC
AUC = 0.9024Sangat Baik Β |Β  Skala: 0.9–1.0 Sangat Baik | 0.8–0.9 Baik | 0.7–0.8 Cukup | <0.7 Kurang
ROC Curve

SMOTEN | Split 70:30 | Chawla 100%

SMOTEN (Chawla 100% β†’ over_ratio β‰ˆ 0.09)

SMOTEN

Skema: Chawla 100% | target minoritas pada training: 22 (dari 11 asli) | over_ratio: 0.0898 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 267 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 22 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 90.99 95.28 0 47.64 95.28 NA 0.00 0.7594
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.971 80.18 80.19 80 80.09 88.54 26.67 80.09 0.7594

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -1.89 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -3.77 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -1.89 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -3.77 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 8.722
df 8
p-value 0.3663
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 151.968
-2LL Model 80.158
GΒ² Hitung 71.81
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.4163 1.4200 0.0859 1 3.8415 0.7694 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki 0.0099 0.6179 0.0003 1 3.8415 0.9873 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 2.5052 1.1290 4.9240 1 3.8415 0.0265 βœ… Signifikan
X3Kesulitan X3Kesulitan 19.2076 2161.3515 0.0001 1 3.8415 0.9929 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 1.7714 0.7950 4.9645 1 3.8415 0.0259 βœ… Signifikan
X4Laki-laki X4Laki-laki 0.9177 1.2082 0.5770 1 3.8415 0.4475 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 2.2837 1.0991 4.3171 1 3.8415 0.0377 βœ… Signifikan
X6Pertanian X6Pertanian -1.3257 1.4768 0.8059 1 3.8415 0.3693 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.2797 1.4464 0.7828 1 3.8415 0.3763 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.7733 0.6113 1.6006 1 3.8415 0.2058 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 17.4621 1958.6838 0.0001 1 3.8415 0.9929 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.6880 1.1001 0.3911 1 3.8415 0.5317 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC104.158Semakin kecil semakin baik
AICc105.387Koreksi utk sampel kecil
BIC147.205Penalti lebih besar pada parameter
Log-Likelihood-40.079
k (parameter)12Termasuk intercept
n (observasi)267

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.595000e-01 0.0408 10.6647 Baseline odds
X1Laki-laki X1Laki-laki 1.009900e+00 0.3009 3.3900 ↑ Peluang bersekolah lebih besar dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 1.224610e+01 1.3397 111.9393 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 2.196688e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 5.879200e+00 1.2376 27.9283 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 2.503600e+00 0.2345 26.7286 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 9.813000e+00 1.1382 84.6011 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 2.656000e-01 0.0147 4.8004 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.781000e-01 0.0163 4.7361 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 2.167000e+00 0.6540 7.1805 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 3.834244e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 1.989700e+00 0.2303 17.1887 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 1.010000e+00 0.9873 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 1.224600e+01 0.0265 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 2.196688e+08 0.9929 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 5.879000e+00 0.0259 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 2.504000e+00 0.4475 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 9.813000e+00 0.0377 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 2.660000e-01 0.3693 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.780000e-01 0.3763 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 2.167000e+00 0.2058 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 3.834244e+07 0.9929 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 1.990000e+00 0.5317 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 5
Pred: Bersekolah (1) 5 101
Accuracy: 90.99 %Sensitivity / Recall Bersekolah: 95.28 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 47.64 %Precision Bersekolah: 95.28 %F1 Bersekolah: 95.28 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7594
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.971
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.971
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 21
Pred: Bersekolah (1) 1 85
Accuracy: 80.18 %Sensitivity / Recall Bersekolah: 80.19 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 80.09 %Precision Bersekolah: 98.84 %F1 Bersekolah: 88.54 %Precision Tidak Bersekolah: 16 %F1 Tidak Bersekolah: 26.67 %G-mean: 80.09 %AUC (Y=1 Bersekolah): 0.7594

SMOTEN | Split 70:30 | Chawla 200%

SMOTEN (Chawla 200% β†’ over_ratio β‰ˆ 0.135)

SMOTEN

Skema: Chawla 200% | target minoritas pada training: 33 (dari 11 asli) | over_ratio: 0.1347 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 278 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 33 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 91.89 96.23 0 48.11 95.77 NA 0.00 0.7538
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.981 78.38 78.30 80 79.15 87.37 25.00 79.15 0.7538

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -1.42 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -2.83 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -1.42 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -2.83 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 8.706
df 8
p-value 0.3677
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 202.571
-2LL Model 92.281
GΒ² Hitung 110.29
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.4231 1.4304 0.0875 1 3.8415 0.7674 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.2172 0.5987 0.1316 1 3.8415 0.7168 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 2.6999 1.1270 5.7389 1 3.8415 0.0166 βœ… Signifikan
X3Kesulitan X3Kesulitan 19.4943 2127.7180 0.0001 1 3.8415 0.9927 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.0054 0.7884 6.4710 1 3.8415 0.0110 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.0058 1.2197 0.6800 1 3.8415 0.4096 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 2.5454 1.0991 5.3631 1 3.8415 0.0206 βœ… Signifikan
X6Pertanian X6Pertanian -1.4701 1.4409 1.0410 1 3.8415 0.3076 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.3491 1.4171 0.9063 1 3.8415 0.3411 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.0761 0.5727 3.5308 1 3.8415 0.0602 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 17.5646 1924.7682 0.0001 1 3.8415 0.9927 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.2882 1.1419 0.0637 1 3.8415 0.8008 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC116.281Semakin kecil semakin baik
AICc117.459Koreksi utk sampel kecil
BIC159.813Penalti lebih besar pada parameter
Log-Likelihood-46.141
k (parameter)12Termasuk intercept
n (observasi)278

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.550000e-01 0.0397 10.8091 Baseline odds
X1Laki-laki X1Laki-laki 8.048000e-01 0.2489 2.6019 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 1.487760e+01 1.6339 135.4693 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 2.926053e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 7.429400e+00 1.5845 34.8347 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 2.734000e+00 0.2504 29.8533 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 1.274860e+01 1.4787 109.9133 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 2.299000e-01 0.0136 3.8728 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.595000e-01 0.0161 4.1721 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 2.933300e+00 0.9547 9.0124 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 4.248113e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 1.334000e+00 0.1423 12.5080 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 8.050000e-01 0.7168 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 1.487800e+01 0.0166 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 2.926053e+08 0.9927 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 7.429000e+00 0.0110 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 2.734000e+00 0.4096 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 1.274900e+01 0.0206 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 2.300000e-01 0.3076 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.590000e-01 0.3411 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 2.933000e+00 0.0602 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 4.248113e+07 0.9927 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 1.334000e+00 0.8008 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 4
Pred: Bersekolah (1) 5 102
Accuracy: 91.89 %Sensitivity / Recall Bersekolah: 96.23 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 48.11 %Precision Bersekolah: 95.33 %F1 Bersekolah: 95.77 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7538
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.981
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.981
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 23
Pred: Bersekolah (1) 1 83
Accuracy: 78.38 %Sensitivity / Recall Bersekolah: 78.3 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 79.15 %Precision Bersekolah: 98.81 %F1 Bersekolah: 87.37 %Precision Tidak Bersekolah: 14.81 %F1 Tidak Bersekolah: 25 %G-mean: 79.15 %AUC (Y=1 Bersekolah): 0.7538

SMOTEN | Split 70:30 | Chawla 300%

SMOTEN (Chawla 300% β†’ over_ratio β‰ˆ 0.18)

SMOTEN

Skema: Chawla 300% | target minoritas pada training: 44 (dari 11 asli) | over_ratio: 0.1796 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 289 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 44 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 91.89 96.23 0 48.11 95.77 NA 0.00 0.7519
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.986 74.77 74.53 80 77.26 84.95 22.22 77.22 0.7519

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -1.42 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -2.83 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -1.42 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -2.83 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 11.198
df 8
p-value 0.1907
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 246.569
-2LL Model 100.907
GΒ² Hitung 145.662
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.4180 1.4492 0.0832 1 3.8415 0.7730 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.3180 0.5933 0.2872 1 3.8415 0.5920 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 2.8662 1.1292 6.4427 1 3.8415 0.0111 βœ… Signifikan
X3Kesulitan X3Kesulitan 19.7162 2096.5408 0.0001 1 3.8415 0.9925 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.1693 0.7853 7.6303 1 3.8415 0.0057 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.0529 1.2363 0.7253 1 3.8415 0.3944 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 2.7588 1.1039 6.2454 1 3.8415 0.0125 βœ… Signifikan
X6Pertanian X6Pertanian -1.6283 1.4280 1.3002 1 3.8415 0.2542 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.3941 1.4103 0.9772 1 3.8415 0.3229 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.2330 0.5558 4.9210 1 3.8415 0.0265 βœ… Signifikan
X8Memiliki X8Memiliki 17.7064 1887.4724 0.0001 1 3.8415 0.9925 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.0261 1.1753 0.0005 1 3.8415 0.9823 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC124.907Semakin kecil semakin baik
AICc126.038Koreksi utk sampel kecil
BIC168.904Penalti lebih besar pada parameter
Log-Likelihood-50.454
k (parameter)12Termasuk intercept
n (observasi)289

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.584000e-01 0.0385 11.2730 Baseline odds
X1Laki-laki X1Laki-laki 7.276000e-01 0.2274 2.3278 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 1.756960e+01 1.9213 160.6675 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 3.652859e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 8.752400e+00 1.8778 40.7948 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 2.865800e+00 0.2541 32.3277 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 1.578100e+01 1.8133 137.3419 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.963000e-01 0.0119 3.2236 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.480000e-01 0.0156 3.9354 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 3.431700e+00 1.1544 10.2009 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 4.895288e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 1.026400e+00 0.1025 10.2747 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 7.280000e-01 0.5920 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 1.757000e+01 0.0111 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 3.652859e+08 0.9925 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 8.752000e+00 0.0057 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 2.866000e+00 0.3944 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 1.578100e+01 0.0125 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.960000e-01 0.2542 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.480000e-01 0.3229 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 3.432000e+00 0.0265 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 4.895288e+07 0.9925 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 1.026000e+00 0.9823 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 4
Pred: Bersekolah (1) 5 102
Accuracy: 91.89 %Sensitivity / Recall Bersekolah: 96.23 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 48.11 %Precision Bersekolah: 95.33 %F1 Bersekolah: 95.77 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7519
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.986
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.986
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 27
Pred: Bersekolah (1) 1 79
Accuracy: 74.77 %Sensitivity / Recall Bersekolah: 74.53 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 77.26 %Precision Bersekolah: 98.75 %F1 Bersekolah: 84.95 %Precision Tidak Bersekolah: 12.9 %F1 Tidak Bersekolah: 22.22 %G-mean: 77.22 %AUC (Y=1 Bersekolah): 0.7519

SMOTEN | Split 70:30 | Chawla 400%

SMOTEN (Chawla 400% β†’ over_ratio β‰ˆ 0.224)

SMOTEN

Skema: Chawla 400% | target minoritas pada training: 55 (dari 11 asli) | over_ratio: 0.2245 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 300 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 55 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 91.89 96.23 0 48.11 95.77 NA 0.00 0.7538
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.967 81.08 81.13 80 80.57 89.12 27.59 80.56 0.7538

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -1.42 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -2.83 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -1.42 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -2.83 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 14.937
df 8
p-value 0.0604
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 285.846
-2LL Model 107.7
GΒ² Hitung 178.146
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.4112 1.4690 0.0783 1 3.8415 0.7796 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.3757 0.5932 0.4013 1 3.8415 0.5264 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.0129 1.1334 7.0662 1 3.8415 0.0079 βœ… Signifikan
X3Kesulitan X3Kesulitan 19.8994 2069.7966 0.0001 1 3.8415 0.9923 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.2972 0.7838 8.5896 1 3.8415 0.0034 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.0884 1.2542 0.7531 1 3.8415 0.3855 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 2.9384 1.1106 7.0001 1 3.8415 0.0082 βœ… Signifikan
X6Pertanian X6Pertanian -1.7744 1.4241 1.5524 1 3.8415 0.2128 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.4309 1.4116 1.0276 1 3.8415 0.3107 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.3386 0.5478 5.9699 1 3.8415 0.0146 βœ… Signifikan
X8Memiliki X8Memiliki 17.8528 1854.4003 0.0001 1 3.8415 0.9923 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.1733 1.2031 0.0207 1 3.8415 0.8855 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC131.7Semakin kecil semakin baik
AICc132.787Koreksi utk sampel kecil
BIC176.145Penalti lebih besar pada parameter
Log-Likelihood-53.85
k (parameter)12Termasuk intercept
n (observasi)300

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.629000e-01 0.0372 11.7993 Baseline odds
X1Laki-laki X1Laki-laki 6.868000e-01 0.2147 2.1964 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 2.034700e+01 2.2066 187.6228 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 4.387221e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 9.946100e+00 2.1403 46.2198 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 2.969500e+00 0.2542 34.6923 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 1.888510e+01 2.1418 166.5174 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.696000e-01 0.0104 2.7644 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.391000e-01 0.0150 3.8029 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 3.813600e+00 1.3032 11.1601 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 5.666974e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 8.409000e-01 0.0796 8.8886 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 6.870000e-01 0.5264 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 2.034700e+01 0.0079 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 4.387221e+08 0.9923 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 9.946000e+00 0.0034 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 2.969000e+00 0.3855 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 1.888500e+01 0.0082 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.700000e-01 0.2128 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.390000e-01 0.3107 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 3.814000e+00 0.0146 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 5.666974e+07 0.9923 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 8.410000e-01 0.8855 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 4
Pred: Bersekolah (1) 5 102
Accuracy: 91.89 %Sensitivity / Recall Bersekolah: 96.23 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 48.11 %Precision Bersekolah: 95.33 %F1 Bersekolah: 95.77 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7538
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.967
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.967
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 20
Pred: Bersekolah (1) 1 86
Accuracy: 81.08 %Sensitivity / Recall Bersekolah: 81.13 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 80.57 %Precision Bersekolah: 98.85 %F1 Bersekolah: 89.12 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.59 %G-mean: 80.56 %AUC (Y=1 Bersekolah): 0.7538

SMOTEN | Split 70:30 | Chawla 500%

SMOTEN (Chawla 500% β†’ over_ratio β‰ˆ 0.269)

SMOTEN

Skema: Chawla 500% | target minoritas pada training: 66 (dari 11 asli) | over_ratio: 0.2694 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 311 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 66 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 90.09 94.34 0 47.17 94.79 NA 0.00 0.7538
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.969 81.08 81.13 80 80.57 89.12 27.59 80.56 0.7538

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 18.266
df 8
p-value 0.0193
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 321.5
-2LL Model 113.33
GΒ² Hitung 208.17
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.4044 1.4885 0.0738 1 3.8415 0.7859 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.4145 0.5956 0.4843 1 3.8415 0.4865 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.1444 1.1388 7.6247 1 3.8415 0.0058 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.0564 2046.9887 0.0001 1 3.8415 0.9922 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.4025 0.7832 9.4097 1 3.8415 0.0022 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.1194 1.2721 0.7743 1 3.8415 0.3789 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.0938 1.1182 7.6550 1 3.8415 0.0057 βœ… Signifikan
X6Pertanian X6Pertanian -1.9056 1.4249 1.7886 1 3.8415 0.1811 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.4629 1.4166 1.0664 1 3.8415 0.3018 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.4196 0.5444 6.7990 1 3.8415 0.0091 βœ… Signifikan
X8Memiliki X8Memiliki 17.9942 1826.3574 0.0001 1 3.8415 0.9921 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.3360 1.2267 0.0750 1 3.8415 0.7841 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC137.33Semakin kecil semakin baik
AICc138.377Koreksi utk sampel kecil
BIC182.208Penalti lebih besar pada parameter
Log-Likelihood-56.665
k (parameter)12Termasuk intercept
n (observasi)311

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.674000e-01 0.0361 12.3423 Baseline odds
X1Laki-laki X1Laki-laki 6.607000e-01 0.2056 2.1230 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 2.320680e+01 2.4906 216.2387 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 5.133004e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.105070e+01 2.3808 51.2924 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.062900e+00 0.2531 37.0632 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 2.206170e+01 2.4650 197.4544 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.487000e-01 0.0091 2.4281 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.316000e-01 0.0144 3.7196 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 4.135500e+00 1.4227 12.0213 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 6.527726e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 7.146000e-01 0.0645 7.9113 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 6.610000e-01 0.4865 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 2.320700e+01 0.0058 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 5.133004e+08 0.9922 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.105100e+01 0.0022 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.063000e+00 0.3789 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 2.206200e+01 0.0057 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.490000e-01 0.1811 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.320000e-01 0.3018 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 4.135000e+00 0.0091 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 6.527726e+07 0.9921 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 7.150000e-01 0.7841 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 6
Pred: Bersekolah (1) 5 100
Accuracy: 90.09 %Sensitivity / Recall Bersekolah: 94.34 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 47.17 %Precision Bersekolah: 95.24 %F1 Bersekolah: 94.79 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7538
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.969
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 20
Pred: Bersekolah (1) 1 86
Accuracy: 81.08 %Sensitivity / Recall Bersekolah: 81.13 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 80.57 %Precision Bersekolah: 98.85 %F1 Bersekolah: 89.12 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.59 %G-mean: 80.56 %AUC (Y=1 Bersekolah): 0.7538

SMOTEN | Split 70:30 | Chawla 600%

SMOTEN (Chawla 600% β†’ over_ratio β‰ˆ 0.314)

SMOTEN

Skema: Chawla 600% | target minoritas pada training: 77 (dari 11 asli) | over_ratio: 0.3143 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 322 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 77 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 90.09 94.34 0 47.17 94.79 NA 0.00 0.7538
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.971 81.08 81.13 80 80.57 89.12 27.59 80.56 0.7538

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 9.876
df 7
p-value 0.1957
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 354.249
-2LL Model 118.149
GΒ² Hitung 236.1
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3980 1.5074 0.0697 1 3.8415 0.7918 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.4433 0.5993 0.5472 1 3.8415 0.4595 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.2635 1.1446 8.1293 1 3.8415 0.0044 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.1942 2027.3630 0.0001 1 3.8415 0.9921 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.4922 0.7832 10.1253 1 3.8415 0.0015 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.1480 1.2895 0.7926 1 3.8415 0.3733 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.2313 1.1263 8.2307 1 3.8415 0.0041 βœ… Signifikan
X6Pertanian X6Pertanian -2.0231 1.4282 2.0066 1 3.8415 0.1566 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.4915 1.4236 1.0977 1 3.8415 0.2948 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.4865 0.5436 7.4784 1 3.8415 0.0062 βœ… Signifikan
X8Memiliki X8Memiliki 18.1276 1802.7285 0.0001 1 3.8415 0.9920 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.4745 1.2471 0.1448 1 3.8415 0.7036 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC142.149Semakin kecil semakin baik
AICc143.158Koreksi utk sampel kecil
BIC187.443Penalti lebih besar pada parameter
Log-Likelihood-59.074
k (parameter)12Termasuk intercept
n (observasi)322

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.717000e-01 0.0350 12.8894 Baseline odds
X1Laki-laki X1Laki-laki 6.419000e-01 0.1983 2.0778 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 2.614190e+01 2.7735 246.3989 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 5.891718e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.208780e+01 2.6042 56.1073 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.151900e+00 0.2517 39.4645 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 2.531280e+01 2.7837 230.1771 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.322000e-01 0.0080 2.1729 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.250000e-01 0.0138 3.6644 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 4.421700e+00 1.5237 12.8320 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 7.459715e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 6.222000e-01 0.0540 7.1691 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 6.420000e-01 0.4595 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 2.614200e+01 0.0044 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 5.891718e+08 0.9921 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.208800e+01 0.0015 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.152000e+00 0.3733 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 2.531300e+01 0.0041 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.320000e-01 0.1566 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.250000e-01 0.2948 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 4.422000e+00 0.0062 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 7.459715e+07 0.9920 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 6.220000e-01 0.7036 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 6
Pred: Bersekolah (1) 5 100
Accuracy: 90.09 %Sensitivity / Recall Bersekolah: 94.34 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 47.17 %Precision Bersekolah: 95.24 %F1 Bersekolah: 94.79 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7538
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.971
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.971
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 20
Pred: Bersekolah (1) 1 86
Accuracy: 81.08 %Sensitivity / Recall Bersekolah: 81.13 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 80.57 %Precision Bersekolah: 98.85 %F1 Bersekolah: 89.12 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.59 %G-mean: 80.56 %AUC (Y=1 Bersekolah): 0.7538

SMOTEN | Split 70:30 | Chawla 700%

SMOTEN (Chawla 700% β†’ over_ratio β‰ˆ 0.359)

SMOTEN

Skema: Chawla 700% | target minoritas pada training: 88 (dari 11 asli) | over_ratio: 0.3592 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 333 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 88 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 90.09 94.34 0 47.17 94.79 NA 0.00 0.7462
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.973 79.28 79.25 80 79.62 87.96 25.81 79.62 0.7462

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 13.185
df 7
p-value 0.0677
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 384.595
-2LL Model 122.365
GΒ² Hitung 262.23
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3919 1.5255 0.0660 1 3.8415 0.7972 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.4665 0.6038 0.5969 1 3.8415 0.4397 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.3723 1.1507 8.5890 1 3.8415 0.0034 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.3174 2010.2623 0.0001 1 3.8415 0.9919 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.5704 0.7836 10.7590 1 3.8415 0.0010 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.1751 1.3062 0.8093 1 3.8415 0.3683 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.3548 1.1346 8.7426 1 3.8415 0.0031 βœ… Signifikan
X6Pertanian X6Pertanian -2.1289 1.4330 2.2071 1 3.8415 0.1374 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.5173 1.4315 1.1234 1 3.8415 0.2892 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.5442 0.5442 8.0510 1 3.8415 0.0045 βœ… Signifikan
X8Memiliki X8Memiliki 18.2525 1782.7026 0.0001 1 3.8415 0.9918 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.5954 1.2649 0.2216 1 3.8415 0.6378 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC146.365Semakin kecil semakin baik
AICc147.34Koreksi utk sampel kecil
BIC192.062Penalti lebih besar pada parameter
Log-Likelihood-61.182
k (parameter)12Termasuk intercept
n (observasi)333

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.758000e-01 0.0340 13.4359 Baseline odds
X1Laki-laki X1Laki-laki 6.272000e-01 0.1921 2.0481 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 2.914620e+01 3.0557 278.0052 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 6.664007e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.307090e+01 2.8137 60.7209 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.238400e+00 0.2503 41.8976 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 2.863980e+01 3.0988 264.6992 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.190000e-01 0.0072 1.9733 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.193000e-01 0.0133 3.6269 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 4.684400e+00 1.6121 13.6116 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 8.452181e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 5.513000e-01 0.0462 6.5778 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 6.270000e-01 0.4397 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 2.914600e+01 0.0034 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 6.664007e+08 0.9919 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.307100e+01 0.0010 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.238000e+00 0.3683 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 2.864000e+01 0.0031 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.190000e-01 0.1374 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.190000e-01 0.2892 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 4.684000e+00 0.0045 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 8.452181e+07 0.9918 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 5.510000e-01 0.6378 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 6
Pred: Bersekolah (1) 5 100
Accuracy: 90.09 %Sensitivity / Recall Bersekolah: 94.34 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 47.17 %Precision Bersekolah: 95.24 %F1 Bersekolah: 94.79 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7462
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.973
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.973
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 22
Pred: Bersekolah (1) 1 84
Accuracy: 79.28 %Sensitivity / Recall Bersekolah: 79.25 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 79.62 %Precision Bersekolah: 98.82 %F1 Bersekolah: 87.96 %Precision Tidak Bersekolah: 15.38 %F1 Tidak Bersekolah: 25.81 %G-mean: 79.62 %AUC (Y=1 Bersekolah): 0.7462

SMOTEN | Split 70:30 | Chawla 800%

SMOTEN (Chawla 800% β†’ over_ratio β‰ˆ 0.404)

SMOTEN

Skema: Chawla 800% | target minoritas pada training: 99 (dari 11 asli) | over_ratio: 0.4041 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 344 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 99 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 90.09 94.34 0 47.17 94.79 NA 0.00 0.7462
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.974 79.28 79.25 80 79.62 87.96 25.81 79.62 0.7462

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 18.352
df 7
p-value 0.0105
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 412.911
-2LL Model 126.115
GΒ² Hitung 286.796
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3862 1.5428 0.0627 1 3.8415 0.8023 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.4860 0.6086 0.6378 1 3.8415 0.4245 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.4724 1.1568 9.0106 1 3.8415 0.0027 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.4289 1995.1728 0.0001 1 3.8415 0.9918 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.6397 0.7843 11.3269 1 3.8415 0.0008 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.2009 1.3222 0.8250 1 3.8415 0.3637 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.4671 1.1429 9.2023 1 3.8415 0.0024 βœ… Signifikan
X6Pertanian X6Pertanian -2.2249 1.4387 2.3913 1 3.8415 0.1220 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.5407 1.4398 1.1451 1 3.8415 0.2846 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.5954 0.5458 8.5442 1 3.8415 0.0035 βœ… Signifikan
X8Memiliki X8Memiliki 18.3692 1765.5651 0.0001 1 3.8415 0.9917 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.7032 1.2806 0.3015 1 3.8415 0.5830 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC150.115Semakin kecil semakin baik
AICc151.058Koreksi utk sampel kecil
BIC196.203Penalti lebih besar pada parameter
Log-Likelihood-63.058
k (parameter)12Termasuk intercept
n (observasi)344

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.797000e-01 0.0330 13.9803 Baseline odds
X1Laki-laki X1Laki-laki 6.151000e-01 0.1866 2.0275 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.221530e+01 3.3373 310.9803 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 7.450167e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.400940e+01 3.0115 65.1704 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.323100e+00 0.2490 44.3589 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 3.204370e+01 3.4110 301.0270 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.081000e-01 0.0064 1.8131 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.142000e-01 0.0127 3.6013 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 4.930100e+00 1.6915 14.3691 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 9.497980e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 4.950000e-01 0.0402 6.0910 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 6.150000e-01 0.4245 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 3.221500e+01 0.0027 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 7.450167e+08 0.9918 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.400900e+01 0.0008 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.323000e+00 0.3637 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 3.204400e+01 0.0024 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.080000e-01 0.1220 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.140000e-01 0.2846 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 4.930000e+00 0.0035 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 9.497980e+07 0.9917 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 4.950000e-01 0.5830 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 6
Pred: Bersekolah (1) 5 100
Accuracy: 90.09 %Sensitivity / Recall Bersekolah: 94.34 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 47.17 %Precision Bersekolah: 95.24 %F1 Bersekolah: 94.79 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7462
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.974
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.974
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 22
Pred: Bersekolah (1) 1 84
Accuracy: 79.28 %Sensitivity / Recall Bersekolah: 79.25 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 79.62 %Precision Bersekolah: 98.82 %F1 Bersekolah: 87.96 %Precision Tidak Bersekolah: 15.38 %F1 Tidak Bersekolah: 25.81 %G-mean: 79.62 %AUC (Y=1 Bersekolah): 0.7462

SMOTEN | Split 70:30 | Chawla 900%

SMOTEN (Chawla 900% β†’ over_ratio β‰ˆ 0.449)

SMOTEN

Skema: Chawla 900% | target minoritas pada training: 110 (dari 11 asli) | over_ratio: 0.449 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 355 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 110 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 90.09 94.34 0 47.17 94.79 NA 0.00 0.7481
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.978 79.28 79.25 80 79.62 87.96 25.81 79.62 0.7481

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 17.434
df 7
p-value 0.0148
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 439.481
-2LL Model 129.494
GΒ² Hitung 309.987
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3807 1.5594 0.0596 1 3.8415 0.8071 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.5031 0.6135 0.6723 1 3.8415 0.4122 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.5652 1.1628 9.3998 1 3.8415 0.0022 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.5309 1981.7037 0.0001 1 3.8415 0.9917 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.7020 0.7852 11.8409 1 3.8415 0.0006 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.2257 1.3374 0.8399 1 3.8415 0.3594 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.5702 1.1512 9.6188 1 3.8415 0.0019 βœ… Signifikan
X6Pertanian X6Pertanian -2.3126 1.4451 2.5610 1 3.8415 0.1095 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.5623 1.4484 1.1635 1 3.8415 0.2807 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.6415 0.5479 8.9763 1 3.8415 0.0027 βœ… Signifikan
X8Memiliki X8Memiliki 18.4782 1750.7445 0.0001 1 3.8415 0.9916 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.8004 1.2946 0.3822 1 3.8415 0.5364 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC153.494Semakin kecil semakin baik
AICc154.407Koreksi utk sampel kecil
BIC199.96Penalti lebih besar pada parameter
Log-Likelihood-64.747
k (parameter)12Termasuk intercept
n (observasi)355

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.834000e-01 0.0322 14.5219 Baseline odds
X1Laki-laki X1Laki-laki 6.047000e-01 0.1817 2.0126 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.534550e+01 3.6184 345.2638 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 8.250336e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.491010e+01 3.1996 69.4822 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.406400e+00 0.2477 46.8446 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 3.552520e+01 3.7210 339.1628 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 9.900000e-02 0.0058 1.6815 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.096000e-01 0.0123 3.5842 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 5.162800e+00 1.7641 15.1092 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.059206e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 4.491000e-01 0.0355 5.6803 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 6.050000e-01 0.4122 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 3.534600e+01 0.0022 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 8.250336e+08 0.9917 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.491000e+01 0.0006 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.406000e+00 0.3594 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 3.552500e+01 0.0019 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 9.900000e-02 0.1095 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.100000e-01 0.2807 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 5.163000e+00 0.0027 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 1.059206e+08 0.9916 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 4.490000e-01 0.5364 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 6
Pred: Bersekolah (1) 5 100
Accuracy: 90.09 %Sensitivity / Recall Bersekolah: 94.34 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 47.17 %Precision Bersekolah: 95.24 %F1 Bersekolah: 94.79 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7481
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.978
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.978
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 22
Pred: Bersekolah (1) 1 84
Accuracy: 79.28 %Sensitivity / Recall Bersekolah: 79.25 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 79.62 %Precision Bersekolah: 98.82 %F1 Bersekolah: 87.96 %Precision Tidak Bersekolah: 15.38 %F1 Tidak Bersekolah: 25.81 %G-mean: 79.62 %AUC (Y=1 Bersekolah): 0.7481

SMOTEN | Split 70:30 | Chawla 1000%

SMOTEN (Chawla 1000% β†’ over_ratio β‰ˆ 0.494)

SMOTEN

Skema: Chawla 1000% | target minoritas pada training: 121 (dari 11 asli) | over_ratio: 0.4939 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 366 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 121 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 90.09 94.34 0 47.17 94.79 NA 0.00 0.7481
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.979 79.28 79.25 80 79.62 87.96 25.81 79.62 0.7481

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 39.529
df 7
p-value 0
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 464.53
-2LL Model 132.571
GΒ² Hitung 331.959
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3755 1.5753 0.0568 1 3.8415 0.8116 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.5183 0.6184 0.7023 1 3.8415 0.4020 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.6516 1.1688 9.7611 1 3.8415 0.0018 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.6251 1969.5576 0.0001 1 3.8415 0.9916 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.7586 0.7863 12.3100 1 3.8415 0.0005 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.2494 1.3518 0.8542 1 3.8415 0.3554 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.6657 1.1593 9.9991 1 3.8415 0.0016 βœ… Signifikan
X6Pertanian X6Pertanian -2.3933 1.4517 2.7178 1 3.8415 0.0992 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.5823 1.4570 1.1793 1 3.8415 0.2775 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.6836 0.5503 9.3602 1 3.8415 0.0022 βœ… Signifikan
X8Memiliki X8Memiliki 18.5803 1737.7965 0.0001 1 3.8415 0.9915 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.8892 1.3072 0.4627 1 3.8415 0.4964 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC156.571Semakin kecil semakin baik
AICc157.454Koreksi utk sampel kecil
BIC203.402Penalti lebih besar pada parameter
Log-Likelihood-66.285
k (parameter)12Termasuk intercept
n (observasi)366

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.869000e-01 0.0313 15.0606 Baseline odds
X1Laki-laki X1Laki-laki 5.956000e-01 0.1772 2.0014 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.853450e+01 3.8994 380.8078 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 9.064572e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.577830e+01 3.3791 73.6758 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.488300e+00 0.2466 49.3517 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 3.908440e+01 4.0294 379.1065 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 9.130000e-02 0.0053 1.5716 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.055000e-01 0.0118 3.5731 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 5.385100e+00 1.8313 15.8347 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.173068e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 4.110000e-01 0.0317 5.3277 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.960000e-01 0.4020 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 3.853400e+01 0.0018 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 9.064572e+08 0.9916 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.577800e+01 0.0005 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.488000e+00 0.3554 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 3.908400e+01 0.0016 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 9.100000e-02 0.0992 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.060000e-01 0.2775 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 5.385000e+00 0.0022 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 1.173068e+08 0.9915 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 4.110000e-01 0.4964 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 6
Pred: Bersekolah (1) 5 100
Accuracy: 90.09 %Sensitivity / Recall Bersekolah: 94.34 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 47.17 %Precision Bersekolah: 95.24 %F1 Bersekolah: 94.79 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7481
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.979
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.979
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 22
Pred: Bersekolah (1) 1 84
Accuracy: 79.28 %Sensitivity / Recall Bersekolah: 79.25 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 79.62 %Precision Bersekolah: 98.82 %F1 Bersekolah: 87.96 %Precision Tidak Bersekolah: 15.38 %F1 Tidak Bersekolah: 25.81 %G-mean: 79.62 %AUC (Y=1 Bersekolah): 0.7481

SMOTEN | Split 70:30 | Chawla 1100%

SMOTEN (Chawla 1100% β†’ over_ratio β‰ˆ 0.539)

SMOTEN

Skema: Chawla 1100% | target minoritas pada training: 132 (dari 11 asli) | over_ratio: 0.5388 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 377 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 132 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 90.09 94.34 0 47.17 94.79 NA 0.00 0.7481
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.979 79.28 79.25 80 79.62 87.96 25.81 79.62 0.7481

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 17.779
df 6
p-value 0.0068
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 488.237
-2LL Model 135.394
GΒ² Hitung 352.842
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3706 1.5907 0.0543 1 3.8415 0.8158 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.5321 0.6233 0.7288 1 3.8415 0.3933 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.7324 1.1745 10.0984 1 3.8415 0.0015 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.7125 1958.5072 0.0001 1 3.8415 0.9916 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.8105 0.7874 12.7410 1 3.8415 0.0004 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.2723 1.3657 0.8679 1 3.8415 0.3515 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.7547 1.1672 10.3488 1 3.8415 0.0013 βœ… Signifikan
X6Pertanian X6Pertanian -2.4680 1.4586 2.8630 1 3.8415 0.0906 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.6008 1.4656 1.1931 1 3.8415 0.2747 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.7225 0.5529 9.7052 1 3.8415 0.0018 βœ… Signifikan
X8Memiliki X8Memiliki 18.6762 1726.3776 0.0001 1 3.8415 0.9914 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.9709 1.3186 0.5422 1 3.8415 0.4615 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC159.394Semakin kecil semakin baik
AICc160.252Koreksi utk sampel kecil
BIC206.581Penalti lebih besar pada parameter
Log-Likelihood-67.697
k (parameter)12Termasuk intercept
n (observasi)377

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.903000e-01 0.0306 15.5966 Baseline odds
X1Laki-laki X1Laki-laki 5.874000e-01 0.1731 1.9927 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 4.178010e+01 4.1803 417.5739 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 9.892889e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.661800e+01 3.5511 77.7664 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.568900e+00 0.2455 51.8779 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 4.272150e+01 4.3367 420.8567 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 8.480000e-02 0.0049 1.4782 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.017000e-01 0.0114 3.5667 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 5.598700e+00 1.8943 16.5477 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.291097e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 3.787000e-01 0.0286 5.0205 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.870000e-01 0.3933 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 4.178000e+01 0.0015 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 9.892889e+08 0.9916 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.661800e+01 0.0004 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.569000e+00 0.3515 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 4.272200e+01 0.0013 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 8.500000e-02 0.0906 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.020000e-01 0.2747 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 5.599000e+00 0.0018 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 1.291097e+08 0.9914 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 3.790000e-01 0.4615 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 6
Pred: Bersekolah (1) 5 100
Accuracy: 90.09 %Sensitivity / Recall Bersekolah: 94.34 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 47.17 %Precision Bersekolah: 95.24 %F1 Bersekolah: 94.79 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7481
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.979
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.979
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 22
Pred: Bersekolah (1) 1 84
Accuracy: 79.28 %Sensitivity / Recall Bersekolah: 79.25 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 79.62 %Precision Bersekolah: 98.82 %F1 Bersekolah: 87.96 %Precision Tidak Bersekolah: 15.38 %F1 Tidak Bersekolah: 25.81 %G-mean: 79.62 %AUC (Y=1 Bersekolah): 0.7481

SMOTEN | Split 70:30 | Chawla 1200%

SMOTEN (Chawla 1200% β†’ over_ratio β‰ˆ 0.584)

SMOTEN

Skema: Chawla 1200% | target minoritas pada training: 143 (dari 11 asli) | over_ratio: 0.5837 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 388 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 143 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 90.09 94.34 0 47.17 94.79 NA 0.00 0.7481
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.980 79.28 79.25 80 79.62 87.96 25.81 79.62 0.7481

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -2.36 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -4.72 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 13.708
df 6
p-value 0.0331
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 510.75
-2LL Model 138.005
GΒ² Hitung 372.745
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3658 1.6054 0.0519 1 3.8415 0.8197 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.5448 0.6280 0.7527 1 3.8415 0.3856 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.8085 1.1801 10.4145 1 3.8415 0.0013 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.7942 1948.3757 0.0001 1 3.8415 0.9915 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.8583 0.7885 13.1394 1 3.8415 0.0003 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.2943 1.3789 0.8811 1 3.8415 0.3479 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.8381 1.1749 10.6723 1 3.8415 0.0011 βœ… Signifikan
X6Pertanian X6Pertanian -2.5375 1.4655 2.9980 1 3.8415 0.0834 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.6181 1.4740 1.2051 1 3.8415 0.2723 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.7587 0.5557 10.0181 1 3.8415 0.0016 βœ… Signifikan
X8Memiliki X8Memiliki 18.7664 1716.2209 0.0001 1 3.8415 0.9913 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -1.0467 1.3290 0.6203 1 3.8415 0.4309 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC162.005Semakin kecil semakin baik
AICc162.837Koreksi utk sampel kecil
BIC209.537Penalti lebih besar pada parameter
Log-Likelihood-69.002
k (parameter)12Termasuk intercept
n (observasi)388

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.936000e-01 0.0298 16.1301 Baseline odds
X1Laki-laki X1Laki-laki 5.799000e-01 0.1694 1.9857 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 4.508070e+01 4.4613 455.5305 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.073527e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.743260e+01 3.7167 81.7661 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.648300e+00 0.2446 54.4216 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 4.643660e+01 4.6432 464.4116 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 7.910000e-02 0.0045 1.3978 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.983000e-01 0.0110 3.5638 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 5.805000e+00 1.9536 17.2496 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.413067e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 3.511000e-01 0.0260 4.7498 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.800000e-01 0.3856 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 4.508100e+01 0.0013 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.073527e+09 0.9915 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.743300e+01 0.0003 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.648000e+00 0.3479 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 4.643700e+01 0.0011 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 7.900000e-02 0.0834 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.980000e-01 0.2723 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 5.805000e+00 0.0016 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 1.413067e+08 0.9913 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 3.510000e-01 0.4309 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 6
Pred: Bersekolah (1) 5 100
Accuracy: 90.09 %Sensitivity / Recall Bersekolah: 94.34 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 47.17 %Precision Bersekolah: 95.24 %F1 Bersekolah: 94.79 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7481
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.98
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.98
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 22
Pred: Bersekolah (1) 1 84
Accuracy: 79.28 %Sensitivity / Recall Bersekolah: 79.25 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 79.62 %Precision Bersekolah: 98.82 %F1 Bersekolah: 87.96 %Precision Tidak Bersekolah: 15.38 %F1 Tidak Bersekolah: 25.81 %G-mean: 79.62 %AUC (Y=1 Bersekolah): 0.7481

SMOTEN | Split 70:30 | Chawla 1300%

SMOTEN (Chawla 1300% β†’ over_ratio β‰ˆ 0.629)

SMOTEN

Skema: Chawla 1300% | target minoritas pada training: 154 (dari 11 asli) | over_ratio: 0.6286 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 399 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 154 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 89.19 92.45 20 56.23 94.23 14.29 43.00 0.7481
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.981 79.28 79.25 80 79.62 87.96 25.81 79.62 0.7481

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 6.7 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -6.6 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 6.7 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -6.6 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 20.026
df 6
p-value 0.0027
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 532.193
-2LL Model 140.433
GΒ² Hitung 391.761
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3613 1.6196 0.0498 1 3.8415 0.8235 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.5566 0.6326 0.7744 1 3.8415 0.3789 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.8802 1.1855 10.7121 1 3.8415 0.0011 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.8710 1939.0247 0.0001 1 3.8415 0.9914 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.9028 0.7898 13.5098 1 3.8415 0.0002 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.3155 1.3915 0.8937 1 3.8415 0.3445 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.9166 1.1823 10.9731 1 3.8415 0.0009 βœ… Signifikan
X6Pertanian X6Pertanian -2.6026 1.4725 3.1238 1 3.8415 0.0772 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.6344 1.4823 1.2158 1 3.8415 0.2702 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.7926 0.5584 10.3042 1 3.8415 0.0013 βœ… Signifikan
X8Memiliki X8Memiliki 18.8517 1707.1174 0.0001 1 3.8415 0.9912 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -1.1175 1.3385 0.6969 1 3.8415 0.4038 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC164.433Semakin kecil semakin baik
AICc165.241Koreksi utk sampel kecil
BIC212.3Penalti lebih besar pada parameter
Log-Likelihood-70.216
k (parameter)12Termasuk intercept
n (observasi)399

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.968000e-01 0.0291 16.6613 Baseline odds
X1Laki-laki X1Laki-laki 5.731000e-01 0.1659 1.9801 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 4.843510e+01 4.7426 494.6509 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.159169e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.822490e+01 3.8764 85.6847 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.726500e+00 0.2437 56.9817 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 5.022940e+01 4.9493 509.7690 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 7.410000e-02 0.0041 1.3278 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.951000e-01 0.0107 3.5637 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 6.005000e+00 2.0099 17.9415 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.538794e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 3.271000e-01 0.0237 4.5089 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.730000e-01 0.3789 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 4.843500e+01 0.0011 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.159169e+09 0.9914 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.822500e+01 0.0002 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.726000e+00 0.3445 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 5.022900e+01 0.0009 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 7.400000e-02 0.0772 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.950000e-01 0.2702 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 6.005000e+00 0.0013 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 1.538794e+08 0.9912 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 3.270000e-01 0.4038 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 8
Pred: Bersekolah (1) 4 98
Accuracy: 89.19 %Sensitivity / Recall Bersekolah: 92.45 %Specificity / Recall Tidak Bersekolah: 20 %Balanced Accuracy: 56.23 %Precision Bersekolah: 96.08 %F1 Bersekolah: 94.23 %Precision Tidak Bersekolah: 11.11 %F1 Tidak Bersekolah: 14.29 %G-mean: 43 %AUC (Y=1 Bersekolah): 0.7481
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.981
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.981
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 22
Pred: Bersekolah (1) 1 84
Accuracy: 79.28 %Sensitivity / Recall Bersekolah: 79.25 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 79.62 %Precision Bersekolah: 98.82 %F1 Bersekolah: 87.96 %Precision Tidak Bersekolah: 15.38 %F1 Tidak Bersekolah: 25.81 %G-mean: 79.62 %AUC (Y=1 Bersekolah): 0.7481

SMOTEN | Split 70:30 | Chawla 1400%

SMOTEN (Chawla 1400% β†’ over_ratio β‰ˆ 0.673)

SMOTEN

Skema: Chawla 1400% | target minoritas pada training: 165 (dari 11 asli) | over_ratio: 0.6735 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 410 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 165 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 89.19 92.45 20 56.23 94.23 14.29 43.00 0.7481
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.982 79.28 79.25 80 79.62 87.96 25.81 79.62 0.7481

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 6.7 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -6.6 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 6.7 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -6.6 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 16.052
df 6
p-value 0.0135
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 552.67
-2LL Model 142.702
GΒ² Hitung 409.968
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3569 1.6333 0.0477 1 3.8415 0.8270 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.5677 0.6370 0.7944 1 3.8415 0.3728 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.9482 1.1908 10.9933 1 3.8415 0.0009 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.9434 1930.3438 0.0001 1 3.8415 0.9913 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.9443 0.7910 13.8555 1 3.8415 0.0002 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.3359 1.4036 0.9059 1 3.8415 0.3412 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.9908 1.1896 11.2542 1 3.8415 0.0008 βœ… Signifikan
X6Pertanian X6Pertanian -2.6637 1.4795 3.2415 1 3.8415 0.0718 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.6497 1.4904 1.2252 1 3.8415 0.2683 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.8245 0.5612 10.5675 1 3.8415 0.0012 βœ… Signifikan
X8Memiliki X8Memiliki 18.9324 1698.9016 0.0001 1 3.8415 0.9911 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -1.1837 1.3473 0.7719 1 3.8415 0.3796 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC166.702Semakin kecil semakin baik
AICc167.488Koreksi utk sampel kecil
BIC214.896Penalti lebih besar pada parameter
Log-Likelihood-71.351
k (parameter)12Termasuk intercept
n (observasi)410

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.998000e-01 0.0285 17.1906 Baseline odds
X1Laki-laki X1Laki-laki 5.668000e-01 0.1626 1.9753 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 5.184200e+01 5.0244 534.9127 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.246211e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.899690e+01 4.0308 89.5303 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.803500e+00 0.2429 59.5575 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 5.409990e+01 5.2553 556.9267 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 6.970000e-02 0.0038 1.2662 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.921000e-01 0.0104 3.5658 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 6.199400e+00 2.0636 18.6243 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.668127e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 3.061000e-01 0.0218 4.2928 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.670000e-01 0.3728 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 5.184200e+01 0.0009 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.246211e+09 0.9913 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.899700e+01 0.0002 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.804000e+00 0.3412 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 5.410000e+01 0.0008 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 7.000000e-02 0.0718 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.920000e-01 0.2683 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 6.199000e+00 0.0012 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 1.668127e+08 0.9911 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 3.060000e-01 0.3796 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 8
Pred: Bersekolah (1) 4 98
Accuracy: 89.19 %Sensitivity / Recall Bersekolah: 92.45 %Specificity / Recall Tidak Bersekolah: 20 %Balanced Accuracy: 56.23 %Precision Bersekolah: 96.08 %F1 Bersekolah: 94.23 %Precision Tidak Bersekolah: 11.11 %F1 Tidak Bersekolah: 14.29 %G-mean: 43 %AUC (Y=1 Bersekolah): 0.7481
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.982
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.982
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 22
Pred: Bersekolah (1) 1 84
Accuracy: 79.28 %Sensitivity / Recall Bersekolah: 79.25 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 79.62 %Precision Bersekolah: 98.82 %F1 Bersekolah: 87.96 %Precision Tidak Bersekolah: 15.38 %F1 Tidak Bersekolah: 25.81 %G-mean: 79.62 %AUC (Y=1 Bersekolah): 0.7481

SMOTEN | Split 70:30 | Chawla 1500%

SMOTEN (Chawla 1500% β†’ over_ratio β‰ˆ 0.718)

SMOTEN

Skema: Chawla 1500% | target minoritas pada training: 176 (dari 11 asli) | over_ratio: 0.7184 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 421 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 176 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 89.19 92.45 20 56.23 94.23 14.29 43.00 0.7481
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.982 79.28 79.25 80 79.62 87.96 25.81 79.62 0.7481

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 6.7 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -6.6 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 6.7 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -6.6 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 31.104
df 6
p-value 0
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 572.27
-2LL Model 144.832
GΒ² Hitung 427.438
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3527 1.6466 0.0459 1 3.8415 0.8304 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.5782 0.6412 0.8129 1 3.8415 0.3673 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 4.0128 1.1959 11.2598 1 3.8415 0.0008 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.0119 1922.2440 0.0001 1 3.8415 0.9913 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.9832 0.7922 14.1796 1 3.8415 0.0002 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.3557 1.4152 0.9176 1 3.8415 0.3381 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 4.0613 1.1967 11.5180 1 3.8415 0.0007 βœ… Signifikan
X6Pertanian X6Pertanian -2.7214 1.4864 3.3519 1 3.8415 0.0671 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.6642 1.4983 1.2337 1 3.8415 0.2667 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.8546 0.5640 10.8112 1 3.8415 0.0010 βœ… Signifikan
X8Memiliki X8Memiliki 19.0090 1691.4413 0.0001 1 3.8415 0.9910 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -1.2462 1.3554 0.8453 1 3.8415 0.3579 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC168.832Semakin kecil semakin baik
AICc169.597Koreksi utk sampel kecil
BIC217.344Penalti lebih besar pada parameter
Log-Likelihood-72.416
k (parameter)12Termasuk intercept
n (observasi)421

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 7.028000e-01 0.0279 17.7182 Baseline odds
X1Laki-laki X1Laki-laki 5.609000e-01 0.1596 1.9712 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 5.530050e+01 5.3066 576.2962 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.334646e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.975070e+01 4.1806 93.3098 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.879500e+00 0.2422 62.1485 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 5.804760e+01 5.5614 605.8824 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 6.580000e-02 0.0036 1.2116 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.893000e-01 0.0100 3.5696 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 6.388900e+00 2.1150 19.2988 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.800938e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 2.876000e-01 0.0202 4.0977 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.610000e-01 0.3673 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 5.530100e+01 0.0008 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.334646e+09 0.9913 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.975100e+01 0.0002 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.879000e+00 0.3381 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 5.804800e+01 0.0007 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 6.600000e-02 0.0671 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.890000e-01 0.2667 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 6.389000e+00 0.0010 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 1.800938e+08 0.9910 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 2.880000e-01 0.3579 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 8
Pred: Bersekolah (1) 4 98
Accuracy: 89.19 %Sensitivity / Recall Bersekolah: 92.45 %Specificity / Recall Tidak Bersekolah: 20 %Balanced Accuracy: 56.23 %Precision Bersekolah: 96.08 %F1 Bersekolah: 94.23 %Precision Tidak Bersekolah: 11.11 %F1 Tidak Bersekolah: 14.29 %G-mean: 43 %AUC (Y=1 Bersekolah): 0.7481
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.982
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.982
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 22
Pred: Bersekolah (1) 1 84
Accuracy: 79.28 %Sensitivity / Recall Bersekolah: 79.25 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 79.62 %Precision Bersekolah: 98.82 %F1 Bersekolah: 87.96 %Precision Tidak Bersekolah: 15.38 %F1 Tidak Bersekolah: 25.81 %G-mean: 79.62 %AUC (Y=1 Bersekolah): 0.7481

SMOTEN | Split 70:30 | Chawla 1600%

SMOTEN (Chawla 1600% β†’ over_ratio β‰ˆ 0.763)

SMOTEN

Skema: Chawla 1600% | target minoritas pada training: 187 (dari 11 asli) | over_ratio: 0.7633 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 432 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 187 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 87.39 90.57 20 55.28 93.20 12.50 42.56 0.7368
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.986 76.58 76.42 80 78.21 86.17 23.53 78.19 0.7368

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 64.814
df 6
p-value 0
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 591.069
-2LL Model 146.84
GΒ² Hitung 444.228
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3486 1.6594 0.0441 1 3.8415 0.8336 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.5880 0.6454 0.8302 1 3.8415 0.3622 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 4.0743 1.2008 11.5132 1 3.8415 0.0007 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.0771 1914.6527 0.0001 1 3.8415 0.9912 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.0198 0.7935 14.4844 1 3.8415 0.0001 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.3748 1.4264 0.9289 1 3.8415 0.3351 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 4.1283 1.2035 11.7665 1 3.8415 0.0006 βœ… Signifikan
X6Pertanian X6Pertanian -2.7760 1.4933 3.4557 1 3.8415 0.0630 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.6779 1.5060 1.2412 1 3.8415 0.2652 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.8831 0.5668 11.0379 1 3.8415 0.0009 βœ… Signifikan
X8Memiliki X8Memiliki 19.0819 1684.6295 0.0001 1 3.8415 0.9910 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -1.3052 1.3630 0.9170 1 3.8415 0.3383 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC170.84Semakin kecil semakin baik
AICc171.585Koreksi utk sampel kecil
BIC219.661Penalti lebih besar pada parameter
Log-Likelihood-73.42
k (parameter)12Termasuk intercept
n (observasi)432

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 7.057000e-01 0.0273 18.2444 Baseline odds
X1Laki-laki X1Laki-laki 5.554000e-01 0.1568 1.9677 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 5.880990e+01 5.5893 618.7845 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.424471e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.048780e+01 4.3260 97.0288 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 3.954400e+00 0.2415 64.7545 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 6.207250e+01 5.8678 656.6339 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 6.230000e-02 0.0033 1.1628 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.868000e-01 0.0098 3.5748 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 6.573900e+00 2.1645 19.9657 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.937118e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 2.711000e-01 0.0187 3.9204 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.550000e-01 0.3622 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 5.881000e+01 0.0007 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.424471e+09 0.9912 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.048800e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 3.954000e+00 0.3351 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 6.207200e+01 0.0006 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 6.200000e-02 0.0630 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.870000e-01 0.2652 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 6.574000e+00 0.0009 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 1.937118e+08 0.9910 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 2.710000e-01 0.3383 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 10
Pred: Bersekolah (1) 4 96
Accuracy: 87.39 %Sensitivity / Recall Bersekolah: 90.57 %Specificity / Recall Tidak Bersekolah: 20 %Balanced Accuracy: 55.28 %Precision Bersekolah: 96 %F1 Bersekolah: 93.2 %Precision Tidak Bersekolah: 9.09 %F1 Tidak Bersekolah: 12.5 %G-mean: 42.56 %AUC (Y=1 Bersekolah): 0.7368
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.986
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.986
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 25
Pred: Bersekolah (1) 1 81
Accuracy: 76.58 %Sensitivity / Recall Bersekolah: 76.42 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 78.21 %Precision Bersekolah: 98.78 %F1 Bersekolah: 86.17 %Precision Tidak Bersekolah: 13.79 %F1 Tidak Bersekolah: 23.53 %G-mean: 78.19 %AUC (Y=1 Bersekolah): 0.7368

SMOTEN | Split 70:30 | Chawla 1700%

SMOTEN (Chawla 1700% β†’ over_ratio β‰ˆ 0.808)

SMOTEN

Skema: Chawla 1700% | target minoritas pada training: 198 (dari 11 asli) | over_ratio: 0.8082 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 443 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 198 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 87.39 90.57 20 55.28 93.20 12.50 42.56 0.7387
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.987 76.58 76.42 80 78.21 86.17 23.53 78.19 0.7387

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL NaN
df 5
p-value NaN
Keputusan NA
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 609.133
-2LL Model 148.739
GΒ² Hitung 460.393
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3446 1.6719 0.0425 1 3.8415 0.8367 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.5974 0.6493 0.8465 1 3.8415 0.3575 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 4.1331 1.2055 11.7546 1 3.8415 0.0006 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.1391 1907.5101 0.0001 1 3.8415 0.9912 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.0545 0.7947 14.7722 1 3.8415 0.0001 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.3933 1.4372 0.9398 1 3.8415 0.3323 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 4.1923 1.2101 12.0015 1 3.8415 0.0005 βœ… Signifikan
X6Pertanian X6Pertanian -2.8278 1.5001 3.5535 1 3.8415 0.0594 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.6910 1.5136 1.2481 1 3.8415 0.2639 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.9103 0.5695 11.2497 1 3.8415 0.0008 βœ… Signifikan
X8Memiliki X8Memiliki 19.1514 1678.3792 0.0001 1 3.8415 0.9909 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -1.3611 1.3700 0.9871 1 3.8415 0.3205 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC172.739Semakin kecil semakin baik
AICc173.465Koreksi utk sampel kecil
BIC221.862Penalti lebih besar pada parameter
Log-Likelihood-74.37
k (parameter)12Termasuk intercept
n (observasi)443

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 7.085000e-01 0.0267 18.7695 Baseline odds
X1Laki-laki X1Laki-laki 5.502000e-01 0.1541 1.9645 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 6.236920e+01 5.8728 662.3625 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.515679e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.120970e+01 4.4676 100.6924 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 4.028200e+00 0.2408 67.3751 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 6.617410e+01 6.1748 709.1791 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 5.910000e-02 0.0031 1.1189 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.843000e-01 0.0095 3.5811 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 6.754900e+00 2.2122 20.6256 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 2.076574e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 2.564000e-01 0.0175 3.7585 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.500000e-01 0.3575 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 6.236900e+01 0.0006 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.515679e+09 0.9912 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.121000e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 4.028000e+00 0.3323 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 6.617400e+01 0.0005 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 5.900000e-02 0.0594 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.840000e-01 0.2639 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 6.755000e+00 0.0008 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 2.076574e+08 0.9909 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 2.560000e-01 0.3205 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 10
Pred: Bersekolah (1) 4 96
Accuracy: 87.39 %Sensitivity / Recall Bersekolah: 90.57 %Specificity / Recall Tidak Bersekolah: 20 %Balanced Accuracy: 55.28 %Precision Bersekolah: 96 %F1 Bersekolah: 93.2 %Precision Tidak Bersekolah: 9.09 %F1 Tidak Bersekolah: 12.5 %G-mean: 42.56 %AUC (Y=1 Bersekolah): 0.7387
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.987
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.987
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 25
Pred: Bersekolah (1) 1 81
Accuracy: 76.58 %Sensitivity / Recall Bersekolah: 76.42 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 78.21 %Precision Bersekolah: 98.78 %F1 Bersekolah: 86.17 %Precision Tidak Bersekolah: 13.79 %F1 Tidak Bersekolah: 23.53 %G-mean: 78.19 %AUC (Y=1 Bersekolah): 0.7387

SMOTEN | Split 70:30 | Chawla 1800%

SMOTEN (Chawla 1800% β†’ over_ratio β‰ˆ 0.853)

SMOTEN

Skema: Chawla 1800% | target minoritas pada training: 209 (dari 11 asli) | over_ratio: 0.8531 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 454 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 209 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 87.39 90.57 20 55.28 93.20 12.50 42.56 0.7349
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.987 76.58 76.42 80 78.21 86.17 23.53 78.19 0.7349

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 26.853
df 5
p-value 1e-04
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 626.52
-2LL Model 150.541
GΒ² Hitung 475.979
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3407 1.6840 0.0409 1 3.8415 0.8396 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.6064 0.6531 0.8619 1 3.8415 0.3532 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 4.1893 1.2101 11.9853 1 3.8415 0.0005 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.1984 1900.7660 0.0001 1 3.8415 0.9911 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.0873 0.7960 15.0446 1 3.8415 0.0001 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.4113 1.4477 0.9503 1 3.8415 0.3296 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 4.2535 1.2166 12.2244 1 3.8415 0.0005 βœ… Signifikan
X6Pertanian X6Pertanian -2.8771 1.5068 3.6459 1 3.8415 0.0562 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.7034 1.5210 1.2542 1 3.8415 0.2627 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.9362 0.5722 11.4485 1 3.8415 0.0007 βœ… Signifikan
X8Memiliki X8Memiliki 19.2178 1672.6181 0.0001 1 3.8415 0.9908 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -1.4144 1.3766 1.0556 1 3.8415 0.3042 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC174.541Semakin kecil semakin baik
AICc175.248Koreksi utk sampel kecil
BIC223.958Penalti lebih besar pada parameter
Log-Likelihood-75.27
k (parameter)12Termasuk intercept
n (observasi)454

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 7.112000e-01 0.0262 19.2935 Baseline odds
X1Laki-laki X1Laki-laki 5.453000e-01 0.1516 1.9616 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 6.597780e+01 6.1570 707.0165 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.608265e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.191750e+01 4.6055 104.3050 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 4.101100e+00 0.2402 70.0104 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 7.035230e+01 6.4824 763.5162 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 5.630000e-02 0.0029 1.0791 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.821000e-01 0.0092 3.5884 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 6.932200e+00 2.2583 21.2790 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 2.219222e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 2.431000e-01 0.0164 3.6100 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.450000e-01 0.3532 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 6.597800e+01 0.0005 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.608265e+09 0.9911 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.191700e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 4.101000e+00 0.3296 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 7.035200e+01 0.0005 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 5.600000e-02 0.0562 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.820000e-01 0.2627 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 6.932000e+00 0.0007 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 2.219222e+08 0.9908 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 2.430000e-01 0.3042 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 10
Pred: Bersekolah (1) 4 96
Accuracy: 87.39 %Sensitivity / Recall Bersekolah: 90.57 %Specificity / Recall Tidak Bersekolah: 20 %Balanced Accuracy: 55.28 %Precision Bersekolah: 96 %F1 Bersekolah: 93.2 %Precision Tidak Bersekolah: 9.09 %F1 Tidak Bersekolah: 12.5 %G-mean: 42.56 %AUC (Y=1 Bersekolah): 0.7349
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.987
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.987
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 25
Pred: Bersekolah (1) 1 81
Accuracy: 76.58 %Sensitivity / Recall Bersekolah: 76.42 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 78.21 %Precision Bersekolah: 98.78 %F1 Bersekolah: 86.17 %Precision Tidak Bersekolah: 13.79 %F1 Tidak Bersekolah: 23.53 %G-mean: 78.19 %AUC (Y=1 Bersekolah): 0.7349

SMOTEN | Split 70:30 | Chawla 1900%

SMOTEN (Chawla 1900% β†’ over_ratio β‰ˆ 0.898)

SMOTEN

Skema: Chawla 1900% | target minoritas pada training: 220 (dari 11 asli) | over_ratio: 0.898 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 465 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 220 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 87.39 90.57 20 55.28 93.20 12.50 42.56 0.7349
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.988 76.58 76.42 80 78.21 86.17 23.53 78.19 0.7349

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 19.576
df 5
p-value 0.0015
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 643.282
-2LL Model 152.255
GΒ² Hitung 491.027
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3370 1.6957 0.0395 1 3.8415 0.8425 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.6149 0.6568 0.8765 1 3.8415 0.3492 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 4.2433 1.2145 12.2062 1 3.8415 0.0005 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.2552 1894.3785 0.0001 1 3.8415 0.9910 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.1185 0.7972 15.3031 1 3.8415 0.0001 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.4286 1.4578 0.9605 1 3.8415 0.3271 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 4.3122 1.2228 12.4364 1 3.8415 0.0004 βœ… Signifikan
X6Pertanian X6Pertanian -2.9242 1.5134 3.7334 1 3.8415 0.0533 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.7153 1.5282 1.2598 1 3.8415 0.2617 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.9610 0.5749 11.6355 1 3.8415 0.0006 βœ… Signifikan
X8Memiliki X8Memiliki 19.2815 1667.2864 0.0001 1 3.8415 0.9908 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -1.4651 1.3828 1.1227 1 3.8415 0.2893 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC176.255Semakin kecil semakin baik
AICc176.945Koreksi utk sampel kecil
BIC225.959Penalti lebih besar pada parameter
Log-Likelihood-76.127
k (parameter)12Termasuk intercept
n (observasi)465

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 7.139000e-01 0.0257 19.8169 Baseline odds
X1Laki-laki X1Laki-laki 5.407000e-01 0.1492 1.9590 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 6.963510e+01 6.4419 752.7346 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.702221e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.261220e+01 4.7401 107.8702 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 4.173000e+00 0.2397 72.6603 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 7.460650e+01 6.7909 819.6431 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 5.370000e-02 0.0028 1.0429 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.799000e-01 0.0090 3.5965 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 7.106100e+00 2.3030 21.9263 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 2.364991e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 2.310000e-01 0.0154 3.4731 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.410000e-01 0.3492 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 6.963500e+01 0.0005 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.702221e+09 0.9910 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.261200e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 4.173000e+00 0.3271 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 7.460700e+01 0.0004 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 5.400000e-02 0.0533 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.800000e-01 0.2617 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 7.106000e+00 0.0006 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 2.364991e+08 0.9908 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 2.310000e-01 0.2893 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 10
Pred: Bersekolah (1) 4 96
Accuracy: 87.39 %Sensitivity / Recall Bersekolah: 90.57 %Specificity / Recall Tidak Bersekolah: 20 %Balanced Accuracy: 55.28 %Precision Bersekolah: 96 %F1 Bersekolah: 93.2 %Precision Tidak Bersekolah: 9.09 %F1 Tidak Bersekolah: 12.5 %G-mean: 42.56 %AUC (Y=1 Bersekolah): 0.7349
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.988
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.988
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 25
Pred: Bersekolah (1) 1 81
Accuracy: 76.58 %Sensitivity / Recall Bersekolah: 76.42 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 78.21 %Precision Bersekolah: 98.78 %F1 Bersekolah: 86.17 %Precision Tidak Bersekolah: 13.79 %F1 Tidak Bersekolah: 23.53 %G-mean: 78.19 %AUC (Y=1 Bersekolah): 0.7349

SMOTEN | Split 70:30 | Chawla 2000%

SMOTEN (Chawla 2000% β†’ over_ratio β‰ˆ 0.943)

SMOTEN

Skema: Chawla 2000% | target minoritas pada training: 231 (dari 11 asli) | over_ratio: 0.9429 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 476 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 231 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 87.39 90.57 20 55.28 93.20 12.50 42.56 0.7349
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.988 76.58 76.42 80 78.21 86.17 23.53 78.19 0.7349

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 18.245
df 5
p-value 0.0027
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 659.464
-2LL Model 153.889
GΒ² Hitung 505.575
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3334 1.7072 0.0381 1 3.8415 0.8452 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.6231 0.6604 0.8904 1 3.8415 0.3454 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 4.2951 1.2188 12.4182 1 3.8415 0.0004 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.3097 1888.3117 0.0001 1 3.8415 0.9910 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.1482 0.7984 15.5490 1 3.8415 0.0001 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.4455 1.4675 0.9702 1 3.8415 0.3246 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 4.3686 1.2288 12.6386 1 3.8415 0.0004 βœ… Signifikan
X6Pertanian X6Pertanian -2.9693 1.5199 3.8165 1 3.8415 0.0508 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.7267 1.5353 1.2649 1 3.8415 0.2607 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 1.9847 0.5775 11.8122 1 3.8415 0.0006 βœ… Signifikan
X8Memiliki X8Memiliki 19.3425 1662.3345 0.0001 1 3.8415 0.9907 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -1.5137 1.3886 1.1882 1 3.8415 0.2757 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC177.889Semakin kecil semakin baik
AICc178.563Koreksi utk sampel kecil
BIC227.874Penalti lebih besar pada parameter
Log-Likelihood-76.944
k (parameter)12Termasuk intercept
n (observasi)476

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 7.165000e-01 0.0252 20.3397 Baseline odds
X1Laki-laki X1Laki-laki 5.363000e-01 0.1470 1.9565 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 7.334060e+01 6.7277 799.5055 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.797541e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.329480e+01 4.8716 111.3914 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 4.244100e+00 0.2391 75.3247 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 7.893660e+01 7.1004 877.5581 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 5.130000e-02 0.0026 1.0098 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.779000e-01 0.0088 3.6052 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 7.276900e+00 2.3464 22.5680 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 2.513816e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 2.201000e-01 0.0145 3.3466 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.360000e-01 0.3454 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 7.334100e+01 0.0004 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.797541e+09 0.9910 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.329500e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 4.244000e+00 0.3246 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 7.893700e+01 0.0004 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 5.100000e-02 0.0508 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.780000e-01 0.2607 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 7.277000e+00 0.0006 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 2.513816e+08 0.9907 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 2.200000e-01 0.2757 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 10
Pred: Bersekolah (1) 4 96
Accuracy: 87.39 %Sensitivity / Recall Bersekolah: 90.57 %Specificity / Recall Tidak Bersekolah: 20 %Balanced Accuracy: 55.28 %Precision Bersekolah: 96 %F1 Bersekolah: 93.2 %Precision Tidak Bersekolah: 9.09 %F1 Tidak Bersekolah: 12.5 %G-mean: 42.56 %AUC (Y=1 Bersekolah): 0.7349
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.988
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.988
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 25
Pred: Bersekolah (1) 1 81
Accuracy: 76.58 %Sensitivity / Recall Bersekolah: 76.42 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 78.21 %Precision Bersekolah: 98.78 %F1 Bersekolah: 86.17 %Precision Tidak Bersekolah: 13.79 %F1 Tidak Bersekolah: 23.53 %G-mean: 78.19 %AUC (Y=1 Bersekolah): 0.7349

SMOTEN | Split 70:30 | Chawla 2100%

SMOTEN (Chawla 2100% β†’ over_ratio β‰ˆ 0.988)

SMOTEN

Skema: Chawla 2100% | target minoritas pada training: 242 (dari 11 asli) | over_ratio: 0.9878 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 487 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 242 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 87.39 90.57 20 55.28 93.20 12.50 42.56 0.7349
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.989 76.58 76.42 80 78.21 86.17 23.53 78.19 0.7349

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 26.415
df 5
p-value 1e-04
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 675.107
-2LL Model 155.451
GΒ² Hitung 519.656
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3299 1.7183 0.0369 1 3.8415 0.8478 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.6310 0.6638 0.9036 1 3.8415 0.3418 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 4.3450 1.2230 12.6218 1 3.8415 0.0004 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.3621 1882.5350 0.0001 1 3.8415 0.9909 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.1766 0.7996 15.7834 1 3.8415 0.0001 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.4619 1.4770 0.9797 1 3.8415 0.3223 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 4.4230 1.2347 12.8318 1 3.8415 0.0003 βœ… Signifikan
X6Pertanian X6Pertanian -3.0124 1.5263 3.8953 1 3.8415 0.0484 βœ… Signifikan
X6Nonpertanian X6Nonpertanian -1.7376 1.5422 1.2696 1 3.8415 0.2598 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 2.0075 0.5800 11.9794 1 3.8415 0.0005 βœ… Signifikan
X8Memiliki X8Memiliki 19.4011 1657.7192 0.0001 1 3.8415 0.9907 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -1.5601 1.3941 1.2524 1 3.8415 0.2631 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC179.451Semakin kecil semakin baik
AICc180.109Koreksi utk sampel kecil
BIC229.71Penalti lebih besar pada parameter
Log-Likelihood-77.725
k (parameter)12Termasuk intercept
n (observasi)487

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 7.190000e-01 0.0248 20.8621 Baseline odds
X1Laki-laki X1Laki-laki 5.321000e-01 0.1449 1.9543 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 7.709360e+01 7.0144 847.3192 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.894220e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.396620e+01 5.0002 114.8716 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 4.314200e+00 0.2386 78.0038 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 8.334220e+01 7.4109 937.2596 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 4.920000e-02 0.0025 0.9793 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.759000e-01 0.0086 3.6144 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 7.444900e+00 2.3886 23.2044 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 2.665637e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 2.101000e-01 0.0137 3.2291 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.320000e-01 0.3418 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 7.709400e+01 0.0004 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.894220e+09 0.9909 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.396600e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 4.314000e+00 0.3223 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 8.334200e+01 0.0003 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 4.900000e-02 0.0484 β€” Dipertahankan (signifikan/berkontribusi)
X6Nonpertanian X6Nonpertanian 1.760000e-01 0.2598 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 7.445000e+00 0.0005 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 2.665637e+08 0.9907 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 2.100000e-01 0.2631 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 10
Pred: Bersekolah (1) 4 96
Accuracy: 87.39 %Sensitivity / Recall Bersekolah: 90.57 %Specificity / Recall Tidak Bersekolah: 20 %Balanced Accuracy: 55.28 %Precision Bersekolah: 96 %F1 Bersekolah: 93.2 %Precision Tidak Bersekolah: 9.09 %F1 Tidak Bersekolah: 12.5 %G-mean: 42.56 %AUC (Y=1 Bersekolah): 0.7349
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.989
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.989
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 25
Pred: Bersekolah (1) 1 81
Accuracy: 76.58 %Sensitivity / Recall Bersekolah: 76.42 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 78.21 %Precision Bersekolah: 98.78 %F1 Bersekolah: 86.17 %Precision Tidak Bersekolah: 13.79 %F1 Tidak Bersekolah: 23.53 %G-mean: 78.19 %AUC (Y=1 Bersekolah): 0.7349

SMOTEN | Split 70:30 | Seimbang penuh (2127%)

SMOTEN (Seimbang penuh (2127%) β†’ over_ratio β‰ˆ 1)

SMOTEN

Skema: Seimbang penuh (2127%) | target minoritas pada training: 245 (dari 11 asli) | over_ratio: 1 | K: 5

n total valid: 367 | training asli: 256 | training setelah SMOTEN: 490 | testing asli: 111 | split: 70:30 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 11 245 5
Bersekolah (1) - event model 351 245 245 106
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.7783
Firth Fixed 0.50 0.500 94.59 99.06 0 49.53 97.22 NA 0.00 0.8066
SMOTEN + Reglog Fixed 0.50 0.500 87.39 90.57 20 55.28 93.20 12.50 42.56 0.7349
Reglog Biasa Youden dari training 0.951 83.78 83.96 80 81.98 90.82 30.77 81.96 0.7783
Firth Youden dari training 0.922 81.98 82.08 80 81.04 89.69 28.57 81.03 0.8066
SMOTEN + Reglog Youden dari training 0.989 76.58 76.42 80 78.21 86.17 23.53 78.19 0.7349

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 5.75 poin persentase; selisih recall Tidak Bersekolah = 20 poin persentase; selisih sensitivity Bersekolah = -8.49 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 25.488
df 5
p-value 1e-04
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 679.284
-2LL Model 155.803
GΒ² Hitung 523.481
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) -0.3307 1.7209 0.0369 1 3.8415 0.8476 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.6358 0.6645 0.9154 1 3.8415 0.3387 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 4.3519 1.2235 12.6524 1 3.8415 0.0004 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.3706 1881.4915 0.0001 1 3.8415 0.9909 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.1823 0.8000 15.8244 1 3.8415 0.0001 βœ… Signifikan
X4Laki-laki X4Laki-laki 1.4666 1.4784 0.9841 1 3.8415 0.3212 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 4.4316 1.2357 12.8621 1 3.8415 0.0003 βœ… Signifikan
X6Pertanian X6Pertanian -3.0151 1.5276 3.8955 1 3.8415 0.0484 βœ… Signifikan
X6Nonpertanian X6Nonpertanian -1.7423 1.5434 1.2744 1 3.8415 0.2589 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 2.0173 0.5805 12.0750 1 3.8415 0.0005 βœ… Signifikan
X8Memiliki X8Memiliki 19.4072 1656.7483 0.0001 1 3.8415 0.9907 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -1.5693 1.3960 1.2637 1 3.8415 0.2609 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC179.803Semakin kecil semakin baik
AICc180.458Koreksi utk sampel kecil
BIC230.136Penalti lebih besar pada parameter
Log-Likelihood-77.902
k (parameter)12Termasuk intercept
n (observasi)490

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 7.184000e-01 0.0246 20.9523 Baseline odds
X1Laki-laki X1Laki-laki 5.295000e-01 0.1440 1.9478 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 7.762200e+01 7.0563 853.8669 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.910525e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.410270e+01 5.0248 115.6143 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 4.334300e+00 0.2391 78.5784 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 8.406570e+01 7.4612 947.1747 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 4.900000e-02 0.0025 0.9792 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.751000e-01 0.0085 3.6061 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 7.517900e+00 2.4096 23.4556 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 2.681947e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 2.082000e-01 0.0135 3.2117 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.300000e-01 0.3387 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 7.762200e+01 0.0004 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.910525e+09 0.9909 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.410300e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 4.334000e+00 0.3212 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 8.406600e+01 0.0003 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 4.900000e-02 0.0484 β€” Dipertahankan (signifikan/berkontribusi)
X6Nonpertanian X6Nonpertanian 1.750000e-01 0.2589 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 7.518000e+00 0.0005 β€” Dipertahankan (signifikan/berkontribusi)
X8Memiliki X8Memiliki 2.681947e+08 0.9907 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 2.080000e-01 0.2609 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7783
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 1
Pred: Bersekolah (1) 5 105
Accuracy: 94.59 %Sensitivity / Recall Bersekolah: 99.06 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 49.53 %Precision Bersekolah: 95.45 %F1 Bersekolah: 97.22 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 10
Pred: Bersekolah (1) 4 96
Accuracy: 87.39 %Sensitivity / Recall Bersekolah: 90.57 %Specificity / Recall Tidak Bersekolah: 20 %Balanced Accuracy: 55.28 %Precision Bersekolah: 96 %F1 Bersekolah: 93.2 %Precision Tidak Bersekolah: 9.09 %F1 Tidak Bersekolah: 12.5 %G-mean: 42.56 %AUC (Y=1 Bersekolah): 0.7349
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.951
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.951
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 17
Pred: Bersekolah (1) 1 89
Accuracy: 83.78 %Sensitivity / Recall Bersekolah: 83.96 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.98 %Precision Bersekolah: 98.89 %F1 Bersekolah: 90.82 %Precision Tidak Bersekolah: 19.05 %F1 Tidak Bersekolah: 30.77 %G-mean: 81.96 %AUC (Y=1 Bersekolah): 0.7783
Firth | Youden training = 0.922
Confusion Matrix Testing - Firth | Youden training = 0.922
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 19
Pred: Bersekolah (1) 1 87
Accuracy: 81.98 %Sensitivity / Recall Bersekolah: 82.08 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 81.04 %Precision Bersekolah: 98.86 %F1 Bersekolah: 89.69 %Precision Tidak Bersekolah: 17.39 %F1 Tidak Bersekolah: 28.57 %G-mean: 81.03 %AUC (Y=1 Bersekolah): 0.8066
SMOTEN + Reglog | Youden training = 0.989
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.989
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 4 25
Pred: Bersekolah (1) 1 81
Accuracy: 76.58 %Sensitivity / Recall Bersekolah: 76.42 %Specificity / Recall Tidak Bersekolah: 80 %Balanced Accuracy: 78.21 %Precision Bersekolah: 98.78 %F1 Bersekolah: 86.17 %Precision Tidak Bersekolah: 13.79 %F1 Tidak Bersekolah: 23.53 %G-mean: 78.19 %AUC (Y=1 Bersekolah): 0.7349

SMOTEN | Split 80:20 | Chawla 100%

SMOTEN (Chawla 100% β†’ over_ratio β‰ˆ 0.086)

SMOTEN

Skema: Chawla 100% | target minoritas pada training: 24 (dari 12 asli) | over_ratio: 0.0857 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 304 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 24 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7025
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.977 76.00 76.06 75 75.53 85.71 25.00 75.53 0.7025

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 0 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = 0 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 0 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = 0 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 7.541
df 8
p-value 0.4795
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 167.924
-2LL Model 91.062
GΒ² Hitung 76.862
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 0.3713 1.3964 0.0707 1 3.8415 0.7903 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.1709 0.5575 0.0940 1 3.8415 0.7592 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 2.6887 1.1194 5.7689 1 3.8415 0.0163 βœ… Signifikan
X3Kesulitan X3Kesulitan 19.2086 2117.3182 0.0001 1 3.8415 0.9928 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 1.6319 0.7417 4.8410 1 3.8415 0.0278 βœ… Signifikan
X4Laki-laki X4Laki-laki 0.2566 1.0286 0.0622 1 3.8415 0.8030 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 1.7789 0.8352 4.5368 1 3.8415 0.0332 βœ… Signifikan
X6Pertanian X6Pertanian -1.1536 1.3138 0.7710 1 3.8415 0.3799 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.2544 1.2663 0.9813 1 3.8415 0.3219 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.4056 0.5994 0.4579 1 3.8415 0.4986 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 17.6364 1722.7596 0.0001 1 3.8415 0.9918 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.7546 0.9550 0.6244 1 3.8415 0.4294 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC115.062Semakin kecil semakin baik
AICc116.134Koreksi utk sampel kecil
BIC159.666Penalti lebih besar pada parameter
Log-Likelihood-45.531
k (parameter)12Termasuk intercept
n (observasi)304

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 1.449700e+00 0.0939 22.3832 Baseline odds
X1Laki-laki X1Laki-laki 8.429000e-01 0.2826 2.5138 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 1.471220e+01 1.6399 131.9853 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 2.198881e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 5.113800e+00 1.1951 21.8822 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 1.292500e+00 0.1722 9.7034 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 5.923400e+00 1.1526 30.4418 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 3.155000e-01 0.0240 4.1432 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.852000e-01 0.0238 3.4129 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.500300e+00 0.4634 4.8576 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 4.564688e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 2.126800e+00 0.3272 13.8230 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 8.430000e-01 0.7592 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 1.471200e+01 0.0163 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 2.198881e+08 0.9928 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 5.114000e+00 0.0278 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 1.292000e+00 0.8030 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 5.923000e+00 0.0332 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 3.160000e-01 0.3799 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.850000e-01 0.3219 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.500000e+00 0.4986 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 4.564688e+07 0.9918 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 2.127000e+00 0.4294 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7025
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.977
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.977
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 17
Pred: Bersekolah (1) 1 54
Accuracy: 76 %Sensitivity / Recall Bersekolah: 76.06 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 75.53 %Precision Bersekolah: 98.18 %F1 Bersekolah: 85.71 %Precision Tidak Bersekolah: 15 %F1 Tidak Bersekolah: 25 %G-mean: 75.53 %AUC (Y=1 Bersekolah): 0.7025

SMOTEN | Split 80:20 | Chawla 200%

SMOTEN (Chawla 200% β†’ over_ratio β‰ˆ 0.129)

SMOTEN

Skema: Chawla 200% | target minoritas pada training: 36 (dari 12 asli) | over_ratio: 0.1286 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 316 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 36 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 88.00 92.96 0 46.48 93.62 NA 0.00 0.7095
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.982 74.67 74.65 75 74.82 84.80 24.00 74.82 0.7095

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -3.52 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -7.04 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -3.52 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -7.04 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 1.676
df 8
p-value 0.9894
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 224.134
-2LL Model 105.172
GΒ² Hitung 118.961
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 0.5673 1.4321 0.1569 1 3.8415 0.6920 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.4360 0.5360 0.6615 1 3.8415 0.4160 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 2.8297 1.1108 6.4898 1 3.8415 0.0108 βœ… Signifikan
X3Kesulitan X3Kesulitan 19.5211 2076.1292 0.0001 1 3.8415 0.9925 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 1.8849 0.7311 6.6468 1 3.8415 0.0099 βœ… Signifikan
X4Laki-laki X4Laki-laki 0.1525 1.0411 0.0215 1 3.8415 0.8835 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 2.0943 0.8263 6.4244 1 3.8415 0.0113 βœ… Signifikan
X6Pertanian X6Pertanian -1.3835 1.2913 1.1479 1 3.8415 0.2840 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.4556 1.2508 1.3542 1 3.8415 0.2445 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.5502 0.5516 0.9946 1 3.8415 0.3186 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 17.7960 1689.5783 0.0001 1 3.8415 0.9916 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.5180 0.9998 0.2684 1 3.8415 0.6044 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC129.172Semakin kecil semakin baik
AICc130.202Koreksi utk sampel kecil
BIC174.241Penalti lebih besar pada parameter
Log-Likelihood-52.586
k (parameter)12Termasuk intercept
n (observasi)316

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 1.763500e+00 0.1065 29.1991 Baseline odds
X1Laki-laki X1Laki-laki 6.466000e-01 0.2262 1.8490 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 1.694060e+01 1.9206 149.4258 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 3.005347e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 6.585500e+00 1.5714 27.5996 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 1.164800e+00 0.1514 8.9627 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 8.119500e+00 1.6077 41.0052 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 2.507000e-01 0.0200 3.1499 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.333000e-01 0.0201 2.7074 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.733500e+00 0.5880 5.1108 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 5.354152e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 1.678600e+00 0.2365 11.9129 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 6.470000e-01 0.4160 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 1.694100e+01 0.0108 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 3.005347e+08 0.9925 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 6.586000e+00 0.0099 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 1.165000e+00 0.8835 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 8.119000e+00 0.0113 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 2.510000e-01 0.2840 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.330000e-01 0.2445 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.734000e+00 0.3186 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 5.354152e+07 0.9916 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 1.679000e+00 0.6044 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 5
Pred: Bersekolah (1) 4 66
Accuracy: 88 %Sensitivity / Recall Bersekolah: 92.96 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 46.48 %Precision Bersekolah: 94.29 %F1 Bersekolah: 93.62 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7095
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.982
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.982
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 18
Pred: Bersekolah (1) 1 53
Accuracy: 74.67 %Sensitivity / Recall Bersekolah: 74.65 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 74.82 %Precision Bersekolah: 98.15 %F1 Bersekolah: 84.8 %Precision Tidak Bersekolah: 14.29 %F1 Tidak Bersekolah: 24 %G-mean: 74.82 %AUC (Y=1 Bersekolah): 0.7095

SMOTEN | Split 80:20 | Chawla 300%

SMOTEN (Chawla 300% β†’ over_ratio β‰ˆ 0.171)

SMOTEN

Skema: Chawla 300% | target minoritas pada training: 48 (dari 12 asli) | over_ratio: 0.1714 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 328 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 48 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 88.00 92.96 0 46.48 93.62 NA 0.00 0.7095
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.924 81.33 81.69 75 78.35 89.23 30.00 78.27 0.7095

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -3.52 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -7.04 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -3.52 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -7.04 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 7.707
df 8
p-value 0.4626
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 273.099
-2LL Model 115.234
GΒ² Hitung 157.866
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 0.7181 1.4690 0.2390 1 3.8415 0.6249 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.5788 0.5275 1.2041 1 3.8415 0.2725 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 2.9355 1.1055 7.0512 1 3.8415 0.0079 βœ… Signifikan
X3Kesulitan X3Kesulitan 19.7395 2044.3414 0.0001 1 3.8415 0.9923 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.0660 0.7254 8.1128 1 3.8415 0.0044 βœ… Signifikan
X4Laki-laki X4Laki-laki 0.0662 1.0565 0.0039 1 3.8415 0.9501 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 2.3301 0.8228 8.0207 1 3.8415 0.0046 βœ… Signifikan
X6Pertanian X6Pertanian -1.5749 1.2894 1.4920 1 3.8415 0.2219 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.5878 1.2531 1.6054 1 3.8415 0.2051 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.5980 0.5275 1.2851 1 3.8415 0.2570 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 17.9221 1661.9428 0.0001 1 3.8415 0.9914 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.3707 1.0358 0.1281 1 3.8415 0.7204 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC139.234Semakin kecil semakin baik
AICc140.224Koreksi utk sampel kecil
BIC184.75Penalti lebih besar pada parameter
Log-Likelihood-57.617
k (parameter)12Termasuk intercept
n (observasi)328

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 2.050600e+00 0.1152 36.5018 Baseline odds
X1Laki-laki X1Laki-laki 5.606000e-01 0.1993 1.5763 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 1.883120e+01 2.1572 164.3879 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 3.738932e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 7.893500e+00 1.9048 32.7111 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 1.068400e+00 0.1347 8.4731 ↑ Peluang bersekolah lebih besar dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 1.027940e+01 2.0494 51.5591 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 2.070000e-01 0.0165 2.5915 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 2.044000e-01 0.0175 2.3828 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.818500e+00 0.6467 5.1135 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 6.073678e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 1.448800e+00 0.1903 11.0319 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.610000e-01 0.2725 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 1.883100e+01 0.0079 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 3.738932e+08 0.9923 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 7.893000e+00 0.0044 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 1.068000e+00 0.9501 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 1.027900e+01 0.0046 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 2.070000e-01 0.2219 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 2.040000e-01 0.2051 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.818000e+00 0.2570 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 6.073678e+07 0.9914 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 1.449000e+00 0.7204 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 5
Pred: Bersekolah (1) 4 66
Accuracy: 88 %Sensitivity / Recall Bersekolah: 92.96 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 46.48 %Precision Bersekolah: 94.29 %F1 Bersekolah: 93.62 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7095
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.924
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.924
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 13
Pred: Bersekolah (1) 1 58
Accuracy: 81.33 %Sensitivity / Recall Bersekolah: 81.69 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 78.35 %Precision Bersekolah: 98.31 %F1 Bersekolah: 89.23 %Precision Tidak Bersekolah: 18.75 %F1 Tidak Bersekolah: 30 %G-mean: 78.27 %AUC (Y=1 Bersekolah): 0.7095

SMOTEN | Split 80:20 | Chawla 400%

SMOTEN (Chawla 400% β†’ over_ratio β‰ˆ 0.214)

SMOTEN

Skema: Chawla 400% | target minoritas pada training: 60 (dari 12 asli) | over_ratio: 0.2143 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 340 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 60 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 88.00 92.96 0 46.48 93.62 NA 0.00 0.7165
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.941 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7165

Metode terbaik (testing asli, cutoff 0.50): Firth. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = -3.52 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -7.04 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = -3.52 poin persentase; selisih recall Tidak Bersekolah = 0 poin persentase; selisih sensitivity Bersekolah = -7.04 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 10.038
df 8
p-value 0.2623
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 316.879
-2LL Model 123.145
GΒ² Hitung 193.734
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 0.8411 1.5028 0.3133 1 3.8415 0.5757 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.6744 0.5238 1.6578 1 3.8415 0.1979 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.0223 1.1019 7.5225 1 3.8415 0.0061 βœ… Signifikan
X3Kesulitan X3Kesulitan 19.9096 2018.8941 0.0001 1 3.8415 0.9921 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.2095 0.7215 9.3770 1 3.8415 0.0022 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.0059 1.0716 0.0000 1 3.8415 0.9956 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 2.5192 0.8213 9.4073 1 3.8415 0.0022 βœ… Signifikan
X6Pertanian X6Pertanian -1.7359 1.2936 1.8006 1 3.8415 0.1796 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.6899 1.2601 1.7984 1 3.8415 0.1799 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6163 0.5130 1.4434 1 3.8415 0.2296 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.0279 1639.4886 0.0001 1 3.8415 0.9912 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.2642 1.0657 0.0615 1 3.8415 0.8042 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC147.145Semakin kecil semakin baik
AICc148.099Koreksi utk sampel kecil
BIC193.093Penalti lebih besar pada parameter
Log-Likelihood-61.573
k (parameter)12Termasuk intercept
n (observasi)340

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 2.319000e+00 0.1219 44.1049 Baseline odds
X1Laki-laki X1Laki-laki 5.094000e-01 0.1825 1.4222 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 2.053770e+01 2.3692 178.0372 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 4.432084e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 9.111300e+00 2.2151 37.4770 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 9.941000e-01 0.1217 8.1204 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 1.241820e+01 2.4828 62.1134 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.762000e-01 0.0140 2.2246 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.845000e-01 0.0156 2.1813 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.852100e+00 0.6776 5.0622 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 6.751873e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 1.302400e+00 0.1613 10.5170 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 5.090000e-01 0.1979 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 2.053800e+01 0.0061 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 4.432084e+08 0.9921 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 9.111000e+00 0.0022 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 9.940000e-01 0.9956 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 1.241800e+01 0.0022 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.760000e-01 0.1796 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.850000e-01 0.1799 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.852000e+00 0.2296 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 6.751873e+07 0.9912 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 1.302000e+00 0.8042 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 5
Pred: Bersekolah (1) 4 66
Accuracy: 88 %Sensitivity / Recall Bersekolah: 92.96 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 46.48 %Precision Bersekolah: 94.29 %F1 Bersekolah: 93.62 %Precision Tidak Bersekolah: 0 %F1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7165
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.941
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.941
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7165

SMOTEN | Split 80:20 | Chawla 500%

SMOTEN (Chawla 500% β†’ over_ratio β‰ˆ 0.257)

SMOTEN

Skema: Chawla 500% | target minoritas pada training: 72 (dari 12 asli) | over_ratio: 0.2571 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 352 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 72 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7165
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.941 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7165

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 8.974
df 8
p-value 0.3445
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 356.674
-2LL Model 129.693
GΒ² Hitung 226.981
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 0.9456 1.5333 0.3803 1 3.8415 0.5375 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.7462 0.5225 2.0394 1 3.8415 0.1533 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.0965 1.0994 7.9326 1 3.8415 0.0049 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.0498 1998.0254 0.0001 1 3.8415 0.9920 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.3290 0.7188 10.4974 1 3.8415 0.0012 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.0672 1.0858 0.0038 1 3.8415 0.9507 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 2.6770 0.8209 10.6338 1 3.8415 0.0011 βœ… Signifikan
X6Pertanian X6Pertanian -1.8741 1.3001 2.0781 1 3.8415 0.1494 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.7747 1.2686 1.9571 1 3.8415 0.1618 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6232 0.5035 1.5319 1 3.8415 0.2158 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.1200 1621.2528 0.0001 1 3.8415 0.9911 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.1811 1.0915 0.0275 1 3.8415 0.8682 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC153.693Semakin kecil semakin baik
AICc154.614Koreksi utk sampel kecil
BIC200.057Penalti lebih besar pada parameter
Log-Likelihood-64.847
k (parameter)12Termasuk intercept
n (observasi)352

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 2.574300e+00 0.1275 51.9794 Baseline odds
X1Laki-laki X1Laki-laki 4.741000e-01 0.1703 1.3204 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 2.212090e+01 2.5643 190.8253 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 5.099192e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.026730e+01 2.5095 42.0067 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 9.350000e-01 0.1113 7.8529 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 1.454160e+01 2.9096 72.6755 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.535000e-01 0.0120 1.9620 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.695000e-01 0.0141 2.0374 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.865000e+00 0.6951 5.0036 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 7.403137e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 1.198500e+00 0.1411 10.1798 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 4.740000e-01 0.1533 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 2.212100e+01 0.0049 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 5.099192e+08 0.9920 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.026700e+01 0.0012 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 9.350000e-01 0.9507 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 1.454200e+01 0.0011 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.530000e-01 0.1494 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.700000e-01 0.1618 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.865000e+00 0.2158 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 7.403137e+07 0.9911 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 1.198000e+00 0.8682 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7165
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.941
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.941
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7165

SMOTEN | Split 80:20 | Chawla 600%

SMOTEN (Chawla 600% β†’ over_ratio β‰ˆ 0.3)

SMOTEN

Skema: Chawla 600% | target minoritas pada training: 84 (dari 12 asli) | over_ratio: 0.3 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 364 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 84 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7165
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.933 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7165

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 9.086
df 8
p-value 0.3351
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 393.269
-2LL Model 135.291
GΒ² Hitung 257.978
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.0366 1.5611 0.4409 1 3.8415 0.5067 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.8040 0.5226 2.3666 1 3.8415 0.1240 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.1618 1.0976 8.2973 1 3.8415 0.0040 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.1695 1980.5559 0.0001 1 3.8415 0.9919 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.4315 0.7168 11.5069 1 3.8415 0.0007 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.1202 1.0990 0.0120 1 3.8415 0.9129 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 2.8126 0.8211 11.7338 1 3.8415 0.0006 βœ… Signifikan
X6Pertanian X6Pertanian -1.9952 1.3074 2.3291 1 3.8415 0.1270 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.8481 1.2774 2.0932 1 3.8415 0.1480 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6251 0.4970 1.5818 1 3.8415 0.2085 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.2018 1606.2583 0.0001 1 3.8415 0.9910 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.1131 1.1142 0.0103 1 3.8415 0.9192 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC159.291Semakin kecil semakin baik
AICc160.18Koreksi utk sampel kecil
BIC206.057Penalti lebih besar pada parameter
Log-Likelihood-67.646
k (parameter)12Termasuk intercept
n (observasi)364

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 2.819600e+00 0.1323 60.1112 Baseline odds
X1Laki-laki X1Laki-laki 4.475000e-01 0.1607 1.2465 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 2.361230e+01 2.7468 202.9800 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 5.747858e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.137590e+01 2.7916 46.3575 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 8.867000e-01 0.1029 7.6427 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 1.665240e+01 3.3310 83.2481 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.360000e-01 0.0105 1.7633 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.575000e-01 0.0129 1.9261 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.868500e+00 0.7054 4.9494 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 8.034566e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 1.119700e+00 0.1261 9.9433 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 4.480000e-01 0.1240 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 2.361200e+01 0.0040 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 5.747858e+08 0.9919 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.137600e+01 0.0007 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 8.870000e-01 0.9129 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 1.665200e+01 0.0006 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.360000e-01 0.1270 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.580000e-01 0.1480 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.868000e+00 0.2085 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 8.034566e+07 0.9910 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 1.120000e+00 0.9192 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7165
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.933
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.933
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7165

SMOTEN | Split 80:20 | Chawla 700%

SMOTEN (Chawla 700% β†’ over_ratio β‰ˆ 0.343)

SMOTEN

Skema: Chawla 700% | target minoritas pada training: 96 (dari 12 asli) | over_ratio: 0.3429 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 376 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 96 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7165
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.938 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7165

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 8.036
df 7
p-value 0.3294
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 427.214
-2LL Model 140.185
GΒ² Hitung 287.029
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.1174 1.5864 0.4962 1 3.8415 0.4812 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.8525 0.5235 2.6522 1 3.8415 0.1034 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.2201 1.0964 8.6266 1 3.8415 0.0033 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.2743 1965.6615 0.0001 1 3.8415 0.9918 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.5214 0.7152 12.4275 1 3.8415 0.0004 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.1669 1.1113 0.0226 1 3.8415 0.8806 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 2.9313 0.8215 12.7312 1 3.8415 0.0004 βœ… Signifikan
X6Pertanian X6Pertanian -2.1028 1.3148 2.5579 1 3.8415 0.1097 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.9131 1.2860 2.2131 1 3.8415 0.1368 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6246 0.4924 1.6094 1 3.8415 0.2046 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.2757 1593.7280 0.0001 1 3.8415 0.9909 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.0556 1.1345 0.0024 1 3.8415 0.9609 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC164.185Semakin kecil semakin baik
AICc165.045Koreksi utk sampel kecil
BIC211.34Penalti lebih besar pada parameter
Log-Likelihood-70.093
k (parameter)12Termasuk intercept
n (observasi)376

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 3.057000e+00 0.1365 68.4880 Baseline odds
X1Laki-laki X1Laki-laki 4.263000e-01 0.1528 1.1894 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 2.503120e+01 2.9192 214.6369 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 6.382561e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.244620e+01 3.0635 50.5651 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 8.463000e-01 0.0958 7.4728 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 1.875250e+01 3.7477 93.8328 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.221000e-01 0.0093 1.6067 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.476000e-01 0.0119 1.8357 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.867600e+00 0.7115 4.9021 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 8.650127e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 1.057200e+00 0.1144 9.7698 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 4.260000e-01 0.1034 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 2.503100e+01 0.0033 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 6.382561e+08 0.9918 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.244600e+01 0.0004 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 8.460000e-01 0.8806 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 1.875200e+01 0.0004 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.220000e-01 0.1097 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.480000e-01 0.1368 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.868000e+00 0.2046 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 8.650127e+07 0.9909 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 1.057000e+00 0.9609 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7165
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.938
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.938
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7165

SMOTEN | Split 80:20 | Chawla 800%

SMOTEN (Chawla 800% β†’ over_ratio β‰ˆ 0.386)

SMOTEN

Skema: Chawla 800% | target minoritas pada training: 108 (dari 12 asli) | over_ratio: 0.3857 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 388 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 108 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7201
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.942 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7201

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 9.691
df 7
p-value 0.2068
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 458.918
-2LL Model 144.536
GΒ² Hitung 314.382
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.1903 1.6096 0.5469 1 3.8415 0.4596 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.8945 0.5248 2.9054 1 3.8415 0.0883 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.2730 1.0954 8.9273 1 3.8415 0.0028 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.3675 1952.7570 0.0001 1 3.8415 0.9917 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.6015 0.7140 13.2746 1 3.8415 0.0003 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.2085 1.1229 0.0345 1 3.8415 0.8527 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.0370 0.8222 13.6441 1 3.8415 0.0002 βœ… Signifikan
X6Pertanian X6Pertanian -2.1997 1.3222 2.7678 1 3.8415 0.0962 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -1.9718 1.2944 2.3205 1 3.8415 0.1277 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6230 0.4889 1.6237 1 3.8415 0.2026 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.3430 1583.0859 0.0001 1 3.8415 0.9908 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin 0.0060 1.1529 0.0000 1 3.8415 0.9958 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC168.536Semakin kecil semakin baik
AICc169.368Koreksi utk sampel kecil
BIC216.068Penalti lebih besar pada parameter
Log-Likelihood-72.268
k (parameter)12Termasuk intercept
n (observasi)388

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 3.288100e+00 0.1402 77.0983 Baseline odds
X1Laki-laki X1Laki-laki 4.088000e-01 0.1462 1.1435 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 2.639070e+01 3.0833 225.8862 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 7.006167e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.348430e+01 3.3269 54.6533 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 8.118000e-01 0.0899 7.3323 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 2.084340e+01 4.1602 104.4307 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.108000e-01 0.0083 1.4796 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.392000e-01 0.0110 1.7598 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.864600e+00 0.7151 4.8615 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 9.252357e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 1.006100e+00 0.1050 9.6381 ↑ Peluang bersekolah lebih besar dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 4.090000e-01 0.0883 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 2.639100e+01 0.0028 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 7.006167e+08 0.9917 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.348400e+01 0.0003 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 8.120000e-01 0.8527 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 2.084300e+01 0.0002 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.110000e-01 0.0962 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.390000e-01 0.1277 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.865000e+00 0.2026 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 9.252357e+07 0.9908 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 1.006000e+00 0.9958 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7201
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.942
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.942
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7201

SMOTEN | Split 80:20 | Chawla 900%

SMOTEN (Chawla 900% β†’ over_ratio β‰ˆ 0.429)

SMOTEN

Skema: Chawla 900% | target minoritas pada training: 120 (dari 12 asli) | over_ratio: 0.4286 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 400 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 120 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.942 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 16.467
df 7
p-value 0.0212
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 488.691
-2LL Model 148.454
GΒ² Hitung 340.237
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.2567 1.6311 0.5936 1 3.8415 0.4410 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.9317 0.5264 3.1326 1 3.8415 0.0767 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.3214 1.0948 9.2043 1 3.8415 0.0024 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.4515 1941.4203 0.0001 1 3.8415 0.9916 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.6738 0.7131 14.0598 1 3.8415 0.0002 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.2459 1.1337 0.0471 1 3.8415 0.8283 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.1323 0.8230 14.4860 1 3.8415 0.0001 βœ… Signifikan
X6Pertanian X6Pertanian -2.2878 1.3294 2.9617 1 3.8415 0.0853 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -2.0253 1.3024 2.4183 1 3.8415 0.1199 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6209 0.4864 1.6299 1 3.8415 0.2017 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.4049 1573.9122 0.0001 1 3.8415 0.9907 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.0376 1.1697 0.0010 1 3.8415 0.9744 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC172.454Semakin kecil semakin baik
AICc173.26Koreksi utk sampel kecil
BIC220.352Penalti lebih besar pada parameter
Log-Likelihood-74.227
k (parameter)12Termasuk intercept
n (observasi)400

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 3.513700e+00 0.1437 85.9314 Baseline odds
X1Laki-laki X1Laki-laki 3.939000e-01 0.1404 1.1052 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 2.770010e+01 3.2404 236.7925 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 7.620639e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.449500e+01 3.5830 58.6399 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 7.820000e-01 0.0848 7.2141 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 2.292650e+01 4.5690 115.0430 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 1.015000e-01 0.0075 1.3740 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.320000e-01 0.0103 1.6944 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.860600e+00 0.7173 4.8266 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 9.843048e+07 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 9.631000e-01 0.0973 9.5357 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.940000e-01 0.0767 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 2.770000e+01 0.0024 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 7.620639e+08 0.9916 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.449500e+01 0.0002 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 7.820000e-01 0.8283 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 2.292700e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 1.010000e-01 0.0853 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.320000e-01 0.1199 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.861000e+00 0.2017 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 9.843048e+07 0.9907 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 9.630000e-01 0.9744 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.942
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.942
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 1000%

SMOTEN (Chawla 1000% β†’ over_ratio β‰ˆ 0.471)

SMOTEN

Skema: Chawla 1000% | target minoritas pada training: 132 (dari 12 asli) | over_ratio: 0.4714 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 412 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 132 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.942 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 12.053
df 7
p-value 0.0988
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 516.781
-2LL Model 152.02
GΒ² Hitung 364.762
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.3176 1.6511 0.6369 1 3.8415 0.4248 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.9650 0.5281 3.3385 1 3.8415 0.0677 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.3661 1.0943 9.4614 1 3.8415 0.0021 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.5281 1931.3417 0.0001 1 3.8415 0.9915 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.7397 0.7123 14.7923 1 3.8415 0.0001 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.2799 1.1438 0.0599 1 3.8415 0.8067 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.2190 0.8238 15.2674 1 3.8415 0.0001 βœ… Signifikan
X6Pertanian X6Pertanian -2.3686 1.3363 3.1418 1 3.8415 0.0763 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -2.0746 1.3100 2.5082 1 3.8415 0.1133 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6186 0.4844 1.6309 1 3.8415 0.2016 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.4622 1565.8989 0.0001 1 3.8415 0.9906 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.0764 1.1852 0.0042 1 3.8415 0.9486 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC176.02Semakin kecil semakin baik
AICc176.801Koreksi utk sampel kecil
BIC224.272Penalti lebih besar pada parameter
Log-Likelihood-76.01
k (parameter)12Termasuk intercept
n (observasi)412

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 3.734600e+00 0.1468 94.9776 Baseline odds
X1Laki-laki X1Laki-laki 3.810000e-01 0.1353 1.0727 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 2.896660e+01 3.3915 247.4044 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 8.227390e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.548160e+01 3.8325 62.5383 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 7.558000e-01 0.0803 7.1130 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 2.500280e+01 4.9744 125.6707 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 9.360000e-02 0.0068 1.2847 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.256000e-01 0.0096 1.6370 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.856300e+00 0.7184 4.7965 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.042356e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 9.264000e-01 0.0908 9.4545 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.810000e-01 0.0677 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 2.896700e+01 0.0021 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 8.227390e+08 0.9915 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.548200e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 7.560000e-01 0.8067 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 2.500300e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 9.400000e-02 0.0763 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.260000e-01 0.1133 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.856000e+00 0.2016 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.042356e+08 0.9906 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 9.260000e-01 0.9486 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.942
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.942
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 1100%

SMOTEN (Chawla 1100% β†’ over_ratio β‰ˆ 0.514)

SMOTEN

Skema: Chawla 1100% | target minoritas pada training: 144 (dari 12 asli) | over_ratio: 0.5143 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 424 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 144 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.943 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 10.1
df 7
p-value 0.183
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 543.386
-2LL Model 155.291
GΒ² Hitung 388.094
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.3741 1.6697 0.6772 1 3.8415 0.4105 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -0.9953 0.5300 3.5267 1 3.8415 0.0604 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.4077 1.0941 9.7015 1 3.8415 0.0018 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.5986 1922.2894 0.0001 1 3.8415 0.9915 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.8001 0.7117 15.4792 1 3.8415 0.0001 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.3111 1.1534 0.0727 1 3.8415 0.7874 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.2985 0.8247 15.9968 1 3.8415 0.0001 βœ… Signifikan
X6Pertanian X6Pertanian -2.4433 1.3430 3.3099 1 3.8415 0.0689 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -2.1205 1.3172 2.5915 1 3.8415 0.1074 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6162 0.4828 1.6287 1 3.8415 0.2019 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.5155 1558.8178 0.0001 1 3.8415 0.9905 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.1115 1.1995 0.0086 1 3.8415 0.9259 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC179.291Semakin kecil semakin baik
AICc180.05Koreksi utk sampel kecil
BIC227.888Penalti lebih besar pada parameter
Log-Likelihood-77.646
k (parameter)12Termasuk intercept
n (observasi)424

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 3.951400e+00 0.1498 104.2279 Baseline odds
X1Laki-laki X1Laki-laki 3.696000e-01 0.1308 1.0444 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.019580e+01 3.5373 257.7596 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 8.827481e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.644700e+01 4.0764 66.3592 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 7.327000e-01 0.0764 7.0256 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 2.707330e+01 5.3770 136.3149 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 8.690000e-02 0.0062 1.2079 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.200000e-01 0.0091 1.5860 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.851800e+00 0.7188 4.7705 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.099499e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 8.945000e-01 0.0852 9.3891 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.700000e-01 0.0604 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 3.019600e+01 0.0018 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 8.827481e+08 0.9915 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.644700e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 7.330000e-01 0.7874 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 2.707300e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 8.700000e-02 0.0689 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.200000e-01 0.1074 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.852000e+00 0.2019 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.099499e+08 0.9905 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 8.950000e-01 0.9259 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.943
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.943
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 1200%

SMOTEN (Chawla 1200% β†’ over_ratio β‰ˆ 0.557)

SMOTEN

Skema: Chawla 1200% | target minoritas pada training: 156 (dari 12 asli) | over_ratio: 0.5571 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 436 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 156 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.943 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 9.362
df 7
p-value 0.2277
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 568.667
-2LL Model 158.315
GΒ² Hitung 410.352
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.4266 1.6871 0.7150 1 3.8415 0.3978 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.0230 0.5318 3.6999 1 3.8415 0.0544 ❌ Tdk Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.4466 1.0939 9.9268 1 3.8415 0.0016 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.6637 1914.0872 0.0001 1 3.8415 0.9914 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.8561 0.7112 16.1262 1 3.8415 0.0001 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.3398 1.1625 0.0854 1 3.8415 0.7700 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.3721 0.8256 16.6809 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -2.5127 1.3493 3.4676 1 3.8415 0.0626 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -2.1633 1.3241 2.6693 1 3.8415 0.1023 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6138 0.4816 1.6245 1 3.8415 0.2025 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.5655 1552.4968 0.0001 1 3.8415 0.9905 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.1434 1.2129 0.0140 1 3.8415 0.9059 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC182.315Semakin kecil semakin baik
AICc183.052Koreksi utk sampel kecil
BIC231.247Penalti lebih besar pada parameter
Log-Likelihood-79.157
k (parameter)12Termasuk intercept
n (observasi)436

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 4.164500e+00 0.1526 113.6741 Baseline odds
X1Laki-laki X1Laki-laki 3.595000e-01 0.1268 1.0196 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.139200e+01 3.6786 267.8884 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 9.421737e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.739360e+01 4.3151 70.1110 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 7.119000e-01 0.0729 6.9491 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 2.913860e+01 5.7768 146.9763 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 8.110000e-02 0.0058 1.1411 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.149000e-01 0.0086 1.5401 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.847400e+00 0.7189 4.7477 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.155822e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 8.664000e-01 0.0804 9.3358 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.600000e-01 0.0544 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X2Disabilitas tunggal X2Disabilitas tunggal 3.139200e+01 0.0016 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 9.421737e+08 0.9914 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.739400e+01 0.0001 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 7.120000e-01 0.7700 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 2.913900e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 8.100000e-02 0.0626 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.150000e-01 0.1023 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.847000e+00 0.2025 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.155822e+08 0.9905 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 8.660000e-01 0.9059 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.943
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.943
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 1300%

SMOTEN (Chawla 1300% β†’ over_ratio β‰ˆ 0.6)

SMOTEN

Skema: Chawla 1300% | target minoritas pada training: 168 (dari 12 asli) | over_ratio: 0.6 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 448 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 168 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.943 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 7.716
df 6
p-value 0.2597
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 592.761
-2LL Model 161.126
GΒ² Hitung 431.635
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.4758 1.7036 0.7505 1 3.8415 0.3863 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.0486 0.5337 3.8602 1 3.8415 0.0494 βœ… Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.4830 1.0939 10.1392 1 3.8415 0.0015 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.7243 1906.5985 0.0001 1 3.8415 0.9913 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.9082 0.7108 16.7380 1 3.8415 0.0000 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.3664 1.1711 0.0979 1 3.8415 0.7543 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.4404 0.8266 17.3252 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -2.5775 1.3554 3.6161 1 3.8415 0.0572 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -2.2035 1.3306 2.7424 1 3.8415 0.0977 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6115 0.4806 1.6190 1 3.8415 0.2032 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.6125 1546.8042 0.0001 1 3.8415 0.9904 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.1726 1.2254 0.0198 1 3.8415 0.8880 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC185.126Semakin kecil semakin baik
AICc185.843Koreksi utk sampel kecil
BIC234.383Penalti lebih besar pada parameter
Log-Likelihood-80.563
k (parameter)12Termasuk intercept
n (observasi)448

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 4.374400e+00 0.1552 123.3089 Baseline odds
X1Laki-laki X1Laki-laki 3.504000e-01 0.1231 0.9975 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.255880e+01 3.8158 277.8155 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.001082e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.832310e+01 4.5492 73.8008 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 6.932000e-01 0.0698 6.8816 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 3.119950e+01 6.1743 157.6554 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 7.600000e-02 0.0053 1.0823 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.104000e-01 0.0081 1.4985 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.843200e+00 0.7186 4.7278 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.211400e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 8.414000e-01 0.0762 9.2919 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.500000e-01 0.0494 β€” Dipertahankan (signifikan/berkontribusi)
X2Disabilitas tunggal X2Disabilitas tunggal 3.255900e+01 0.0015 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.001082e+09 0.9913 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.832300e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 6.930000e-01 0.7543 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 3.119900e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 7.600000e-02 0.0572 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.100000e-01 0.0977 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.843000e+00 0.2032 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.211400e+08 0.9904 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 8.410000e-01 0.8880 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.943
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.943
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 1400%

SMOTEN (Chawla 1400% β†’ over_ratio β‰ˆ 0.643)

SMOTEN

Skema: Chawla 1400% | target minoritas pada training: 180 (dari 12 asli) | over_ratio: 0.6429 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 460 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 180 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.943 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 15.752
df 6
p-value 0.0151
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 615.782
-2LL Model 163.753
GΒ² Hitung 452.029
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.5220 1.7191 0.7839 1 3.8415 0.3760 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.0724 0.5356 4.0092 1 3.8415 0.0453 βœ… Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.5175 1.0939 10.3401 1 3.8415 0.0013 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.7811 1899.7161 0.0001 1 3.8415 0.9913 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 2.9568 0.7105 17.3186 1 3.8415 0.0000 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.3913 1.1793 0.1101 1 3.8415 0.7400 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.5042 0.8275 17.9343 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -2.6383 1.3612 3.7565 1 3.8415 0.0526 ❌ Tdk Signifikan
X6Nonpertanian X6Nonpertanian -2.2414 1.3368 2.8113 1 3.8415 0.0936 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6093 0.4798 1.6128 1 3.8415 0.2041 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.6568 1541.6379 0.0001 1 3.8415 0.9903 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.1997 1.2372 0.0260 1 3.8415 0.8718 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC187.753Semakin kecil semakin baik
AICc188.45Koreksi utk sampel kecil
BIC237.327Penalti lebih besar pada parameter
Log-Likelihood-81.876
k (parameter)12Termasuk intercept
n (observasi)460

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 4.581400e+00 0.1577 133.1253 Baseline odds
X1Laki-laki X1Laki-laki 3.422000e-01 0.1198 0.9776 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.369930e+01 3.9492 287.5614 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.059526e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 1.923730e+01 4.7792 77.4346 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 6.762000e-01 0.0670 6.8215 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 3.325650e+01 6.5695 168.3529 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 7.150000e-02 0.0050 1.0301 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.063000e-01 0.0077 1.4603 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.839200e+00 0.7182 4.7102 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.266297e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 8.190000e-01 0.0725 9.2556 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.420000e-01 0.0453 β€” Dipertahankan (signifikan/berkontribusi)
X2Disabilitas tunggal X2Disabilitas tunggal 3.369900e+01 0.0013 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.059526e+09 0.9913 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 1.923700e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 6.760000e-01 0.7400 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 3.325600e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 7.100000e-02 0.0526 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X6Nonpertanian X6Nonpertanian 1.060000e-01 0.0936 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.839000e+00 0.2041 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.266297e+08 0.9903 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 8.190000e-01 0.8718 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.943
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.943
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 1500%

SMOTEN (Chawla 1500% β†’ over_ratio β‰ˆ 0.686)

SMOTEN

Skema: Chawla 1500% | target minoritas pada training: 192 (dari 12 asli) | over_ratio: 0.6857 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 472 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 192 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.953 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 16.557
df 6
p-value 0.0111
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 637.828
-2LL Model 166.218
GΒ² Hitung 471.61
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.5656 1.7337 0.8155 1 3.8415 0.3665 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.0946 0.5374 4.1485 1 3.8415 0.0417 βœ… Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.5501 1.0940 10.5310 1 3.8415 0.0012 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.8344 1893.3546 0.0001 1 3.8415 0.9912 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.0026 0.7103 17.8712 1 3.8415 0.0000 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.4145 1.1871 0.1219 1 3.8415 0.7270 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.5642 0.8284 18.5120 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -2.6956 1.3668 3.8895 1 3.8415 0.0486 βœ… Signifikan
X6Nonpertanian X6Nonpertanian -2.2774 1.3427 2.8766 1 3.8415 0.0899 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6073 0.4792 1.6061 1 3.8415 0.2050 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.6987 1536.9172 0.0001 1 3.8415 0.9903 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.2247 1.2483 0.0324 1 3.8415 0.8571 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC190.218Semakin kecil semakin baik
AICc190.898Koreksi utk sampel kecil
BIC240.102Penalti lebih besar pada parameter
Log-Likelihood-83.109
k (parameter)12Termasuk intercept
n (observasi)472

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 4.785600e+00 0.1600 143.1172 Baseline odds
X1Laki-laki X1Laki-laki 3.347000e-01 0.1167 0.9596 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.481610e+01 4.0794 297.1433 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.117552e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.013740e+01 5.0053 81.0173 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 6.607000e-01 0.0645 6.7677 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 3.531010e+01 6.9627 179.0690 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 6.750000e-02 0.0046 0.9834 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 1.026000e-01 0.0074 1.4253 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.835400e+00 0.7176 4.6945 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.320569e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 7.987000e-01 0.0692 9.2252 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.350000e-01 0.0417 β€” Dipertahankan (signifikan/berkontribusi)
X2Disabilitas tunggal X2Disabilitas tunggal 3.481600e+01 0.0012 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.117552e+09 0.9912 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.013700e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 6.610000e-01 0.7270 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 3.531000e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 6.800000e-02 0.0486 β€” Dipertahankan (signifikan/berkontribusi)
X6Nonpertanian X6Nonpertanian 1.030000e-01 0.0899 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.835000e+00 0.2050 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.320569e+08 0.9903 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 7.990000e-01 0.8571 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.953
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.953
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 1600%

SMOTEN (Chawla 1600% β†’ over_ratio β‰ˆ 0.729)

SMOTEN

Skema: Chawla 1600% | target minoritas pada training: 204 (dari 12 asli) | over_ratio: 0.7286 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 484 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 204 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.953 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 16.616
df 6
p-value 0.0108
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 658.983
-2LL Model 168.541
GΒ² Hitung 490.442
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.6069 1.7477 0.8454 1 3.8415 0.3579 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.1155 0.5392 4.2790 1 3.8415 0.0386 βœ… Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.5810 1.0941 10.7126 1 3.8415 0.0011 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.8847 1887.4449 0.0001 1 3.8415 0.9912 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.0457 0.7101 18.3985 1 3.8415 0.0000 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.4364 1.1946 0.1334 1 3.8415 0.7149 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.6206 0.8293 19.0615 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -2.7498 1.3722 4.0161 1 3.8415 0.0451 βœ… Signifikan
X6Nonpertanian X6Nonpertanian -2.3115 1.3484 2.9387 1 3.8415 0.0865 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6053 0.4786 1.5993 1 3.8415 0.2060 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.7386 1532.5777 0.0001 1 3.8415 0.9902 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.2481 1.2589 0.0389 1 3.8415 0.8437 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC192.541Semakin kecil semakin baik
AICc193.204Koreksi utk sampel kecil
BIC242.726Penalti lebih besar pada parameter
Log-Likelihood-84.271
k (parameter)12Termasuk intercept
n (observasi)484

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 4.987400e+00 0.1623 153.2787 Baseline odds
X1Laki-laki X1Laki-laki 3.278000e-01 0.1139 0.9431 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.591110e+01 4.2065 306.5759 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.175197e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.102460e+01 5.2279 84.5532 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 6.464000e-01 0.0622 6.7192 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 3.736080e+01 7.3540 189.8042 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 6.390000e-02 0.0043 0.9413 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 9.910000e-02 0.0071 1.3928 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.831800e+00 0.7169 4.6805 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.374262e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 7.802000e-01 0.0662 9.1998 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.280000e-01 0.0386 β€” Dipertahankan (signifikan/berkontribusi)
X2Disabilitas tunggal X2Disabilitas tunggal 3.591100e+01 0.0011 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.175197e+09 0.9912 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.102500e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 6.460000e-01 0.7149 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 3.736100e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 6.400000e-02 0.0451 β€” Dipertahankan (signifikan/berkontribusi)
X6Nonpertanian X6Nonpertanian 9.900000e-02 0.0865 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.832000e+00 0.2060 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.374262e+08 0.9902 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 7.800000e-01 0.8437 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.953
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.953
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 1700%

SMOTEN (Chawla 1700% β†’ over_ratio β‰ˆ 0.771)

SMOTEN

Skema: Chawla 1700% | target minoritas pada training: 216 (dari 12 asli) | over_ratio: 0.7714 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 496 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 216 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.954 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 15.169
df 6
p-value 0.019
Keputusan ❌ Tolak H0 β€” TIDAK FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 679.321
-2LL Model 170.738
GΒ² Hitung 508.583
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.6461 1.7609 0.8739 1 3.8415 0.3499 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.1351 0.5410 4.4019 1 3.8415 0.0359 βœ… Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.6105 1.0943 10.8861 1 3.8415 0.0010 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.9323 1881.9303 0.0001 1 3.8415 0.9911 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.0865 0.7099 18.9031 1 3.8415 0.0000 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.4570 1.2017 0.1446 1 3.8415 0.7038 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.6740 0.8302 19.5856 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -2.8012 1.3773 4.1367 1 3.8415 0.0420 βœ… Signifikan
X6Nonpertanian X6Nonpertanian -2.3440 1.3538 2.9980 1 3.8415 0.0834 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6034 0.4782 1.5924 1 3.8415 0.2070 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.7765 1528.5676 0.0002 1 3.8415 0.9902 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.2701 1.2689 0.0453 1 3.8415 0.8314 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC194.738Semakin kecil semakin baik
AICc195.384Koreksi utk sampel kecil
BIC245.217Penalti lebih besar pada parameter
Log-Likelihood-85.369
k (parameter)12Termasuk intercept
n (observasi)496

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 5.186900e+00 0.1644 163.6045 Baseline odds
X1Laki-laki X1Laki-laki 3.214000e-01 0.1113 0.9280 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.698630e+01 4.3308 315.8720 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.232493e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.189990e+01 5.4472 88.0461 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 6.332000e-01 0.0601 6.6752 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 3.940890e+01 7.7437 200.5585 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 6.070000e-02 0.0041 0.9032 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 9.590000e-02 0.0068 1.3625 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.828400e+00 0.7162 4.6679 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.427421e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 7.633000e-01 0.0635 9.1785 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.210000e-01 0.0359 β€” Dipertahankan (signifikan/berkontribusi)
X2Disabilitas tunggal X2Disabilitas tunggal 3.698600e+01 0.0010 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.232493e+09 0.9911 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.190000e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 6.330000e-01 0.7038 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 3.940900e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 6.100000e-02 0.0420 β€” Dipertahankan (signifikan/berkontribusi)
X6Nonpertanian X6Nonpertanian 9.600000e-02 0.0834 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.828000e+00 0.2070 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.427421e+08 0.9902 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 7.630000e-01 0.8314 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.954
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.954
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 1800%

SMOTEN (Chawla 1800% β†’ over_ratio β‰ˆ 0.814)

SMOTEN

Skema: Chawla 1800% | target minoritas pada training: 228 (dari 12 asli) | over_ratio: 0.8143 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 508 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 228 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.955 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 11.342
df 6
p-value 0.0784
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 698.905
-2LL Model 172.821
GΒ² Hitung 526.084
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.6835 1.7735 0.9010 1 3.8415 0.3425 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.1537 0.5428 4.5177 1 3.8415 0.0335 βœ… Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.6387 1.0945 11.0521 1 3.8415 0.0009 βœ… Signifikan
X3Kesulitan X3Kesulitan 20.9775 1876.7643 0.0001 1 3.8415 0.9911 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.1252 0.7098 19.3868 1 3.8415 0.0000 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.4765 1.2086 0.1554 1 3.8415 0.6934 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.7246 0.8311 20.0865 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -2.8502 1.3822 4.2521 1 3.8415 0.0392 βœ… Signifikan
X6Nonpertanian X6Nonpertanian -2.3751 1.3590 3.0547 1 3.8415 0.0805 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6017 0.4779 1.5855 1 3.8415 0.2080 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.8128 1524.8442 0.0002 1 3.8415 0.9902 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.2907 1.2784 0.0517 1 3.8415 0.8201 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC196.821Semakin kecil semakin baik
AICc197.452Koreksi utk sampel kecil
BIC247.587Penalti lebih besar pada parameter
Log-Likelihood-86.411
k (parameter)12Termasuk intercept
n (observasi)508

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 5.384300e+00 0.1665 174.0896 Baseline odds
X1Laki-laki X1Laki-laki 3.155000e-01 0.1089 0.9141 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.804320e+01 4.4526 325.0423 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.289468e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.276420e+01 5.6635 91.4991 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 6.210000e-01 0.0581 6.6351 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 4.145470e+01 8.1317 211.3323 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 5.780000e-02 0.0039 0.8684 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 9.300000e-02 0.0065 1.3343 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.825200e+00 0.7154 4.6565 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.480081e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 7.477000e-01 0.0610 9.1605 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.150000e-01 0.0335 β€” Dipertahankan (signifikan/berkontribusi)
X2Disabilitas tunggal X2Disabilitas tunggal 3.804300e+01 0.0009 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.289468e+09 0.9911 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.276400e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 6.210000e-01 0.6934 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 4.145500e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 5.800000e-02 0.0392 β€” Dipertahankan (signifikan/berkontribusi)
X6Nonpertanian X6Nonpertanian 9.300000e-02 0.0805 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.825000e+00 0.2080 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.480081e+08 0.9902 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 7.480000e-01 0.8201 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.955
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.955
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 1900%

SMOTEN (Chawla 1900% β†’ over_ratio β‰ˆ 0.857)

SMOTEN

Skema: Chawla 1900% | target minoritas pada training: 240 (dari 12 asli) | over_ratio: 0.8571 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 520 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 240 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.955 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 10.433
df 6
p-value 0.1075
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 717.793
-2LL Model 174.803
GΒ² Hitung 542.99
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.7191 1.7856 0.9269 1 3.8415 0.3357 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.1712 0.5445 4.6274 1 3.8415 0.0315 βœ… Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.6657 1.0948 11.2113 1 3.8415 0.0008 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.0205 1871.9078 0.0001 1 3.8415 0.9910 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.1620 0.7097 19.8516 1 3.8415 0.0000 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.4950 1.2152 0.1659 1 3.8415 0.6838 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.7727 0.8319 20.5664 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -2.8968 1.3869 4.3625 1 3.8415 0.0367 βœ… Signifikan
X6Nonpertanian X6Nonpertanian -2.4049 1.3639 3.1090 1 3.8415 0.0779 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.6001 0.4776 1.5788 1 3.8415 0.2089 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.8474 1521.3724 0.0002 1 3.8415 0.9901 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.3102 1.2875 0.0581 1 3.8415 0.8096 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC198.803Semakin kecil semakin baik
AICc199.418Koreksi utk sampel kecil
BIC249.849Penalti lebih besar pada parameter
Log-Likelihood-87.401
k (parameter)12Termasuk intercept
n (observasi)520

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 5.579700e+00 0.1685 184.7293 Baseline odds
X1Laki-laki X1Laki-laki 3.100000e-01 0.1066 0.9011 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 3.908330e+01 4.5720 334.0967 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.346148e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.361830e+01 5.8771 94.9151 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 6.096000e-01 0.0563 6.5984 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 4.349860e+01 8.5183 222.1254 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 5.520000e-02 0.0036 0.8365 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 9.030000e-02 0.0062 1.3078 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.822200e+00 0.7147 4.6463 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.532277e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 7.333000e-01 0.0588 9.1454 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.100000e-01 0.0315 β€” Dipertahankan (signifikan/berkontribusi)
X2Disabilitas tunggal X2Disabilitas tunggal 3.908300e+01 0.0008 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.346148e+09 0.9910 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.361800e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 6.100000e-01 0.6838 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 4.349900e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 5.500000e-02 0.0367 β€” Dipertahankan (signifikan/berkontribusi)
X6Nonpertanian X6Nonpertanian 9.000000e-02 0.0779 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.822000e+00 0.2089 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.532277e+08 0.9901 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 7.330000e-01 0.8096 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.955
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.955
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 2000%

SMOTEN (Chawla 2000% β†’ over_ratio β‰ˆ 0.9)

SMOTEN

Skema: Chawla 2000% | target minoritas pada training: 252 (dari 12 asli) | over_ratio: 0.9 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 532 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 252 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.956 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 9.827
df 6
p-value 0.1321
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 736.034
-2LL Model 176.692
GΒ² Hitung 559.343
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.7533 1.7972 0.9517 1 3.8415 0.3293 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.1879 0.5461 4.7313 1 3.8415 0.0296 βœ… Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.6916 1.0951 11.3643 1 3.8415 0.0007 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.0616 1867.3279 0.0001 1 3.8415 0.9910 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.1972 0.7096 20.2989 1 3.8415 0.0000 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.5126 1.2216 0.1761 1 3.8415 0.6748 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.8186 0.8328 21.0271 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -2.9414 1.3915 4.4686 1 3.8415 0.0345 βœ… Signifikan
X6Nonpertanian X6Nonpertanian -2.4335 1.3687 3.1613 1 3.8415 0.0754 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.5985 0.4773 1.5722 1 3.8415 0.2099 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.8807 1518.1229 0.0002 1 3.8415 0.9901 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.3287 1.2962 0.0643 1 3.8415 0.7998 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC200.692Semakin kecil semakin baik
AICc201.293Koreksi utk sampel kecil
BIC252.011Penalti lebih besar pada parameter
Log-Likelihood-88.346
k (parameter)12Termasuk intercept
n (observasi)532

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 5.773400e+00 0.1705 195.5193 Baseline odds
X1Laki-laki X1Laki-laki 3.049000e-01 0.1045 0.8891 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 4.010780e+01 4.6893 343.0434 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.402554e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.446280e+01 6.0880 98.2967 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 5.990000e-01 0.0546 6.5647 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 4.554080e+01 8.9035 232.9380 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 5.280000e-02 0.0035 0.8072 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 8.770000e-02 0.0060 1.2828 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.819400e+00 0.7139 4.6369 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.584038e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 7.199000e-01 0.0567 9.1326 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.050000e-01 0.0296 β€” Dipertahankan (signifikan/berkontribusi)
X2Disabilitas tunggal X2Disabilitas tunggal 4.010800e+01 0.0007 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.402554e+09 0.9910 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.446300e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 5.990000e-01 0.6748 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 4.554100e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 5.300000e-02 0.0345 β€” Dipertahankan (signifikan/berkontribusi)
X6Nonpertanian X6Nonpertanian 8.800000e-02 0.0754 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.819000e+00 0.2099 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.584038e+08 0.9901 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 7.200000e-01 0.7998 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.956
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.956
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 2100%

SMOTEN (Chawla 2100% β†’ over_ratio β‰ˆ 0.943)

SMOTEN

Skema: Chawla 2100% | target minoritas pada training: 264 (dari 12 asli) | over_ratio: 0.9429 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 544 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 264 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.956 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL NaN
df 5
p-value NaN
Keputusan NA
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 753.673
-2LL Model 178.497
GΒ² Hitung 575.177
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.7860 1.8083 0.9755 1 3.8415 0.3233 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.2038 0.5478 4.8301 1 3.8415 0.0280 βœ… Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.7164 1.0954 11.5116 1 3.8415 0.0007 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.1008 1862.9966 0.0001 1 3.8415 0.9910 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.2307 0.7096 20.7301 1 3.8415 0.0000 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.5294 1.2277 0.1859 1 3.8415 0.6664 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.8624 0.8336 21.4700 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -2.9841 1.3958 4.5705 1 3.8415 0.0325 βœ… Signifikan
X6Nonpertanian X6Nonpertanian -2.4610 1.3732 3.2116 1 3.8415 0.0731 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.5970 0.4771 1.5658 1 3.8415 0.2108 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.9126 1515.0712 0.0002 1 3.8415 0.9900 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.3462 1.3046 0.0704 1 3.8415 0.7907 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC202.497Semakin kecil semakin baik
AICc203.084Koreksi utk sampel kecil
BIC254.084Penalti lebih besar pada parameter
Log-Likelihood-89.248
k (parameter)12Termasuk intercept
n (observasi)544

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 5.965300e+00 0.1724 206.4555 Baseline odds
X1Laki-laki X1Laki-laki 3.000000e-01 0.1025 0.8779 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 4.111770e+01 4.8045 351.8900 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.458704e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.529840e+01 6.2965 101.6459 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 5.890000e-01 0.0531 6.5337 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 4.758140e+01 9.2874 243.7700 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 5.060000e-02 0.0033 0.7801 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 8.540000e-02 0.0058 1.2593 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.816700e+00 0.7131 4.6284 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.635391e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 7.074000e-01 0.0549 9.1220 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 3.000000e-01 0.0280 β€” Dipertahankan (signifikan/berkontribusi)
X2Disabilitas tunggal X2Disabilitas tunggal 4.111800e+01 0.0007 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.458704e+09 0.9910 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.529800e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 5.890000e-01 0.6664 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 4.758100e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 5.100000e-02 0.0325 β€” Dipertahankan (signifikan/berkontribusi)
X6Nonpertanian X6Nonpertanian 8.500000e-02 0.0731 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.817000e+00 0.2108 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.635391e+08 0.9900 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 7.070000e-01 0.7907 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.956
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.956
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Chawla 2200%

SMOTEN (Chawla 2200% β†’ over_ratio β‰ˆ 0.986)

SMOTEN

Skema: Chawla 2200% | target minoritas pada training: 276 (dari 12 asli) | over_ratio: 0.9857 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 556 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 276 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.957 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 7.27
df 5
p-value 0.2013
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 770.751
-2LL Model 180.225
GΒ² Hitung 590.526
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.8174 1.8189 0.9983 1 3.8415 0.3177 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.2190 0.5493 4.9241 1 3.8415 0.0265 βœ… Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.7404 1.0957 11.6535 1 3.8415 0.0006 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.1384 1858.8900 0.0001 1 3.8415 0.9909 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.2629 0.7096 21.1464 1 3.8415 0.0000 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.5454 1.2337 0.1954 1 3.8415 0.6584 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.9044 0.8344 21.8966 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -3.0251 1.4000 4.6687 1 3.8415 0.0307 βœ… Signifikan
X6Nonpertanian X6Nonpertanian -2.4874 1.3776 3.2601 1 3.8415 0.0710 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.5957 0.4770 1.5596 1 3.8415 0.2117 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.9433 1512.1962 0.0002 1 3.8415 0.9900 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.3629 1.3126 0.0764 1 3.8415 0.7822 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC204.225Semakin kecil semakin baik
AICc204.8Koreksi utk sampel kecil
BIC256.074Penalti lebih besar pada parameter
Log-Likelihood-90.113
k (parameter)12Termasuk intercept
n (observasi)556

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.155600e+00 0.1742 217.5341 Baseline odds
X1Laki-laki X1Laki-laki 2.955000e-01 0.1007 0.8673 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 4.211400e+01 4.9178 360.6431 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.514617e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.612570e+01 6.5026 104.9649 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 5.796000e-01 0.0516 6.5050 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 4.962080e+01 9.6701 254.6214 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 4.860000e-02 0.0031 0.7550 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 8.310000e-02 0.0056 1.2370 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.814200e+00 0.7123 4.6206 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.686360e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 6.956000e-01 0.0531 9.1131 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 2.960000e-01 0.0265 β€” Dipertahankan (signifikan/berkontribusi)
X2Disabilitas tunggal X2Disabilitas tunggal 4.211400e+01 0.0006 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.514617e+09 0.9909 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.612600e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 5.800000e-01 0.6584 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 4.962100e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 4.900000e-02 0.0307 β€” Dipertahankan (signifikan/berkontribusi)
X6Nonpertanian X6Nonpertanian 8.300000e-02 0.0710 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.814000e+00 0.2117 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.686360e+08 0.9900 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 6.960000e-01 0.7822 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.957
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.957
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

SMOTEN | Split 80:20 | Seimbang penuh (2233%)

SMOTEN (Seimbang penuh (2233%) β†’ over_ratio β‰ˆ 1)

SMOTEN

Skema: Seimbang penuh (2233%) | target minoritas pada training: 280 (dari 12 asli) | over_ratio: 1 | K: 5

n total valid: 367 | training asli: 292 | training setelah SMOTEN: 560 | testing asli: 75 | split: 80:20 stratified | seed: 2026.

SMOTEN diterapkan hanya pada training set. Testing set tetap pada distribusi asli dan tidak ikut dalam pembentukan observasi sintetis. Prediktor kategorik dipertahankan sebagai faktor sehingga kategori sintetis dibentuk dengan metode nominal (VDM), bukan interpolasi dummy. Coding outcome tidak dibalik: 1 = Bersekolah dan 0 = Tidak Bersekolah.

πŸ“Š EDA - Distribusi Y dan Pembagian Data
Distribusi Y: Total, Training, Setelah SMOTEN, dan Testing
Kategori N Total Asli N Training Asli N Training SMOTEN N Testing Asli
Tidak Bersekolah (0) - minoritas 16 12 280 4
Bersekolah (1) - event model 351 280 280 71
βš–οΈ Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Asli
Perbandingan Reglog Biasa, Firth, dan SMOTEN pada Testing Set Asli
Metode Cutoff Nilai cutoff P(Bersekolah) Accuracy (%) Sensitivity / Recall Bersekolah (%) Specificity / Recall Tidak Bersekolah (%) Balanced Accuracy (%) F1 Bersekolah (%) F1 Tidak Bersekolah (%) G-mean (%) AUC Y=1 Bersekolah
Reglog Biasa Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7306
Firth Fixed 0.50 0.500 94.67 100.00 0 50.00 97.26 NA 0.00 0.7940
SMOTEN + Reglog Fixed 0.50 0.500 86.67 90.14 25 57.57 92.75 16.67 47.47 0.7236
Reglog Biasa Youden dari training 0.969 70.67 70.42 75 72.71 81.97 21.43 72.68 0.7306
Firth Youden dari training 0.945 68.00 67.61 75 71.30 80.00 20.00 71.21 0.7940
SMOTEN + Reglog Youden dari training 0.957 78.67 78.87 75 76.94 87.50 27.27 76.91 0.7236

Metode terbaik (testing asli, cutoff 0.50): SMOTEN + Reglog. Urutan penentu: Balanced Accuracy, lalu recall kelas Tidak Bersekolah, lalu AUC.

SMOTEN terhadap Reglog Biasa: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

SMOTEN terhadap Firth: selisih Balanced Accuracy = 7.57 poin persentase; selisih recall Tidak Bersekolah = 25 poin persentase; selisih sensitivity Bersekolah = -9.86 poin persentase.

Outcome regresi tetap dikodekan 1 = Bersekolah dan 0 = Tidak Bersekolah. Karena kelas Tidak Bersekolah merupakan kelas minoritas, keberhasilan penanganan imbalance dinilai terutama dari Balanced Accuracy dan recall kelas Tidak Bersekolah, tanpa membalik event model logistik.

βœ… Goodness of Fit (H-L Test) - Model SMOTEN
Goodness of Fit (Hosmer-Lemeshow)
Statistik Nilai
χ² HL 7.023
df 5
p-value 0.2189
Keputusan βœ… Gagal Tolak H0 β€” Model FIT
πŸ“ Uji Simultan (GΒ²) - Model SMOTEN
Uji Simultan (Likelihood Ratio Test / GΒ²)
Statistik Nilai
-2LL Null 776.325
-2LL Model 180.785
GΒ² Hitung 595.54
df 11
χ² Tabel (Ξ±=5%) 19.675
p-value 0
Keputusan βœ… Tolak H0 β€” Model Signifikan
πŸ“‹ Uji Parsial (Wald Test) - Model SMOTEN
Uji Parsial (Wald Test β€” Statistik Hitung dibandingkan Chi-Square Tabel)
Variabel B SE Wald (Chi-Sq Hitung) df Chi-Sq Tabel (df=1, Ξ±=5%) p-value Kesimpulan
(Intercept) (Intercept) 1.8322 1.8224 1.0108 1 3.8415 0.3147 ❌ Tdk Signifikan
X1Laki-laki X1Laki-laki -1.2330 0.5496 5.0336 1 3.8415 0.0249 βœ… Signifikan
X2Disabilitas tunggal X2Disabilitas tunggal 3.7448 1.0956 11.6818 1 3.8415 0.0006 βœ… Signifikan
X3Kesulitan X3Kesulitan 21.1448 1857.8602 0.0001 1 3.8415 0.9909 ❌ Tdk Signifikan
X3Sedikit kesulitan X3Sedikit kesulitan 3.2730 0.7096 21.2756 1 3.8415 0.0000 βœ… Signifikan
X4Laki-laki X4Laki-laki -0.5529 1.2360 0.2001 1 3.8415 0.6546 ❌ Tdk Signifikan
X5β‰₯ SMA X5β‰₯ SMA 3.9203 0.8343 22.0770 1 3.8415 0.0000 βœ… Signifikan
X6Pertanian X6Pertanian -3.0239 1.4020 4.6521 1 3.8415 0.0310 βœ… Signifikan
X6Nonpertanian X6Nonpertanian -2.4966 1.3795 3.2753 1 3.8415 0.0703 ❌ Tdk Signifikan
X7Perkotaan X7Perkotaan 0.5880 0.4760 1.5261 1 3.8415 0.2167 ❌ Tdk Signifikan
X8Memiliki X8Memiliki 18.9499 1511.5276 0.0002 1 3.8415 0.9900 ❌ Tdk Signifikan
X9Tidak miskin X9Tidak miskin -0.3649 1.3158 0.0769 1 3.8415 0.7815 ❌ Tdk Signifikan
πŸ“Š Kriteria Informasi (AIC/AICc/BIC) - Model SMOTEN
KriteriaNilaiKeterangan
AIC204.785Semakin kecil semakin baik
AICc205.355Koreksi utk sampel kecil
BIC256.72Penalti lebih besar pada parameter
Log-Likelihood-90.392
k (parameter)12Termasuk intercept
n (observasi)560

β“˜ AIC/AICc/BIC dihitung pada training setelah SMOTEN. Perbandingan performa prediktif utama menggunakan testing set asli yang tidak di-resampling.

πŸ“ˆ Interpretasi Parameter (OR, CI 95%) - Model SMOTEN
Interpretasi Parameter (Odds Ratio, CI 95%)
Variabel exp(B) CI 2.5% CI 97.5% Interpretasi
(Intercept) (Intercept) 6.247700e+00 0.1756 222.3020 Baseline odds
X1Laki-laki X1Laki-laki 2.914000e-01 0.0993 0.8557 ↓ Peluang bersekolah lebih kecil dibanding referensi
X2Disabilitas tunggal X2Disabilitas tunggal 4.230010e+01 4.9400 362.2099 ↑ Peluang bersekolah lebih besar dibanding referensi
X3Kesulitan X3Kesulitan 1.524229e+09 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X3Sedikit kesulitan X3Sedikit kesulitan 2.638970e+01 6.5681 106.0307 ↑ Peluang bersekolah lebih besar dibanding referensi
X4Laki-laki X4Laki-laki 5.753000e-01 0.0510 6.4857 ↓ Peluang bersekolah lebih kecil dibanding referensi
X5β‰₯ SMA X5β‰₯ SMA 5.041360e+01 9.8255 258.6676 ↑ Peluang bersekolah lebih besar dibanding referensi
X6Pertanian X6Pertanian 4.860000e-02 0.0031 0.7588 ↓ Peluang bersekolah lebih kecil dibanding referensi
X6Nonpertanian X6Nonpertanian 8.240000e-02 0.0055 1.2302 ↓ Peluang bersekolah lebih kecil dibanding referensi
X7Perkotaan X7Perkotaan 1.800300e+00 0.7083 4.5760 ↑ Peluang bersekolah lebih besar dibanding referensi
X8Memiliki X8Memiliki 1.697582e+08 0.0000 Inf ↑ Peluang bersekolah lebih besar dibanding referensi
X9Tidak miskin X9Tidak miskin 6.943000e-01 0.0527 9.1514 ↓ Peluang bersekolah lebih kecil dibanding referensi
🧭 Keputusan Variabel ORβ‰ˆ1 / Tdk Signifikan - Model SMOTEN
Keputusan Eksplisit: Variabel dengan OR β‰ˆ 1 atau Tidak Signifikan
Variabel exp(B) p-value Kandidat_Ditinjau Keputusan
X1Laki-laki X1Laki-laki 2.910000e-01 0.0249 β€” Dipertahankan (signifikan/berkontribusi)
X2Disabilitas tunggal X2Disabilitas tunggal 4.230000e+01 0.0006 β€” Dipertahankan (signifikan/berkontribusi)
X3Kesulitan X3Kesulitan 1.524229e+09 0.9909 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X3Sedikit kesulitan X3Sedikit kesulitan 2.639000e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X4Laki-laki X4Laki-laki 5.750000e-01 0.6546 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X5β‰₯ SMA X5β‰₯ SMA 5.041400e+01 0.0000 β€” Dipertahankan (signifikan/berkontribusi)
X6Pertanian X6Pertanian 4.900000e-02 0.0310 β€” Dipertahankan (signifikan/berkontribusi)
X6Nonpertanian X6Nonpertanian 8.200000e-02 0.0703 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X7Perkotaan X7Perkotaan 1.800000e+00 0.2167 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X8Memiliki X8Memiliki 1.697582e+08 0.9900 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)
X9Tidak miskin X9Tidak miskin 6.940000e-01 0.7815 ⚠️ OR mendekati 1 dan/atau tidak signifikan Dipertahankan dalam model (justifikasi teoretis, bukan dibuang otomatis)

Catatan: variabel yang ditandai tidak otomatis dikeluarkan dari model. Keputusan mempertahankan atau mengeluarkan suatu prediktor perlu disertai justifikasi teoretis (relevansi variabel terhadap partisipasi sekolah anak disabilitas), bukan semata-mata berdasarkan signifikansi statistik, karena model regresi logistik di sini dipakai untuk tujuan eksplanatori, bukan seleksi prediktif murni. Peneliti perlu menuliskan alasan spesifik untuk tiap variabel yang ditandai pada baris di atas sebelum finalisasi model.

πŸ” Evaluasi Model pada Testing Set Asli
Perfect Separation Check

⚠ Terdeteksi potensi separation pada variabel berikut:

Perfect Separation Check
Variabel |B|>10 SE>5 Status
(Intercept) (Intercept) βœ“ Tidak βœ“ Tidak βœ“ Aman
X1Laki-laki X1Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X2Disabilitas tunggal X2Disabilitas tunggal βœ“ Tidak βœ“ Tidak βœ“ Aman
X3Kesulitan X3Kesulitan ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X3Sedikit kesulitan X3Sedikit kesulitan βœ“ Tidak βœ“ Tidak βœ“ Aman
X4Laki-laki X4Laki-laki βœ“ Tidak βœ“ Tidak βœ“ Aman
X5β‰₯ SMA X5β‰₯ SMA βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Pertanian X6Pertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X6Nonpertanian X6Nonpertanian βœ“ Tidak βœ“ Tidak βœ“ Aman
X7Perkotaan X7Perkotaan βœ“ Tidak βœ“ Tidak βœ“ Aman
X8Memiliki X8Memiliki ⚠ Ya ⚠ Ya ⚠ Potensi Separation
X9Tidak miskin X9Tidak miskin βœ“ Tidak βœ“ Tidak βœ“ Aman
Testing Set Asli - Cutoff Tetap 0.50

Event model tetap Y=1 = Bersekolah. Recall kelas Tidak Bersekolah (Y=0) dilaporkan eksplisit untuk menilai kelas minoritas.

Reglog Biasa | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Reglog Biasa | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.7306
Firth | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - Firth | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 0 0
Pred: Bersekolah (1) 4 71
Accuracy: 94.67 %Sensitivity / Recall Bersekolah: 100 %Specificity / Recall Tidak Bersekolah: 0 %Balanced Accuracy: 50 %Precision Bersekolah: 94.67 %F1 Bersekolah: 97.26 %Precision Tidak Bersekolah: NAF1 Tidak Bersekolah: NAG-mean: 0 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Confusion Matrix Testing - SMOTEN + Reglog | cutoff P(Bersekolah) 0.50
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 1 7
Pred: Bersekolah (1) 3 64
Accuracy: 86.67 %Sensitivity / Recall Bersekolah: 90.14 %Specificity / Recall Tidak Bersekolah: 25 %Balanced Accuracy: 57.57 %Precision Bersekolah: 95.52 %F1 Bersekolah: 92.75 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 16.67 %G-mean: 47.47 %AUC (Y=1 Bersekolah): 0.7236
Testing Set Asli - Cutoff Youden dari Training

Cutoff dipilih dari training asli dan kemudian dikunci sebelum diterapkan pada testing.

Reglog Biasa | Youden training = 0.969
Confusion Matrix Testing - Reglog Biasa | Youden training = 0.969
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 21
Pred: Bersekolah (1) 1 50
Accuracy: 70.67 %Sensitivity / Recall Bersekolah: 70.42 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 72.71 %Precision Bersekolah: 98.04 %F1 Bersekolah: 81.97 %Precision Tidak Bersekolah: 12.5 %F1 Tidak Bersekolah: 21.43 %G-mean: 72.68 %AUC (Y=1 Bersekolah): 0.7306
Firth | Youden training = 0.945
Confusion Matrix Testing - Firth | Youden training = 0.945
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 23
Pred: Bersekolah (1) 1 48
Accuracy: 68 %Sensitivity / Recall Bersekolah: 67.61 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 71.3 %Precision Bersekolah: 97.96 %F1 Bersekolah: 80 %Precision Tidak Bersekolah: 11.54 %F1 Tidak Bersekolah: 20 %G-mean: 71.21 %AUC (Y=1 Bersekolah): 0.794
SMOTEN + Reglog | Youden training = 0.957
Confusion Matrix Testing - SMOTEN + Reglog | Youden training = 0.957
Aktual: Tidak Bersekolah (0) Aktual: Bersekolah (1)
Pred: Tidak Bersekolah (0) 3 15
Pred: Bersekolah (1) 1 56
Accuracy: 78.67 %Sensitivity / Recall Bersekolah: 78.87 %Specificity / Recall Tidak Bersekolah: 75 %Balanced Accuracy: 76.94 %Precision Bersekolah: 98.25 %F1 Bersekolah: 87.5 %Precision Tidak Bersekolah: 16.67 %F1 Tidak Bersekolah: 27.27 %G-mean: 76.91 %AUC (Y=1 Bersekolah): 0.7236

9 Lampiran

9.1 Ringkasan Persentase Status Sekolah per Kategori Prediktor

# ── Ringkasan % Bersekolah per kategori prediktor ─────────────────
ringkasan_persen_y <- function(data, scenario_label, vars = vars_for_tab) {
  lapply(seq_along(vars), function(i) {
    var <- vars[i]
    data %>%
      filter(!is.na(.data[[var]]), !is.na(Y)) %>%
      group_by(Skenario = scenario_label, Variabel = LABEL_X[[var]], Kategori = .data[[var]]) %>%
      summarise(
        `% Tidak Bersekolah` = round(sum(Y == "Tidak bersekolah") / n() * 100, 1),
        `% Bersekolah`       = round(sum(Y == "Bersekolah") / n() * 100, 1),
        .groups = "drop"
      )
  }) %>% bind_rows()
}
ringkasan_gabungan <- ringkasan_persen_y(dataku_final, "SD Jawa", vars = vars_for_tab)

kable(ringkasan_gabungan,
      caption = "Ringkasan % Status Sekolah per Kategori Prediktor β€” SD, Pulau Jawa") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = FALSE) %>%
  collapse_rows(columns = c(1, 2), valign = "top")
Ringkasan % Status Sekolah per Kategori Prediktor β€” SD, Pulau Jawa
Skenario Variabel Kategori % Tidak Bersekolah % Bersekolah
SD Jawa Jenis Kelamin Anak (X1) Perempuan 5.1 94.9
Laki-laki 3.7 96.3
Jenis Disabilitas (X2) Disabilitas ganda 8.8 91.2
Disabilitas tunggal 0.5 99.5
Tingkat Kesulitan (X3) Sangat kesulitan 11.6 88.4
Kesulitan 1.5 98.5
Sedikit kesulitan 1.9 98.1
Jenis Kelamin KRT (X4) Perempuan 6.7 93.3
Laki-laki 4.2 95.8
Pendidikan KRT β€” biner (X5) ≀ SMP 6.2 93.8
β‰₯ SMA 1.9 98.1
Pekerjaan KRT (X6) Tidak bekerja 3.6 96.4
Pertanian 4.8 95.2
Nonpertanian 4.3 95.7
Daerah Tinggal (X7) Perdesaan 3.8 96.2
Perkotaan 4.6 95.4
Kepemilikan KIP/PIP (X8) Tidak memiliki 5.8 94.2
Memiliki 0.0 100.0
Status Kemiskinan RT (X9) Miskin 6.5 93.5
Tidak miskin 4.0 96.0