The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Type: Package
Version: 0.0-0
Date: 2017-10-25
Title: Unimodal and Isotonic L1, L2 and Linf Regression
Author: Zhipeng Xu <xzhipeng@umich.edu>, Chenkai Sun <sunchenk@umich.edu>, Aman Karunakaran <akarunak@umich.edu>, Quentin Stout<qstout@umich.edu>
Maintainer: Zhipeng Xu <xzhipeng@umich.edu>
Description: Perform L1 or L2 isotonic and unimodal regression on 1D weighted or unweighted input vector and isotonic regression on 2D weighted or unweighted input vector. It also performs L infinity isotonic and unimodal regression on 1D unweighted input vector. Reference: Quentin F. Stout (2008) <doi:10.1016/j.csda.2008.08.005>. Spouge, J., Wan, H. & Wilbur, W.(2003) <doi:10.1023/A:1023901806339>. Q.F. Stout (2013) <doi:10.1007/s00453-012-9628-4>.
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
Imports: Rcpp (≥ 0.12.11)
LinkingTo: Rcpp
RoxygenNote: 6.0.1
URL: https://github.com/xzp1995/UniIsoRegression
NeedsCompilation: yes
Packaged: 2017-11-07 17:34:46 UTC; vagrant
Repository: CRAN
Date/Publication: 2017-11-07 18:15:14 UTC

Isotonic and Unimodal Regression on 1D input.

Description

Isotonic and unimodal regression on weighted or unweighted 1D input with L1, L2 and Linf metric and other options.

Usage

    reg_1d(y_vec, w_vec, metric, unimodal = FALSE, decreasing = FALSE)

Arguments

y_vec

The vector of input data that we use to regression. It must be the same size as the w_vec argument.

w_vec

The vector of the weight of the input data. The default value is 1 for every entry. It must be the same size as y_vec. It's only avaliable for L1 and L2.

metric

This is an integer input, metric = 1 stands for using L1 metric, metric = 2 stands for using L2 metric, metric = 3 stands for using Linf metric.

unimodal

This is a boolean input, unimodal = false or 0 stands for isotonic regression and unimodal = true or 1 stands for unimodal regression

decreasing

This is a boolean input, decreasing = false or 0 stands for increasing model and decreasing = true or 1 stands for decreasing model.

Details

See the paper about unimodal regression via prefix isotonic regression in the reference.

Value

A vector of the regression result which has the same size of y_vec.

Error Messages

Author(s)

Zhipeng Xu, Chenkai Sun, Aman Karunakaran, Quentin Stout xzhipeng@umich.edu https://github.com/xzp1995/UniIsoRegression

References

Quentin F.Stout; Unimodal Regression via Prefix Isotonic Regression Computational Statistics and Data Analysis 53 (2008), pp. 289-297; Spouge, J., Wan, H. & Wilbur, W. Journal of Optimization Theory and Applications (2003) 117: 585-605 doi.org/10.1023/A:1023901806339

Examples

    library(UniIsoRegression)

    #===1d monotonic===
    y=c(1,3,6,7,-1)
    weight=c(1,3,4,9,10)

    #l_1 metric decreasing
    temp=UniIsoRegression::reg_1d(y, weight, metric = 1, decreasing = TRUE)
    print(temp)

    #l_2 metric unimodel
    temp=UniIsoRegression::reg_1d(y, weight, metric = 2, unimodal = TRUE)
    print(temp)

    #l_infinity metric increasing
    temp=UniIsoRegression::reg_1d(y, weight, metric = 3)
    print(temp)

Isotonic Regression on 2D input.

Description

Isotonic regression on weighted or unweighted 2D input with L1, L2 metric and other options.

Usage

    reg_2d(y_vec, w_vec, metric)

Arguments

y_vec

The 2D NumericMatrix of input data that we use to regression. It must be the same size as the w_vec argument.

w_vec

The 2D NumericMatrix of the weight of the input data. The default value is 1 for every entry. It must be the same size as y_vec.

metric

This is an integer input, metric = 1 stands for using L1 metric, metric = 2 stands for using L2 metric

Details

See the paper about 2D regression in the reference.

Value

A 2D NumericMatrix of the regression result which has the same size of y_vec.

Error Messages

Author(s)

Zhipeng Xu, Chenkai Sun, Aman Karunakaran, Quentin Stout xzhipeng@umich.edu https://github.com/xzp1995/UniIsoRegression

References

Q.F. Stout, Isotonic median regression via partitioning, Algorithmica 66 (2013), pp. 93-112 doi.org/10.1007/s00453-012-9628-4

Examples

    library(UniIsoRegression)
    #===2d monotonic===
    y=matrix(c(2, 4, 3, 1, 5, 7,9,0), nrow=2, ncol=4, byrow = TRUE)
    weight=matrix(c(1, 10, 3, 9, 5, 7,9,10), nrow=2, ncol=4, byrow = TRUE)

    #l_1 metric
    temp=UniIsoRegression::reg_2d(y, weight, metric = 1)
    print(temp)

    #l_2 metric
    temp=UniIsoRegression::reg_2d(y, weight, metric = 2)
    print(temp)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.