94 lines
2.6 KiB
R
94 lines
2.6 KiB
R
# Load function ----------------------------------------------------------------
|
|
source(here::here("R", "singular_values.R"))
|
|
source(here::here("R", "graphon_distribution.R"))
|
|
source(here::here("R", "singular_value_plot.R"))
|
|
|
|
# https://stackoverflow.com/a/5790430
|
|
resetPar <- function() {
|
|
dev.new()
|
|
op <- par(no.readonly = TRUE)
|
|
dev.off()
|
|
op
|
|
}
|
|
|
|
|
|
|
|
# Compare of parameters of Normal distribution ----------------------------------
|
|
#
|
|
out_n400_sd05 <- smallest_sv_sequence(
|
|
a = c(0.5),
|
|
n = 400,
|
|
maxK = 20,
|
|
sampler_fn =function(n) matrix(rnorm(n), ncol = 1L),
|
|
guard=1e-12,
|
|
plot=TRUE,
|
|
log_plot = TRUE,
|
|
fv = function(x) {dnorm(x, mean=0, sd=0.5)},
|
|
Fv = function(x) {pnorm(x, mean=0, sd=0.5)},
|
|
main_title="Smallest SV of v~ N(0,0.5^2) distribution, n = 400"
|
|
)
|
|
|
|
out_n800_sd05 <- smallest_sv_sequence(
|
|
a = c(0.5),
|
|
n = 800,
|
|
maxK = 20,
|
|
sampler_fn =function(n) matrix(rnorm(n), ncol = 1L),
|
|
guard=1e-12,
|
|
plot=TRUE,
|
|
log_plot = TRUE,
|
|
fv = function(x) {dnorm(x, mean=0, sd=0.5)},
|
|
Fv = function(x) {pnorm(x, mean=0, sd=0.5)},
|
|
main_title="Smallest SV of v~ N(0,0.5^2) distribution, n=800"
|
|
)
|
|
|
|
out_n400_sd2 <- smallest_sv_sequence(
|
|
a = c(0.5),
|
|
n = 400,
|
|
maxK = 20,
|
|
sampler_fn =function(n) matrix(rnorm(n), ncol = 1L),
|
|
guard=1e-12,
|
|
plot=TRUE,
|
|
log_plot = TRUE,
|
|
fv = function(x) {dnorm(x, mean=0, sd=2)},
|
|
Fv = function(x) {pnorm(x, mean=0, sd=2)},
|
|
main_title="Smallest SV of v~ N(0,2^2) distribution, n=400"
|
|
)
|
|
|
|
out_n800_sd2 <- smallest_sv_sequence(
|
|
a = c(0.5),
|
|
n = 800,
|
|
maxK = 20,
|
|
sampler_fn =function(n) matrix(rnorm(n), ncol = 1L),
|
|
guard=1e-12,
|
|
plot=TRUE,
|
|
log_plot = TRUE,
|
|
fv = function(x) {dnorm(x, mean=0, sd=2)},
|
|
Fv = function(x) {pnorm(x, mean=0, sd=2)},
|
|
main_title="Smallest SV of v~ N(0,4^2) distribution,n = 800"
|
|
)
|
|
|
|
par(mar = c(5, 4, 4, 8))
|
|
plot(out_n400_sd05$K, out_n400_sd05$sv,
|
|
type = "b",
|
|
pch = 19,
|
|
col = "#D3BA68FF",
|
|
xlab = "K subdivisions",
|
|
ylab = "Smallest singular value of Q",
|
|
main="smallest SV for different variances of a normal distribution",
|
|
sub = "n = 400, a = 0.5",
|
|
log="y")
|
|
lines(out_n400_sd2$K, out_n400_sd2$sv,
|
|
type="b", pch=19, col="#D5695DFF", add=TRUE)
|
|
lines(out_n800_sd05$K, out_n800_sd05$sv,
|
|
type = "b", pch=19, col="#5D8CA8FF", add=TRUE)
|
|
lines(out_n800_sd2$K, out_n800_sd2$sv,
|
|
type = "b", pch=19, col="#65A479FF", add=TRUE)
|
|
par(xpd = TRUE)
|
|
legend("topright",
|
|
inset=c(-0.2,0),
|
|
legend=c("sd=0.5, n=400", "sd=0.5, n=800", "sd=2, n=400", "sd=2, n=800"),
|
|
col=c("#D3BA68FF", "#D5695DFF","#5D8CA8FF", "#65A479FF" ),
|
|
title="Legend",
|
|
pch = 16,
|
|
bty = "n")
|