R語言實現(xiàn)廣義線性回歸模型
廣義線性模型(GLM)是常見正態(tài)線性模型的直接推廣,它可以適用于連續(xù)數(shù)據(jù)和離散數(shù)據(jù),特別是后者,如屬性數(shù)據(jù)、計數(shù)數(shù)據(jù)。這在應用上,尤其是生物、醫(yī)學、經(jīng)濟和社會數(shù)據(jù)的統(tǒng)計分析上,有著重要意義。
對于廣義線性模型應有一下三個概念:
- 第一是線性自變量,它表明第i個響應變量的期望值E(yi)只能通過線性自變量βTxi而依賴于xi,其中如通常一樣,β是未知參數(shù)的(p+1)x1向量,可能包含截距。
- 第二是連續(xù)函數(shù),它說明線性自變量和E(yi)的關系,給出了線性模型的推廣。
- 第三是誤差函數(shù),它說明廣義線性模型的最后一部分隨機成分。
我們保留樣本為相互獨立的假設,但去掉可加和正態(tài)誤差的假設??梢詮闹笖?shù)型分布族中作選一個作為誤差函數(shù)。
1 與廣義線性模型有關的R函數(shù)
R軟件提供了擬合計算廣義線性模型的函數(shù)glm(),其命令格式如下:

其中:
- formula是擬合公式,這里的意義與線性模型相同,
- family是分布族,即前面講到的廣義線性模型的種類,如正態(tài)分布,Poisson分布,二項分布等。
- data是數(shù)據(jù)框,這里的意義與線性模型相同。
對于每個分布族(family),提供了相應的連接函數(shù),如表6.12所示:

有了這些分布族和連接函數(shù),我么就可以完成相應的廣義線性模型的擬合問題。
2 正態(tài)分布族
正態(tài)分布族的使用方法是:

式中l(wèi)ink=identity可以不寫,因為正態(tài)分布族的連接函數(shù)缺省值是恒等(identity)。事實上,整個參數(shù)family = gaussian也可以不寫,因為分布族的缺省值就是正態(tài)分布。
從表6.11可以看出,正態(tài)分布族的廣義線性模型實際上與線性模型是相同的,也就是說:
![]()
與線性模型
![]()
有完全相同的計算結(jié)果,但效率卻低的多。
3 二項分布族
在二項分布族中,logistic回歸模型是最重要的模型。在某些回歸問題中,相應變量使分類的,經(jīng)常是或者成功,或者失敗。對于這些問題,正態(tài)線性模型顯然是不合適的,因為正態(tài)誤差不對應一個0-1相應。在這種情況下,可用一種重要的方法稱為logistic回歸。
用R軟件計算logistic回歸模型的公式為:

式中l(wèi)ink=logit可以不寫,因為logit是二項分布族連接函數(shù)是缺省狀態(tài)。
在用glm()函數(shù)做logistic回歸模型使,對于公式formula有兩種輸入方法,一種是輸入成功和失敗的次數(shù),另一種像線性模型通常數(shù)據(jù)的輸入方式。
例 R. Norell實驗
為研究高壓電線對牲畜的影響,R.Norell研究小的電流對農(nóng)場動物的影響。他在實驗中,選擇了7頭,6種電流強度,0,1,2,3,4,5毫安。每頭牛被點擊30下,每種強度5下,按隨機的次序進行。然后重復整個實驗,每頭??偣脖稽c擊60下。對每次電擊,相應變量——嘴巴運動,或者出現(xiàn),或者未出現(xiàn)。表6.13中的數(shù)據(jù)給出每種電擊強度70次實驗中相應的總次數(shù)。試分析電擊對牛的影響。

解:用數(shù)據(jù)框形式輸入數(shù)據(jù),在構(gòu)造矩陣,一列是成功(響應)的次數(shù),另一列是失敗(不響應)的次數(shù),然后在做logistic回歸。其程序如下:
首先構(gòu)造出的數(shù)據(jù)框如下:

對構(gòu)造好的數(shù)據(jù)框進行處理如下:

構(gòu)建logistic模型如下:


與線性回歸模型相同,在得到回歸模型后,可以作出預測。例如,當電流強度為3.5毫安時,有相應的牛的概率為多少?

即:74.26%。
可以作出控制,如有50%的牛有相應,其電流強度為多少?

即:2.65毫安的電流強度,可以使50%的牛有響應。
最后畫出相應的比例與logistic回歸曲線。R軟件的繪圖命令如下:

在程序中,d是給出曲線橫坐標的點,pre是計算預測值,p是相應的預測概率。用plot函數(shù)和lines函數(shù)給出散點圖和對應的預測曲線。
到此這篇關于R語言實現(xiàn)廣義線性回歸模型的文章就介紹到這了,更多相關R語言 廣義線性回歸模型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
R語言中dnorm,pnorm,qnorm和rnorm的區(qū)別淺析
正在學習R語言統(tǒng)計學的小伙伴,可能會被各種專有名詞所困擾,下面這篇文章主要給大家介紹了關于R語言中dnorm,pnorm,qnorm和rnorm區(qū)別的相關資料,需要的朋友可以參考下2022-12-12
R語言數(shù)據(jù)框合并(merge)的幾種方式小結(jié)
這篇文章主要介紹了R語言數(shù)據(jù)框合并(merge)的幾種方式小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03

