首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >径向基函数插值: LinAlgError:奇异矩阵

径向基函数插值: LinAlgError:奇异矩阵
EN

Stack Overflow用户
提问于 2013-10-08 01:19:04
回答 2查看 6.6K关注 0票数 6

以下呼吁:

代码语言:javascript
运行
复制
rbf = Rbf(points[0], points[1], values,epsilon=2)

导致错误:

代码语言:javascript
运行
复制
LinAlgError: singular matrix

具有以下值:

代码语言:javascript
运行
复制
In [3]: points
Out[3]: 
(array([71, 50, 48, 84, 71, 74, 89, 76, 70, 77, 74, 79, 83, 71, 72, 78, 73,
       84, 75, 65, 73, 82, 48, 86, 74, 86, 66, 74, 68, 74, 81, 74, 88, 66,
       57, 50, 72, 86, 72, 92, 81, 67, 82, 78, 69, 70, 73, 71, 76, 72, 74,
       75]),
 array([32, 34,  4, 35,  1,  7, 47, 16, 37, 14, 65, 18, 32,  4,  3, 27, 25,
       34, 18, 25,  6, 25, 34, 41, 16, 35, 44,  2, 32,  2, 37, 60, 45, 32,
       33, 42, 54, 31, 18, 38, 24, 18, 45, 48,  9, 63, 56, 45,  9, 59,  5,
       12]))

In [4]: values
Out[4]: 
array([ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.])

我能做些什么来避免它并且仍然解决插值问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-08 13:34:40

我认为你想做的是核密度估计。您可以为此使用scipy.stats.gaussian_kde

代码语言:javascript
运行
复制
import numpy as np
from scipy.stats import gaussian_kde
from matplotlib import pyplot as pp

# kernel density estimate of the PDF
kde = gaussian_kde(points)

# evaluate the estimated PDF on a grid
x,y = np.mgrid[40:101,-20:101]
z = kde((x.ravel(),y.ravel())).reshape(*x.shape)

# plot
fig,ax = pp.subplots(1,1)
ax.hold(True)
pc = ax.pcolor(x,y,z)
cb = pp.colorbar(pc)
cb.ax.set_ylabel('Probability density')
ax.plot(points[0],points[1],'o',mfc='w',mec='k')

pp.show()

statsmodels模块还具有用于核密度估计的一些更精细的工具

票数 7
EN

Stack Overflow用户

发布于 2016-09-22 14:55:55

我也有同样的错误。最后我发现了我为什么会犯这个错误。

你有两个坐标相同的点。(74,2)检查值在28,30的坐标相同。

在我看来,即使在同一点上有相同的值,它也会产生奇异矩阵误差。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19237512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档