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

看板R_Language作者 (asdfge)時間10年前 (2015/12/05 19:45), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《celestialgod (天)》之銘言: : 我懶得推文了... : 問題如下: : 1. 你知道logistic的MLE怎麼算嗎? : 2. 你有了牛頓法的程式,但是你知道f3放什麼?x0放什麼嗎? : 3. 我看不懂你創的矩陣,[Y-pi1]是從哪裏來的? : 4. 從你的敘述裡面,似乎都對newton這個函數不熟悉,你要怎麼跑這個程式? : 5. 你知道R可以直接用glm求logistic regression的迴歸係數嗎? : ※ 引述《ritajen (asdfge)》之銘言: : : 如題,利用牛頓法求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,在代迴上述求解嗎? : : 這樣解會是一個矩陣? (迴歸係數) : : 麻煩厲害的人求解 感謝! 我知道R裡面可以直接算唷,不過規定不可以使用內建函數。 然後我知道MLE的求法,求殘差到回歸線的最小平方和。 f3的話我的理解是一個包刮{gradient,hessian}的函數, 我了解這兩個值需要利用矩陣相乘而得。 [Y-pi](這是提示給可以利用的矩陣),至於newton這個函數我是不熟沒有錯,因為剛開始接觸又沒有數理的背景,抱歉問了不好問題。 因為真的想了很多天還是無從下手,所以才想來請益各位,問題問得不好抱歉。 -- Sent from my Windows -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.113.80.64 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1449315949.A.E44.html
文章代碼(AID): #1MOivjv4 (R_Language)
文章代碼(AID): #1MOivjv4 (R_Language)