Max*_*der 4 python interpolation numpy spline scipy
我正在尝试使用 scipy.interpolate.bisplrep 和 scipy.interpolate.bisplev 基于一小组已知差异对两个数据集之间的差异执行二维回归。代码是:
splineRT = interp.bisplrep(diffPoints[0], diffPoints[1], RTdiffs)
allDiffs = interp.bisplev(features[0], features[1], splineRT)
Run Code Online (Sandbox Code Playgroud)
当我运行它时,bisplev 抛出难以理解的异常“ValueError: Invalid input data”,这是对从底层 _fitpack._bisplev 函数返回的错误代码的响应。我对样条知之甚少,不知道什么是无效描述,但我确实查看了 splineRT 的值,即:
[array([ 367.51732902, 367.51732902, 367.51732902, 367.51732902,
911.4739006 , 911.4739006 , 911.4739006 , 911.4739006 ]),
array([ 1251.8868, 1251.8868, 1251.8868, 1251.8868, 1846.2027,
1846.2027, 1846.2027, 1846.2027]),
array([ -1.36687935e+04, 3.78197089e+04, -6.83863404e+04,
-7.25568790e+04, 4.90004158e+04, -1.11701213e+05,
2.02854711e+05, -1.67569797e+05, -7.22174063e+04,
1.27574330e+05, -2.33080009e+05, 2.80073578e+05,
3.37054374e+04, 1.89380033e+04, -1.81027026e+04,
-2.51210000e+00]),
3,
3]
Run Code Online (Sandbox Code Playgroud)
令我印象深刻的是,前两个元素(表示样条中的“结”)是八个元素,仅由两个唯一值组成,每个值重复四次。两个唯一值都来自相应的 diffPoints 列表,但 diffPoints 都是 16 个唯一元素。
这里发生了什么?和/或是这个问题还是其他问题?任何帮助表示赞赏。
编辑:这是错误(?)的记录,从头到尾:https : //www.dropbox.com/s/w758s7racfy9q4s/interpolationBug.txt 。