2013-03-02 30 views
9

Có ai biết gói R nào có triển khai thuật toán giảm tổng quát (GRG2) không? cảm ơnThuật toán giảm dần tổng quát (GRG2) trong R

+2

'thư viện (" sos "); findFn ("{tổng quát giảm gradient}"); findFn ("GRG2") 'cho thấy bạn có thể không may mắn. (Googling GRG2 cho thấy rằng việc thực hiện chính của thuật toán này là trong Solver của Excel.) Thay vì hỏi "là thuật toán này có sẵn?", Bạn có thể hỏi "Làm thế nào tôi có thể giải quyết vấn đề sau đây?" –

+0

Đây là một câu hỏi hay, nhưng 2 tuổi và không có câu trả lời chắc chắn. Có ai đã tạo ra một GRG hoặc GRG2 trong hàm R? Tôi hỏi vì tôi cũng có một tình huống mà bộ giải của Excel (dựa vào một số loại GRG) là nhanh và chính xác trên một vấn đề không hoạt động tốt với một vài phương thức optim(). – Anthony

+0

Nó vẫn còn thực tế. Tôi đã không tìm thấy bất kỳ thực hiện java mà tôi mong đợi tồn tại. – alnasfire

Trả lời

3

Vì @BenBolker đã thực hiện các bước chân ban đầu trong việc tìm kiếm loại chức năng nào bạn hy vọng sẽ sao chép, tôi đang đăng một sự theo dõi có thể hữu ích. Một trao đổi gần đây về Rhelp kết thúc với một trích đoạn mà được đề cử cho gói R fortunes, mặc dù nó không phải là rõ ràng với tôi cho dù đó đã được chấp nhận:

"The idea that the Excel solver "has a good reputation for being fast 
and accurate" does not withstand an examination of the Excel solver's 
ability to solve the StRD nls test problems. ... 
Excel solver does have the virtue that it will always produce an 
answer, albeit one with zero accurate digits." 

"I am unaware of R being applied to the StRD, but I did apply S+ to the 
StRD and, with analytic derivatives, it performed flawlessly." 

From: Bruce McCullough <[email protected]> 
Date: February 20, 2013 7:58:24 AM PST 

Dưới đây là một liên kết đến các công việc tự trích dẫn tài liệu về thất bại của Excel Solver (mà bây giờ chúng ta biết được cung cấp bởi một số phiên bản của thuật toán GRG2) bởi McCullough: www.pages.drexel.edu/~bdm25/chap8.pdf và liên kết đến trang web của NIST cho các vấn đề thử nghiệm đang ở đây: http://www.itl.nist.gov/div898/strd/nls/nls_info.shtmlhttp://www.itl.nist.gov/div898/strd/nls/nls_main.shtml

các bình luận tiêu cực (mang để sự chú ý của tôi bằng một downvote) từ @ jwg nhắc tôi làm lại tìm kiếm được đề xuất bởi Bolker. Vẫn không có lần truy cập nào cho findFn("GRG2"). Tôi có thể báo cáo một số truy cập cho "GRG" không ai trong số họ dường như một người giải quyết, và đã thích thú rằng một trong số họ có sự mở rộng hấp dẫn để "General Random Guessing model". Điều đó có vẻ đặc biệt thú vị khi lực đẩy của câu trả lời của tôi không được trả lời là việc chọn sử dụng bộ giải của Excel để lại một cách thực sự không chắc chắn về độ chính xác của giải pháp. Tôi không biết gì về việc đăng một "câu trả lời" không cung cấp chính xác những gì đã được yêu cầu, mà thay vào đó cảnh báo những người dùng không được tôn trọng theo cách của Microsoft trong lĩnh vực thống kê/toán học này. Việc thiếu bất kỳ nỗ lực nào trên một phần của các nhà phát triển R được phân phối để cung cấp một sự thay thế cho người giải quyết Excel là một cái gì đó để suy nghĩ nghiêm túc.

+0

Liên kết cho các sự cố kiểm tra đã chết. Có cách nào bạn có thể tìm thấy nó một lần nữa? –

+0

Bạn nên làm việc về kỹ năng googling của bạn. Lần truy cập đầu tiên cho tìm kiếm trên: "NIST StRD nls test problem" –

+0

các trang web gov thường khủng khiếp với dữ liệu của họ, tôi cho rằng nó sẽ được di dời. Tôi cũng nghĩ sẽ tốt hơn nếu câu trả lời của bạn cung cấp một liên kết thực sự và không muốn chỉnh sửa nội dung có thể được di chuyển. Cảm ơn bạn đã cập nhật. –

1

Một số hiểu biết relavant đến từ this post to R-help bởi một nhà khoa học thống kê có uy tín:

Mã trong Excel là thực sự gọi GRG2 (2 không thành vấn đề). Không giống như bất kỳ phương thức nào cho optim(), nó có thể xử lý bất bình đẳng phi tuyến ràng buộc và không cần một giải pháp ban đầu khả thi.

Có một lời giới thiệu về nó trong hướng dẫn tối ưu hóa NEOS: http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Blurbs/grg2.html

Đánh giá từ lời giới thiệu này, nó sẽ tương tự như L-BFGS-B cho các vấn đề không có trở ngại hay khó khăn hộp. -thomas

Thomas Lumley PGS. Giáo sư, Biostatistics tlumley tại u.washington.edu Đại học Washington, Seattle

Vì vậy, theo một số điều kiện nó có thể phù hợp để sử dụng optim như thế này ở vị trí của người giải quyết Excel:

optim(pars, 
     OptPars, 
     ... , 
     method = "L-BFGS-B") 

Note hướng dẫn tối ưu hóa NEOS hiện có tại đây: http://neos-guide.org/content/optimization-guide và GRG2 được đề cập trên trang này: http://neos-guide.org/content/reduced-gradient-methods Danh sách này liệt kê BFGS, CONOPT và một số khác là thuật toán liên quan. Bài viết mô tả chúng như là 'thuật toán Lagrange tăng cường dự kiến'. Theo số Optimization CTV, các thuật toán này có thể được tìm thấy trong nloptr, alabama và Rsolnp.

Tôi đã có kết quả phù hợp (với sáu hình ghép) giữa bộ giải Excel và R sử dụng gói optimx, nhưng YMMV.

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