Package 'PLFD'

Title: Portmanteau Local Feature Discrimination for Matrix-Variate Data
Description: The portmanteau local feature discriminant approach first identifies the local discriminant features and their differential structures, then constructs the discriminant rule by pooling the identified local features together. This method is applicable to high-dimensional matrix-variate data. See the paper by Xu, Luo and Chen (2021, <doi:10/gmt2gd>).
Authors: Zengchao Xu [aut, cre], Shan Luo [aut], Zehua Chen [aut]
Maintainer: Zengchao Xu <[email protected]>
License: GPL-3
Version: 0.2.0
Built: 2024-11-13 05:14:31 UTC
Source: https://github.com/paradoxical-rhapsody/plfd

Help Index


PLFD

Description

A portmanteau local feature discrimination (PLFD) approach to the classification with high-dimensional matrix-variate data.

Usage

plfd(x, y, r0, c0, blockList, blockMode = NULL, permNum = 100, alpha = 0)

Arguments

x

Array of \(r \times c \times n\).

y

Vector of length-\(n\) with values 1 or 2.

r0, c0

Row and column size of blocks. See details.

blockList

List including the index set of pre-specified blocks. See details.

blockMode

How the differential structure of \(M_1 - M_2\) are detected. The default (blockMode=NULL) does NOT detect the structure of feature blocks. If blockMode="fd"(or "forward"), a forward stepwise procedure is conducted to detect the nonzero positions of feature blocks, wherein BIC serves as the stopping rule.

permNum

Rounds of permutation.

alpha

The upper-\(\alpha\) quantile of the permutation statistic.

Details

There are two ways to specify the blocks under consideration. In the case that the matrix-variate is partition into non-overlapping blocks that share the common row size and column size, these sizes can be specified by r0 and c0. Otherwise, the blocks can be flexibly specified by parameter blockList, which should be a list in which each element includes rIdx and cIdx corresponding to the row and column index set of a block. See examples.

Value

List.

  • n1, n2, rDim, cDim, blockMode, permNum, alpha;

  • blockNumber: the number of identified feature blocks.

  • paras: list(list(rIdx, cIdx, B, M), ...), list of the information of feature blocks.

References

Xu Z., Luo S. and Chen Z. (2021). A Portmanteau Local Feature Discrimination Approach to the Classification with High-dimensional Matrix-variate Data. Sankhya A. doi:10.1007/s13171-021-00255-2

Examples

set.seed(2023)
rDim <- 20
cDim <- 20

n <- 100
y <- sample(1:2, n, TRUE, c(0.5, 0.5))
x <- array(rnorm(rDim*cDim*n), dim=c(rDim, cDim, n))
x[, , y==2] <- (x[, , y==2] + 1.0)

ntest <- 200
ytest <- sample(1:2, ntest, TRUE, c(0.5, 0.5))
xtest <- array(rnorm(rDim*cDim*ntest), dim=c(rDim, cDim, ntest))
xtest[, , ytest==2] <- (xtest[, , ytest==2] + 1.0)

## Uniform partition
print( plfd(x, y, r0=5, c0=5) )

## Pre-specify feature blocks
blockList <- list(list(rIdx=1:5, cIdx=1:5), 
                  list(rIdx=6:10, cIdx=1:5), 
                  list(rIdx=3:9, cIdx=2:8))
print( plfd.model <- plfd(x, y, blockList=blockList) )

## Predict
predict(plfd.model, xtest, ytest)

Predict Method for plfd

Description

Predict Method for plfd

Usage

## S3 method for class 'plfd'
predict(object, x, y, ...)

Arguments

object

plfd object.

x

Array, matrix-variate data to be predicted.

y

Vector (optional), Labels of x with value 1 or 2.

...

Ignored currently.

Value

list(W, y.hat, mcr) with

  • W: discriminant scores;

  • y.hat: predicted labels;

  • mcr: misclassification rate if parameter y is available.


Print Method for plfd

Description

Print Method for plfd

Usage

## S3 method for class 'plfd'
print(x, ...)

Arguments

x

plfd object.

...

Ignored currently.