【问题标题】:Evaluating ksmooth at a point?在某一点上评估 ksmooth?
【发布时间】:2013-03-27 09:28:34
【问题描述】:

所以我试图找到一种方法来评估估计曲线上使用 k-smooth 拟合到数据集的点。即我已经使用内核注册为数据集拟合了一条曲线。并且想要估计曲线上特定点的值。就像我有一个曲线图...但我不确定如何使用它。

对不起,如果不是太清楚......谢谢!

【问题讨论】:

    标签: r kernel regression


    【解决方案1】:

    要提取其他点,一种简单(尽管效率低下)的方法就是指定n.point 参数。例如,

    z = ksmooth(cars$speed, cars$dist, "normal", bandwidth = 5, n.points = 1000)
    

    将输出 1000 个值,从 min(cars$speed) 开始,到 max(cars$speed) 结束。您可以通过以下方式访问这些值:

    z$x 
    z$y
    

    示例

    假设您想获得x=21 的点预测。然后选择查找最接近21x 值:

    which.min(abs(z$x-21))
    

    然后使用此索引选择特定的y

    z$y[which.min(abs(z$x-21))]
    

    【讨论】:

    • 好吧,我仍然有点困惑,如何在 z$x 中选择一个 x 并找出 z$y 中的哪个 y 匹配?
    【解决方案2】:

    在另一个答案中,可能没有 x 值恰好等于 21。在实际拟合中,您可以指定 x.points 参数来获取您想要评估拟合的点。

    z = ksmooth(cars$speed, cars$dist, "normal", bandwidth = 5, x.points = 21)
    print(z)
    
    $x
    [1] 21
    $y
    [1] 58.00075
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-18
      • 1970-01-01
      • 2015-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多