Karena plot QQ dan PP setara untuk distribusi uniform, kita akan beralih ke plot PP untuk menunjukkan interface.
Differencing
Biasanya dalam plot PP, probabilitas yang diharapkan dipplot pada sumbu x dan probabilitas teoritis dipplot pada sumbu y. Namun, dalam plot ini sangat sulit untuk melihat apa pun karena titik-titik individu terlalu kecil dan besar deviasi dari distribusi referensi tidak terlalu besar.
Namun, jika kita plot probabilitas yang diharapkan pada sumbu x dan probabilitas observasi minus probabilitas yang diharapkan pada sumbu y dengan mengatur parameter perbedaan menjadi TRUE, maka hal-hal akan jauh lebih mudah dilihat:
pp_conf_plot(
obs = sample,
distribution = punif,
points_params = list(cex=.1),
difference = TRUE, # Atur sumbu y menjadi differenced
ylim = c(-.0225, .0225)
)
Skala Logaritma
Sekaligus, kita mungkin hanya tertarik pada deviasi contoh dari sisi satu-sisi distribusi referensi. Contohnya, jika kita memiliki contoh p-value sebanyak n yang ingin kita bandingkan dengan distribusi U(0, 1) untuk tujuan testing hipotesis global, maka kita hanya tertarik pada nilai p-value yang kecil. Dalam kasus ini, terutama ketika n sangat besar, dapat membantu jika kita transformasi nilai probabilitas menjadi skala -log10.
Untuk menunjukkan hal ini, kita akan menghasilkan 10,000 titik dari campuran distribusi Beta(.25, 1) dan U(0, 1) dan tes contoh terhadap distribusi referensi U(0, 1).
mix <- distr::UnivarMixingDistribution(
distr::Beta(shape1 = .25, shape2 = 1),
distr::Unif(),
mixCoeff=c(.01, .99)
)
sampler <- distr::r(mix)
sample <- sampler(10000)
Kembali, jika kita membuat plot PP standar, bagian yang relevan dari plot sangat sulit untuk dilihat.
pp_conf_plot(
obs = sample,
distribution = punif,
points_params = list(cex=.1)
)
Namun, jika kita atur perbedaan menjadi TRUE, masih sangat sulit untuk melihat sisi kiri distribusi.
pp_conf_plot(
obs = sample,
distribution = punif,
points_params = list(cex=.1),
difference = TRUE
)
Namun, jika kita atur log10 menjadi TRUE, maka plot akan jauh lebih mudah dilihat.
pp_conf_plot(
obs = sample,
distribution = punif,
points_params = list(cex=.1),
log10 = TRUE
)
Catatan bahwa jika kita ingin mempertegas sisi kanan distribusi sebagai lawan sisi kiri, maka kita dapat atur log10 menjadi TRUE dan parameter right_tail menjadi TRUE. Hal ini akan menghasilkan plot dengan data transformasi ke skala logaritma bukan -log10.
Testing Bounds Generations
Selain interface plotting yang dijelaskan di atas, qqconf juga menyediakan fungsi untuk langsung menghasilkan batas testing yang dihasilkan oleh metode level lokal sama. Fungsi-fungsi ini tersedia untuk testing dua-sisi dan satu-sisi. Untuk informasi tentang generasi batas testing menggunakan level lokal sama, silakan lihat bagian 2 dari paper kita.
Testing Dua-Sisi
Dengan memiliki tingkat kesalahan global (\alpha) yang diinginkan dan ukuran contoh n, kita dapat menghasilkan batas dua-sisi menggunakan fungsi get_bounds_two_sided. Berikut, kita menghasilkan batas-batas untuk n = 100 dan (\alpha) = .05:
bounds <- get_bounds_two_sided(alpha = .05, n = 100)
Dalam kasus ini, objek bounds adalah sebuah list dengan beberapa objek (untuk informasi lebih lanjut, lihat dokumentasi), tetapi batas bawah dapat diekstrak melalui bounds$lower_bounds dan batas atas melalui bounds$upper_bounds.
Testing Satu-Sisi
Selain testing dua-sisi, qqconf juga menyediakan fungsi-fungsi untuk testing satu-sisi. Dengan memiliki tingkat kesalahan global (\alpha) yang diinginkan dan ukuran contoh n, kita dapat menghasilkan batas satu-sisi menggunakan fungsi get_bounds_one_sided. Berikut, kita menghasilkan batas-batas untuk n = 100 dan (\alpha) = .05:
bounds <- get_bounds_one_sided(alpha = .05, n = 100)
Dalam kasus ini, objek bounds adalah sebuah list dengan beberapa objek (untuk informasi lebih lanjut, lihat dokumentasi), tetapi batas bawah dapat diekstrak melalui bounds$lower_bounds dan batas atas melalui bounds$upper_bounds.