mlsreg {lazy.stat} | R Documentation |
Optimal Scaling of y according to x or Isotonic Regression of y on x.
Find yhat which minimizes
rss = sum( w * (y - yhat(x))^2 )
subject to that the order of yhat(x) is equal to that of x,
where w is the observation weight.
mlsreg(y, x = 1:min(length(y), nrow(y)), w = 1, method = 4, plot = 0, print = 0, colvec = 0, outG = 0)
y |
criterion variable |
x |
regressor variable in nominal, ordinal, or interval scale. |
w |
optional weight vector |
method |
= 1 when x is continuous nominal |
plot |
= 1 to plot the result. |
print |
= 1 to print the result. |
colvec |
= 1 to make the result a column vector. |
outG |
= 1 to return the design matrix when method <= 4. |
Kruskal, J. B. (1964) Nonmetric multidimensional scaling: A numerical method. Psychometrika, vol. 29. pp115-129.
de Leeuw, J. (1977) Correctness of Kruskal's algorithm for monotone regression with ties. Psychometrika, vol. 42. pp141-144.
set.seed(1701) n <- 20 x <- floor(10*runif(n)) y <- 10*runif(n)+1.5*x yhat1 <- mlsreg( y,x, method=1, print=1, plot=1 ) yhat2 <- mlsreg( y,x, method=2, print=1, plot=1 ) yhat3 <- mlsreg( y,x, method=3, print=1, plot=1 ) yhat4 <- mlsreg( y,x, method=4, print=1, plot=1 ) yhat5 <- mlsreg( y,x, method=5, print=1, plot=1 ) yhat6 <- mlsreg( y,x, method=6, print=1, plot=1 ) # weighted monotone regression w <- rep(c(1,9),n/2) yhat33 <- mlsreg( y,x, w, method=3, print=1 ) yhat44 <- mlsreg( y,x, w, method=4, print=1 ) yhat55 <- mlsreg( y,x, w, method=5, print=1 ) # yhat from G matrix res <- mlsreg( y,x, method=4, print=1, outG=1 ) yhat <- res$yhat G <- res$G yfromG <- G%*%solve(t(G)%*%G)%*%t(G)%*%y Print(yhat,yfromG, yhat-yfromG) # monotone spline res <- spreg( y,x, type="m", nknots=2, plot=1, print=1 )