Tôi đồng ý với Glen_b. Trong các bài toán hồi quy, trọng tâm chính là các tham số chứ không phải biến độc lập hoặc bộ dự đoán, x. Và sau đó người ta có thể quyết định liệu người ta muốn tuyến tính hóa vấn đề bằng cách sử dụng các phép biến đổi đơn giản hay tiến hành nó như vậy.
Các vấn đề tuyến tính: đếm số lượng tham số trong vấn đề của bạn và kiểm tra xem tất cả chúng có sức mạnh không 1. Ví dụ: . Hàm này là phi tuyến tính trong . Nhưng đối với các vấn đề hồi quy, tính phi tuyến tính trong không phải là vấn đề. Người ta phải kiểm tra xem các tham số là tuyến tính hay tuyến tính. Trong trường hợp này, , , , .. đều có lũy thừa 1. Vì vậy, chúng là tuyến tính.y=ax+bx2+cx3+dx2/3+e/x+fx−4/7xxabcf
Xin lưu ý rằng, trong , mặc dù có vẻ như nó có sức mạnh 1, nhưng khi mở rộng
. Bạn có thể thấy rõ rằng đó là một tham số phi tuyến vì có công suất lớn hơn 1. Nhưng, vấn đề này có thể được tuyến tính hóa bằng cách gọi một phép biến đổi logarit. Đó là, một vấn đề hồi quy phi tuyến được chuyển đổi thành một vấn đề hồi quy tuyến tính.y=exp(ax)exp(ax)=1+ax/1!+(ax)2/2!+…
Tương tự, là một hàm logistic. Nó có ba tham số, đó là , và . Các tham số và có công suất lớn hơn 1 và khi được mở rộng, chúng nhân với mỗi khác, mang lại tính phi tuyến. Vì vậy, chúng không tuyến tính. Nhưng, chúng cũng có thể được tuyến tính hóa bằng cách sử dụng một sự thay thế thích hợp bằng cách đặt đầu tiên và sau đó gọi hàm logarit ở cả hai bên để tuyến tính hóa.y=a/(1+bexp(cx)abcbc(a/y)−1=Y
Bây giờ giả sử . Đây là một lần nữa phi tuyến đối với các tham số. Nhưng, nó không thể được tuyến tính hóa. Người ta cần sử dụng hồi quy phi tuyến.y=a1/(1+b1exp(c1x))+a2/(1+b2exp(c2x))
Về nguyên tắc, sử dụng chiến lược tuyến tính để giải quyết vấn đề hồi quy phi tuyến không phải là một ý tưởng hay. Vì vậy, giải quyết các vấn đề tuyến tính (khi tất cả các tham số có công suất 1) bằng cách sử dụng hồi quy tuyến tính và áp dụng hồi quy phi tuyến nếu các tham số của bạn là phi tuyến.
Trong trường hợp của bạn, thay thế hàm trọng số trở lại trong hàm chính. Tham số sẽ là tham số duy nhất có công suất 1. Tất cả các tham số khác là phi tuyến ( cuối cùng sẽ nhân với và (hai tham số này là tham số phi tuyến) khiến nó cũng là vấn đề hồi quy phi tuyến. .β0β1θ1θ2
Áp dụng một kỹ thuật bình phương tối thiểu phi tuyến để giải quyết nó. Chọn các giá trị ban đầu một cách khéo léo và sử dụng cách tiếp cận nhiều bước để tìm cực tiểu toàn cầu.
Đoạn video này sẽ hữu ích (mặc dù nó không nói về giải pháp toàn cầu): http://www.youtube.com/watch?v=3Fd4ukzkxps
Sử dụng bộ giải phi tuyến GRG trong bảng tính Excel (cài đặt gói công cụ bộ giải bằng cách đi tới các tùy chọn - Bổ trợ - Bổ trợ Excel và sau đó chọn Bổ trợ bộ giải) và gọi đa cấp trong danh sách tùy chọn bằng cách quy định các khoảng cho các tham số và yêu cầu độ chính xác ràng buộc và độ hội tụ nhỏ, một giải pháp toàn cầu có thể thu được.
Nếu bạn đang sử dụng Matlab, hãy sử dụng hộp công cụ tối ưu hóa toàn cầu. Nó có các tùy chọn multistart và globalalsearch. Một số mã có sẵn ở đây cho một giải pháp toàn cầu, ở đây
và
ở đây .
Nếu bạn đang sử dụng Mathicala, hãy nhìn vào đây .
Nếu bạn đang sử dụng R, hãy thử ở đây .