Intervalle de confiance pour LOWESS en Python

comment calculer les intervalles de confiance pour une régression LOWESS en Python? Je voudrais les ajouter comme une région ombrée au graphique de LOESS créé avec le code suivant (d'autres paquets que des modèles de statistiques sont aussi bien).

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()

j'ai ajouté un exemple de graphique avec intervalle de confiance ci-dessous à partir du webblog Statistiques Sérieuses (il est créé en utilisant ggplot dans R).

enter image description here

20
demandé sur pir 2015-06-28 23:45:14

1 réponses

LOESS n'a pas de concept explicite pour l'erreur standard. Il n'a tout simplement pas de sens dans ce contexte. Depuis que c'est terminé, vous êtes resté avec l'approche de la force brute.

Bootstrap vos données. Vous allez ajuster une courbe de LOESS aux données bootstrapped. Voir le milieu de cette page pour rechercher une jolie photo de ce que vous faites. http://statweb.stanford.edu/~susan/courses/s208/node20.html

enter image description here

une fois vous avez votre grand nombre de courbes LOESS différentes, vous pouvez trouver le haut et le bas XE centile.

enter image description here

9
répondu James Natale 2017-04-06 12:26:34