原文鏈接:http:///?p=6166在依賴模型得出結(jié)論或預(yù)測(cè)未來結(jié)果之前,我們應(yīng)盡可能檢查我們假設(shè)的模型是否正確指定。也就是說,數(shù)據(jù)不會(huì)與模型所做的假設(shè)沖突。對(duì)于二元結(jié)果,邏輯回歸是最流行的建模方法。在這篇文章中,我們將看一下 Hosmer-Lemeshow邏輯回歸的擬合優(yōu)度檢驗(yàn)。 Hosmer-Lemeshow擬合優(yōu)度檢驗(yàn)Hosmer-Lemeshow擬合優(yōu)度檢驗(yàn)是基于根據(jù)預(yù)測(cè)的概率或風(fēng)險(xiǎn)將樣本分開。具體而言,基于估計(jì)的參數(shù)值,對(duì)于樣本中的每個(gè)觀察,基于每個(gè)觀察的協(xié)變量值計(jì)算概率。 然后根據(jù)樣本的預(yù)測(cè)概率將樣本中的觀察分成g組(我們回過頭來選擇g)。假設(shè)(通常如此)g = 10。然后第一組由具有最低10%預(yù)測(cè)概率的觀察組成。第二組由預(yù)測(cè)概率次之小的樣本的10%等組成。 在實(shí)踐中,只要我們的一些模型協(xié)變量是連續(xù)的,每個(gè)觀測(cè)將具有不同的預(yù)測(cè)概率,因此預(yù)測(cè)的概率將在我們形成的每個(gè)組中變化。為了計(jì)算我們預(yù)期的觀察數(shù)量,Hosmer-Lemeshow測(cè)試取組中預(yù)測(cè)概率的平均值,并將其乘以組中的觀察數(shù)。測(cè)試也執(zhí)行相同的計(jì)算,然后計(jì)算Pearson擬合優(yōu)度統(tǒng)計(jì)量 選擇組的數(shù)量就我所見,關(guān)于如何選擇組數(shù)g的指導(dǎo)很少。Hosmer和Lemeshow的模擬結(jié)論是基于使用的,建議如果我們?cè)谀P椭杏?0個(gè)協(xié)變量 。 直觀地說,使用較小的g值可以減少檢測(cè)錯(cuò)誤規(guī)范的機(jī)會(huì)。 R首先,我們將使用一個(gè)協(xié)變量x模擬邏輯回歸模型中的一些數(shù)據(jù),然后擬合正確的邏輯回歸模型。
接下來,我們將結(jié)果y和模型擬合概率傳遞給hoslem.test函數(shù),選擇g = 10組:
這給出p = 0.49,表明沒有合適的不良證據(jù)。 我們還可以從我們的hl對(duì)象中獲得一個(gè)觀察到的與預(yù)期的表:
為了幫助我們理解計(jì)算,現(xiàn)在讓我們自己手動(dòng)執(zhí)行測(cè)試。首先,我們計(jì)算模型預(yù)測(cè)概率,然后根據(jù)預(yù)測(cè)概率的十分位數(shù)對(duì)觀測(cè)值進(jìn)行分類: <- mod$fitted\npihatcat <- cut(pihat, brks=c(0,quantile(pi 1,0.9,0.1)),1), els=FALSE)","classes":{"has":1}}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="codeSnippet"> 接下來,我們循環(huán)通過組1到10,計(jì)算觀察到的0和1的數(shù)量,并計(jì)算預(yù)期的0和1的數(shù)量。為了計(jì)算后者,我們找到每組中預(yù)測(cè)概率的均值,并將其乘以組大小,這里是10: <- array(0, dim=c(10,2))\nexpevents <- array(0, dim=c(10,2))\nobsevents <- array(0, dim=c(10,2))\n\nfor (i in 1:10) {\n\tmeanprobs[i,1] <- mean(pihat[pihatcat==i])\n \n\tobsevents[i,2] <- sum(1-y[pihatcat==i])\n}","classes":{"has":1}}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="codeSnippet"> 最后,我們可以通過表格的10x2單元格中的(觀察到的預(yù)期)^ 2 /預(yù)期的總和來計(jì)算Hosmer-Lemeshow檢驗(yàn)統(tǒng)計(jì)量:
與hoslem.test函數(shù)的測(cè)試統(tǒng)計(jì)值一致。 改變組的數(shù)量
雖然p值有所改變,但它們都顯然不重要,所以他們給出了類似的結(jié)論,沒有證據(jù)表明不合適。因此,對(duì)于此數(shù)據(jù)集,選擇不同的g值似乎不會(huì)影響實(shí)質(zhì)性結(jié)論。 通過模擬檢查Hosmer-Lemeshow測(cè)試要完成,讓我們進(jìn)行一些模擬,以檢查Hosmer-Lemeshow測(cè)試在重復(fù)樣本中的表現(xiàn)。首先,我們將從先前使用的相同模型重復(fù)采樣,擬合相同(正確)模型,并使用g = 10計(jì)算Hosmer-Lemeshow p值。我們將這樣做1000次,并將測(cè)試p值存儲(chǔ)在一個(gè)數(shù)組中: < - array(0,1000)\n\nfor(i in 1:1000){\n\tn < - 100\n\tx < - rnorm(n)\n \tpr < - exp(xb)/(1 + exp(xb))\n \tmod < - glm(y~x,family = binomial)\n }","classes":{"has":1}}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="codeSnippet"> 完成后,我們可以計(jì)算出p值小于0.05的比例。由于此處正確指定了模型,因此我們希望這種所謂的類型1錯(cuò)誤率不大于5%:
因此,在1,000次模擬中,Hosmer-Lemeshow測(cè)試在4%的情況下給出了顯著的p值,表明不合適。所以測(cè)試錯(cuò)誤地表明在我們預(yù)期的5%限制內(nèi)不合適 - 它似乎工作正常。 現(xiàn)在讓我們改變模擬,以便我們適合的模型被錯(cuò)誤地指定,并且應(yīng)該很難適應(yīng)數(shù)據(jù)。希望我們會(huì)發(fā)現(xiàn)Hosmer-Lemeshow測(cè)試在5%的時(shí)間內(nèi)正確地找到了不合適的證據(jù)。具體來說,我們現(xiàn)在將生成跟隨具有協(xié)變量的邏輯模型,但我們將繼續(xù)使用線性協(xié)變量擬合模型,以便我們的擬合模型被錯(cuò)誤地指定。
我們發(fā)現(xiàn),計(jì)算p值小于0.05的比例
因此,Hosmer-Lemeshow測(cè)試為我們提供了65%的不合適的重要證據(jù)。 |
|