scipy фитинг BSpline в python возвращает параметр c в виде nan - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь выполнить BSpline, используя Scipy для моего набора данных, но продолжаю получать nans в качестве вывода параметра c. Я не понимаю этого поведения, так как мои данные кажутся в порядке.

Это мой код:

import numpy as np
import scipy.interpolate as interpolate
import matplotlib.pyplot as plt

x = np.array(colA1)
y = np.array(ypred1)

print (x)
print (y)

t, c, k = interpolate.splrep(x, y, s=0, k=1)
print('''\
t: {}
c: {}
k: {}
'''.format(t, c, k))
N = 100
xmin, xmax = x.min(), x.max()
xx = np.linspace(xmin, xmax, N)
spline = interpolate.BSpline(t, c, k, extrapolate=False)

plt.plot(x, y, 'bo', label='Original points')
plt.plot(xx, spline(xx), 'r', label='BSpline')
plt.grid()
plt.legend(loc='best'); 

И это мой вывод:

[  7.  31.  55.  56.  62.  66.  76.  81.  84.  86.  94.  96. 103. 106.
 110. 119. 127. 133. 135. 139. 141. 146. 151. 155. 156. 158. 161. 162.
 167. 167. 169. 171. 174. 176. 179. 185. 186. 186. 190. 191. 191. 192.
 197. 198. 199. 201. 205. 206. 206. 215. 216. 221. 221. 222. 223. 229.
 235.]
[-5.56840730e-03 -1.09063303e-01 -5.18741553e-02 -5.30458383e-02
 -6.69730163e-02 -7.21759072e-02 -5.61977049e-02 -3.21943733e-02
 -1.79832190e-02 -1.13895725e-02 -4.01512043e-03 -4.61596093e-03
 -5.70053994e-03  1.84927579e-04  2.44232395e-02  1.49518662e-01
  2.98598127e-01  3.98777453e-01  4.22128667e-01  4.60772442e-01
  4.79260764e-01  5.27180679e-01  5.76179399e-01  6.13575074e-01
  6.22486031e-01  6.39749778e-01  6.64065552e-01  6.71587189e-01
  6.99728926e-01  6.99728926e-01  7.03625901e-01  7.02150823e-01
  6.90948695e-01  6.78954973e-01  6.56363959e-01  6.01324552e-01
  5.91505034e-01  5.91505034e-01  5.51537498e-01  5.41426721e-01
  5.41426721e-01  5.31289686e-01  4.80407198e-01  4.70057384e-01
  4.59503106e-01  4.37282983e-01  3.84402208e-01  3.68862989e-01
  3.68862989e-01  2.02192928e-01  1.83278406e-01  1.03392613e-01
  1.03392613e-01  9.24577049e-02  8.37138977e-02  6.77467636e-02
  6.89757619e-02]
t: [  7.   7.  31.  55.  56.  62.  66.  76.  81.  84.  86.  94.  96. 103.
 106. 110. 119. 127. 133. 135. 139. 141. 146. 151. 155. 156. 158. 161.
 162. 167. 167. 169. 171. 174. 176. 179. 185. 186. 186. 190. 191. 191.
 192. 197. 198. 199. 201. 205. 206. 206. 215. 216. 221. 221. 222. 223.
 229. 235. 235.]
c: [       nan        nan        nan        nan        nan        nan
        nan        nan        nan        nan        nan        nan
        nan        nan        nan        nan        nan        nan
        nan        nan        nan        nan        nan        nan
        nan        nan        nan        nan        nan        nan
        nan        nan        nan        nan        nan        nan
        nan        nan        nan        nan        nan        nan
        nan        nan        nan        nan        nan        nan
        nan        nan        nan        nan 0.10339261 0.0924577
 0.0837139  0.06774676 0.06897576 0.         0.        ]
k: 1

Сюжет выглядит так:

enter image description here

Что не так с моими данными?

...