[問題] 利用newton-raphson method 求迴歸係數

看板R_Language作者 (asdfge)時間10年前 (2015/12/05 18:11), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/4 (看更多)
如題,利用牛頓法求logistic regression迴歸係數的最大概似估計值, 目前我有牛頓法的雛型, rm(list = ls()) newton <- function(f3, x0, tol = 1e-9, n.max = 100) { x <- x0 f3.x <- f3(x) n <- 0 while ((max(abs(f3.x[[1]])) > tol) & (n < n.max)) { x <- x - solve(f3.x[[2]]) %*% f3.x[[1]] f3.x <- f3(x) n <- n + 1 } if (n == n.max) { cat('newton failed to converge\n') } else { return(x) } } 以下是我的data,我目前了解需先創立一個新的矩陣 X=[1 gpa gre] (共有n行是一個n*3的矩陣) 再創造一個 [Y-pi1](共有n行是一個n*1的矩陣,其中pi是機率) 但這個地方我不太明白pi要是多少? 是利用上面所創作出來的矩陣相乘得到f3,在代迴上述求解嗎? 這樣解會是一個矩陣? (迴歸係數) 麻煩厲害的人求解 感謝! <data> y是admit x是gre、gpa ID admit gre gpa 1 0 380 3.61 2 1 660 3.67 3 1 800 4 4 1 640 3.19 5 0 520 2.93 6 1 760 3 7 1 560 2.98 8 0 400 3.08 9 1 540 3.39 10 0 700 3.92 11 0 800 4 12 0 440 3.22 13 1 760 4 14 0 700 3.08 15 1 700 4 16 0 480 3.44 17 0 780 3.87 18 0 360 2.56 19 0 800 3.75 20 1 540 3.81 21 0 500 3.17 22 1 660 3.63 23 0 600 2.82 24 0 680 3.19 25 1 760 3.35 26 1 800 3.66 27 1 620 3.61 28 1 520 3.74 29 1 780 3.22 30 0 520 3.29 31 0 540 3.78 32 0 760 3.35 33 0 600 3.4 34 1 800 4 35 0 360 3.14 36 0 400 3.05 37 0 580 3.25 38 0 520 2.9 39 1 500 3.13 40 1 520 2.68 41 0 560 2.42 42 1 580 3.32 43 1 600 3.15 44 0 500 3.31 45 0 700 2.94 46 1 460 3.45 47 1 580 3.46 48 0 500 2.97 49 0 440 2.48 50 0 400 3.35 -- Sent from my Windows -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.26.37.213 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1449310298.A.792.html
文章代碼(AID): #1MOhXQUI (R_Language)
文章代碼(AID): #1MOhXQUI (R_Language)