Re: [討論] 如何加入限制式進行回歸

看板MATLAB作者 (天)時間7年前 (2017/03/10 01:18), 7年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《bear32147 (dogbear)》之銘言: : 現在想要將 限制某個迴歸係數>0 : 例如 y=k+ax1+bx2+cx3 : 想加上 c>0 的限制進去 : 這樣要用到什麼函數 或者是怎麼寫 : 謝謝 % data simulation numRows = 100; numCols = 3; X = [ones(numRows, 1), randn(numRows, numCols)]; beta = [-5; 3; 7; -4]; y = X * beta + randn(numRows, 1); % solve coef b0 = X \ y; % initial values obj = @(b) sum((y - X * b).^2); % objective function beta_sol = fmincon(obj, b0, [0, 0, 0, -1], 0); % solve all(abs(X(:, 1:3) \ y - beta_sol(1:3)) < 1e-6) # 1 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.235.41.96 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1489079920.A.F53.html ※ 編輯: celestialgod (36.235.41.96), 03/10/2017 01:21:28

03/13 17:19, , 1F
謝謝 我測試完沒問題會再上來回報
03/13 17:19, 1F
文章代碼(AID): #1OmOvmzJ (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1OmOvmzJ (MATLAB)