Nguyên nhân của số ít trong ma trận cho hồi quy lượng tử


8

Tôi đang thực hiện hồi quy lượng tử trong R bằng cách sử dụng gói lượng tử. Tập dữ liệu của tôi bao gồm 12.328 quan sát trong khoảng từ 0,12 đến 330. Các mốc thời gian cho dữ liệu của tôi không chính xác liên tục; tất cả dữ liệu rơi vào một trong vài chục thùng từ 73 đến 397.

Khi tôi thực hiện hồi quy tuyến tính trên dữ liệu này bằng hàm lm (), tôi có thể thực hiện điều này với đa thức lên đến 4:

lm(Y~poly(X,3,raw=TRUE),data=mydata)

Tuy nhiên, với gói quantreg và lệnh rq (), tôi không thể sử dụng bất kỳ đa thức nào. Hồi quy đơn giản chỉ hoạt động tốt:

rq(Y~X,data=mydata,tau=.15)

Nhưng ngay khi tôi nhận được vào đa thức, không có xúc xắc. Khi tôi nhập này:

rq(Y~poly(X,2,raw=TRUE),data=mydata,tau=.15)

Tôi nhận được thông báo lỗi sau:

Error in rq.fit.br(x, y, tau = tau, ...) : Singular design matrix

Tôi đã đọc các ma trận số ít và tôi nghĩ có thể có hai lý do cho việc này: (1) Tôi chỉ có một biến trên mỗi trục hoặc (2) dữ liệu của tôi bị đánh cắp / biến Y không thực sự liên tục.

Bất cứ ai có thể cho tôi biết tại sao tôi nhận được lỗi này?

PS - Đây là cách biểu đồ trông:

nhập mô tả hình ảnh ở đây


Bạn đã nhận được bất kỳ câu trả lời cho điều này? Có vẻ như điều này là do không lớn. của các giá trị lặp lại [ stat.ethz.ch/pipermail/r-help//2013-April3531935.html]
Mohit Verma

Câu trả lời:


7

Tôi tin rằng lý do nó xuất hiện dưới dạng số ít là lý do thứ hai của bạn, rằng dữ liệu bị đánh cắp. Quan sát trùng lặp (đối với một giá trị x, nhiều phản hồi) làm tăng cơ hội của số ít.

Tôi đã có thông báo lỗi giống như bạn với một bộ dữ liệu có cấu trúc tương tự. Tôi có nhiều quan sát cho mỗi giá trị x, một số trong đó giống hệt nhau. Tôi đã khắc phục bằng cách 'xáo trộn' dữ liệu, thêm một lượng nhiễu ngẫu nhiên rất nhỏ vào các giá trị phản hồi bằng cách sử dụng rnorm (). Điều này có nghĩa là mặc dù có nhiều quan sát cho mỗi giá trị x, nhưng không có lặp lại giống hệt nhau và hàm rq () hoạt động. Miễn là tiếng ồn bạn thêm nhỏ, nó sẽ không ảnh hưởng đến hệ số và ước tính SE từ rq đáng chú ý.


1

Một thay thế cho rnorm()đề xuất của Jack Ballard là sử dụng jitter()từ gói cơ sở.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.