# Sparse regression with paired covariates

The R package `palasso` implements the paired lasso.

## Installation

Installing the current release from CRAN:

    install.packages("palasso")

Installing the latest development version from GitHub:

    #install.packages("devtools")
    library(devtools)
    install_github("rauschenberger/palasso")

## Initialisation

We use glmnet for the standard lasso, and palasso for the paired lasso.

Loading and attaching the packages:

    library(glmnet)
    library(palasso)

Attaching some data to reproduce the examples:

    attach(toydata)

Data are available for \(n=30\) samples and \(p=50\) covariate pairs. The object `y` contains the response (numeric vector of length \(n\)). The object `X` contains the covariates (list of two numeric matrices, both with \(n\) rows and \(p\) columns).

## Standard lasso

The standard lasso is a good choice for exploiting either the first or the second covariate group:

    object <- glmnet(y=y,x=X[[1]])
    object <- glmnet(y=y,x=X[[2]])

## Paired lasso

But the paired lasso might be a better choice for exploiting both covariates groups at once:

    object <- palasso(y=y,X=X)

In contrast to the standard lasso, the paired lasso accounts for the structure between the covariate groups.

Given a limited number of non-zero coefficients, we expect the paired lasso to outperform the standard lasso:

    object <- palasso(y=y,X=X,max=10)

## Methods

Standard methods are available for the paired lasso:

    weights(object)

    fitted(object)

    residuals(object)

    predict(object,newdata=X)

## Reference

Armin Rauschenberger , Iuliana Ciocănea-Teodorescu , Marianne A. Jonker , Renée X. Menezes , and Mark A. van de Wiel (2020). “Sparse classification with paired covariates”. Advances in Data Analysis and Classification 14:571-588. doi: 10.1007/s11634-019-00375-6