Giả sử không có gì đặc biệt trong trường hợp cụ thể của bạn, tôi nghĩ rằng có một lý lẽ tốt cho việc sử dụng mặc định (Lỗi bình phương trung bình) hoặc sử dụng giá trị trung bình của lỗi của các bản ghi hoặc thậm chí là lỗi chi bình phương.
Mục đích của hàm chi phí là thể hiện mức độ "khó chịu" của bạn với những dự đoán sai, cụ thể là "sai" nào làm phiền bạn nhất. Điều này đặc biệt quan trọng đối với các phản ứng nhị phân, nhưng có thể quan trọng trong mọi tình huống.
Lỗi bình phương trung bình (của phản hồi)
C= 1nΣTôi( YTôi- Y^Tôi)2
Sử dụng MSE, bạn cũng nhạy cảm như nhau đối với các lỗi từ bên trên và bên dưới và nhạy cảm như nhau đối với các dự đoán lớn và nhỏ. Đây là một điều khá chuẩn để làm, và vì vậy tôi không nghĩ sẽ bị cau mày trong hầu hết các tình huống.
Lỗi bình phương trung bình (của phản hồi nhật ký)
C= 1nΣTôi( lnYTôi- lnY^Tôi)2
Bởi vì bạn đang làm việc với dữ liệu đếm, có thể lập luận rằng bạn không đối xứng cũng như không phân biệt kích thước. Việc tính ra 10 lần cho một dự đoán là 10 rất khác với dự đoán là 1000. Đây là một hàm chi phí có phần "chính tắc", bởi vì bạn đã khớp các chi phí với chức năng liên kết. Điều này đảm bảo rằng chi phí phù hợp với phân phối phương sai được giả định trong mô hình.
Lỗi bình phương
C= 1nΣTôi( YTôi- Y^Tôi)2Y^Tôi
Cách thứ ba sẽ là sử dụng lỗi chi bình phương. Điều này có thể đặc biệt hấp dẫn nếu bạn so sánh GLM của mình với các mô hình dựa trên số đếm khác - đặc biệt nếu có các yếu tố trong GLM của bạn. Tương tự như các phản hồi nhật ký lỗi, điều này sẽ mở rộng theo kích thước, nhưng nó đối xứng xung quanh số lượng dự đoán. Bây giờ bạn đang đánh giá mức độ phù hợp dựa trên sai số phần trăm.
Về sự bất mãn
Câu hỏi trích dẫn ví dụ tài liệu nơi họ có biến phản ứng nhị phân, vì vậy sử dụng hàm chi phí khác. Vấn đề của phản hồi nhị phân là GLM sẽ dự báo một số thực từ 0 đến 1, mặc dù phản hồi luôn chính xác là 0 hoặc 1. Hoàn toàn hợp lệ khi nói rằng số đó càng gần với phản hồi chính xác thì càng tốt dự báo, nhưng mọi người thường không muốn điều này. Lý do là người ta thường phải hành động như là 0 hoặc 1, và do đó sẽ lấy bất kỳ giá trị nào dưới 0,5 như dự báo cho 0. Trong trường hợp đó, thật đơn giản để đếm số lượng dự báo "sai". Lập luận ở đây là đối với một câu hỏi Đúng / Sai, bạn chỉ có thể đúng hoặc sai - không có sự phân loại sai.
Trong trường hợp của bạn, bạn có dữ liệu đếm. Ở đây, thông thường hơn nhiều để chấp nhận các dự đoán không hỗ trợ giống như phản hồi. Một dự đoán 2,4 trẻ em mỗi gia đình, hoặc 9,7 cái chết mỗi năm. Thông thường, người ta sẽ không cố gắng làm bất cứ điều gì về điều này bởi vì nó không phải là "đúng" hay "sai", gần như bạn có thể nhận được. Nếu bạn thực sự phải có một dự đoán là một số nguyên, có lẽ vì bạn có tỷ lệ đếm rất rất thấp, nên không có lý do gì bạn không thể làm tròn dự đoán trước và đếm "toàn bộ số" hoặc lỗi. Trong trường hợp này, ba biểu thức trên vẫn áp dụng, nhưng bạn chỉ cần lọt vào vòng đầu tiên.Y^
cv.glmnet
trong góiglmnet
sử dụngtype.measure="deviance"
cho họ Poisson.