Доверительный интервал для LOWESS в Python


Как бы я рассчитал доверительные интервалы для регрессии LOWESS в Python? Я хотел бы добавить их в качестве заштрихованной области к участку лесса, созданному с помощью следующего кода (другие пакеты, кроме statsmodels, также хороши).

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)

plt.plot(x, y, '+')
plt.plot(lowess[:, 0], lowess[:, 1])
plt.show()

Ниже я добавил пример графика с доверительным интервалом из вебблога Serious Stats (он создан с помощью ggplot в R).

Введите описание изображения здесь

1 20

1 ответ:

У лесса нет явного понятия стандартной ошибки. Это просто ничего не значит в данном контексте. Поскольку это исключено, вы придерживаетесь подхода грубой силы.

Загрузи свои данные. Вы собираетесь подогнать кривую лесса к загрузочным данным. Посмотрите на середину этой страницы, чтобы найти красивую картину того, что вы делаете. http://statweb.stanford.edu/~susan/courses/s208/node20.html

Введите описание изображения здесь

Как только у вас есть большое количество различных Лессовые кривые, вы можете найти верхний и Нижний X-й процентиль.

Введите описание изображения здесь