當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R isoreg 等張/單調回歸


R語言 isoreg 位於 stats 包(package)。

說明

計算分段常數的等滲(單調遞增非參數)最小二乘回歸。

用法

isoreg(x, y = NULL)

參數

x, y

回歸點的坐標向量。或者,可以指定單個繪圖結構:請參閱xy.coords

細節

該算法確定凸次要 累計數據(即cumsum(y)) 是分段線性的,結果是 ,一個階躍函數,其水平在凸的位置發生變化 接觸累積數據多邊形並改變斜率。
as.stepfun()返回一個stepfun可以更節省的對象。

isoreg() 返回 isoreg 類的對象,它本質上是一個包含組件的列表

x

原始(構造)橫坐標值x

y

相應的 y 值。

yf

與有序 x 值相對應的擬合值。

yc

與有序 x 值相對應的累積 y 值。

iKnots

整數向量,給出擬合曲線跳躍的索引,即凸短軸有扭結的位置。

isOrd

邏輯指示原始 x 值是否已按順序遞增。

ord

if(!isOrd) :原始 x 的整數排列 order(x)

call

使用的callisoreg()

注意

代碼應該改進以接受權重另外並求解相應的加權最小二乘問題。
“歡迎提供補丁!”

例子

require(graphics)

(ir <- isoreg(c(1,0,4,3,3,5,4,2,0)))
plot(ir, plot.type = "row")

(ir3 <- isoreg(y3 <- c(1,0,4,3,3,5,4,2, 3))) # last "3", not "0"
(fi3 <- as.stepfun(ir3))
(ir4 <- isoreg(1:10, y4 <- c(5, 9, 1:2, 5:8, 3, 8)))
cat(sprintf("R^2 = %.2f\n",
            1 - sum(residuals(ir4)^2) / ((10-1)*var(y4))))

## If you are interested in the knots alone :
with(ir4, cbind(iKnots, yf[iKnots]))

## Example of unordered x[] with ties:
x <- sample((0:30)/8)
y <- exp(x)
x. <- round(x) # ties!
plot(m <- isoreg(x., y))
stopifnot(all.equal(with(m, yf[iKnots]),
                    as.vector(tapply(y, x., mean))))

參考

Barlow, R. E., Bartholomew, D. J., Bremner, J. M., and Brunk, H. D. (1972) Statistical inference under order restrictions; Wiley, London.

Robertson, T., Wright, F. T. and Dykstra, R. L. (1988) Order Restricted Statistical Inference; Wiley, New York.

也可以看看

繪圖方法plot.isoreg 以及更多示例; MASS 包中的 isoMDS() 內部使用等滲回歸。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Isotonic / Monotone Regression。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。