2013-04-27 13 views
6

ja następujące wraz z statsmodels tutorialprzedziały ufności dla przewidywania modelu

modelu

OLS wyposażony

formula = 'S ~ C(E) + C(M) + X' 
lm = ols(formula, salary_table).fit() 
print lm.summary() 

przewidywane wartości są poprzez:

lm.predict({'X' : [12], 'M' : [1], 'E' : [2]})

W rezultacie zwracane jako pojedyncza tablica wartości.

Czy istnieje metoda zwracania przedziałów ufności dla przewidywanej wartości (interwały predykcji) w statsmodels?

Dzięki.

+0

Czy zgłosiłeś google "python statsmodels confidence"? – Floris

+3

Tak, spojrzałem na to. Zwraca wartość CI dopasowanych wartości w podsumowaniu wyników modelu. Szukałem CI przewidywanych wartości. Zasadniczo szukam 95% CI w Y_hat. – John

Odpowiedz

10

Staraliśmy się ułatwić to. Jeśli masz jakiekolwiek problemy, zgłoś problem na github.

+0

Dzięki @jseabold. Wiedziałem, że musi to być gdzieś. – John

+1

Czy istnieje sposób na uzyskanie interwałów predykcyjnych również dla NOWYCH danych przewidywanych przez model? Metoda cytowana tutaj zwraca przedziały predykcyjne tylko dla danych treningowych. –

+1

@MarcoMene 'wls_prediction_std()' zaakceptuj drugi argument, 'exog' który może być NOWYM danymi. – Mattijn

0

dodatkowo można spróbować użyć metody get_prediction.

values_to_predict = pd.DataFrame({'X' : [12], 'M' : [1], 'E' : [2]}) 
predictions = result.get_prediction(values_to_predict) 
predictions.summary_frame(alpha=0.05) 

znalazłem sposób summary_frame() pochowany here i można znaleźć metodę here get_prediction(). Możesz zmienić poziom istotności przedziału ufności i przedziału predykcji, modyfikując parametr "alpha".

Powiązane problemy