Learn R Programming

linLIR (version 1.1)

s.linlir: Simple linear Likelihood-based Imprecise Regression

Description

Conducts a LIR analysis for 2 variables with interval-valued observations whose relation is assumed to be linear.

Usage

s.linlir(dat.idf, var=NULL, p=0.5, bet, epsilon=0, a.grid=100)
"print"(x, ...) "summary"(object, ...) "plot"(x, y=NULL, ..., typ, para.typ="polygon", b.grid=500, nb.func=1000, seed.func=NULL, pl.lrm=TRUE, pl.band=FALSE, lrm.col="blue", pl.dat=FALSE, pl.dat.typ="hist", k.x=1, k.y=1, inf.margin=10, p.cex=1, col.lev=15, plot.grid=FALSE, x.adj=0.5, x.padj=3, y.las=0, y.adj=1, y.padj=0,x.lim=c(0,0), y.lim=c(0,0), x.lab=" ", y.lab=" ")

Arguments

dat.idf
The idf-object to be analyzed.
var
Names of the two variables out of the idf-object to be analyzed.
p
Quantile of the abolute residuals' distribution to be used as loss function in the LIR analysis. (0.5 corresponds to the median.)
bet
Cutoff-point for the normalized profile likelihood function.
epsilon
Fraction of coarsening errors considered.
a.grid
Particular parameter of the internal function undom.para determining the undominated parameter combinations.
x
Argument of the generic functions plot and print. Here x is the s.linlir-object to be plotted or printed.
...
Argument of the generic functions plot, print and summary: Other parameters.
object
The s.linlir-object to be summarized.
y
Argument of the generic function plot. Here y=NULL.
typ
Type of the plot. Possible values are "para": plot undominated parameter set, "lrm": plot LRM regression line(s), "func": plot undominated regression functions.
para.typ
Options for plot of typ="para" are "polygon" (default) or "points" (approximation).
b.grid
Parameter for plot of typ="para" with default option "polygon". b.grid is the number of points over the range of slope values at which the corresponding undominated intercept values are displayed.
nb.func
Number of (randomly chosen) plotted undominated lines for plots of typ="func".
seed.func
Set seed for the random selection of plotted regression lines for plots of typ="func". (Optional)
pl.lrm
Logical for plots of typ=c("para","func"). If pl.lrm=TRUE (default), the LRM regression line(s) is highlighted in the plot.
lrm.col
Color used to highlight the LRM regression lines in the plots of typ=c("para","func") with option pl.lrm=TRUE.
pl.band
Logical for plots of typ="func". If pl.band=TRUE, the band(s) around the LRM regression line(s) is added to the plot.
pl.dat
Logical for plots of typ=c("lrm","func"). If pl.dat=TRUE, the data are plotted in the background of the plot.
pl.dat.typ
Type of the data plot. Possible values are "hist": plot 2-dim. histogram (default) and "draft".
k.x
Particular data plot function parameter. 1/k.x is the step width along the abscissa.
k.y
Particular data plot function parameter. 1/k.y is the step width along the ordinate.
inf.margin
Particular parameter for data plot with pl.dat.typ="draft". inf.margin is the number of steps that the infinite observations are drawn beyond the limits of the plot.
p.cex
Particular parameter for data plot with pl.dat.typ="draft". p.cex is the point size to fill the rectangles with grey color.
col.lev
Particular parameter for data plot with pl.dat.typ="hist" indicating the number of different grey levels in the 2-dim. histogram.
plot.grid
Logical for data plot with pl.dat.typ="hist". If plot.grid=TRUE dashed lines are added to the plot to indicate the location of the interval endpoints. This is particularly useful for categorized data.
x.adj
Horizontal position of the text for the abscissa.
x.padj
Vertical position of the text for the abscissa.
y.las
Orientation of the text for the ordinate. y.las=1 will turn the axis labels and the text in reading direction.
y.adj
y.adj regulates the position of the text for the ordinate in reading direction, i.e. if y.las=0 it sets the vertical position and if y.las=1 the horizontal position.
y.padj
y.padj regulates the position of the text for the ordinate orthogonal to the reading direction, i.e. if y.las=0 it sets the horizontal position and if y.las=1 the vertical position.
x.lim
The limits for the abscissa of the plot.
y.lim
The limits for the ordinate of the plot.
x.lab
Title of the abscissa.
y.lab
Title of the ordinate.

Value

f.lrm
Intercept and slope value(s) of the Likelihood-based Region Minimax (LRM) regression line(s).
q.lrm
Value of the p-quantile of the absolute residuals associated with the LRM regression line(s).
a.undom
Range of intercept values of the undominated regression lines.
b.undom
Range of slope values of the undominated regression lines.
undom.para
A matrix of undominated parameter combinations approximating the entire set of parameters corresponding to the set of undominated regression lines.
config
A list containing information about the settings of the LIR analysis.
dat
An nx4 data.frame containing the imprecise data of the analyzed variables. Columns 1 and 2 correspond to the interval-valued observations of the regressor variable, columns 3 and 4 to those of the dependent variable.
n
Number of observations.
call
Call of the function s.linlir.

References

M. Cattaneo, A. Wiencierz (2012c). On the implementation of LIR: the case of simple linear regression with interval data. Technical Report No. 127. Department of Statistics. LMU Munich.

A. Wiencierz, M. Cattaneo (2012b). An exact algorithm for Likelihood-based Imprecise Regression in the case of simple linear regression with interval data. In: R. Kruse et al. (Eds.). Advances in Intelligent Systems and Computing. Vol. 190. Springer. pp. 293-301.

M. Cattaneo, A. Wiencierz (2012a). Likelihood-based Imprecise Regression. International Journal of Approximate Reasoning. Vol. 53. pp. 1137-1154.

See Also

idf.create, gen.lms, kl.ku, undom.para

Examples

Run this code
data('toy.smps')
toy.idf <- idf.create(toy.smps, var.labels=c("x","y"))

test <- s.linlir(toy.idf, bet=0.5)
test

summary(test)

plot(test, typ="para", x.adj=0.7, y.las=1, y.adj=6, y.padj=-3)
plot(test, typ="func", pl.lrm=FALSE, x.adj=0.7, y.adj=0.7, y.padj=-3)
plot(test, typ="lrm", lrm.col="red", pl.band=TRUE, pl.dat=TRUE, pl.dat.typ="draft",k.x=10, k.y=10, y.las=1, y.adj=6)

Run the code above in your browser using DataLab