【发布时间】:2013-03-27 09:28:34
【问题描述】:
所以我试图找到一种方法来评估估计曲线上使用 k-smooth 拟合到数据集的点。即我已经使用内核注册为数据集拟合了一条曲线。并且想要估计曲线上特定点的值。就像我有一个曲线图...但我不确定如何使用它。
对不起,如果不是太清楚......谢谢!
【问题讨论】:
标签: r kernel regression
所以我试图找到一种方法来评估估计曲线上使用 k-smooth 拟合到数据集的点。即我已经使用内核注册为数据集拟合了一条曲线。并且想要估计曲线上特定点的值。就像我有一个曲线图...但我不确定如何使用它。
对不起,如果不是太清楚......谢谢!
【问题讨论】:
标签: r kernel regression
要提取其他点,一种简单(尽管效率低下)的方法就是指定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 的点预测。然后选择查找最接近21 的x 值:
which.min(abs(z$x-21))
然后使用此索引选择特定的y 值
z$y[which.min(abs(z$x-21))]
【讨论】:
在另一个答案中,可能没有 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
【讨论】: