Скользящая линейная регрессия для использования с операцией groupby на фрейме данных cuDF

Я хотел бы рассчитать скользящий наклон y_value по x_value, используя cuML LinearRegression.

Пример данных (фрейм данных cuDF):

| date       | x_value | y_value |
| ------     | ------  |  ----   |
| 2020-01-01 | 900     | 10      |
| 2020-01-01 | 905     | 15      |
| 2020-01-01 | 910     | 15      |
| 2020-01-01 | 915     | 15      |
| 2020-01-02 | 900     | 30      |
| 2020-01-02 | 905     | 40      |
| 2020-01-02 | 910     | 50      |
| ------     | ------  | ------  |

Простая функция для использования LinearRegression:

def RollingOLS(x, y):
    lr = LinearRegression(fit_intercept = True, normalize = False, algorithm = 'svd')
    reg = lr.fit(x, y)
    
    return reg.coef_

Что бы я хотел сделать:

data.groupby('date').rolling(2).apply(RollingOLS, x=x_value, y=y_value)

Однако я получаю сообщение об ошибке: NotImplementedError: Handling UDF with null values is not yet supported. Есть ли способ побороть эту ошибку? Спасибо.


person nasiha    schedule 02.08.2020    source источник


Ответы (1)


Чтобы устранить ошибку NotImplementedError: Handling UDF with null values is not yet supported, переназначьте None/null значения другому значению или удалите образцы, которые имеют None/null значения из вашего DataFrame.

person saloni    schedule 03.08.2020
comment
Я не думаю, что после устранения вышеупомянутой ошибки ваш код будет работать. Пожалуйста, предоставьте воспроизводимую версию кода, чтобы помочь в дальнейшем анализе. - person saloni; 04.08.2020