tests/testthat/test-fista_large.R

test_that("FISTA works same as current SLOPE package implementation", {
  skip('Takes too much time')
  library(SLOPE)

  fista_slope <- SLOPE(bodyfat$x, bodyfat$y,family="gaussian", solver = "fista")
  fista_solvers <- FISTA(bodyfat$x, bodyfat$y,family="gaussian")
  expect_equivalent(coef(fista_slope), coef(fista_solvers), tol = 1e-2)

  fista_slope <- SLOPE(heart$x, heart$y,family="binomial", solver = "fista")
  fista_solvers <- FISTA(heart$x, heart$y,family="binomial")
  expect_equivalent(coef(fista_slope), coef(fista_solvers), tol = 1e-2)

  fista_slope <- SLOPE(abalone$x, abalone$y,family="poisson", solver = "fista")
  fista_solvers <- FISTA(abalone$x, abalone$y,family="poisson")
  expect_equivalent(coef(fista_slope), coef(fista_solvers), tol = 1e-2)

  fista_slope <- SLOPE(wine$x, wine$y,family="multinomial", solver = "fista")
  fista_solvers <- FISTA(wine$x, wine$y,family="multinomial")
  expect_equivalent(coef(fista_slope), coef(fista_solvers), tol = 1e-2)
})
straw-boy/solvers documentation built on Sept. 5, 2020, 6:28 a.m.