Analisis Geographically Weighted Quantile Regression (GWQR) pada Angka Kematian Bayi di Indonesia

Projek Spasial

library(lmtest)
library(quantreg)
library(GWmodel)
library(sp)
library(spdep)
library(car)

1 Input Data

data <- read.csv(
  "C:/Users/DIVNA WIDYASTUTI/Downloads/DATA PROJEK SPASIAL.csv",
  sep = ";", dec = ",", header = TRUE
)

for(col in c("AKB","ASI","KEMISKINAN","IMUNISASI","BBLR","X","Y")) {
  data[[col]] <- as.numeric(gsub(",", ".", data[[col]]))
}
attach(data)

2 Statistik Deskriptif

rdata <- as.matrix(data[, c("AKB","ASI","KEMISKINAN","IMUNISASI","BBLR")])
n     <- nrow(data)

desc <- rbind(
  min  = apply(rdata, 2, min,  na.rm = TRUE),
  max  = apply(rdata, 2, max,  na.rm = TRUE),
  mean = apply(rdata, 2, mean, na.rm = TRUE),
  var  = apply(rdata, 2, var,  na.rm = TRUE),
  sd   = apply(rdata, 2, sd,   na.rm = TRUE)
)
desc
##            AKB       ASI KEMISKINAN IMUNISASI     BBLR
## min   9.260000 53.180000   3.420000 60.610000  4.90000
## max  37.040000 85.080000  29.450000 98.970000 24.86000
## mean 18.768421 69.700526  10.269474 90.805000 14.99789
## var  56.871370 51.300562  39.298935 78.659999 20.71597
## sd    7.541311  7.162441   6.268886  8.869047  4.55148

2.1 Histogram

par(mfrow = c(2, 3))
hist(AKB,        main = "Histogram AKB")
hist(ASI,        main = "Histogram ASI")
hist(KEMISKINAN, main = "Histogram Kemiskinan")
hist(IMUNISASI,  main = "Histogram Imunisasi")
hist(BBLR,       main = "Histogram BBLR")
par(mfrow = c(1, 1))

3 Regresi Linear Global (OLS)

rm <- lm(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR, data = data)
summary(rm)
## 
## Call:
## lm(formula = AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.9119 -2.8674 -0.0141  1.6738  7.7746 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 16.16676   10.32915   1.565   0.1271    
## ASI         -0.19724    0.08632  -2.285   0.0289 *  
## KEMISKINAN   0.90791    0.13264   6.845 8.22e-08 ***
## IMUNISASI    0.02510    0.08047   0.312   0.7571    
## BBLR         0.31650    0.16245   1.948   0.0599 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.743 on 33 degrees of freedom
## Multiple R-squared:  0.7803, Adjusted R-squared:  0.7536 
## F-statistic:  29.3 on 4 and 33 DF,  p-value: 1.921e-10

3.1 Uji Multikolinearitas

vif(rm)
##        ASI KEMISKINAN  IMUNISASI       BBLR 
##   1.009367   1.825892   1.344927   1.443641

3.2 Uji Outlier

outlierTest(rm)
## No Studentized residuals with Bonferroni p < 0.05
## Largest |rstudent|:
##    rstudent unadjusted p-value Bonferroni p
## 32 2.548951           0.015801      0.60044
qqPlot(rm, main = "QQ Plot Residual")

## [1] 30 32

3.3 Boxplot

par(mfrow = c(2, 3))
boxplot(AKB,        main = "AKB")
boxplot(ASI,        main = "ASI")
boxplot(KEMISKINAN, main = "Kemiskinan")
boxplot(IMUNISASI,  main = "Imunisasi")
boxplot(BBLR,       main = "BBLR")
par(mfrow = c(1, 1))

3.4 Cook’s Distance

cd <- cooks.distance(rm)
plot(seq(1, n), cd, type = "h",
     xlab = "Observasi", ylab = "Cook's Distance",
     main = "Influential Observation")

4 Uji Heteroskedastisitas

4.1 Uji Breusch-Pagan Global

bptest(rm)
## 
##  studentized Breusch-Pagan test
## 
## data:  rm
## BP = 10.146, df = 4, p-value = 0.03803

4.2 Uji Glejser

abs_res <- abs(residuals(rm))
glejser  <- lm(abs_res ~ ASI + KEMISKINAN + IMUNISASI + BBLR, data = data)
summary(glejser)
## 
## Call:
## lm(formula = abs_res ~ ASI + KEMISKINAN + IMUNISASI + BBLR, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.6504 -1.6280 -0.1027  1.2302  4.6680 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)  
## (Intercept) -10.33920    5.44286  -1.900   0.0663 .
## ASI           0.10572    0.04548   2.324   0.0264 *
## KEMISKINAN    0.12087    0.06990   1.729   0.0931 .
## IMUNISASI     0.03228    0.04240   0.761   0.4519  
## BBLR          0.10014    0.08560   1.170   0.2504  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.972 on 33 degrees of freedom
## Multiple R-squared:  0.3044, Adjusted R-squared:   0.22 
## F-statistic:  3.61 on 4 and 33 DF,  p-value: 0.0151

5 Regresi Kuantil (QR)

# 5 tau mengacu Chen et al. (2012) dan tujuan penelitian (kalau di acc nanti pakai atas aja 0.75 dan 0.95)
kuantil <- rq(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
              tau = c(0.05, 0.25, 0.50, 0.75, 0.95), data = data)
summary(kuantil, se = "iid")
## 
## Call: rq(formula = AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR, tau = c(0.05, 
##     0.25, 0.5, 0.75, 0.95), data = data)
## 
## tau: [1] 0.05
## 
## Coefficients:
##             Value    Std. Error t value  Pr(>|t|)
## (Intercept) 21.77118  5.63611    3.86280  0.00050
## ASI         -0.27010  0.04710   -5.73473  0.00000
## KEMISKINAN   0.41356  0.07238    5.71394  0.00000
## IMUNISASI   -0.02877  0.04391   -0.65518  0.51690
## BBLR         0.60151  0.08864    6.78601  0.00000
## 
## Call: rq(formula = AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR, tau = c(0.05, 
##     0.25, 0.5, 0.75, 0.95), data = data)
## 
## tau: [1] 0.25
## 
## Coefficients:
##             Value    Std. Error t value  Pr(>|t|)
## (Intercept) 27.46838 11.66647    2.35447  0.02465
## ASI         -0.40021  0.09749   -4.10499  0.00025
## KEMISKINAN   0.81380  0.14982    5.43199  0.00001
## IMUNISASI    0.02547  0.09088    0.28025  0.78103
## BBLR         0.41217  0.18348    2.24642  0.03149
## 
## Call: rq(formula = AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR, tau = c(0.05, 
##     0.25, 0.5, 0.75, 0.95), data = data)
## 
## tau: [1] 0.5
## 
## Coefficients:
##             Value    Std. Error t value  Pr(>|t|)
## (Intercept) 14.58164  9.91819    1.47019  0.15098
## ASI         -0.25206  0.08288   -3.04108  0.00459
## KEMISKINAN   0.88711  0.12737    6.96508  0.00000
## IMUNISASI    0.09102  0.07726    1.17803  0.24721
## BBLR         0.27141  0.15599    1.73998  0.09118
## 
## Call: rq(formula = AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR, tau = c(0.05, 
##     0.25, 0.5, 0.75, 0.95), data = data)
## 
## tau: [1] 0.75
## 
## Coefficients:
##             Value    Std. Error t value  Pr(>|t|)
## (Intercept)  1.28293 10.13701    0.12656  0.90006
## ASI         -0.04622  0.08471   -0.54567  0.58896
## KEMISKINAN   1.06613  0.13018    8.18989  0.00000
## IMUNISASI    0.07734  0.07897    0.97936  0.33453
## BBLR         0.34231  0.15943    2.14716  0.03922
## 
## Call: rq(formula = AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR, tau = c(0.05, 
##     0.25, 0.5, 0.75, 0.95), data = data)
## 
## tau: [1] 0.95
## 
## Coefficients:
##             Value    Std. Error t value  Pr(>|t|)
## (Intercept)  6.96118  5.34682    1.30193  0.20196
## ASI         -0.19193  0.04468   -4.29557  0.00014
## KEMISKINAN   1.01061  0.06866   14.71860  0.00000
## IMUNISASI    0.10000  0.04165    2.40078  0.02216
## BBLR         0.71984  0.08409    8.56035  0.00000

5.1 Pseudo R-Squared

# Koenker & Machado (1999)
for(tau in c(0.05, 0.25, 0.50, 0.75, 0.95)) {
  fit0 <- rq(AKB ~ 1,                                   tau = tau, data = data)
  fit1 <- rq(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR, tau = tau, data = data)
  assign(paste0("R_tau", tau * 100), 1 - fit1$rho / fit0$rho)
}
R_tau5; R_tau25; R_tau50; R_tau75; R_tau95
## [1] 0.4415373
## [1] 0.4395033
## [1] 0.5331493
## [1] 0.6214579
## [1] 0.702893

6 Persiapan Data Spasial

coords  <- as.matrix(cbind(data$X, data$Y))
dspat   <- data.frame(AKB, ASI, KEMISKINAN, IMUNISASI, BBLR)
datanew <- SpatialPointsDataFrame(
  coords      = coords,
  data        = dspat,
  proj4string = CRS("+proj=longlat +datum=WGS84")
)
dist.mat <- gw.dist(dp.locat = coords, focus = 0, p = 2, theta = 0, longlat = TRUE)

7 Fungsi GWQR

# Neny Kurniawati (2019)

gwrq.fit.fnb <- function(x, y, weight, tau = 0.5, beta = 0.99995, eps = 1e-06) {
  if (is.null(weight)) stop("Insert weight matrix/vector")
  if (is.vector(weight)) weight <- diag(c(weight))
  rhs <- (1 - tau) * (t(x) %*% weight %*% matrix(1, length(y)))
  n <- length(y); p <- ncol(x)
  if (n != nrow(x)) stop("x and y don't match n")
  if (tau < eps || tau > 1 - eps) stop("No parametric Frisch-Newton method. Set tau in (0,1)")
  d  <- rep(1, n); u <- rep(1, n)
  wn <- rep(0, 10 * n); wn[1:n] <- (1 - tau)
  z  <- .Fortran("rqfnb",
    as.integer(n), as.integer(p),
    a        = as.double(t(as.matrix(x))),
    c        = as.double(-y),
    rhs      = as.double(rhs),
    d        = as.double(d),
    as.double(u),
    beta     = as.double(beta),
    eps      = as.double(eps),
    wn       = as.double(wn),
    wp       = double((p + 3) * p),
    it.count = integer(3),
    info     = integer(1)
  )
  if (z$info != 0) stop(paste("Error info =", z$info, "in stepy: singular design"))
  coefficients <- -z$wp[1:p]
  names(coefficients) <- dimnames(x)[[2]]
  residuals <- y - x %*% coefficients
  list(coefficients = coefficients, tau = tau, residuals = residuals)
}

bw.rq <- function(bw, X, Y, kernel = "bisquare", adaptive = TRUE,
                  dp.locat, p = 2, theta = 0, longlat = TRUE,
                  dMat = NULL, verbose = TRUE, ntau = 0.5, method = "fnb") {
  gwrqrcpp <- function(Xx, Yy, Ww, ntaus) {
    wbaru <- diag(c(Ww))
    xnew  <- t(t(Xx) %*% wbaru)
    ynew  <- t(t(Yy) %*% wbaru)
    fit   <- gwrq.fit.fnb(xnew, ynew, weight = wbaru, tau = ntaus)
    fit$coefficients
  }
  dp.n     <- length(dp.locat[, 1])
  DM.given <- !is.null(dMat)
  if (DM.given) {
    if (any(dim(dMat) != dp.n)) stop("Dimensions of dMat are not correct")
  }
  CV <- numeric(dp.n)
  for (i in 1:dp.n) {
    dist.vi <- if (DM.given) dMat[, i] else
      gw.dist(dp.locat = dp.locat, focus = i, p = p, theta = theta, longlat = longlat)
    W.i    <- gw.weight(dist.vi, bw, kernel, adaptive)
    W.i[i] <- 0
    gw.resi <- try(gwrqrcpp(X, Y, W.i, ntaus = ntau), silent = TRUE)
    CV[i]   <- if (!inherits(gw.resi, "try-error")) Y[i] - X[i, ] %*% gw.resi else Inf
  }
  CV.score <- if (!any(is.infinite(CV))) t(CV) %*% CV else Inf
  if (verbose) {
    if (adaptive) cat("Adaptive bandwidth:", bw, "CV score:", CV.score, "\n")
    else          cat("Fixed bandwidth:",    bw, "CV score:", CV.score, "\n")
  }
  CV.score
}

bwrq.gwr <- function(formula, data, approach = "CV", kernel = "bisquare",
                     adaptive = TRUE, p = 2, theta = 0, longlat = TRUE,
                     dMat = NULL, ntau = 0.5, method = "fnb") {
  timings <- list(); timings[["start"]] <- Sys.time()
  if (!is(data, "Spatial")) stop("Given regression data must be Spatial*DataFrame")
  dp.locat <- coordinates(data)
  data_df  <- as(data, "data.frame")
  if (ntau <= 0 | ntau > 1) { warning("Tau reset to 0.5"); ntau <- 0.5 }
  mf <- model.frame(formula, data_df)
  y  <- model.response(mf)
  x  <- model.matrix(terms(mf), mf)
  if (is.null(dMat)) {
    dMat <- gw.dist(dp.locat = dp.locat, rp.locat = dp.locat,
                    p = p, theta = theta, longlat = longlat)
  }
  upper <- if (adaptive) nrow(data_df) else range(dMat)[2]
  lower <- if (adaptive) 20 else upper / 5000
  bw <- gold(bw.rq, lower, upper, adapt.bw = adaptive,
             x, y, kernel, adaptive, dp.locat, p, theta, longlat, dMat,
             method = method, ntau = ntau)
  timings[["stop"]] <- Sys.time()
  list(Bandwidth = bw, timings = timings, X = x, Y = y)
}

rqgwr.basic <- function(formula, data, regression.points, bw,
                        kernel = "bisquare", adaptive = TRUE, p = 2, ntau = 0.5,
                        theta = 0, longlat = FALSE, dMat, F123.test = FALSE,
                        cv = TRUE, W.vect = NULL, method = "fnb") {
  timings <- list(); timings[["start"]] <- Sys.time()
  this.call <- match.call()
  if (ntau <= 0 | ntau > 1) {
    warning("Tau should be set between 0 and 1. It is automatically set to 0.5")
    ntau <- 0.5
  }
  gwregrcpp <- function(Xx, Yy, Ww, hatmatrix, focus, ntaus) {
    wbaru <- diag(c(Ww))
    xnew  <- t(t(Xx) %*% wbaru)
    ynew  <- t(t(Yy) %*% wbaru)
    fit   <- gwrq.fit.fnb(xnew, ynew, weight = wbaru, tau = ntaus)
    beta  <- fit$coefficients
    if (hatmatrix) {
      xtwx_inv <- solve(t(xnew) %*% Xx)
      ci        <- xtwx_inv %*% t(xnew)
      s_ri      <- (Xx %*% ci)[, focus]
      return(list(Beta = beta, S_ri = s_ri, Ci = ci))
    }
    list(Beta = beta)
  }
  if (missing(regression.points)) {
    rp.given          <- FALSE
    regression.points <- data
    rp.locat          <- coordinates(data)
    hatmatrix         <- TRUE
  } else {
    rp.given  <- TRUE
    hatmatrix <- FALSE
    rp.locat  <- if (is(regression.points, "Spatial")) coordinates(regression.points) else regression.points
  }
  if (is(data, "Spatial")) {
    p4s      <- proj4string(data)
    dp.locat <- coordinates(data)
    data     <- as(data, "data.frame")
  } else {
    stop("Given regression data must be Spatial*DataFrame")
  }
  mf    <- model.frame(formula, data)
  y     <- model.response(mf)
  x     <- model.matrix(terms(mf), mf)
  var.n <- ncol(x)
  rp.n  <- nrow(rp.locat)
  dp.n  <- nrow(data)
  betas    <- matrix(nrow = rp.n, ncol = var.n)
  betas.SE <- matrix(nrow = rp.n, ncol = var.n)
  betas.TV <- matrix(nrow = rp.n, ncol = var.n)
  S         <- matrix(nrow = dp.n, ncol = dp.n)
  idx1 <- match("(Intercept)", colnames(x))
  if (!is.na(idx1)) colnames(x)[idx1] <- "Intercept"
  colnames(betas) <- colnames(x)
  lms             <- rq(formula, data = data, tau = ntau, method = "fnb")
  lms$df.residual <- dp.n - var.n - 1
  lms$x <- x; lms$y <- y; lms$rank <- var.n + 1
  gTSS <- c(cov.wt(matrix(y, ncol = 1), wt = rep(1, dp.n))$cov) * (dp.n - 1)
  if (missing(dMat)) {
    dMat <- gw.dist(dp.locat = dp.locat, rp.locat = rp.locat,
                    p = p, theta = theta, longlat = longlat)
  }
  W.mat <- matrix(nrow = dp.n, ncol = rp.n)
  for (j in 1:rp.n) {
    W.mat[, j] <- gw.weight(dMat[, j], bw, kernel, adaptive)
  }
  for (i in 1:rp.n) {
    W.i        <- W.mat[, i]
    res        <- gwregrcpp(x, y, W.i, hatmatrix, i, ntau)
    betas[i, ] <- res$Beta
    if (hatmatrix) S[i, ] <- res$S_ri
  }
  yhat     <- rowSums(x * betas)
  residual <- y - yhat
  RSS.gw   <- sum(residual^2)
  if (hatmatrix) {
    trS      <- sum(diag(S))
    trStS    <- sum(S^2)
    enp      <- 2 * trS - trStS
    edf      <- dp.n - enp
    gw.R2    <- 1 - RSS.gw / gTSS
    gwR2.adj <- 1 - (1 - gw.R2) * (dp.n - 1) / (edf - 1)
    AICc     <- dp.n * log(RSS.gw / dp.n) + dp.n * log(2 * pi) +
                dp.n + 2 * dp.n * (enp + 1) / (dp.n - enp - 2)
    AIC      <- dp.n * log(RSS.gw / dp.n) + dp.n * log(2 * pi) + dp.n + 2 * (enp + 1)
    GW.diagnostic <- list(RSS.gw = RSS.gw, AICc = AICc, AIC = AIC,
                          enp = enp, edf = edf,
                          gw.R2 = gw.R2, gwR2.adj = gwR2.adj)
  }
  SDF       <- SpatialPointsDataFrame(coords = rp.locat, data = as.data.frame(betas))
  SDF$yhat  <- yhat
  SDF$resid <- residual
  timings[["stop"]] <- Sys.time()
  res_out <- list(
    SDF           = SDF,
    lm            = lms,
    timings       = timings,
    this.call     = this.call,
    GW.arguments  = list(formula = formula, kernel = kernel, adaptive = adaptive,
                         bw = bw, longlat = longlat, p = p, theta = theta,
                         rp.given = rp.given, DM.given = !missing(dMat),
                         hatmatrix = hatmatrix, F123.test = F123.test),
    GW.diagnostic = if (hatmatrix) GW.diagnostic else NULL
  )
  class(res_out) <- "rqgwrm"
  invisible(res_out)
}

8 Bandwidth Optimal & Pemodelan GWQR

8.1 Tau = 0.05

bw05   <- bwrq.gwr(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                   data = datanew, kernel = "bisquare", adaptive = TRUE,
                   longlat = TRUE, dMat = dist.mat, ntau = 0.05)
## Adaptive bandwidth: 31 CV score: 753.7614 
## Adaptive bandwidth: 27 CV score: 798.7034 
## Adaptive bandwidth: 34 CV score: 877.6132 
## Adaptive bandwidth: 29 CV score: 786.1488 
## Adaptive bandwidth: 32 CV score: 809.3274 
## Adaptive bandwidth: 30 CV score: 762.9257 
## Adaptive bandwidth: 31 CV score: 753.7614
gwqr05 <- rqgwr.basic(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                      data = datanew, bw = bw05$Bandwidth,
                      kernel = "bisquare", adaptive = TRUE,
                      longlat = TRUE, dMat = dist.mat,
                      ntau = 0.05, F123.test = TRUE)

8.2 Tau = 0.25

bw25   <- bwrq.gwr(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                   data = datanew, kernel = "bisquare", adaptive = TRUE,
                   longlat = TRUE, dMat = dist.mat, ntau = 0.25)
## Adaptive bandwidth: 31 CV score: 707.3332 
## Adaptive bandwidth: 27 CV score: 719.485 
## Adaptive bandwidth: 34 CV score: 666.8424 
## Adaptive bandwidth: 35 CV score: 686.4497 
## Adaptive bandwidth: 32 CV score: 729.878 
## Adaptive bandwidth: 34 CV score: 666.8424
gwqr25 <- rqgwr.basic(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                      data = datanew, bw = bw25$Bandwidth,
                      kernel = "bisquare", adaptive = TRUE,
                      longlat = TRUE, dMat = dist.mat,
                      ntau = 0.25, F123.test = TRUE)

8.3 Tau = 0.50

bw50   <- bwrq.gwr(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                   data = datanew, kernel = "bisquare", adaptive = TRUE,
                   longlat = TRUE, dMat = dist.mat, ntau = 0.50)
## Adaptive bandwidth: 31 CV score: 809.2095 
## Adaptive bandwidth: 27 CV score: 801.8871 
## Adaptive bandwidth: 24 CV score: 962.7961 
## Adaptive bandwidth: 28 CV score: 806.1219 
## Adaptive bandwidth: 25 CV score: 925.2507 
## Adaptive bandwidth: 27 CV score: 801.8871
gwqr50 <- rqgwr.basic(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                      data = datanew, bw = bw50$Bandwidth,
                      kernel = "bisquare", adaptive = TRUE,
                      longlat = TRUE, dMat = dist.mat,
                      ntau = 0.50, F123.test = TRUE)

8.4 Tau = 0.75

bw75   <- bwrq.gwr(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                   data = datanew, kernel = "bisquare", adaptive = TRUE,
                   longlat = TRUE, dMat = dist.mat, ntau = 0.75)
## Adaptive bandwidth: 31 CV score: 845.8323 
## Adaptive bandwidth: 27 CV score: 843.7535 
## Adaptive bandwidth: 24 CV score: 735.2446 
## Adaptive bandwidth: 22 CV score: 842.9056 
## Adaptive bandwidth: 25 CV score: 771.9968 
## Adaptive bandwidth: 23 CV score: 843.1845 
## Adaptive bandwidth: 24 CV score: 735.2446
gwqr75 <- rqgwr.basic(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                      data = datanew, bw = bw75$Bandwidth,
                      kernel = "bisquare", adaptive = TRUE,
                      longlat = TRUE, dMat = dist.mat,
                      ntau = 0.75, F123.test = TRUE)

8.5 Tau = 0.95

bw95   <- bwrq.gwr(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                   data = datanew, kernel = "bisquare", adaptive = TRUE,
                   longlat = TRUE, dMat = dist.mat, ntau = 0.95)
## Adaptive bandwidth: 31 CV score: 1243.205 
## Adaptive bandwidth: 27 CV score: 1138.374 
## Adaptive bandwidth: 24 CV score: 1042.51 
## Adaptive bandwidth: 22 CV score: 1060.083 
## Adaptive bandwidth: 25 CV score: 873.2145 
## Adaptive bandwidth: 26 CV score: 1041.55 
## Adaptive bandwidth: 24 CV score: 1042.51 
## Adaptive bandwidth: 25 CV score: 873.2145
gwqr95 <- rqgwr.basic(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                      data = datanew, bw = bw95$Bandwidth,
                      kernel = "bisquare", adaptive = TRUE,
                      longlat = TRUE, dMat = dist.mat,
                      ntau = 0.95, F123.test = TRUE)

9 Koefisien Lokal

koef05 <- as(gwqr05$SDF, "data.frame")
koef25 <- as(gwqr25$SDF, "data.frame")
koef50 <- as(gwqr50$SDF, "data.frame")
koef75 <- as(gwqr75$SDF, "data.frame")
koef95 <- as(gwqr95$SDF, "data.frame")

koef05$PROVINSI <- data$PROVINSI
koef25$PROVINSI <- data$PROVINSI
koef50$PROVINSI <- data$PROVINSI
koef75$PROVINSI <- data$PROVINSI
koef95$PROVINSI <- data$PROVINSI

10 Uji Non-Stasioneritas Spasial

# IQR koefisien lokal GWQR dibandingkan dengan 2 x SE koefisien QR global
# Jika IQR > 2 x SE maka non-stasioner spasial (Chen et al., 2012)
se_qr05 <- summary(rq(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                       tau = 0.05, data = data), se = "iid")$coefficients[, 2]
se_qr25 <- summary(rq(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                       tau = 0.25, data = data), se = "iid")$coefficients[, 2]
se_qr50 <- summary(rq(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                       tau = 0.50, data = data), se = "iid")$coefficients[, 2]
se_qr75 <- summary(rq(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                       tau = 0.75, data = data), se = "iid")$coefficients[, 2]
se_qr95 <- summary(rq(AKB ~ ASI + KEMISKINAN + IMUNISASI + BBLR,
                       tau = 0.95, data = data), se = "iid")$coefficients[, 2]

vars  <- c("Intercept", "ASI", "KEMISKINAN", "IMUNISASI", "BBLR")

iqr05 <- apply(koef05[, vars], 2, IQR)
iqr25 <- apply(koef25[, vars], 2, IQR)
iqr50 <- apply(koef50[, vars], 2, IQR)
iqr75 <- apply(koef75[, vars], 2, IQR)
iqr95 <- apply(koef95[, vars], 2, IQR)

nonstasioner <- data.frame(
  tau05_IQR    = iqr05,
  tau05_2SE    = 2 * se_qr05,
  tau05_status = ifelse(iqr05 > 2 * se_qr05, "Nonstasioner", "Stasioner"),
  tau25_IQR    = iqr25,
  tau25_2SE    = 2 * se_qr25,
  tau25_status = ifelse(iqr25 > 2 * se_qr25, "Nonstasioner", "Stasioner"),
  tau50_IQR    = iqr50,
  tau50_2SE    = 2 * se_qr50,
  tau50_status = ifelse(iqr50 > 2 * se_qr50, "Nonstasioner", "Stasioner"),
  tau75_IQR    = iqr75,
  tau75_2SE    = 2 * se_qr75,
  tau75_status = ifelse(iqr75 > 2 * se_qr75, "Nonstasioner", "Stasioner"),
  tau95_IQR    = iqr95,
  tau95_2SE    = 2 * se_qr95,
  tau95_status = ifelse(iqr95 > 2 * se_qr95, "Nonstasioner", "Stasioner")
)
nonstasioner
##             tau05_IQR   tau05_2SE tau05_status  tau25_IQR  tau25_2SE
## Intercept  26.4479875 11.27221365 Nonstasioner 20.5188099 23.3329487
## ASI         0.2697739  0.09419910 Nonstasioner  0.3171439  0.1949877
## KEMISKINAN  0.2761508  0.14475392 Nonstasioner  0.3391350  0.2996338
## IMUNISASI   0.3073139  0.08781234 Nonstasioner  0.2970668  0.1817674
## BBLR        0.2906217  0.17728019 Nonstasioner  0.5130098  0.3669616
##            tau25_status  tau50_IQR  tau50_2SE tau50_status  tau75_IQR
## Intercept     Stasioner 26.8740400 19.8363810 Nonstasioner 26.9808043
## ASI        Nonstasioner  0.2417004  0.1657677 Nonstasioner  0.3860894
## KEMISKINAN Nonstasioner  0.5843152  0.2547320 Nonstasioner  0.5212313
## IMUNISASI  Nonstasioner  0.2674605  0.1545286 Nonstasioner  0.2842075
## BBLR       Nonstasioner  0.3071306  0.3119704    Stasioner  0.2968418
##             tau75_2SE tau75_status tau95_IQR   tau95_2SE tau95_status
## Intercept  20.2740144 Nonstasioner 9.8852542 10.69363626    Stasioner
## ASI         0.1694249 Nonstasioner 0.2639825  0.08936408 Nonstasioner
## KEMISKINAN  0.2603520 Nonstasioner 0.7279713  0.13732402 Nonstasioner
## IMUNISASI   0.1579378 Nonstasioner 0.2936753  0.08330513 Nonstasioner
## BBLR        0.3188532    Stasioner 0.4255342  0.16818080 Nonstasioner

11 uji normalitas residual

shapiro.test(gwqr05$SDF$resid)
## 
##  Shapiro-Wilk normality test
## 
## data:  gwqr05$SDF$resid
## W = 0.88406, p-value = 0.0009322
shapiro.test(gwqr25$SDF$resid)
## 
##  Shapiro-Wilk normality test
## 
## data:  gwqr25$SDF$resid
## W = 0.88421, p-value = 0.0009404
shapiro.test(gwqr50$SDF$resid)
## 
##  Shapiro-Wilk normality test
## 
## data:  gwqr50$SDF$resid
## W = 0.91828, p-value = 0.008722
shapiro.test(gwqr75$SDF$resid)
## 
##  Shapiro-Wilk normality test
## 
## data:  gwqr75$SDF$resid
## W = 0.71957, p-value = 3.452e-07
shapiro.test(gwqr95$SDF$resid)
## 
##  Shapiro-Wilk normality test
## 
## data:  gwqr95$SDF$resid
## W = 0.82685, p-value = 3.867e-05

12 Signifikansi Lokal Per Provinsi (Pendekatan t-value (Chen et al., 2012))

# t-value lokal = koefisien lokal / SE global QR
# Signifikan jika |t-value| > 1.96

vars <- c("ASI", "KEMISKINAN", "IMUNISASI", "BBLR")

hitung_tvalue <- function(koef, se_global, tau_label) {
  hasil <- data.frame(PROVINSI = koef$PROVINSI)
  for (v in vars) {
    tval <- koef[[v]] / se_global[v]
    hasil[[paste0(v, "_tval")]]   <- round(tval, 4)
    hasil[[paste0(v, "_signif")]] <- ifelse(abs(tval) > 1.96, "Signifikan", "Tidak")
  }
  hasil$tau <- tau_label
  hasil
}

se_list <- list(
  "0.05" = se_qr05[-1],
  "0.25" = se_qr25[-1],
  "0.50" = se_qr50[-1],
  "0.75" = se_qr75[-1],
  "0.95" = se_qr95[-1]
)

tval_05 <- hitung_tvalue(koef05, se_list[["0.05"]], "tau=0.05")
tval_25 <- hitung_tvalue(koef25, se_list[["0.25"]], "tau=0.25")
tval_50 <- hitung_tvalue(koef50, se_list[["0.50"]], "tau=0.50")
tval_75 <- hitung_tvalue(koef75, se_list[["0.75"]], "tau=0.75")
tval_95 <- hitung_tvalue(koef95, se_list[["0.95"]], "tau=0.95")

tval_05
##                PROVINSI ASI_tval ASI_signif KEMISKINAN_tval KEMISKINAN_signif
## 1                  ACEH  -6.4641 Signifikan          3.7436        Signifikan
## 2        SUMATERA UTARA  -8.2682 Signifikan          4.7195        Signifikan
## 3        SUMATERA BARAT  -6.7560 Signifikan          5.5404        Signifikan
## 4                  RIAU  -6.4322 Signifikan          5.3628        Signifikan
## 5                 JAMBI  -7.8596 Signifikan          7.5949        Signifikan
## 6      SUMATERA SELATAN  -7.8596 Signifikan          7.5949        Signifikan
## 7              BENGKULU  -7.8596 Signifikan          7.5949        Signifikan
## 8               LAMPUNG  -7.8596 Signifikan          7.5949        Signifikan
## 9  KEP, BANGKA BELITUNG  -7.8596 Signifikan          7.5949        Signifikan
## 10            KEP, RIAU  -5.1879 Signifikan          4.1386        Signifikan
## 11          DKI JAKARTA  -7.8596 Signifikan          7.5949        Signifikan
## 12           JAWA BARAT  -6.3067 Signifikan          9.9196        Signifikan
## 13          JAWA TENGAH  -6.5112 Signifikan         10.3262        Signifikan
## 14        DI YOGYAKARTA  -6.5112 Signifikan         10.3262        Signifikan
## 15           JAWA TIMUR  -7.2507 Signifikan         11.1996        Signifikan
## 16               BANTEN  -7.8596 Signifikan          7.5949        Signifikan
## 17                 BALI  -8.2460 Signifikan          8.6329        Signifikan
## 18  NUSA TENGGARA BARAT  -8.5389 Signifikan          6.9641        Signifikan
## 19  NUSA TENGGARA TIMUR  -2.4519 Signifikan          9.6006        Signifikan
## 20     KALIMANTAN BARAT  -5.3383 Signifikan          9.2357        Signifikan
## 21    KALIMANTAN TENGAH  -5.6280 Signifikan         12.3082        Signifikan
## 22   KALIMANTAN SELATAN  -6.3044 Signifikan         11.4806        Signifikan
## 23     KALIMANTAN TIMUR  -3.2748 Signifikan         12.4330        Signifikan
## 24     KALIMANTAN UTARA  -1.8135      Tidak         19.2933        Signifikan
## 25       SULAWESI UTARA  -1.8222      Tidak         12.5339        Signifikan
## 26      SULAWESI TENGAH  -1.5841      Tidak         12.6824        Signifikan
## 27     SULAWESI SELATAN  -2.7824 Signifikan         11.1195        Signifikan
## 28    SULAWESI TENGGARA  -2.5950 Signifikan         10.4448        Signifikan
## 29            GORONTALO  -1.1657      Tidak         12.7550        Signifikan
## 30       SULAWESI BARAT  -3.3234 Signifikan         11.6053        Signifikan
## 31               MALUKU  -2.9975 Signifikan         10.2686        Signifikan
## 32         MALUKU UTARA  -0.5257      Tidak         14.8133        Signifikan
## 33          PAPUA BARAT   3.7435 Signifikan          7.8016        Signifikan
## 34     PAPUA BARAT DAYA  -2.9301 Signifikan         10.8984        Signifikan
## 35                PAPUA  -1.5939      Tidak         13.8406        Signifikan
## 36        PAPUA SELATAN   3.6190 Signifikan          7.5283        Signifikan
## 37         PAPUA TENGAH   3.7435 Signifikan          7.8016        Signifikan
## 38     PAPUA PEGUNUNGAN   3.6190 Signifikan          7.5283        Signifikan
##    IMUNISASI_tval IMUNISASI_signif BBLR_tval BBLR_signif      tau
## 1          3.8635       Signifikan    4.6120  Signifikan tau=0.05
## 2          3.6303       Signifikan    5.5609  Signifikan tau=0.05
## 3          2.1972       Signifikan    3.4003  Signifikan tau=0.05
## 4          2.2987       Signifikan    3.6767  Signifikan tau=0.05
## 5          0.7523            Tidak    3.9030  Signifikan tau=0.05
## 6          0.7523            Tidak    3.9030  Signifikan tau=0.05
## 7          0.7523            Tidak    3.9030  Signifikan tau=0.05
## 8          0.7523            Tidak    3.9030  Signifikan tau=0.05
## 9          0.7523            Tidak    3.9030  Signifikan tau=0.05
## 10         0.1052            Tidak    3.2059  Signifikan tau=0.05
## 11         0.7523            Tidak    3.9030  Signifikan tau=0.05
## 12        -6.2841       Signifikan    0.9669       Tidak tau=0.05
## 13        -7.4752       Signifikan    1.8381       Tidak tau=0.05
## 14        -7.4752       Signifikan    1.8381       Tidak tau=0.05
## 15        -8.9054       Signifikan    4.8407  Signifikan tau=0.05
## 16         0.7523            Tidak    3.9030  Signifikan tau=0.05
## 17        -6.1358       Signifikan    7.2267  Signifikan tau=0.05
## 18        -4.4073       Signifikan    8.9321  Signifikan tau=0.05
## 19        -8.2746       Signifikan    0.9367       Tidak tau=0.05
## 20        -5.4140       Signifikan    1.2664       Tidak tau=0.05
## 21        -4.4373       Signifikan    1.3334       Tidak tau=0.05
## 22        -3.9545       Signifikan    2.3279  Signifikan tau=0.05
## 23        -3.7004       Signifikan    1.1743       Tidak tau=0.05
## 24        -5.8927       Signifikan    1.3327       Tidak tau=0.05
## 25        -6.0274       Signifikan   -0.7273       Tidak tau=0.05
## 26        -7.0797       Signifikan   -0.5905       Tidak tau=0.05
## 27        -8.5922       Signifikan   -0.3828       Tidak tau=0.05
## 28        -8.7415       Signifikan    0.1673       Tidak tau=0.05
## 29        -7.7988       Signifikan   -0.8137       Tidak tau=0.05
## 30        -6.9548       Signifikan   -0.5285       Tidak tau=0.05
## 31        -1.0469            Tidak    0.5202       Tidak tau=0.05
## 32         0.3623            Tidak   -1.1271       Tidak tau=0.05
## 33         1.9611       Signifikan    5.7341  Signifikan tau=0.05
## 34        -0.5391            Tidak   -0.3225       Tidak tau=0.05
## 35         2.4781       Signifikan   -1.4193       Tidak tau=0.05
## 36         1.6857            Tidak    5.6766  Signifikan tau=0.05
## 37         1.9611       Signifikan    5.7341  Signifikan tau=0.05
## 38         1.6857            Tidak    5.6766  Signifikan tau=0.05
tval_25
##                PROVINSI ASI_tval ASI_signif KEMISKINAN_tval KEMISKINAN_signif
## 1                  ACEH  -3.4357 Signifikan          3.0107        Signifikan
## 2        SUMATERA UTARA  -3.5817 Signifikan          3.0439        Signifikan
## 3        SUMATERA BARAT  -3.5817 Signifikan          3.0439        Signifikan
## 4                  RIAU  -3.5817 Signifikan          3.0439        Signifikan
## 5                 JAMBI  -4.6329 Signifikan          3.2834        Signifikan
## 6      SUMATERA SELATAN  -4.9742 Signifikan          3.2079        Signifikan
## 7              BENGKULU  -4.9560 Signifikan          2.9734        Signifikan
## 8               LAMPUNG  -4.9742 Signifikan          3.2079        Signifikan
## 9  KEP, BANGKA BELITUNG  -4.9742 Signifikan          3.2079        Signifikan
## 10            KEP, RIAU  -3.5817 Signifikan          3.0439        Signifikan
## 11          DKI JAKARTA  -4.9742 Signifikan          3.2079        Signifikan
## 12           JAWA BARAT  -4.8177 Signifikan          3.0735        Signifikan
## 13          JAWA TENGAH  -4.1200 Signifikan          3.8705        Signifikan
## 14        DI YOGYAKARTA  -4.1200 Signifikan          3.8705        Signifikan
## 15           JAWA TIMUR  -4.1349 Signifikan          3.9274        Signifikan
## 16               BANTEN  -4.9742 Signifikan          3.2079        Signifikan
## 17                 BALI  -4.4998 Signifikan          3.5994        Signifikan
## 18  NUSA TENGGARA BARAT  -4.2921 Signifikan          3.9048        Signifikan
## 19  NUSA TENGGARA TIMUR  -1.7234      Tidak          4.5019        Signifikan
## 20     KALIMANTAN BARAT  -3.9415 Signifikan          3.8195        Signifikan
## 21    KALIMANTAN TENGAH  -4.0133 Signifikan          4.3061        Signifikan
## 22   KALIMANTAN SELATAN  -4.0133 Signifikan          4.3061        Signifikan
## 23     KALIMANTAN TIMUR  -1.6743      Tidak          5.9014        Signifikan
## 24     KALIMANTAN UTARA  -1.4149      Tidak          9.0411        Signifikan
## 25       SULAWESI UTARA  -0.5270      Tidak          6.1351        Signifikan
## 26      SULAWESI TENGAH  -0.4526      Tidak          6.0033        Signifikan
## 27     SULAWESI SELATAN  -1.2537      Tidak          5.0459        Signifikan
## 28    SULAWESI TENGGARA  -1.1262      Tidak          5.3551        Signifikan
## 29            GORONTALO  -0.4367      Tidak          6.0776        Signifikan
## 30       SULAWESI BARAT  -1.0482      Tidak          5.5104        Signifikan
## 31               MALUKU  -0.5165      Tidak          6.8309        Signifikan
## 32         MALUKU UTARA  -0.3623      Tidak          7.0222        Signifikan
## 33          PAPUA BARAT   1.8849      Tidak          4.5093        Signifikan
## 34     PAPUA BARAT DAYA  -0.9993      Tidak          6.1771        Signifikan
## 35                PAPUA  -1.0013      Tidak          6.3932        Signifikan
## 36        PAPUA SELATAN   1.1935      Tidak          5.0102        Signifikan
## 37         PAPUA TENGAH   0.3244      Tidak          4.9533        Signifikan
## 38     PAPUA PEGUNUNGAN   1.8849      Tidak          4.5093        Signifikan
##    IMUNISASI_tval IMUNISASI_signif BBLR_tval BBLR_signif      tau
## 1          0.8123            Tidak    2.4535  Signifikan tau=0.25
## 2          0.8375            Tidak    2.5593  Signifikan tau=0.25
## 3          0.8375            Tidak    2.5593  Signifikan tau=0.25
## 4          0.8375            Tidak    2.5593  Signifikan tau=0.25
## 5          1.0192            Tidak    3.3218  Signifikan tau=0.25
## 6          0.9775            Tidak    3.4934  Signifikan tau=0.25
## 7          0.9539            Tidak    3.5847  Signifikan tau=0.25
## 8          0.9775            Tidak    3.4934  Signifikan tau=0.25
## 9          0.9775            Tidak    3.4934  Signifikan tau=0.25
## 10         0.8375            Tidak    2.5593  Signifikan tau=0.25
## 11         0.9775            Tidak    3.4934  Signifikan tau=0.25
## 12         0.4354            Tidak    3.4288  Signifikan tau=0.25
## 13        -2.5352       Signifikan    2.5826  Signifikan tau=0.25
## 14        -2.5352       Signifikan    2.5826  Signifikan tau=0.25
## 15        -2.5615       Signifikan    2.5855  Signifikan tau=0.25
## 16         0.9775            Tidak    3.4934  Signifikan tau=0.25
## 17        -1.7698            Tidak    3.1646  Signifikan tau=0.25
## 18        -1.6527            Tidak    3.3188  Signifikan tau=0.25
## 19        -4.6013       Signifikan    0.8454       Tidak tau=0.25
## 20        -0.9742            Tidak    2.5900  Signifikan tau=0.25
## 21        -1.1315            Tidak    2.5798  Signifikan tau=0.25
## 22        -1.1315            Tidak    2.5798  Signifikan tau=0.25
## 23        -1.3597            Tidak    0.9710       Tidak tau=0.25
## 24        -1.2113            Tidak    0.6574       Tidak tau=0.25
## 25        -2.8802       Signifikan   -0.2927       Tidak tau=0.25
## 26        -3.5450       Signifikan   -0.0606       Tidak tau=0.25
## 27        -4.2231       Signifikan    0.0808       Tidak tau=0.25
## 28        -4.3900       Signifikan   -0.1078       Tidak tau=0.25
## 29        -3.3292       Signifikan   -0.0913       Tidak tau=0.25
## 30        -4.2000       Signifikan   -0.1418       Tidak tau=0.25
## 31        -0.1627            Tidak   -0.7212       Tidak tau=0.25
## 32         0.0357            Tidak   -0.6174       Tidak tau=0.25
## 33         1.5371            Tidak    1.9367       Tidak tau=0.25
## 34         0.6859            Tidak   -0.7902       Tidak tau=0.25
## 35         0.8344            Tidak   -0.8493       Tidak tau=0.25
## 36         1.4106            Tidak    1.0283       Tidak tau=0.25
## 37         0.7478            Tidak    0.9117       Tidak tau=0.25
## 38         1.5371            Tidak    1.9367       Tidak tau=0.25
tval_50
##                PROVINSI ASI_tval ASI_signif KEMISKINAN_tval KEMISKINAN_signif
## 1                  ACEH  -1.6410      Tidak          2.7218        Signifikan
## 2        SUMATERA UTARA  -2.1369 Signifikan          3.1075        Signifikan
## 3        SUMATERA BARAT  -2.0053 Signifikan          0.9143             Tidak
## 4                  RIAU  -1.3509      Tidak          0.0986             Tidak
## 5                 JAMBI  -3.4933 Signifikan          1.0274             Tidak
## 6      SUMATERA SELATAN  -2.4906 Signifikan          3.1790        Signifikan
## 7              BENGKULU  -2.2483 Signifikan          2.3563        Signifikan
## 8               LAMPUNG  -2.4906 Signifikan          3.1790        Signifikan
## 9  KEP, BANGKA BELITUNG  -3.3516 Signifikan          2.8507        Signifikan
## 10            KEP, RIAU  -2.1664 Signifikan          2.5069        Signifikan
## 11          DKI JAKARTA  -3.3082 Signifikan          3.2061        Signifikan
## 12           JAWA BARAT  -3.8066 Signifikan          3.1078        Signifikan
## 13          JAWA TENGAH  -4.6771 Signifikan          2.9275        Signifikan
## 14        DI YOGYAKARTA  -4.7988 Signifikan          3.2529        Signifikan
## 15           JAWA TIMUR  -4.3119 Signifikan          4.6403        Signifikan
## 16               BANTEN  -3.3197 Signifikan          4.1433        Signifikan
## 17                 BALI  -1.2591      Tidak          5.5409        Signifikan
## 18  NUSA TENGGARA BARAT   0.6184      Tidak          7.4807        Signifikan
## 19  NUSA TENGGARA TIMUR   1.6052      Tidak          3.6242        Signifikan
## 20     KALIMANTAN BARAT  -0.2289      Tidak          6.2991        Signifikan
## 21    KALIMANTAN TENGAH  -0.4425      Tidak         12.8423        Signifikan
## 22   KALIMANTAN SELATAN  -1.8695      Tidak         10.3025        Signifikan
## 23     KALIMANTAN TIMUR  -0.4425      Tidak         12.8423        Signifikan
## 24     KALIMANTAN UTARA  -0.3703      Tidak         12.9636        Signifikan
## 25       SULAWESI UTARA   0.2812      Tidak          5.9659        Signifikan
## 26      SULAWESI TENGAH   0.2406      Tidak          8.2506        Signifikan
## 27     SULAWESI SELATAN   0.7082      Tidak          7.2884        Signifikan
## 28    SULAWESI TENGGARA   0.4728      Tidak          6.1612        Signifikan
## 29            GORONTALO   0.4728      Tidak          6.1612        Signifikan
## 30       SULAWESI BARAT   0.2406      Tidak          8.2506        Signifikan
## 31               MALUKU   0.2235      Tidak          5.4158        Signifikan
## 32         MALUKU UTARA   0.4905      Tidak          6.2795        Signifikan
## 33          PAPUA BARAT   2.9359 Signifikan          8.9620        Signifikan
## 34     PAPUA BARAT DAYA   1.6937      Tidak          7.4127        Signifikan
## 35                PAPUA   1.4429      Tidak          7.7908        Signifikan
## 36        PAPUA SELATAN   2.9359 Signifikan          8.9620        Signifikan
## 37         PAPUA TENGAH   2.1199 Signifikan          7.4360        Signifikan
## 38     PAPUA PEGUNUNGAN   2.9359 Signifikan          8.9620        Signifikan
##    IMUNISASI_tval IMUNISASI_signif BBLR_tval BBLR_signif      tau
## 1          0.6137            Tidak    1.4312       Tidak tau=0.50
## 2          0.6263            Tidak    1.5048       Tidak tau=0.50
## 3         -0.2577            Tidak    1.2742       Tidak tau=0.50
## 4         -0.4035            Tidak    1.1461       Tidak tau=0.50
## 5          0.0598            Tidak    2.5898  Signifikan tau=0.50
## 6         -2.7245       Signifikan    0.6467       Tidak tau=0.50
## 7         -2.3151       Signifikan    0.7323       Tidak tau=0.50
## 8         -2.7245       Signifikan    0.6467       Tidak tau=0.50
## 9         -2.6891       Signifikan    1.6935       Tidak tau=0.50
## 10        -1.2692            Tidak    1.4258       Tidak tau=0.50
## 11        -3.2707       Signifikan    1.5023       Tidak tau=0.50
## 12        -3.2446       Signifikan    1.8372       Tidak tau=0.50
## 13        -1.8430            Tidak    2.0117  Signifikan tau=0.50
## 14        -1.9395            Tidak    1.8963       Tidak tau=0.50
## 15         0.6516            Tidak    2.6304  Signifikan tau=0.50
## 16        -3.2771       Signifikan    1.1227       Tidak tau=0.50
## 17        -4.8211       Signifikan    0.4323       Tidak tau=0.50
## 18        -6.5074       Signifikan   -1.0689       Tidak tau=0.50
## 19        -9.8597       Signifikan    1.5532       Tidak tau=0.50
## 20        -4.6008       Signifikan   -0.2495       Tidak tau=0.50
## 21        -4.3547       Signifikan   -0.2389       Tidak tau=0.50
## 22        -1.3177            Tidak    0.6120       Tidak tau=0.50
## 23        -4.3547       Signifikan   -0.2389       Tidak tau=0.50
## 24        -4.8217       Signifikan    0.0324       Tidak tau=0.50
## 25        -3.0787       Signifikan    3.8990  Signifikan tau=0.50
## 26        -4.8991       Signifikan    2.8177  Signifikan tau=0.50
## 27        -3.5492       Signifikan    2.8993  Signifikan tau=0.50
## 28        -2.9817       Signifikan    3.6447  Signifikan tau=0.50
## 29        -2.9817       Signifikan    3.6447  Signifikan tau=0.50
## 30        -4.8991       Signifikan    2.8177  Signifikan tau=0.50
## 31        -1.1785            Tidak    3.2352  Signifikan tau=0.50
## 32        -0.3790            Tidak    3.4242  Signifikan tau=0.50
## 33         5.4809       Signifikan   -0.1229       Tidak tau=0.50
## 34         3.9044       Signifikan    0.6084       Tidak tau=0.50
## 35         1.8064            Tidak    1.7789       Tidak tau=0.50
## 36         5.4809       Signifikan   -0.1229       Tidak tau=0.50
## 37         4.0174       Signifikan    0.4022       Tidak tau=0.50
## 38         5.4809       Signifikan   -0.1229       Tidak tau=0.50
tval_75
##                PROVINSI ASI_tval ASI_signif KEMISKINAN_tval KEMISKINAN_signif
## 1                  ACEH  -1.7210      Tidak          1.7026             Tidak
## 2        SUMATERA UTARA  -1.3165      Tidak          1.8814             Tidak
## 3        SUMATERA BARAT  -1.6140      Tidak          3.2358        Signifikan
## 4                  RIAU  -1.6140      Tidak          3.2358        Signifikan
## 5                 JAMBI  -3.1582 Signifikan          4.1042        Signifikan
## 6      SUMATERA SELATAN  -4.1526 Signifikan          4.1978        Signifikan
## 7              BENGKULU  -4.1526 Signifikan          4.1978        Signifikan
## 8               LAMPUNG  -4.6507 Signifikan          3.8581        Signifikan
## 9  KEP, BANGKA BELITUNG  -4.6871 Signifikan          3.8065        Signifikan
## 10            KEP, RIAU  -1.4610      Tidak          3.2985        Signifikan
## 11          DKI JAKARTA  -4.6022 Signifikan          3.2252        Signifikan
## 12           JAWA BARAT  -4.6022 Signifikan          3.2252        Signifikan
## 13          JAWA TENGAH  -4.3092 Signifikan          3.1959        Signifikan
## 14        DI YOGYAKARTA  -3.5533 Signifikan          3.5735        Signifikan
## 15           JAWA TIMUR   0.6558      Tidak          8.1990        Signifikan
## 16               BANTEN  -4.6022 Signifikan          3.2252        Signifikan
## 17                 BALI   0.1312      Tidak          7.3943        Signifikan
## 18  NUSA TENGGARA BARAT   0.1312      Tidak          7.3943        Signifikan
## 19  NUSA TENGGARA TIMUR  -0.1741      Tidak          4.6629        Signifikan
## 20     KALIMANTAN BARAT   0.0775      Tidak          4.2418        Signifikan
## 21    KALIMANTAN TENGAH   1.7596      Tidak         14.9002        Signifikan
## 22   KALIMANTAN SELATAN   1.2996      Tidak         12.4946        Signifikan
## 23     KALIMANTAN TIMUR   1.8695      Tidak         16.7442        Signifikan
## 24     KALIMANTAN UTARA   1.7947      Tidak         16.6222        Signifikan
## 25       SULAWESI UTARA   0.9601      Tidak          6.6070        Signifikan
## 26      SULAWESI TENGAH   0.9393      Tidak          6.5713        Signifikan
## 27     SULAWESI SELATAN   0.1312      Tidak          7.3943        Signifikan
## 28    SULAWESI TENGGARA   0.9393      Tidak          6.5713        Signifikan
## 29            GORONTALO   0.9601      Tidak          6.6070        Signifikan
## 30       SULAWESI BARAT   0.1312      Tidak          7.3943        Signifikan
## 31               MALUKU   3.8513 Signifikan          7.6358        Signifikan
## 32         MALUKU UTARA   1.7560      Tidak          6.3823        Signifikan
## 33          PAPUA BARAT   3.8513 Signifikan          7.6358        Signifikan
## 34     PAPUA BARAT DAYA   3.8513 Signifikan          7.6358        Signifikan
## 35                PAPUA   3.8513 Signifikan          7.6358        Signifikan
## 36        PAPUA SELATAN   3.8513 Signifikan          7.6358        Signifikan
## 37         PAPUA TENGAH   3.8513 Signifikan          7.6358        Signifikan
## 38     PAPUA PEGUNUNGAN   3.8513 Signifikan          7.6358        Signifikan
##    IMUNISASI_tval IMUNISASI_signif BBLR_tval BBLR_signif      tau
## 1          0.1741            Tidak   -0.1068       Tidak tau=0.75
## 2          0.1303            Tidak   -0.3196       Tidak tau=0.75
## 3         -0.9659            Tidak    0.9680       Tidak tau=0.75
## 4         -0.9659            Tidak    0.9680       Tidak tau=0.75
## 5         -2.2671       Signifikan    1.7080       Tidak tau=0.75
## 6         -2.8604       Signifikan    1.8719       Tidak tau=0.75
## 7         -2.8604       Signifikan    1.8719       Tidak tau=0.75
## 8         -2.5366       Signifikan    2.3031  Signifikan tau=0.75
## 9         -2.4907       Signifikan    2.3594  Signifikan tau=0.75
## 10        -1.4724            Tidak    0.8062       Tidak tau=0.75
## 11        -2.0648       Signifikan    1.6937       Tidak tau=0.75
## 12        -2.0648       Signifikan    1.6937       Tidak tau=0.75
## 13        -3.0666       Signifikan    1.3196       Tidak tau=0.75
## 14        -4.3326       Signifikan   -0.0202       Tidak tau=0.75
## 15        -6.4365       Signifikan   -1.1995       Tidak tau=0.75
## 16        -2.0648       Signifikan    1.6937       Tidak tau=0.75
## 17        -4.6422       Signifikan    2.7359  Signifikan tau=0.75
## 18        -4.6422       Signifikan    2.7359  Signifikan tau=0.75
## 19        -3.1893       Signifikan    2.7894  Signifikan tau=0.75
## 20        -5.1299       Signifikan   -0.4348       Tidak tau=0.75
## 21        -6.8808       Signifikan   -1.9076       Tidak tau=0.75
## 22        -5.7080       Signifikan   -0.3468       Tidak tau=0.75
## 23        -9.1582       Signifikan   -2.8436  Signifikan tau=0.75
## 24        -9.3907       Signifikan   -2.7092  Signifikan tau=0.75
## 25        -4.0721       Signifikan    3.6597  Signifikan tau=0.75
## 26        -4.0559       Signifikan    3.6437  Signifikan tau=0.75
## 27        -4.6422       Signifikan    2.7359  Signifikan tau=0.75
## 28        -4.0559       Signifikan    3.6437  Signifikan tau=0.75
## 29        -4.0721       Signifikan    3.6597  Signifikan tau=0.75
## 30        -4.6422       Signifikan    2.7359  Signifikan tau=0.75
## 31         4.1814       Signifikan    2.6268  Signifikan tau=0.75
## 32        -2.0985       Signifikan    3.5783  Signifikan tau=0.75
## 33         4.1814       Signifikan    2.6268  Signifikan tau=0.75
## 34         4.1814       Signifikan    2.6268  Signifikan tau=0.75
## 35         4.1814       Signifikan    2.6268  Signifikan tau=0.75
## 36         4.1814       Signifikan    2.6268  Signifikan tau=0.75
## 37         4.1814       Signifikan    2.6268  Signifikan tau=0.75
## 38         4.1814       Signifikan    2.6268  Signifikan tau=0.75
tval_95
##                PROVINSI ASI_tval ASI_signif KEMISKINAN_tval KEMISKINAN_signif
## 1                  ACEH  -2.7872 Signifikan          2.0950        Signifikan
## 2        SUMATERA UTARA  -2.7900 Signifikan          4.2998        Signifikan
## 3        SUMATERA BARAT  -2.7900 Signifikan          4.2998        Signifikan
## 4                  RIAU  -2.7900 Signifikan          4.2998        Signifikan
## 5                 JAMBI  -2.7903 Signifikan          4.5910        Signifikan
## 6      SUMATERA SELATAN  -2.7903 Signifikan          4.5910        Signifikan
## 7              BENGKULU  -2.7903 Signifikan          4.5910        Signifikan
## 8               LAMPUNG  -2.7903 Signifikan          4.5910        Signifikan
## 9  KEP, BANGKA BELITUNG  -2.7903 Signifikan          4.5910        Signifikan
## 10            KEP, RIAU  -2.2428 Signifikan          4.4654        Signifikan
## 11          DKI JAKARTA  -3.1860 Signifikan          6.8654        Signifikan
## 12           JAWA BARAT   1.2434      Tidak         15.5445        Signifikan
## 13          JAWA TENGAH   1.2434      Tidak         15.5445        Signifikan
## 14        DI YOGYAKARTA   1.2434      Tidak         15.5445        Signifikan
## 15           JAWA TIMUR  -4.8921 Signifikan         17.7772        Signifikan
## 16               BANTEN  -3.0389 Signifikan          4.6480        Signifikan
## 17                 BALI  -0.3767      Tidak         14.0489        Signifikan
## 18  NUSA TENGGARA BARAT  -0.3767      Tidak         14.0489        Signifikan
## 19  NUSA TENGGARA TIMUR  -0.3300      Tidak          8.8404        Signifikan
## 20     KALIMANTAN BARAT   4.0656 Signifikan         24.9756        Signifikan
## 21    KALIMANTAN TENGAH   3.3361 Signifikan         28.2492        Signifikan
## 22   KALIMANTAN SELATAN   2.4640 Signifikan         23.6885        Signifikan
## 23     KALIMANTAN TIMUR   2.4640 Signifikan         23.6885        Signifikan
## 24     KALIMANTAN UTARA  -3.8245 Signifikan         16.8957        Signifikan
## 25       SULAWESI UTARA   1.9584      Tidak         12.5372        Signifikan
## 26      SULAWESI TENGAH   1.7808      Tidak         12.4585        Signifikan
## 27     SULAWESI SELATAN   1.7808      Tidak         12.4585        Signifikan
## 28    SULAWESI TENGGARA   1.7808      Tidak         12.4585        Signifikan
## 29            GORONTALO   1.7808      Tidak         12.4585        Signifikan
## 30       SULAWESI BARAT   1.7808      Tidak         12.4585        Signifikan
## 31               MALUKU   7.3017 Signifikan         14.4767        Signifikan
## 32         MALUKU UTARA   6.1133 Signifikan         15.4511        Signifikan
## 33          PAPUA BARAT   7.3017 Signifikan         14.4767        Signifikan
## 34     PAPUA BARAT DAYA   7.3017 Signifikan         14.4767        Signifikan
## 35                PAPUA   7.3017 Signifikan         14.4767        Signifikan
## 36        PAPUA SELATAN   7.3017 Signifikan         14.4767        Signifikan
## 37         PAPUA TENGAH   7.3017 Signifikan         14.4767        Signifikan
## 38     PAPUA PEGUNUNGAN   7.3017 Signifikan         14.4767        Signifikan
##    IMUNISASI_tval IMUNISASI_signif BBLR_tval BBLR_signif      tau
## 1          0.0061            Tidak   -1.3806       Tidak tau=0.95
## 2         -1.4795            Tidak    0.1509       Tidak tau=0.95
## 3         -1.4795            Tidak    0.1509       Tidak tau=0.95
## 4         -1.4795            Tidak    0.1509       Tidak tau=0.95
## 5         -1.6758            Tidak    0.3532       Tidak tau=0.95
## 6         -1.6758            Tidak    0.3532       Tidak tau=0.95
## 7         -1.6758            Tidak    0.3532       Tidak tau=0.95
## 8         -1.6758            Tidak    0.3532       Tidak tau=0.95
## 9         -1.6758            Tidak    0.3532       Tidak tau=0.95
## 10        -1.4819            Tidak    0.7671       Tidak tau=0.95
## 11        -0.3588            Tidak    0.0664       Tidak tau=0.95
## 12       -12.2029       Signifikan   -2.2742  Signifikan tau=0.95
## 13       -12.2029       Signifikan   -2.2742  Signifikan tau=0.95
## 14       -12.2029       Signifikan   -2.2742  Signifikan tau=0.95
## 15        -2.3018       Signifikan    7.5840  Signifikan tau=0.95
## 16        -1.7638            Tidak    0.1652       Tidak tau=0.95
## 17       -13.4593       Signifikan    4.4270  Signifikan tau=0.95
## 18       -13.4593       Signifikan    4.4270  Signifikan tau=0.95
## 19        -6.0465       Signifikan    5.2884  Signifikan tau=0.95
## 20       -12.6770       Signifikan   -2.4519  Signifikan tau=0.95
## 21       -13.0453       Signifikan   -3.6166  Signifikan tau=0.95
## 22       -10.8218       Signifikan   -0.6574       Tidak tau=0.95
## 23       -10.8218       Signifikan   -0.6574       Tidak tau=0.95
## 24        -4.9398       Signifikan    6.8376  Signifikan tau=0.95
## 25        -7.4594       Signifikan    6.9460  Signifikan tau=0.95
## 26        -7.6896       Signifikan    6.9081  Signifikan tau=0.95
## 27        -7.6896       Signifikan    6.9081  Signifikan tau=0.95
## 28        -7.6896       Signifikan    6.9081  Signifikan tau=0.95
## 29        -7.6896       Signifikan    6.9081  Signifikan tau=0.95
## 30        -7.6896       Signifikan    6.9081  Signifikan tau=0.95
## 31         7.9275       Signifikan    4.9801  Signifikan tau=0.95
## 32         7.7877       Signifikan    6.8904  Signifikan tau=0.95
## 33         7.9275       Signifikan    4.9801  Signifikan tau=0.95
## 34         7.9275       Signifikan    4.9801  Signifikan tau=0.95
## 35         7.9275       Signifikan    4.9801  Signifikan tau=0.95
## 36         7.9275       Signifikan    4.9801  Signifikan tau=0.95
## 37         7.9275       Signifikan    4.9801  Signifikan tau=0.95
## 38         7.9275       Signifikan    4.9801  Signifikan tau=0.95
# Rekap: berapa provinsi signifikan per variabel per tau
rekap_signif <- function(tval_df) {
  sapply(vars, function(v) {
    sum(tval_df[[paste0(v, "_signif")]] == "Signifikan")
  })
}

rekap <- rbind(
  tau05 = rekap_signif(tval_05),
  tau25 = rekap_signif(tval_25),
  tau50 = rekap_signif(tval_50),
  tau75 = rekap_signif(tval_75),
  tau95 = rekap_signif(tval_95)
)
rekap
##       ASI KEMISKINAN IMUNISASI BBLR
## tau05  32         38        25   20
## tau25  21         38        10   21
## tau50  18         35        25   11
## tau75  17         36        33   21
## tau95  26         38        26   24