【问题标题】:least square regression model最小二乘回归模型
【发布时间】:2015-05-15 07:10:13
【问题描述】:

我想知道是否有人可以帮助我了解 Approx 和 approxfun 背后的内容。我知道这两个函数执行线性插值,但是我没有找到任何关于它们如何做到这一点的参考。我猜他们使用最小二乘回归模型,但我不确定。

最后,如果他们确实使用了最小二乘回归模型,那么他们和 lm + predict 有什么区别?

【问题讨论】:

  • 阅读source
  • 我认为它做了最小二乘回归吧?
  • 错了。它只是在点之间绘制直线。

标签: r regression least-squares


【解决方案1】:

正如评论,您应该阅读源代码。插值问题

求y(v),给定(x,y)[i],i = 0,..,n-1 */

例如approxfun 使用简单的这种算法进行线性逼近:

  1. y(v), 给定 (x,y)[i], i = 0,..,n-1 */
  2. 通过二等分找到正确的区间 (i,j) */
  3. 使用 i,j 进行线性插值

这里是一个 R 代码,对 C 函数进行了近似 1:

approx1 <- 
  function( v, x, y)
{
  ## Approximate  y(v),  given (x,y)[i], i = 0,..,n-1 */


  i <- 1
  j <- length(x) 
  ij <- 0

  ## find the correct interval by bisection */
    while(i < (j-1) ) { 
         ij <- floor((i + j)/2)
         if(v < x[ij]) 
             j <- ij 
         else 
           i <- ij
    }
  ## linear interpolation */

    if(v == x[j]) return(y[j])
    if(v == x[i]) return(y[i])

    return (y[i] + (y[j] - y[i]) * ((v - x[i])/(x[j] - x[i])))
  }

【讨论】:

    猜你喜欢
    • 2015-10-31
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 2012-04-28
    • 2017-08-02
    • 1970-01-01
    相关资源
    最近更新 更多