aebilgrau / gmcm Goto Github PK
View Code? Open in Web Editor NEWUnsupervised Clustering and Meta-analysis using Gaussian Mixture Copula Models
Home Page: http://AEBilgrau.github.io/GMCM
Unsupervised Clustering and Meta-analysis using Gaussian Mixture Copula Models
Home Page: http://AEBilgrau.github.io/GMCM
The defaults of xlab
and ylab
in plot.theta
-function are wrong.
Create MStep in Rcpp.
Create EStep in Rcpp.
The usage in the get.IDR
docs should not display get.idr
as it is no longer exported to the users.
The automatic download for the vignette is broken due to a redirect.
trying URL ‘http://i.space.com/images/i/000/010/634/original/shuttle-atlantis-lifts-off.jpg?1309297321’
Warning in download.file(url, destfile = fig7.file, method = "internal", :
"internal" method cannot handle https redirection to: 'https://www.space.com/images/i/000/010/634/original/shuttle-atlantis-lifts-off.jpg?1309297321'
Quitting from lines 128-128 (GMCM-JStatSoft.Rnw)
The file does not appear to be hosted at space.com anymore.
See file.
Lines 1 to 26 in 1563574
Warning when using a large mu/sd:
real.par <- c(0.6, 1.3, 2, 0.3)
sim <- SimulateGMCMData(n = 500, par = real.par, d = 6)
res5 <- fit.meta.GMCM(u = sim$u,
init.par = c(0.1, 11, 11, 0.9),
method = "L-BFGS-B", max.ite = 1000,
verbose = TRUE)
Warning messages:
1: In regularize.values(x, y, ties, missing(ties)) :
collapsing to unique 'x' values
2: In regularize.values(x, y, ties, missing(ties)) :
collapsing to unique 'x' values
3: In regularize.values(x, y, ties, missing(ties)) :
collapsing to unique 'x' values
4: In regularize.values(x, y, ties, missing(ties)) :
collapsing to unique 'x' values
5: In regularize.values(x, y, ties, missing(ties)) :
collapsing to unique 'x' values
6: In regularize.values(x, y, ties, missing(ties)) :
collapsing to unique 'x' values
Line 154 in 996c2a8
fit.special.GMCM
for fit.full.GMCM
fit.general.GMCM
for fit.meta.GMCM
For at least the special model, the report from the shiny app are not always in agreement. This should be expected for fitting methods other than SANN.
Somewhat like #33, is.theta
fails and warns with either rownames or colnames (or both) are present for the covariance matrices.
library("GMCM")
set.seed(1)
n <- 1000
d <- 5
m <- 5
data <- SimulateGMMData(n = n, d = d, m = m) # Simulate some data
start.theta <- rtheta(d = d, m = m)
res <- GMCM:::EMAlgorithm(data$z, theta = start.theta, max.ite = 1000,
trace.theta = TRUE, verbose = TRUE)
iteration 2 Delta loglik = 43233.53
error: inv_sympd(): matrix appears to be singular
Error: inv_sympd(): matrix appears to be singular
Without a license, this project isn't open source and no one can use the code.
Please use something like http://choosealicense.com/ to decide what license to use. I recommend MIT or GPL.
A novel effort by Add a License Please
and vice versa...
A option for users to provide the marginal distributions for SimulateGMCMData
as a list
.
Due to too many spuriously committed PDF Rplorts ("Rplots1.pdf" through "Rplots999.pdf"), dev.new() can no longer choose a new name.
See
https://travis-ci.org/AEBilgrau/GMCM/jobs/570560854
dev.new(): using pdf(file="Rplots999.pdf")
Error in dev.new(file = NULL) : no suitable unused file name for pdf()
By default, show only the used columns in the "Classified data" boxes. Have a checkbox that toggles if the results should be attached to the "input data" or only the used columns.
Will allow for including NEWS automatically in the pkgdown site
… in the general GMCM to avoid get.prob combined with apply(probs, 1, which.max), etc.
Have some within app test data to try out the app without bringing data yourself.
Re. #19, the following features could be considered for the GMCM:
Input file handling:
Special case GMCM
Displaying more clearly exactly which cols have been used and the dimension of the model
A "fit log" -- captured output from fit.meta.GMCM
(?)
Ability to provide new values to predict
3d plots when applicable
Other
Add a tooltip to "Important: Check if larger values in data indicate stronger evidence" to explain further.
plot.theta
sometimes fail when add.ellipses = TRUE
and non-default which.dims = c(3,2)
. Seems to be due to the built in which
argument of ellipse::ellipse
.
The 'Scatter plot of raw data' panel gives a momentary error Error: figure margins too large
when selected the second model column.
Consider adding some goodness of fit measures (request by e-mail).
currently only plotted.
Possibly also the reverse is true
Parallelize dgmcm.loglik.R for faster optimization.
Sometimes, optim throws an error from fit.meta.GMCM about infinite objective function values.
An example which reproduce this error is:
library(GMCM)
set.seed(3)
true.par <- c(0.95, 3, 2, 0.5)
data <- SimulateGMCMData(d = 3, n = 10000, par = true.par)
start.par <- c(0.32, 3.62, 3.74, 0.08)
fit <- fit.meta.GMCM(Uhat(data$u), init.par = start.par, method = "L-BFGS")
And this yield the error:
Error in optim(inv.tt(init.par, d = d, positive.rho = positive.rho), meta.gmcm.loglik, :
L-BFGS-B needs finite values of 'fn'
In the shiny app, add process spinners when computing.
Add some site articles:
Benchmarking?
Reproducible example:
library("GMCM")
n <- 1000
set.seed(123)
data <- data.frame(X1 = rnorm(n),
X2 = rchisq(n, df = 10),
X3 = rpois(n, lambda = 100))
udata <- Uhat(data)
fitted.theta <- fit.full.GMCM(u = udata, m = 1, method = "NM", verbose = FALSE)
Make a custom badge in the README showing CRAN test results from here.
Set up a very basic test suite to expand.
Instead of manually relisting the "unlisted" parameter list as done in the functions tt
and tt.inv
use relist
. Probably more safe and faster?. See ?relist
.
Implement the theta format as proper S3 object class and define methods.
Instead of sliders (which are only accurate to some degree) have a numeric input as well.
fit.full.GMCM(..., trace.theta=TRUE, method="PEM")
does not appear to work properly.
The lower-left hand notification are easily missed; improve their visibility.
Much like the special model, show the results of the classification.
Roxygenize all functions in GMCM.
Improve the interface with a theta() constructor. Looks like list(…) but evaluates lazily and checks specified names, and applies as.theta, etc.
Code like this is annoying:
start.theta <-
list(m = 3,
d = 4,
pie = c(1,1,1)/3,
mu = list(comp1 = rep(0, 4), comp2 = c(1,0,0,0), comp3 = c(0,1,0,0)),
sigma = replicate(3, diag(4), simplify = FALSE))
start.theta <- as.theta(start.theta)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.