NaN
的结果:library(KernSmooth)
x <- c(5.84155992364115, 1.55292112974119, 0.0349665318792623, 3.93053647398094,
3.42790577684633, 2.9715553006801, 0.837108410045353, 2.872476865277,
3.89232548092257, 0.206399650539628)
y <- c(0.141415317472329, 1.34799648955049, 0.0297566221758204,
-0.966736679061812, 0.246306732122746, 0.557982376254723,
0.740542828791083, 0.162336127802977, -0.428804158514744,
0.691280978689863)
locpoly(x, y, bandwidth = 0.4821232, gridsize = 12, degree = 1)[['y']]
我理解
[1] 0.3030137 0.6456624 0.9530586 1.1121106 0.8120947 0.4441603
[7] 0.1425592 -0.3600028 -0.7840411 -1.0517612 -1.2690134 NaN
在另一台电脑上,我得到了同样的结果,只不过我得到的是
-0.7270521
而不是NaN
。我猜你们大多数也会得到这个结果。所以问题是如何修复我的系统?这与我的LAPACK或LIBBLAS有关吗?请注意,上述两台计算机都使用Ubuntu。给出
NaN
的那台计算机使用的是Ubuntu 13.10,而给出数字的那台计算机则是12.04。编辑:
我新的怀疑是这是一个浮点数计算问题: 本地多项式回归只是加权线性回归,其中权重随着点距离评估点的距离而减小,在这种情况下是5.84。应该注意到带宽很小,因此首先想到的是带宽内没有点。然而,locpoly使用高斯核,因此所有点都具有严格正的权重。我的猜测是权重太小了,舍入或浮点数计算可能会有问题。我不确定如何解决这个问题。
NaN
的问题,运行在Linux上。 - Rich ScrivenNaN
。 - hrbrmstr