Last updated: 2019-11-12
Checks: 7 0
Knit directory: smash-paper/analysis/
This reproducible R Markdown analysis was created with workflowr (version 1.5.0). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.
Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.
Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.
The command set.seed(1)
was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.
Great job! Recording the operating system, R version, and package versions is critical for reproducibility.
Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.
Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.
Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility. The version displayed above was the version of the Git repository at the time these results were generated.
Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish
or wflow_git_commit
). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:
Ignored files:
Ignored: dsc/code/Wavelab850/MEXSource/CPAnalysis.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/DownDyadHi.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/DownDyadLo.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/FAIPT.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/FCPSynthesis.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/FMIPT.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/FWPSynthesis.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/FWT2_PO.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/FWT_PBS.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/FWT_PO.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/FWT_TI.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/IAIPT.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/IMIPT.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/IWT2_PO.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/IWT_PBS.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/IWT_PO.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/IWT_TI.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/LMIRefineSeq.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/MedRefineSeq.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/UpDyadHi.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/UpDyadLo.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/WPAnalysis.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/dct_ii.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/dct_iii.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/dct_iv.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/dst_ii.mexmac
Ignored: dsc/code/Wavelab850/MEXSource/dst_iii.mexmac
Untracked files:
Untracked: files.txt
Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.
These are the previous versions of the R Markdown and HTML files. If you’ve configured a remote Git repository (see ?wflow_git_remote
), click on the hyperlinks in the table below to view them.
File | Version | Author | Date | Message |
---|---|---|---|---|
Rmd | 05e491f | Peter Carbonetto | 2019-11-12 | wflow_publish(“poisson.Rmd”) |
html | a334fd2 | Peter Carbonetto | 2019-11-12 | More adjustments to plots in poisson analysis. |
Rmd | 224a580 | Peter Carbonetto | 2019-11-12 | wflow_publish(“poisson.Rmd”) |
html | 34f42ac | Peter Carbonetto | 2019-11-12 | Adjusted violin plots in poisson analysis. |
Rmd | 8333706 | Peter Carbonetto | 2019-11-12 | wflow_publish(“poisson.Rmd”) |
html | eda1295 | Peter Carbonetto | 2019-11-12 | Re-built poisson analysis using workflowr 1.5.0. |
Rmd | a0ea389 | Peter Carbonetto | 2019-11-12 | wflow_publish(“poisson.Rmd”) |
html | f0221c5 | Zhengrong Xing | 2019-10-28 | address some reviewer comments |
html | bf8b368 | Peter Carbonetto | 2018-12-21 | Fixed plots for Bursts simulations. |
Rmd | b9f5cd3 | Peter Carbonetto | 2018-12-21 | wflow_publish(c(“index.Rmd”, “poisson.Rmd”)) |
html | 3441667 | Peter Carbonetto | 2018-12-21 | Revised Bumps results in poisson.Rmd. |
Rmd | 7db6b71 | Peter Carbonetto | 2018-12-21 | wflow_publish(“poisson.Rmd”) |
html | ee06399 | Peter Carbonetto | 2018-12-21 | Added plots & tables for Clipped Blocks and Bumps simulations. |
Rmd | e8bc009 | Peter Carbonetto | 2018-12-21 | wflow_publish(“poisson.Rmd”) |
html | 5adee34 | Peter Carbonetto | 2018-12-21 | Addd plots and table for Bursts simulations. |
Rmd | 3776af8 | Peter Carbonetto | 2018-12-21 | wflow_publish(“poisson.Rmd”) |
html | c333197 | Peter Carbonetto | 2018-12-21 | A few small revsions to the code at the beginning of poisson.Rmd. |
Rmd | b42715c | Peter Carbonetto | 2018-12-21 | wflow_publish(“poisson.Rmd”) |
html | 8e3900b | Peter Carbonetto | 2018-12-21 | Updated text at the beginning of poisson.Rmd. |
Rmd | d351039 | Peter Carbonetto | 2018-12-21 | wflow_publish(“poisson.Rmd”) |
html | bd84eae | Peter Carbonetto | 2018-12-20 | Build site. |
Rmd | 51620b3 | Peter Carbonetto | 2018-12-20 | wflow_publish(“poisson.Rmd”) |
html | bda4fbc | Peter Carbonetto | 2018-12-20 | Wrote function create.violin.plots in poisson.Rmd. |
Rmd | ed77c12 | Peter Carbonetto | 2018-12-20 | Fixed some merging issues. |
html | ed961b1 | Peter Carbonetto | 2018-12-20 | Added violin plots for the Spikes and Angles Poisson simulation results. |
Rmd | 68ce493 | Peter Carbonetto | 2018-12-20 | wflow_publish(“poisson.Rmd”) |
html | 2acee22 | Peter Carbonetto | 2018-12-20 | Added plots for all test functions. |
html | 78afaca | Peter Carbonetto | 2018-12-20 | Added plots for all test functions. |
Rmd | 987a861 | Peter Carbonetto | 2018-12-20 | wflow_publish(“poisson.Rmd”) |
html | 7908551 | Peter Carbonetto | 2018-12-20 | Built very first draft of the “poisson” workflowr page. |
Rmd | b3f5b57 | Peter Carbonetto | 2018-12-20 | wflow_publish(“poisson.Rmd”) |
Rmd | d36bfca | Peter Carbonetto | 2018-12-20 | Misc. revisions to READMEs and documentation. |
Rmd | 7aa0b11 | Peter Carbonetto | 2018-12-20 | Working on poisson analysis. |
Rmd | 3c562ea | Peter Carbonetto | 2018-12-19 | Moved poisson_tables.Rmd to poisson.Rmd. |
Rmd | 190c855 | Peter Carbonetto | 2018-12-19 | Working on R Markdown for Poisson results. |
Rmd | 25ff9c3 | Peter Carbonetto | 2018-12-19 | Re-organized some of the files used in the Poisson numerical comparisons. |
Here we create plots and tables to compare various methods, including SMASH, for reconstructing a spatially structured signal from Poisson-distributed data. Similar to the Gaussian simulations, we generated data sets using a variety of test functions and intensity ranges. Specifically, we considered 6 test functions, rescaling the test function so that the smallest intensity was \(x\) and the largest intensity was \(y\), with \((x,y)\) set to either \((1/100, 3)\), \((1/8, 8)\) or \((1/128, 128)\).
For each combination of test function and intensity range, we simulated 100 data sets. In the plots and tables below, we summarize the error (MISE) in the estimates computed in the 100 data sets from each simulation setting.
The plots shown below for the “Bursts” simulations were included in the manuscript.
We will extract the results from these methods:
methods <- c("ash","BMSM","haarfisz_R")
These variables specify the row and column names for the tables:
table.row.names <- c("SMASH","BMSM","Haar-Fisz")
table.col.names <- c("(1/100,3)","(1/8,8)","(1/128,128)")
These are settings used in plotting the test functions:
n <- 1024
t <- 1:n/n
Load the knitr, kableExtra, ggplot2 and cowplot packages.
library(knitr)
library(kableExtra)
library(ggplot2)
library(cowplot)
library(xtable)
Some of the test functions are defined in signals.R
, so we load them here:
source("../code/signals.R")
Load the results of the simulation experiments.
load("../output/pois.RData")
This is the function used to simulate the “Spikes” data sets at different ranges of intensities:
mu.s <- spike.f(t)
plot(t,mu.s,xlab = "",ylab = "",type = "l",lwd = 2,col = "darkorange")
Version | Author | Date |
---|---|---|
a334fd2 | Peter Carbonetto | 2019-11-12 |
eda1295 | Peter Carbonetto | 2019-11-12 |
f0221c5 | Zhengrong Xing | 2019-10-28 |
bda4fbc | Peter Carbonetto | 2018-12-20 |
ed77c12 | Peter Carbonetto | 2018-12-20 |
ed961b1 | Peter Carbonetto | 2018-12-20 |
2acee22 | Peter Carbonetto | 2018-12-20 |
78afaca | Peter Carbonetto | 2018-12-20 |
This table summarizes the results from the Spikes simulations:
mise.s.table <- cbind(mise.s.1[methods],
mise.s.8[methods],
mise.s.128[methods])
rownames(mise.s.table) <- table.row.names
colnames(mise.s.table) <- table.col.names
kable(mise.s.table,format = "html",
table.attr = paste("class=\"table\";","style=\"font-family: sans-serif;",
"width: auto; margin-left: auto; margin-right: auto\""))
(1/100,3) | (1/8,8) | (1/128,128) | |
---|---|---|---|
SMASH | 690.0116 | 329.2584 | 48.86856 |
BMSM | 1007.3414 | 397.7901 | 41.87725 |
Haar-Fisz | 722.1856 | 287.4406 | 18.05736 |
Each column shows the results at a different range of intensities. The individual table entries give the average error (MISE) in the estimates, in which the average is taken over the 100 data sets simulated at the given range of intensities.
The combined violin-boxplots provide a more detailed summary of the same results:
m <- length(mise.ash.s.1)
method.labels <- c("Haar-Fisz","BMSM","SMASH")
mise.hf.ti.r.s.1 <- colMeans(rbind(mise.hf.ti.r.4.s.1,
mise.hf.ti.r.5.s.1,
mise.hf.ti.r.6.s.1,
mise.hf.ti.r.7.s.1))
mise.hf.ti.r.s.8 <- colMeans(rbind(mise.hf.ti.r.4.s.8,
mise.hf.ti.r.5.s.8,
mise.hf.ti.r.6.s.8,
mise.hf.ti.r.7.s.8))
mise.hf.ti.r.s.128 <- colMeans(rbind(mise.hf.ti.r.4.s.128,
mise.hf.ti.r.5.s.128,
mise.hf.ti.r.6.s.128,
mise.hf.ti.r.7.s.128))
pdat1 <- data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.s.1,mise.BMSM.s.1,mise.ash.s.1))
pdat8 <- data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.s.8,mise.BMSM.s.8,mise.ash.s.8))
pdat128 <-
data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.s.128,mise.BMSM.s.128,mise.ash.s.128))
create.violin.plots <- function (pdat1, pdat8, pdat128) {
p1 <- ggplot(pdat1,aes(x = method,y = mise)) +
geom_violin(fill = "skyblue",color = "skyblue") +
geom_boxplot(width = 0.15,outlier.shape = NA) +
coord_flip() +
labs(x = "",y = "MISE",title = "intensities (1/100,3)") +
theme_cowplot() +
theme(plot.title = element_text(size = 14,face = "plain"),
axis.line = element_blank())
p8 <- ggplot(pdat8,aes(x = method,y = mise)) +
geom_violin(fill = "skyblue",color = "skyblue") +
geom_boxplot(width = 0.15,outlier.shape = NA) +
coord_flip() +
labs(x = "",y = "MISE",title = "intensities (1/8,8)") +
theme_cowplot() +
theme(plot.title = element_text(size = 14,face = "plain"),
axis.line = element_blank())
p128 <- ggplot(pdat128,aes(x = method,y = mise)) +
geom_violin(fill = "skyblue",color = "skyblue") +
geom_boxplot(width = 0.15,outlier.shape = NA) +
coord_flip() +
labs(x = "",y = "MISE",title = "intensities (1/128,128)") +
theme_cowplot() +
theme(plot.title = element_text(size = 14,face = "plain"),
axis.line = element_blank())
return(plot_grid(p1,p8,p128,nrow = 1,ncol = 3))
}
create.violin.plots(pdat1,pdat8,pdat128)
This is the function used to simulate the “Angles” data sets at different ranges of intensities:
mu.ang <- dop.f(t)
sig <- ((2 * t + 0.5) * (t <= 0.15)) +
((-12 * (t - 0.15) + 0.8) * (t > 0.15 & t <= 0.2)) +
0.2 * (t > 0.2 & t <= 0.5) +
((6 * (t - 0.5) + 0.2) * (t > 0.5 & t <= 0.6)) +
((-10 * (t - 0.6) + 0.8) * (t > 0.6 & t <= 0.65)) +
((-0.5 * (t - 0.65) + 0.3) * (t > 0.65 & t <= 0.85)) +
((2 * (t - 0.85) + 0.2) * (t > 0.85))
mu.ang <- 3/5 * ((5/(max(sig) - min(sig))) * sig - 1.6) - 0.0419569
plot(t,mu.ang,xlab = "",ylab = "",type = "l",lwd = 2,col = "darkorange")
Version | Author | Date |
---|---|---|
a334fd2 | Peter Carbonetto | 2019-11-12 |
eda1295 | Peter Carbonetto | 2019-11-12 |
f0221c5 | Zhengrong Xing | 2019-10-28 |
bda4fbc | Peter Carbonetto | 2018-12-20 |
ed77c12 | Peter Carbonetto | 2018-12-20 |
ed961b1 | Peter Carbonetto | 2018-12-20 |
2acee22 | Peter Carbonetto | 2018-12-20 |
78afaca | Peter Carbonetto | 2018-12-20 |
This table summarizes the results from the Angles simulations:
mise.ang.table <- cbind(mise.ang.1[methods],
mise.ang.8[methods],
mise.ang.128[methods])
rownames(mise.ang.table) <- table.row.names
colnames(mise.ang.table) <- table.col.names
print(xtable(mise.ang.table,caption = " "),type = "html",
html.table.attributes = "border=0")
(1/100,3) | (1/8,8) | (1/128,128) | |
---|---|---|---|
SMASH | 145.26 | 68.47 | 10.25 |
BMSM | 147.40 | 73.87 | 10.49 |
Haar-Fisz | 314.41 | 122.79 | 9.08 |
Each column shows the results at a different range of intensities. The individual table entries give the average error (MISE) in the estimates, in which the average is taken over the 100 data sets simulated at the given range of intensities.
The combined violin-boxplots provide a visualization of the same results:
mise.hf.ti.r.ang.1 <- colMeans(rbind(mise.hf.ti.r.4.ang.1,
mise.hf.ti.r.5.ang.1,
mise.hf.ti.r.6.ang.1,
mise.hf.ti.r.7.ang.1))
mise.hf.ti.r.ang.8 <- colMeans(rbind(mise.hf.ti.r.4.ang.8,
mise.hf.ti.r.5.ang.8,
mise.hf.ti.r.6.ang.8,
mise.hf.ti.r.7.ang.8))
mise.hf.ti.r.ang.128 <- colMeans(rbind(mise.hf.ti.r.4.ang.128,
mise.hf.ti.r.5.ang.128,
mise.hf.ti.r.6.ang.128,
mise.hf.ti.r.7.ang.128))
pdat1 <-
data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.ang.1,mise.BMSM.ang.1,mise.ash.ang.1))
pdat8 <-
data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.ang.8,mise.BMSM.ang.8,mise.ash.ang.8))
pdat128 <-
data.frame(method=factor(rep(method.labels,each = m),method.labels),
mise =c(mise.hf.ti.r.ang.128,mise.BMSM.ang.128,mise.ash.ang.128))
create.violin.plots(pdat1,pdat8,pdat128)
This is the function used to simulate the “Heavisine” data sets at different ranges of intensities:
heavi <- 4 * sin(4 * pi * t) - sign(t - 0.3) - sign(0.72 - t)
mu.hs <- heavi/sqrt(var(heavi)) * 1 * 2.99/3.366185
mu.hs <- mu.hs - min(mu.hs)
plot(t,mu.hs,xlab = "",ylab = "",type = "l",lwd = 2,col = "darkorange")
Version | Author | Date |
---|---|---|
a334fd2 | Peter Carbonetto | 2019-11-12 |
eda1295 | Peter Carbonetto | 2019-11-12 |
f0221c5 | Zhengrong Xing | 2019-10-28 |
bda4fbc | Peter Carbonetto | 2018-12-20 |
ed77c12 | Peter Carbonetto | 2018-12-20 |
ed961b1 | Peter Carbonetto | 2018-12-20 |
2acee22 | Peter Carbonetto | 2018-12-20 |
78afaca | Peter Carbonetto | 2018-12-20 |
This table summarizes the results from the Heavisine simulations:
mise.hs.table <- cbind(mise.hs.1[methods],
mise.hs.8[methods],
mise.hs.128[methods])
rownames(mise.hs.table) <- table.row.names
colnames(mise.hs.table) <- table.col.names
print(xtable(mise.hs.table,caption = " "),type = "html",
html.table.attributes = "border=0")
(1/100,3) | (1/8,8) | (1/128,128) | |
---|---|---|---|
SMASH | 81.41 | 43.21 | 7.21 |
BMSM | 85.29 | 44.22 | 7.35 |
Haar-Fisz | 274.26 | 105.47 | 9.23 |
Each column shows results at a different range of intensities. The individual table entries give the average error (MISE) in the estimates, in which the average is taken over the 100 data sets simulated at the given range of intensities.
The combined violin-boxplots provide a visualization of the same results:
mise.hf.ti.r.hs.1 <- colMeans(rbind(mise.hf.ti.r.4.hs.1,
mise.hf.ti.r.5.hs.1,
mise.hf.ti.r.6.hs.1,
mise.hf.ti.r.7.hs.1))
mise.hf.ti.r.hs.8 <- colMeans(rbind(mise.hf.ti.r.4.hs.8,
mise.hf.ti.r.5.hs.8,
mise.hf.ti.r.6.hs.8,
mise.hf.ti.r.7.hs.8))
mise.hf.ti.r.hs.128 <- colMeans(rbind(mise.hf.ti.r.4.hs.128,
mise.hf.ti.r.5.hs.128,
mise.hf.ti.r.6.hs.128,
mise.hf.ti.r.7.hs.128))
pdat1 <-
data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.hs.1,mise.BMSM.hs.1,mise.ash.hs.1))
pdat8 <-
data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.hs.8,mise.BMSM.hs.8,mise.ash.hs.8))
pdat128 <-
data.frame(method=factor(rep(method.labels,each = m),method.labels),
mise =c(mise.hf.ti.r.hs.128,mise.BMSM.hs.128,mise.ash.hs.128))
create.violin.plots(pdat1,pdat8,pdat128)
This is the function used to simulate the “Bursts” data sets at different ranges of intensities:
I_1 <- exp(-(abs(t - 0.2)/0.01)^1.2) * (t <= 0.2) +
exp(-(abs(t - 0.2)/0.03)^1.2) * (t > 0.2)
I_2 <- exp(-(abs(t - 0.3)/0.01)^1.2) * (t <= 0.3) +
exp(-(abs(t - 0.3)/0.03)^1.2) * (t > 0.3)
I_3 <- exp(-(abs(t - 0.4)/0.01)^1.2) * (t <= 0.4) +
exp(-(abs(t - 0.4)/0.03)^1.2) * (t > 0.4)
mu.bur <- 2.99/4.51804 * (4 * I_1 + 3 * I_2 + 4.5 * I_3)
plot(t,mu.bur,xlab = "",ylab = "",type = "l",lwd = 2,col = "darkorange")
Version | Author | Date |
---|---|---|
a334fd2 | Peter Carbonetto | 2019-11-12 |
eda1295 | Peter Carbonetto | 2019-11-12 |
f0221c5 | Zhengrong Xing | 2019-10-28 |
bda4fbc | Peter Carbonetto | 2018-12-20 |
ed77c12 | Peter Carbonetto | 2018-12-20 |
ed961b1 | Peter Carbonetto | 2018-12-20 |
2acee22 | Peter Carbonetto | 2018-12-20 |
78afaca | Peter Carbonetto | 2018-12-20 |
This table summarizes the results from the Bursts simulations:
mise.bur.table <- cbind(mise.bur.1[methods],
mise.bur.8[methods],
mise.bur.128[methods])
rownames(mise.bur.table) <- table.row.names
colnames(mise.bur.table) <- table.col.names
print(xtable(mise.bur.table,caption = " "),type = "html",
html.table.attributes = "border=0")
(1/100,3) | (1/8,8) | (1/128,128) | |
---|---|---|---|
SMASH | 487.34 | 234.35 | 33.11 |
BMSM | 706.04 | 301.86 | 34.42 |
Haar-Fisz | 618.39 | 299.39 | 25.20 |
Each column shows results at a different range of intensities. The individual table entries give the average error (MISE) in the estimates, in which the average is taken over the 100 data sets simulated at the given range of intensities.
The combined violin-boxplots provide a visualization of the same results:
mise.hf.ti.r.bur.1 <- colMeans(rbind(mise.hf.ti.r.4.bur.1,
mise.hf.ti.r.5.bur.1,
mise.hf.ti.r.6.bur.1,
mise.hf.ti.r.7.bur.1))
mise.hf.ti.r.bur.8 <- colMeans(rbind(mise.hf.ti.r.4.bur.8,
mise.hf.ti.r.5.bur.8,
mise.hf.ti.r.6.bur.8,
mise.hf.ti.r.7.bur.8))
mise.hf.ti.r.bur.128 <- colMeans(rbind(mise.hf.ti.r.4.bur.128,
mise.hf.ti.r.5.bur.128,
mise.hf.ti.r.6.bur.128,
mise.hf.ti.r.7.bur.128))
pdat1 <-
data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.bur.1,mise.BMSM.bur.1,mise.ash.bur.1))
pdat8 <-
data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.bur.8,mise.BMSM.bur.8,mise.ash.bur.8))
pdat128 <-
data.frame(method=factor(rep(method.labels,each = m),method.labels),
mise =c(mise.hf.ti.r.bur.128,mise.BMSM.bur.128,mise.ash.bur.128))
create.violin.plots(pdat1,pdat8,pdat128)
This is the function used to simulate the “Clipped Blocks” data sets at different ranges of intensities:
pos <- c(0.1,0.13,0.15,0.23,0.25,0.4,0.44,0.65,0.76,0.78,0.81)
hgt <- 2.88/5 * c(4,-5,3,-4,5,-4.2,2.1,4.3,-3.1,2.1,-4.2)
mu.cb <- rep(0,n)
for (j in 1:length(pos))
mu.cb <- mu.cb + (1 + sign(t - pos[j])) * (hgt[j]/2)
mu.cb[mu.cb < 0] <- 0
plot(t,mu.cb,xlab = "",ylab = "",type = "l",lwd = 2,col = "darkorange")
Version | Author | Date |
---|---|---|
a334fd2 | Peter Carbonetto | 2019-11-12 |
eda1295 | Peter Carbonetto | 2019-11-12 |
f0221c5 | Zhengrong Xing | 2019-10-28 |
bda4fbc | Peter Carbonetto | 2018-12-20 |
ed77c12 | Peter Carbonetto | 2018-12-20 |
ed961b1 | Peter Carbonetto | 2018-12-20 |
2acee22 | Peter Carbonetto | 2018-12-20 |
78afaca | Peter Carbonetto | 2018-12-20 |
This table summarizes the results from the Clipped Blocks simulations:
mise.cb.table <- cbind(mise.cb.1[methods],
mise.cb.8[methods],
mise.cb.128[methods])
rownames(mise.cb.table) <- table.row.names
colnames(mise.cb.table) <- table.col.names
print(xtable(mise.cb.table,caption = " "),type = "html",
html.table.attributes = "border=0")
(1/100,3) | (1/8,8) | (1/128,128) | |
---|---|---|---|
SMASH | 307.80 | 137.28 | 6.82 |
BMSM | 355.15 | 143.09 | 6.91 |
Haar-Fisz | 632.21 | 338.55 | 29.72 |
Each column shows results at a different range of intensities. The individual table entries give the average error (MISE) in the estimates, in which the average is taken over the 100 data sets simulated at the given range of intensities.
The combined violin-boxplots provide a visualization of the same results:
mise.hf.ti.r.cb.1 <- colMeans(rbind(mise.hf.ti.r.4.cb.1,
mise.hf.ti.r.5.cb.1,
mise.hf.ti.r.6.cb.1,
mise.hf.ti.r.7.cb.1))
mise.hf.ti.r.cb.8 <- colMeans(rbind(mise.hf.ti.r.4.cb.8,
mise.hf.ti.r.5.cb.8,
mise.hf.ti.r.6.cb.8,
mise.hf.ti.r.7.cb.8))
mise.hf.ti.r.cb.128 <- colMeans(rbind(mise.hf.ti.r.4.cb.128,
mise.hf.ti.r.5.cb.128,
mise.hf.ti.r.6.cb.128,
mise.hf.ti.r.7.cb.128))
pdat1 <-
data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.cb.1,mise.BMSM.cb.1,mise.ash.cb.1))
pdat8 <-
data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.cb.8,mise.BMSM.cb.8,mise.ash.cb.8))
pdat128 <-
data.frame(method=factor(rep(method.labels,each = m),method.labels),
mise =c(mise.hf.ti.r.cb.128,mise.BMSM.cb.128,mise.ash.cb.128))
create.violin.plots(pdat1,pdat8,pdat128)
This is the function used to simulate the “Bumps” data sets at different ranges of intensities:
pos <- c(0.1,0.13,0.15,0.23,0.25,0.4,0.44,0.65,0.76,0.78,0.81)
hgt <- 2.97/5 * c(4,5,3,4,5,4.2,2.1,4.3,3.1,5.1,4.2)
wth <- c(0.005,0.005,0.006,0.01,0.01,0.03,0.01,0.01,0.005,0.008,0.005)
mu.b <- rep(0, n)
for (j in 1:length(pos))
mu.b <- mu.b + hgt[j]/((1 + (abs(t - pos[j])/wth[j]))^4)
plot(t,mu.b,xlab = "",ylab = "",type = "l",lwd = 2,col = "darkorange")
Version | Author | Date |
---|---|---|
a334fd2 | Peter Carbonetto | 2019-11-12 |
eda1295 | Peter Carbonetto | 2019-11-12 |
f0221c5 | Zhengrong Xing | 2019-10-28 |
bda4fbc | Peter Carbonetto | 2018-12-20 |
ed77c12 | Peter Carbonetto | 2018-12-20 |
ed961b1 | Peter Carbonetto | 2018-12-20 |
2acee22 | Peter Carbonetto | 2018-12-20 |
78afaca | Peter Carbonetto | 2018-12-20 |
This table summarizes the results from the Bumps simulations:
mise.b.table <- cbind(mise.b.1[methods],
mise.b.8[methods],
mise.b.128[methods])
rownames(mise.b.table) <- table.row.names
colnames(mise.b.table) <- table.col.names
print(xtable(mise.b.table,caption = " "),type = "html",
html.table.attributes = "border=0")
(1/100,3) | (1/8,8) | (1/128,128) | |
---|---|---|---|
SMASH | 2597.46 | 1194.62 | 141.21 |
BMSM | 4036.77 | 1889.94 | 171.07 |
Haar-Fisz | 3113.37 | 1658.74 | 184.66 |
Each column shows results at a different range of intensities. The individual table entries give the average error (MISE) in the estimates, in which the average is taken over the 100 data sets simulated at the given range of intensities.
The combined violin-boxplots provide a visualization of the same results:
mise.hf.ti.r.b.1 <- colMeans(rbind(mise.hf.ti.r.4.b.1,
mise.hf.ti.r.5.b.1,
mise.hf.ti.r.6.b.1,
mise.hf.ti.r.7.b.1))
mise.hf.ti.r.b.8 <- colMeans(rbind(mise.hf.ti.r.4.b.8,
mise.hf.ti.r.5.b.8,
mise.hf.ti.r.6.b.8,
mise.hf.ti.r.7.b.8))
mise.hf.ti.r.b.128 <- colMeans(rbind(mise.hf.ti.r.4.b.128,
mise.hf.ti.r.5.b.128,
mise.hf.ti.r.6.b.128,
mise.hf.ti.r.7.b.128))
pdat1 <-
data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.b.1,mise.BMSM.b.1,mise.ash.b.1))
pdat8 <-
data.frame(method = factor(rep(method.labels,each = m),method.labels),
mise = c(mise.hf.ti.r.b.8,mise.BMSM.b.8,mise.ash.b.8))
pdat128 <-
data.frame(method=factor(rep(method.labels,each = m),method.labels),
mise =c(mise.hf.ti.r.b.128,mise.BMSM.b.128,mise.ash.b.128))
create.violin.plots(pdat1,pdat8,pdat128)
sessionInfo()
# R version 3.4.3 (2017-11-30)
# Platform: x86_64-apple-darwin15.6.0 (64-bit)
# Running under: macOS High Sierra 10.13.6
#
# Matrix products: default
# BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
# LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
#
# locale:
# [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#
# attached base packages:
# [1] stats graphics grDevices utils datasets methods base
#
# other attached packages:
# [1] xtable_1.8-2 cowplot_0.9.4 ggplot2_3.2.0 kableExtra_1.0.1
# [5] knitr_1.23
#
# loaded via a namespace (and not attached):
# [1] Rcpp_1.0.1 highr_0.8 compiler_3.4.3
# [4] pillar_1.3.1 later_0.8.0 git2r_0.26.1
# [7] plyr_1.8.4 workflowr_1.5.0 tools_3.4.3
# [10] digest_0.6.18 gtable_0.2.0 evaluate_0.13
# [13] tibble_2.1.1 viridisLite_0.3.0 pkgconfig_2.0.2
# [16] rlang_0.3.1 rstudioapi_0.10 yaml_2.2.0
# [19] xfun_0.7 withr_2.1.2.9000 dplyr_0.8.0.1
# [22] stringr_1.4.0 httr_1.4.0 xml2_1.2.0
# [25] fs_1.2.7 hms_0.4.2 tidyselect_0.2.5
# [28] grid_3.4.3 rprojroot_1.3-2 webshot_0.5.1
# [31] glue_1.3.1 R6_2.4.0 rmarkdown_1.16
# [34] purrr_0.2.5 readr_1.3.1 magrittr_1.5
# [37] whisker_0.3-2 backports_1.1.2 scales_0.5.0
# [40] promises_1.0.1 htmltools_0.3.6 assertthat_0.2.1
# [43] rvest_0.3.2 colorspace_1.4-0 httpuv_1.5.0
# [46] labeling_0.3 stringi_1.4.3 lazyeval_0.2.1
# [49] munsell_0.4.3 crayon_1.3.4