Xin lỗi nếu câu hỏi này đi qua một chút cơ bản.
Tôi đang tìm cách sử dụng lựa chọn biến LASSO cho mô hình hồi quy tuyến tính đa biến trong R. Tôi có 15 dự đoán, một trong số đó là phân loại (điều đó có gây ra vấn đề không?). Sau khi đặt và tôi sử dụng các lệnh sau:y
model = lars(x, y)
coef(model)
Vấn đề của tôi là khi tôi sử dụng coef(model)
. Điều này trả về một ma trận có 15 hàng, với một dự đoán bổ sung được thêm vào mỗi lần. Tuy nhiên, không có gợi ý nào để chọn mô hình. Tôi đã bỏ lỡ một cái gì đó? Có cách nào để tôi có thể lấy gói lars để trả về chỉ một mô hình " tốt nhất " không?
Có những bài viết khác đề nghị sử dụng glmnet
thay thế nhưng điều này có vẻ phức tạp hơn. Một nỗ lực như sau, sử dụng cùng và . Tôi đã bỏ lỡ điều gì ở đây?: y
cv = cv.glmnet(x, y)
model = glmnet(x, y, type.gaussian="covariance", lambda=cv$lambda.min)
predict(model, type="coefficients")
Lệnh cuối cùng trả về một danh sách các biến của tôi, phần lớn có hệ số mặc dù một số là = 0. Đây có phải là lựa chọn chính xác của mô hình " tốt nhất " được LASSO chọn? Nếu sau đó tôi phù hợp với một mô hình tuyến tính với tất cả các biến có hệ số not=0
tôi nhận được rất giống nhau, nhưng hơi khác, ước tính hệ số. Có một lý do cho sự khác biệt này? Có thể chấp nhận cải tiến mô hình tuyến tính với các biến này do LASSO chọn và lấy đó làm mô hình cuối cùng của tôi không? Mặt khác, tôi không thể thấy bất kỳ giá trị p nào cho ý nghĩa. Tôi đã bỏ lỡ bất cứ điều gì?
Làm
type.gaussian="covariance"
đảm bảo rằng glmnet
sử dụng nhiều hồi quy tuyến tính?
Liệu chuẩn hóa tự động của các biến có ảnh hưởng đến các hệ số không? Có cách nào để bao gồm các điều khoản tương tác trong thủ tục LASSO không?
Tôi đang tìm cách sử dụng quy trình này nhiều hơn như một minh chứng về cách sử dụng LASSO so với bất kỳ mô hình nào thực sự sẽ được sử dụng cho bất kỳ suy luận / dự đoán quan trọng nào nếu điều đó thay đổi bất cứ điều gì.
Cảm ơn bạn đa bỏ thơi gian ra đọc nhưng điêu nay. Bất kỳ nhận xét chung nào về LASSO / lars / glmnet cũng sẽ được đánh giá rất cao.