2015-06-28 5 views
1

У меня есть модель LOWESS, привязанная к моим данным, с использованием statsmodels, и теперь я хочу использовать это для вывода в своих тестовых данных. Пакеты statsmodels не предоставляют интерфейс для вывода, но поскольку у меня есть ~ 14.000 точек, описывающих довольно простую связь, я уверен, что линейная интерполяция будет просто прекрасной.Интерполяция как предсказание в Python

Как можно расширить мой код ниже, чтобы использовать существующие (x, y) -пары для вывода на новые наблюдения с использованием линейной интерполяции?

import numpy as np 
import pylab as plt 
import statsmodels.api as sm 

x = np.linspace(0,2*np.pi,100) 
y = np.sin(x) + np.random.random(100) * 0.2 
lowess = sm.nonparametric.lowess(y, x, frac=0.1) 

ответ

1

Вы можете использовать NumPy interp на ваших данных, как это:

import numpy as np 
new_x_values = [0,1,2] 
np.interp(new_x_values, lowess[:,0], lowess[:,1]) 
Смежные вопросы