Nothing
## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(echo = TRUE)
library(ggplot2)
## -----------------------------------------------------------------------------
library(noisySBM)
## -----------------------------------------------------------------------------
directed <- FALSE
## -----------------------------------------------------------------------------
theta <- list(pi=NULL, w=NULL, nu0=NULL, nu=NULL)
## -----------------------------------------------------------------------------
Q <- 2
## -----------------------------------------------------------------------------
theta$pi <- c(2,1)/3
## -----------------------------------------------------------------------------
theta$w <- c(.8,.1,.9)
## -----------------------------------------------------------------------------
theta$nu0 <- c(0,1)
## -----------------------------------------------------------------------------
theta$nu <- matrix(c(-1,5,-1, 1,1,1), ncol=2)
theta$nu
## -----------------------------------------------------------------------------
obs <- rnsbm(n = 10, theta, modelFamily = 'Gauss')
round(obs$dataMatrix, digits = 2)
## -----------------------------------------------------------------------------
obs$latentAdj
## -----------------------------------------------------------------------------
obs$latentZ
## -----------------------------------------------------------------------------
plotGraphs(obs$dataMatrix, binaryTruth=obs$latentAdj)
## -----------------------------------------------------------------------------
theta$w <- c(.8,.1,.2,.9)
theta$nu <- matrix(c(-1,5,10,-1, 1,1,1,1), ncol=2)
theta$nu
## -----------------------------------------------------------------------------
obs <- rnsbm(n = 10, theta, modelFamily = 'Gauss', directed = TRUE)
plotGraphs(obs$dataMatrix, binaryTruth=obs$latentAdj)
round(obs$dataMatrix, digits = 2)
obs$latentAdj
## -----------------------------------------------------------------------------
theta$pi <- rep(1/3, 3)
## -----------------------------------------------------------------------------
theta$w <- c(.1, .8, .8, .1, .8, .1)
## -----------------------------------------------------------------------------
theta$nu0 <- c(1,2)
## -----------------------------------------------------------------------------
theta$nu <- matrix(c(1, 1, 1, 1, 1, 1, 1, .5, .5, 1, .5, 1), ncol=2)
theta$nu
## -----------------------------------------------------------------------------
obs <- rnsbm(n = 10, theta, modelFamily = 'Gamma')
plotGraphs(obs$dataMatrix, binaryTruth=obs$latentAdj)
round(obs$dataMatrix, digits = 2)
obs$latentAdj
obs$latentZ
## -----------------------------------------------------------------------------
theta <- list(pi=1, w=.5, nu0=1, nu=5)
## -----------------------------------------------------------------------------
obs <- rnsbm(n = 10, theta, modelFamily = 'Poisson', directed = TRUE)
plotGraphs(obs$dataMatrix, binaryTruth=obs$latentAdj)
round(obs$dataMatrix)
obs$latentAdj
obs$latentZ
## -----------------------------------------------------------------------------
set.seed(1)
theta1 <- list(pi=c(.5,.5), w=c(.8,.1,.2), nu0=c(0,1), nu=matrix(c(-1,5,10, 1,1,1), ncol=2))
obs1 <- rnsbm(n=30, theta1)
## ---- eval=FALSE--------------------------------------------------------------
# res_gauss <- fitNSBM(obs1$dataMatrix, nbCores=2)
## -----------------------------------------------------------------------------
res_gauss[[2]]$theta
## -----------------------------------------------------------------------------
res_gauss[[2]]$clustering
## -----------------------------------------------------------------------------
res_gauss[[2]]$sbmParam$Q
## -----------------------------------------------------------------------------
res_gauss[[2]]$sbmParam$clusterProba
## -----------------------------------------------------------------------------
res_gauss[[2]]$sbmParam$edgeProba[,1:5]
## -----------------------------------------------------------------------------
dim(res_gauss[[2]]$sbmParam$edgeProba)
## -----------------------------------------------------------------------------
res_gauss[[2]]$sbmParam$ICL
## -----------------------------------------------------------------------------
res_gauss[[2]]$convergence
## -----------------------------------------------------------------------------
theta2 <- list(pi=rep(1/2, 2),
w=c(.2, .8, .2),
nu0=c(1,5),
nu=matrix(c(1, 1, 1, 1, 1/3, 1), ncol=2))
set.seed(2)
obs2 <- rnsbm(n=60, theta2, modelFamily='Gamma')
## ---- eval=FALSE--------------------------------------------------------------
# res_exp <- fitNSBM(obs2$dataMatrix, model='Exp', nbCores = 2)
#
# set.seed(3)
# res_gamma <- fitNSBM(obs2$dataMatrix, model='ExpGamma', nbCores = 2)
## -----------------------------------------------------------------------------
Q <- 2
res_exp[[Q]]$theta
res_gamma[[Q]]$theta
## -----------------------------------------------------------------------------
getBestQ(res_gauss)
## -----------------------------------------------------------------------------
plotICL(res_gauss)
## -----------------------------------------------------------------------------
getBestQ(res_exp)
getBestQ(res_gamma)
## ---- warning=FALSE-----------------------------------------------------------
dfICLexp <- data.frame(ICL = sapply(res_exp, function(el) el$sbmParam$ICL),
Q = sapply(res_exp, function(el) el$sbmParam$Q), model='Exp')
dfICLgam <- data.frame(ICL = sapply(res_gamma, function(el) el$sbmParam$ICL),
Q = sapply(res_gamma, function(el) el$sbmParam$Q), model='ExpGamma')
dfICL <- rbind(dfICLexp, dfICLgam)
ggplot(dfICL, aes(x=Q, y=ICL, group=model, colour=model) ) +
geom_line() +
xlim(1,4)
## ---- eval=FALSE--------------------------------------------------------------
# res4 <- fitNSBM(obs1$dataMatrix, sbmSize=list(Qmin=2, Qmax=2), nbCores=2)
## -----------------------------------------------------------------------------
ARI(res_gauss[[3]]$clustering, obs1$latentZ)
## -----------------------------------------------------------------------------
ARI(res_gauss[[2]]$clustering, res_gauss[[3]]$clustering)
## -----------------------------------------------------------------------------
ARI(res_exp[[2]]$clustering, obs2$latentZ)
ARI(res_gamma[[2]]$clustering, obs2$latentZ)
## -----------------------------------------------------------------------------
resGraph <- graphInference(obs1$dataMatrix, res_gauss[[2]]$clustering, res_gauss[[2]]$theta, alpha = .05, modelFamily='Gauss')
resGraph$A[1:5, 1:5]
## -----------------------------------------------------------------------------
resGraph$qval[1:10]
## -----------------------------------------------------------------------------
length(resGraph$qval)
## -----------------------------------------------------------------------------
plotGraphs(obs1$dataMatrix, resGraph$A, obs1$latentAdj)
## -----------------------------------------------------------------------------
resGraph2 <- graphInference(obs2$dataMatrix, res_exp[[2]]$clustering, res_exp[[2]]$theta, alpha = .05, modelFamily='Gamma')
resGraph2$A[1:5, 1:5]
## -----------------------------------------------------------------------------
resGraph2$qval[1:10]
## -----------------------------------------------------------------------------
length(resGraph2$qval)
## -----------------------------------------------------------------------------
plotGraphs(obs2$dataMatrix, resGraph2$A, obs2$latentAdj)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.