Как получить интервал прогнозирования для столбца прогнозов - PullRequest
0 голосов
/ 24 января 2020

Как получить для моего прогноза столбцы доверительных интервалов или интервалов прогноза 95% и ниже и выше?

df1 = pd.DataFrame({
        'cumsum_days': [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],
        'prediction': [800, 900, 1200, 700, 600, 
                 550, 500, 650, 625, 600,
                550, 525, 500, 400, 350]})

Желаемый фрейм данных выглядит примерно так:

prediction  lower_ci   high_ci
800         some_num   some num
900         some_num   some num
1200        some_num   some num
700         some_num   some num

Только эти функции дайте мне однозначные цифры, однако я ищу 95% доверительные интервалы для df.prediction (15 точек данных на штуку).

mean = df.prediction.mean()
std = df.prediction.std()

Я также пробовал это (ниже), однако он дает мне только три значения вместо 2 дополнительных массивов доверительных интервалов / интервалов для моих предсказанных значений:

import numpy as np
import scipy.stats


def mean_confidence_interval(data, confidence=0.95):
    a = 1.0 * np.array(data)
    n = len(a)
    m, se = np.mean(a), scipy.stats.sem(a)
    h = se * scipy.stats.t.ppf((1 + confidence) / 2., n-1)
    return m, m-h, m+h

1 Ответ

0 голосов
/ 25 января 2020

Как на счет этого?

bins = [0, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.25, 3.5, 3.75, 4, 4.25, 4.5, 4.75, 5, 5.25, 5.5, 5.75, 6, 6.25, 6.5, 6.75, 7, 7.25, 7.5, 7.75, 8, 8.25, 8.5, 8.75, 9, 9.25, 9.5, 9.75, 10, np.inf]
labels = ['0', '1', '1.25', '1.5', '1.75', '2', '2.25', '2.5', '2.75', '3', '3.25', '3.5', '3.75', '4', '4.25', '4.5', '4.75', '5', '5.25', '5.5', '5.75', '6', '6.25', '6.5', '6.75', '7', '7.25', '7.5', '7.75', '8', '8.25', '8.5', '8.75', '9', '9.25', '9.5', '9.75', '10']

dataset['RatingScore'] = pd.cut(dataset['Rating'], bins=bins, labels=labels, right=True)

Вы можете создать свою базовую c настройку и затем преобразовать конечный объект в фрейм данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...