n = dim(svd_decomp$u)[1]
f0_x0 = f0_xs_multi_d(Xs = x0, alpha = alpha)
y = f0_x0 + rnorm(n)
print('Fitting cn')
cn = maximise_cn(y, xns, kern)
cn = maximise_cn(y, Xns, kern)
cat('maximum cn: ', cn, 'gamma: ', -(1 + log(cn, n))/(2*log(cn, n)))
gamma_hat = -(1 + log(cn, n))/(2*log(cn, n))
gamma_hat
# cn = n^{gamma_hat - 1}
K_nn = apply(xns, 1, function(x) apply(xns, 1, function(y) kern(x, y, cn = cn)))
# cn = n^{gamma_hat - 1}
K_nn = apply(Xns, 1, function(x) apply(Xns, 1, function(y) kern(x, y, cn = cn)))
svd = svd(K_nn)
test_intervals = replicate(num_replicates,
sample_variational_CS_multiple_m_multi_d(gamma_, m_s = m_s,
x0_ = x0_, svd_ = svd,
alpha_ = alpha_, cn_ = cn, kern = kern,
xns = xns))
test_intervals = replicate(num_replicates,
sample_variational_CS_multiple_m_multi_d(gamma = eta, m_s = m_s,
x0_ = x0, svd_ = svd,
alpha_ = alpha_, cn_ = cn, kern = kern,
xns = Xns))
test_intervals
# K = 401
# #coeffs of f0
# f0_ks = (1:K)^(-1/2 - alpha_)
# f0 = apply(xns, 1, function(x) sum(sapply(x, function(xi) compute_fn_from_coefs_x(f0_ks, xs = xi))))
f0 = f0_xs_multi_d(Xs = Xns, alpha = alpha_)
f0
y = f0 + rnorm(n, mean = 0, sd = 1)
y
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd_, k_=kern, xns_=xns,
y_=y, cn_ = cn_, sigma = sigma_est)
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd, k_=kern, xns_=Xns,
y_=y, cn_ = cn, sigma = sigma_est)
vp_fit
test_intervals
m_s
vp_CS
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+gamma_)/2)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+eta)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
vp_CS
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd, k_=kern, xns_=Xns,
y_=y, cn_ = cn, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+eta)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
vp_CS
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd, k_=kern, xns_=Xns,
y_=y, cn_ = cn, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+eta)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
vp_CS
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd, k_=kern, xns_=Xns,
y_=y, cn_ = cn, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+eta)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
vp_CS
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd, k_=kern, xns_=Xns,
y_=y, cn_ = cn, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+eta)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
vp_CS
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd, k_=kern, xns_=Xns,
y_=y, cn_ = cn, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+eta)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
vp_CS
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd, k_=kern, xns_=Xns,
y_=y, cn_ = cn, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+eta)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
vp_CS
vp_CS[,2] - vp_CS[,1]
sample_variational_CS_multiple_m_multi_d = function(gamma_, m_s, x0_, svd_, alpha_, cn_ = 1, kern = bm_kern,
xns){
n = dim(svd_$u)[1]
# K = 401
# #coeffs of f0
# f0_ks = (1:K)^(-1/2 - alpha_)
# f0 = apply(xns, 1, function(x) sum(sapply(x, function(xi) compute_fn_from_coefs_x(f0_ks, xs = xi))))
f0 = f0_xs_multi_d(Xs = xns, alpha = alpha_)
y = f0 + rnorm(n, mean = 0, sd = 1)
print(y)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd_, k_=kern, xns_=xns,
y_=y, cn_ = cn_, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+gamma_)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
return(vp_CS)
}
n = 100
size_dat = dim(temp)[1]
dat = temp[sample(c(1:size_dat), n, replace = FALSE), c(3:12)]
alpha = 1
eta = 0.9
num_replicates = 2
#normalise to fit in 0, 1
dat = apply(dat, 2, function(x) x/max(x))
n = dim(dat)[1]
d = dim(dat)[2]
t1 = Sys.time()
matern_1_2_experiment_multi_d_synthetic_emp_bayes(alpha, eta, x0, num_replicates, dat_ = dat, kern = se_kern_multi_d)
t2 = Sys.time()
cat('Elapsed: ', difftime(t2, t1, units = 'secs'), '\n')
sample_variational_CS_multiple_m_multi_d = function(gamma_, m_s, x0_, svd_, alpha_, cn_ = 1, kern = bm_kern,
xns){
n = dim(svd_$u)[1]
# K = 401
# #coeffs of f0
# f0_ks = (1:K)^(-1/2 - alpha_)
# f0 = apply(xns, 1, function(x) sum(sapply(x, function(xi) compute_fn_from_coefs_x(f0_ks, xs = xi))))
f0 = f0_xs_multi_d(Xs = xns, alpha = alpha_)
y = f0 + rnorm(n, mean = 0, sd = 1)
print(y)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd_, k_=kern, xns_=xns,
y_=y, cn_ = cn_, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
cat('Mean: ', vp_mean, '\n')
cat('Var: ', vp_var, '\n')
z_gamma = qnorm((1+gamma_)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
return(vp_CS)
}
n = 100
size_dat = dim(temp)[1]
dat = temp[sample(c(1:size_dat), n, replace = FALSE), c(3:12)]
alpha = 1
eta = 0.9
num_replicates = 2
#normalise to fit in 0, 1
dat = apply(dat, 2, function(x) x/max(x))
n = dim(dat)[1]
d = dim(dat)[2]
t1 = Sys.time()
matern_1_2_experiment_multi_d_synthetic_emp_bayes(alpha, eta, x0, num_replicates, dat_ = dat, kern = se_kern_multi_d)
t2 = Sys.time()
cat('Elapsed: ', difftime(t2, t1, units = 'secs'), '\n')
estimate_cov_len_bias_multiple_m_multi_d_emp_bayes = function(gamma_, m_s, x0_, svd_, alpha_, num_replicates = 1000, cn_ = 1,
kern = mat_kern_1_2, xns){
n = dim(svd_$u)[1]
f0_x0 = f0_xs_multi_d(Xs = x0_, alpha = alpha_)
y = f0_x0 + rnorm(n)
print('Fitting cn')
cn = maximise_cn(y, xns, kern)
cat('maximum cn: ', cn, 'gamma: ', -(1 + log(cn, n))/(2*log(cn, n)))
gamma_hat = -(1 + log(cn, n))/(2*log(cn, n))
# cn = n^{gamma_hat - 1}
K_nn = apply(xns, 1, function(x) apply(xns, 1, function(y) kern(x, y, cn = cn)))
svd = svd(K_nn)
test_intervals = replicate(num_replicates,
sample_variational_CS_multiple_m_multi_d(gamma_, m_s = m_s,
x0_ = x0_, svd_ = svd,
alpha_ = alpha_, cn_ = cn, kern = kern,
xns = xns))
print(test_intervals)
NLPDs = replicate(num_replicates,
compute_NLPD_multi_d(gamma_, m_s = m_s,
x0_ = x0_, svd_ = svd_,
alpha_ = alpha_, cn_ = cn, kern = kern,
xns = xns))
ret_mat = matrix(nrow = length(m_s), ncol = 4)
for(ix in 1:length(m_s)){
m_intervals = t(test_intervals[ix,,])
ret_mat[ix,1] = mean(m_intervals[,1] <= f0_x0 & m_intervals[,2] >= f0_x0)
ret_mat[ix,2] = mean(m_intervals[,2] - m_intervals[,1])
ret_mat[ix,3] = sqrt(mean(((m_intervals[,1]+m_intervals[,2])/2 - f0_x0)^2))
ret_mat[ix,4] = mean(NLPDs[ix,])
}
cat('maximum cn: ', cn, 'gamma: ', -(1 + log(cn, n))/(2*log(cn, n)))
return(ret_mat)
}
sample_variational_CS_multiple_m_multi_d = function(gamma_, m_s, x0_, svd_, alpha_, cn_ = 1, kern = bm_kern,
xns){
n = dim(svd_$u)[1]
# K = 401
# #coeffs of f0
# f0_ks = (1:K)^(-1/2 - alpha_)
# f0 = apply(xns, 1, function(x) sum(sapply(x, function(xi) compute_fn_from_coefs_x(f0_ks, xs = xi))))
f0 = f0_xs_multi_d(Xs = xns, alpha = alpha_)
y = f0 + rnorm(n, mean = 0, sd = 1)
print(y)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd_, k_=kern, xns_=xns,
y_=y, cn_ = cn_, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+gamma_)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
return(vp_CS)
}
estimate_cov_len_bias_multiple_m_multi_d_emp_bayes = function(gamma_, m_s, x0_, svd_, alpha_, num_replicates = 1000, cn_ = 1,
kern = mat_kern_1_2, xns){
n = dim(svd_$u)[1]
f0_x0 = f0_xs_multi_d(Xs = x0_, alpha = alpha_)
y = f0_x0 + rnorm(n)
print('Fitting cn')
cn = maximise_cn(y, xns, kern)
cat('maximum cn: ', cn, 'gamma: ', -(1 + log(cn, n))/(2*log(cn, n)))
gamma_hat = -(1 + log(cn, n))/(2*log(cn, n))
# cn = n^{gamma_hat - 1}
K_nn = apply(xns, 1, function(x) apply(xns, 1, function(y) kern(x, y, cn = cn)))
svd = svd(K_nn)
test_intervals = replicate(num_replicates,
sample_variational_CS_multiple_m_multi_d(gamma_, m_s = m_s,
x0_ = x0_, svd_ = svd,
alpha_ = alpha_, cn_ = cn, kern = kern,
xns = xns))
print('-------- INTS -------')
print(test_intervals)
print('-------- INTS -------')
NLPDs = replicate(num_replicates,
compute_NLPD_multi_d(gamma_, m_s = m_s,
x0_ = x0_, svd_ = svd_,
alpha_ = alpha_, cn_ = cn, kern = kern,
xns = xns))
ret_mat = matrix(nrow = length(m_s), ncol = 4)
for(ix in 1:length(m_s)){
m_intervals = t(test_intervals[ix,,])
ret_mat[ix,1] = mean(m_intervals[,1] <= f0_x0 & m_intervals[,2] >= f0_x0)
ret_mat[ix,2] = mean(m_intervals[,2] - m_intervals[,1])
ret_mat[ix,3] = sqrt(mean(((m_intervals[,1]+m_intervals[,2])/2 - f0_x0)^2))
ret_mat[ix,4] = mean(NLPDs[ix,])
}
cat('maximum cn: ', cn, 'gamma: ', -(1 + log(cn, n))/(2*log(cn, n)))
return(ret_mat)
}
n = 100
size_dat = dim(temp)[1]
dat = temp[sample(c(1:size_dat), n, replace = FALSE), c(3:12)]
alpha = 1
eta = 0.9
num_replicates = 2
#normalise to fit in 0, 1
dat = apply(dat, 2, function(x) x/max(x))
n = dim(dat)[1]
d = dim(dat)[2]
t1 = Sys.time()
matern_1_2_experiment_multi_d_synthetic_emp_bayes(alpha, eta, x0, num_replicates, dat_ = dat, kern = se_kern_multi_d)
t2 = Sys.time()
cat('Elapsed: ', difftime(t2, t1, units = 'secs'), '\n')
sample_variational_CS_multiple_m_multi_d = function(gamma_, m_s, x0_, svd_, alpha_, cn_ = 1, kern = bm_kern,
xns){
n = dim(svd_$u)[1]
# K = 401
# #coeffs of f0
# f0_ks = (1:K)^(-1/2 - alpha_)
# f0 = apply(xns, 1, function(x) sum(sapply(x, function(xi) compute_fn_from_coefs_x(f0_ks, xs = xi))))
f0 = f0_xs_multi_d(Xs = xns, alpha = alpha_)
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd_, k_=kern, xns_=xns,
y_=y, cn_ = cn_, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+gamma_)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
return(vp_CS)
}
sample_variational_CS_multiple_m_multi_d = function(gamma_, m_s, x0_, svd_, alpha_, cn_ = 1, kern = bm_kern,
xns){
n = dim(svd_$u)[1]
# K = 401
# #coeffs of f0
# f0_ks = (1:K)^(-1/2 - alpha_)
# f0 = apply(xns, 1, function(x) sum(sapply(x, function(xi) compute_fn_from_coefs_x(f0_ks, xs = xi))))
f0 = f0_xs_multi_d(Xs = xns, alpha = alpha_)
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd_, k_=kern, xns_=xns,
y_=y, cn_ = cn_, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+gamma_)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
print(vp_CS)
return(vp_CS)
}
n = 100
size_dat = dim(temp)[1]
dat = temp[sample(c(1:size_dat), n, replace = FALSE), c(3:12)]
alpha = 1
eta = 0.9
num_replicates = 2
#normalise to fit in 0, 1
dat = apply(dat, 2, function(x) x/max(x))
n = dim(dat)[1]
d = dim(dat)[2]
t1 = Sys.time()
matern_1_2_experiment_multi_d_synthetic_emp_bayes(alpha, eta, x0, num_replicates, dat_ = dat, kern = se_kern_multi_d)
t2 = Sys.time()
cat('Elapsed: ', difftime(t2, t1, units = 'secs'), '\n')
sample_variational_CS_multiple_m_multi_d = function(gamma_, m_s, x0_, svd_, alpha_, cn_ = 1, kern = bm_kern,
xns){
n = dim(svd_$u)[1]
# K = 401
# #coeffs of f0
# f0_ks = (1:K)^(-1/2 - alpha_)
# f0 = apply(xns, 1, function(x) sum(sapply(x, function(xi) compute_fn_from_coefs_x(f0_ks, xs = xi))))
f0 = f0_xs_multi_d(Xs = xns, alpha = alpha_)
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd_, k_=kern, xns_=xns,
y_=y, cn_ = cn_, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+gamma_)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
print('------In funct-----')
print(vp_CS)
print('----------------')
return(vp_CS)
}
n = 100
size_dat = dim(temp)[1]
dat = temp[sample(c(1:size_dat), n, replace = FALSE), c(3:12)]
alpha = 1
eta = 0.9
num_replicates = 2
#normalise to fit in 0, 1
dat = apply(dat, 2, function(x) x/max(x))
n = dim(dat)[1]
d = dim(dat)[2]
t1 = Sys.time()
matern_1_2_experiment_multi_d_synthetic_emp_bayes(alpha, eta, x0, num_replicates, dat_ = dat, kern = se_kern_multi_d)
t2 = Sys.time()
cat('Elapsed: ', difftime(t2, t1, units = 'secs'), '\n')
sample_variational_CS_multiple_m_multi_d = function(gamma_, m_s, x0_, svd_, alpha_, cn_ = 1, kern = bm_kern,
xns){
n = dim(svd_$u)[1]
# K = 401
# #coeffs of f0
# f0_ks = (1:K)^(-1/2 - alpha_)
# f0 = apply(xns, 1, function(x) sum(sapply(x, function(xi) compute_fn_from_coefs_x(f0_ks, xs = xi))))
f0 = f0_xs_multi_d(Xs = xns, alpha = alpha_)
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd_, k_=kern, xns_=xns,
y_=y, cn_ = cn_, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+gamma_)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
print('------In funct-----')
cat('Mean: ', vp_mean)
print('Var: ', vp_var)
print('----------------')
return(vp_CS)
}
n = 100
size_dat = dim(temp)[1]
dat = temp[sample(c(1:size_dat), n, replace = FALSE), c(3:12)]
alpha = 1
eta = 0.9
num_replicates = 2
#normalise to fit in 0, 1
dat = apply(dat, 2, function(x) x/max(x))
n = dim(dat)[1]
d = dim(dat)[2]
t1 = Sys.time()
matern_1_2_experiment_multi_d_synthetic_emp_bayes(alpha, eta, x0, num_replicates, dat_ = dat, kern = se_kern_multi_d)
t2 = Sys.time()
cat('Elapsed: ', difftime(t2, t1, units = 'secs'), '\n')
sample_variational_CS_multiple_m_multi_d = function(gamma_, m_s, x0_, svd_, alpha_, cn_ = 1, kern = bm_kern,
xns){
n = dim(svd_$u)[1]
# K = 401
# #coeffs of f0
# f0_ks = (1:K)^(-1/2 - alpha_)
# f0 = apply(xns, 1, function(x) sum(sapply(x, function(xi) compute_fn_from_coefs_x(f0_ks, xs = xi))))
f0 = f0_xs_multi_d(Xs = xns, alpha = alpha_)
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd_, k_=kern, xns_=xns,
y_=y, cn_ = cn_, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+gamma_)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
print('------In funct-----')
cat('Mean: ', vp_mean, '\n')
print('Var: ', vp_var, '\n')
print('----------------')
return(vp_CS)
}
n = 100
size_dat = dim(temp)[1]
dat = temp[sample(c(1:size_dat), n, replace = FALSE), c(3:12)]
alpha = 1
eta = 0.9
num_replicates = 2
#normalise to fit in 0, 1
dat = apply(dat, 2, function(x) x/max(x))
n = dim(dat)[1]
d = dim(dat)[2]
t1 = Sys.time()
matern_1_2_experiment_multi_d_synthetic_emp_bayes(alpha, eta, x0, num_replicates, dat_ = dat, kern = se_kern_multi_d)
sample_variational_CS_multiple_m_multi_d = function(gamma_, m_s, x0_, svd_, alpha_, cn_ = 1, kern = bm_kern,
xns){
n = dim(svd_$u)[1]
# K = 401
# #coeffs of f0
# f0_ks = (1:K)^(-1/2 - alpha_)
# f0 = apply(xns, 1, function(x) sum(sapply(x, function(xi) compute_fn_from_coefs_x(f0_ks, xs = xi))))
f0 = f0_xs_multi_d(Xs = xns, alpha = alpha_)
y = f0 + rnorm(n, mean = 0, sd = 1)
# sigma_est = maximise_sigma_known_svd(y, svd_)
sigma_est = 1
vp_fit = vp_mean_variance_multiple_m_multi_d(x_=x0_, m_s=m_s, svd_=svd_, k_=kern, xns_=xns,
y_=y, cn_ = cn_, sigma = sigma_est)
vp_mean = vp_fit[,1]
vp_var = vp_fit[,2]
z_gamma = qnorm((1+gamma_)/2)
vp_CS = cbind(vp_mean - sqrt(vp_var)*z_gamma, vp_mean+sqrt(vp_var)*z_gamma)
print('------In funct-----')
cat('Mean: ', vp_mean, '\n')
cat('Var: ', vp_var, '\n')
print('----------------')
return(vp_CS)
}
n = 100
size_dat = dim(temp)[1]
dat = temp[sample(c(1:size_dat), n, replace = FALSE), c(3:12)]
alpha = 1
eta = 0.9
num_replicates = 2
#normalise to fit in 0, 1
dat = apply(dat, 2, function(x) x/max(x))
n = dim(dat)[1]
d = dim(dat)[2]
t1 = Sys.time()
matern_1_2_experiment_multi_d_synthetic_emp_bayes(alpha, eta, x0, num_replicates, dat_ = dat, kern = se_kern_multi_d)
t2 = Sys.time()
cat('Elapsed: ', difftime(t2, t1, units = 'secs'), '\n')
temp = na.omit(fread('Bias_correction_ucl.csv'))
n = 10
size_dat = dim(temp)[1]
dat = temp[sample(c(1:size_dat), n, replace = FALSE), c(3:12)]
alpha = 1
eta = 0.9
num_replicates = 2
#normalise to fit in 0, 1
dat = apply(dat, 2, function(x) x/max(x))
n = dim(dat)[1]
d = dim(dat)[2]
t1 = Sys.time()
matern_1_2_experiment_multi_d_synthetic_emp_bayes(alpha, eta, x0, num_replicates, dat_ = dat, kern = se_kern_multi_d)
t2 = Sys.time()
cat('Elapsed: ', difftime(t2, t1, units = 'secs'), '\n')
temp = na.omit(fread('Bias_correction_ucl.csv'))
n = 2000
size_dat = dim(temp)[1]
dat = temp[sample(c(1:size_dat), n, replace = FALSE), c(3:12)]
alpha = 1
eta = 0.9
num_replicates = 500
#normalise to fit in 0, 1
dat = apply(dat, 2, function(x) x/max(x))
n = dim(dat)[1]
d = dim(dat)[2]
t1 = Sys.time()
matern_1_2_experiment_multi_d_synthetic_emp_bayes(alpha, eta, x0, num_replicates, dat_ = dat, kern = se_kern_multi_d)
