2013-04-27 35 views
6

tôi sau cùng với một mô hình statsmodels tutorialkhoảng tin cậy cho dự báo mô hình

Một OLS được trang bị

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

Giá trị dự đoán được cung cấp thông qua:

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

Kết quả là được trả về dưới dạng mảng giá trị đơn.

Có phương pháp nào cũng trả về khoảng tin cậy cho giá trị dự đoán (khoảng dự đoán) trong mô hình thống kê không?

Cảm ơn.

+0

Bạn có google "python statsmodels confidence" không? – Floris

+3

Vâng, tôi đã xem xét điều đó. Nó trả về CI của các giá trị được trang bị trong bản tóm tắt kết quả mô hình. Tôi đã tìm kiếm CI của các giá trị dự đoán. Về cơ bản tôi đang tìm kiếm 95% CI của Y_hat. – John

Trả lời

10

Chúng tôi đã có nghĩa là làm cho việc này dễ dàng hơn. Bạn sẽ có thể sử dụng

from statsmodels.sandbox.regression.predstd import wls_prediction_std 
prstd, iv_l, iv_u = wls_prediction_std(results) 

Nếu bạn gặp bất kỳ sự cố nào, vui lòng gửi vấn đề về github.

+0

Cảm ơn @jseabold. Tôi biết nó phải có tính năng ở đâu đó. – John

+1

Có cách nào để nhận khoảng thời gian dự đoán cũng cho dữ liệu MỚI được mô hình dự đoán không? Phương pháp được trích dẫn ở đây trả về các khoảng dự đoán chỉ dành cho dữ liệu huấn luyện. –

+1

@MarcoMene 'wls_prediction_std()' chấp nhận đối số thứ hai, 'exog' có thể là dữ liệu MỚI. – Mattijn

0

ngoài ra bạn có thể thử sử dụng phương pháp 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) 

tôi thấy phương pháp summary_frame() chôn here và bạn có thể tìm ra phương pháp get_prediction() here. Bạn có thể thay đổi mức ý nghĩa của khoảng tin cậy và khoảng thời gian dự đoán bằng cách sửa đổi thông số "alpha".

Các vấn đề liên quan