Gói phần mềm để giải quyết hồi quy tuyến tính định mức L-infinite


10

Có gói phần mềm nào để giải quyết hồi quy tuyến tính với mục tiêu giảm thiểu định mức L-infinite.


Vâng, bất kỳ gói lập trình tuyến tính sẽ làm việc. Điều đó để lại cho bạn rất nhiều lựa chọn. :)
Đức hồng y

1
@Cardinal Làm thế nào bạn sẽ đúc lại này như là một chương trình tuyến tính? Không rõ ràng làm thế nào để làm điều đó ngay cả trong các trường hợp tầm thường (chẳng hạn như hai điểm dữ liệu và một tham số): không có ràng buộc và hàm mục tiêu là phi tuyến.
whuber

Cụm từ khóa : xấp xỉ Ch Quashev. (Cần theo dõi thêm. Ý tưởng là giới thiệu một biến phụ sau đó biến mục tiêu thành các ràng buộc.)
Hồng y

@cardinal Ý bạn là cái này: mathworld.wolfram.com/ChithershevApproimumationFormula.html Có vẻ khá phức tạp.
Fan Zhang

Chà, nó có một chút liên quan, nhưng không phải là nguyên nhân của vấn đề này. Vấn đề của bạn có thể được giải quyết với một LP đơn giản. Ngay khi tôi có thể đến máy tính, tôi sẽ đăng câu trả lời.
Đức hồng y

Câu trả lời:


17

Câu trả lời ngắn : Vấn đề của bạn có thể được coi là một chương trình tuyến tính (LP), khiến bạn phải chọn trình giải LP yêu thích cho nhiệm vụ. Để xem cách viết bài toán dưới dạng LP, hãy đọc tiếp.

Vấn đề tối thiểu hóa này thường được gọi là xấp xỉ Ch Quashev .

Hãy , với hàng được ký hiệu là và . Sau đó, chúng tôi tìm cách giảm thiểu hàm đối với . Biểu thị giá trị tối ưu theo y=(yi)RnXRn×pixiβRpf(β)=yXββ

f=f(β)=inf{f(β):βRp}.

Chìa khóa để gọi lại điều này dưới dạng LP là viết lại vấn đề ở dạng biểu đồ . Thật không khó để thuyết phục bản thân rằng, trên thực tế,

f=inf{t:f(β)t,tR,βRp}.

Bây giờ, bằng cách sử dụng định nghĩa của hàm , chúng ta có thể viết lại phía bên phải ở trên dưới dạng và vì vậy chúng tôi thấy rằng việc giảm thiểu định mức trong cài đặt hồi quy tương đương với LP trong đó việc tối ưu hóa được thực hiện trên và biểu thị một vectơ có độ dài . Tôi để nó như một bài tập (dễ) cho người đọc để lấy lại LP ở trên ở dạng chuẩn.f

f=inf{t:tyixiβt,tR,βRp,1in},
minimizetsubject toyXβt1nyXβt1n,
(β,t)1nn

Mối quan hệ với phiên bản (tổng biến thể) của hồi quy tuyến tính1

Thật thú vị khi lưu ý rằng một cái gì đó rất giống nhau có thể được thực hiện với định mức . Đặt . Sau đó, các đối số tương tự dẫn đến kết luận rằng do đó LP tương ứng là 1g(β)=yXβ1

g=inf{tT1n:tiyixiβti,t=(ti)Rn,βRp,1in},
minimizetT1nsubject toyXβtyXβt.

Lưu ý ở đây rằng bây giờ là một vectơ có độ dài thay vì vô hướng, như trong trường hợp .tn

Sự giống nhau trong hai vấn đề này và thực tế là cả hai đều có thể được chọn làm LP, tất nhiên, không phải là ngẫu nhiên. Hai chuẩn mực có liên quan ở chỗ chúng là các chuẩn mực kép của nhau.


Làm thế nào bạn sẽ tìm thấy một số biện pháp chính xác cho các tham số và / hoặc dự đoán? Tôi hỏi vì câu hỏi gần đây sau đây: mathicala.stackexchange.com/questions/214226/NH .
JimB

3

Malab có thể làm điều đó, sử dụng cvx. để có được cvx (miễn phí):

http://cvxr.com/cvx/doad/

Trong cvx, bạn sẽ viết nó theo cách này:

cvx_begin
   variable x(n);
   minimize( norm(A*x-b,Inf) );
cvx_end

(kiểm tra ví dụ trang 12 của tài liệu hướng dẫn )

Có một triển khai Python của CVX ( ở đây ) nhưng các lệnh hơi khác nhau ...


1

Câu trả lời của @ cardinal được nêu rõ và đã được chấp nhận, nhưng, vì mục đích đóng hoàn toàn chủ đề này, tôi sẽ đưa ra những điều sau: Thư viện số IMSL chứa một thói quen để thực hiện hồi quy định mức L- infinite . Các thường trình có sẵn trong Fortran, C, Java, C # và Python. Tôi đã sử dụng các phiên bản C và Python mà phương thức gọi là lnorm_regression, cũng hỗ trợ hồi quy L_p chung , .Lpp>=1

Lưu ý rằng đây là các thư viện thương mại nhưng các phiên bản Python là miễn phí (như trong bia) cho mục đích phi thương mại.


Unfortunatley, liên kết không hoạt động nữa. Bạn có thể cập nhật nó?
COOLSerdash
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.