拓端tecdat|R語(yǔ)言實(shí)現(xiàn)k-means聚類優(yōu)化的分層抽樣(Stratified Sampling)分析各市鎮(zhèn)的人
原文鏈接:http://tecdat.cn/?p=23038
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
簡(jiǎn)介
假設(shè)我們需要設(shè)計(jì)一個(gè)抽樣調(diào)查,有一個(gè)完整的框架,包含目標(biāo)人群的信息(識(shí)別信息和輔助信息)。如果我們的樣本設(shè)計(jì)是分層的,我們需要選擇如何在總體中形成分層,以便從現(xiàn)有的輔助信息中獲得最大的優(yōu)勢(shì)。
換句話說(shuō),我們必須決定以何種方式來(lái)組合輔助變量(從現(xiàn)在開(kāi)始是 "X "變量)的值,來(lái)確定一個(gè)新的變量,稱為 "分層"。
為此,我們必須考慮到抽樣調(diào)查的目標(biāo)變量"Y "變量:如果為了形成分層,我們選擇與Y變量最相關(guān)的X變量,那么由此產(chǎn)生的分層框架所抽取樣本的效率就會(huì)大大增加。
每個(gè)活動(dòng)變量的數(shù)值組合都決定了目標(biāo)人群的特定分層,也就是 "最佳 "分層問(wèn)題的可能解決方案。在這里,我們所說(shuō)的最佳分層,是指能夠確保最小樣本成本的分層,足以滿足對(duì)調(diào)查目標(biāo)變量Y's的估計(jì)精度的約束(約束表示為不同興趣領(lǐng)域的最大允許變異系數(shù))。
當(dāng)數(shù)據(jù)收集的成本在各分層中是統(tǒng)一的,那么總成本就與總體樣本量成正比。一般來(lái)說(shuō),對(duì)于一個(gè)給定的總體來(lái)說(shuō),可能的替代分層的數(shù)量可能非常多,這取決于變量的數(shù)量和它們的值的數(shù)量,在這些情況下,不可能為了評(píng)估最佳分層而枚舉它們。一個(gè)非常方便的解決方案是采用進(jìn)化方法,包括應(yīng)用遺傳算法,在有限的迭代次數(shù)后可能收斂到一個(gè)接近最佳的解決方案。
步驟
抽樣設(shè)計(jì)的優(yōu)化首先是提供抽樣框架,確定調(diào)查的目標(biāo)估計(jì)值,并確定對(duì)其的精度限制。然后,在分析兩組變量(分層和目標(biāo))之間的相關(guān)性的基礎(chǔ)上,必須在框架中選擇哪些分層變量。當(dāng)所選的分層變量既是分類變量又是連續(xù)變量時(shí),為了使它們具有同質(zhì)性,應(yīng)該對(duì)連續(xù)變量進(jìn)行分類(例如使用聚類的K-means算法)。反之,如果分層變量都是連續(xù)類型的,則可以利用 "連續(xù) "方法直接執(zhí)行優(yōu)化步驟。也可以執(zhí)行兩種優(yōu)化,比較結(jié)果并選擇更方便的方法。
在使用遺傳算法進(jìn)行優(yōu)化之前,最好在使用k-means算法的基礎(chǔ)上運(yùn)行一個(gè)不同的快速優(yōu)化任務(wù),其目的有兩個(gè)。
為最終分層的合適數(shù)量提供提示。
獲得一個(gè)初始的 "好 "解決方案,作為遺傳算法的 "建議",以加速其向最終解決方案的收斂。
在優(yōu)化步驟中,可以指出必須選擇的抽樣單位集合("全取 "層)。優(yōu)化之后,可以通過(guò)模擬從框架中選擇大量的樣本來(lái)評(píng)估解決方案的質(zhì)量,并計(jì)算所有目標(biāo)變量的抽樣差異和偏差。還可以根據(jù)可用預(yù)算 "調(diào)整 "優(yōu)化方案的樣本量:如果允許更大的樣本量,則按比例增加各層的抽樣率,直到達(dá)到新的總樣本量;如果我們不得不減少樣本量,則采取相反的做法。?
最后,我們開(kāi)始選擇樣本。
在下文中,我們將從一個(gè)真實(shí)的抽樣框架開(kāi)始說(shuō)明每個(gè)步驟。
優(yōu)化步驟所需的輸入準(zhǔn)備
框架
為簡(jiǎn)單起見(jiàn),讓我們考慮數(shù)據(jù)集的一個(gè)子集。
為了限制處理時(shí)間,我們只選擇了前三個(gè)地區(qū)和我們例子中感興趣的變量。該數(shù)據(jù)集的每一行都包含一個(gè)城市的信息,由市政編號(hào)和市政名稱標(biāo)識(shí),并屬于三個(gè)選定的地區(qū)之一。
假設(shè)我們要計(jì)劃一個(gè)抽樣調(diào)查,目標(biāo)估計(jì)值Ys是3個(gè)地區(qū)(感興趣的區(qū)域)中每個(gè)地區(qū)的樹林面積和建筑物面積的總數(shù)。假設(shè)每個(gè)市鎮(zhèn)的總面積和總?cè)丝诘闹悼偸潜桓???聪嚓P(guān)矩陣。?
我們看到,樹林面積和建筑物面積之間的相關(guān)性,以及"有建筑物的區(qū)域"和"總?cè)丝?#34;之間的相關(guān)性都很高(分別為0.77和0.87),因此我們決定選擇"有建筑物的區(qū)域","總?cè)丝?#34;作為我們的框架中的分層變量X。
首先,我們決定將分層變量視為分類變量,所以我們必須對(duì)它們進(jìn)行聚類。一個(gè)合適的方法是應(yīng)用k-means聚類方法。?
我們現(xiàn)在可以按照要求的格式定義框架數(shù)據(jù)幀。以合適的模型組織數(shù)據(jù),以便進(jìn)行下一步處理。?

Strata分層數(shù)據(jù)框
這個(gè)數(shù)據(jù)框架不是必需的,因?yàn)樗怯蓮臄?shù)據(jù)框架中自動(dòng)生成的。不過(guò),我們需要使用它來(lái)分析框架的初始分層,和在沒(méi)有優(yōu)化的情況下可能出現(xiàn)相關(guān)樣本量。

該數(shù)據(jù)框架中的每一行都輸出了與給定分層有關(guān)的信息(通過(guò)對(duì)每個(gè)單元與X變量的值進(jìn)行交叉分類獲得),包括:
分層的標(biāo)識(shí)符(名為 "strato")。
與框架中的變量相對(duì)應(yīng)的m個(gè)輔助變量(從X1到Xm命名)的值。
人口中的單位總數(shù)(名為 "N")。
標(biāo)志(名為'cens'),表示該層是要進(jìn)行普查(=1)還是抽樣調(diào)查(=0)。
成本變量,表示該分層中每個(gè)單位的訪談成本。
每個(gè)目標(biāo)變量y的平均數(shù)和標(biāo)準(zhǔn)差,分別命名為 "Mi "和 "Si")。
分層所屬的關(guān)注域的值('DOM1')。
精度約束
誤差數(shù)據(jù)框包含對(duì)目標(biāo)估計(jì)值設(shè)置的精度約束。這意味著要為每個(gè)目標(biāo)變量和每個(gè)域值定義一個(gè)最大的變異系數(shù)。這個(gè)框架的每一行都與感興趣的特定子域中的精度約束有關(guān),由domainvalue值確定。在我們的案例中,我們選擇定義以下約束:
分層的標(biāo)識(shí)符。
與框架中的變量相對(duì)應(yīng)的m個(gè)輔助變量(從X1到Xm命名)的值。
人口中的單位總數(shù)(名為 "N")。
標(biāo)志(名為'cens'),表示該層是要進(jìn)行普查(=1)還是抽樣調(diào)查(=0)。
成本變量,表示該分層中每個(gè)單位的訪談成本。
每個(gè)目標(biāo)變量y的平均數(shù)和標(biāo)準(zhǔn)差,分別命名為 "Mi "和 "Si")。
分層所屬的關(guān)注域的值('DOM1')。

這個(gè)例子報(bào)告了變量Y1和Y2的精度約束(允許的最大CV等于10%),這些約束對(duì)于域級(jí)DOM1的所有3個(gè)不同的子域(都是一樣的。當(dāng)然,我們可以按地區(qū)區(qū)分精度約束。需要強(qiáng)調(diào)的是,'domainvalue'的值與數(shù)據(jù)框中的值相同,并且與分層數(shù)據(jù)框中的變量'DOM1'的值對(duì)應(yīng)。
現(xiàn)在我們想用函數(shù)Bethel(Bethel(1989))來(lái)確定總的樣本量,以及在給定分層下的相關(guān)分配。?

這是優(yōu)化前,在當(dāng)前分層下滿足精度約束所需的總樣本量(570)。?
優(yōu)化
執(zhí)行優(yōu)化步驟的函數(shù)。實(shí)際上,調(diào)用三個(gè)不同的優(yōu)化函數(shù):
優(yōu)化分層(方法=原子,分層變量是分類的);
優(yōu)化分層2(方法=連續(xù),分層變量是連續(xù)的);
優(yōu)化空間分層(方法=空間,分層變量是連續(xù)的,或?yàn)榉诸惖模?/p>
這里我們報(bào)告與三種方法有關(guān)的最重要的參數(shù):
參數(shù)說(shuō)明frame數(shù)據(jù)框架的名稱,包含與抽樣框架有關(guān)的信息cens包含在任何情況下要選擇的單位的數(shù)據(jù)框名稱n要獲得的最終優(yōu)化分層的數(shù)量err包含精度等級(jí)的數(shù)據(jù)幀min每個(gè)層必須分配的最低單位數(shù)
?‘a(chǎn)tomic’方法
第一次運(yùn)行,我們執(zhí)行優(yōu)化步驟(由于分層變量是分類類型的,所以需要使用atomic方法)。




執(zhí)行產(chǎn)生了3個(gè)不同的優(yōu)化問(wèn)題的解決方案。圖中說(shuō)明了從初始解開(kāi)始向最終解收斂的情況。在X軸上報(bào)告了已執(zhí)行的迭代,從1到最大,而在Y軸上報(bào)告了為滿足精度約束所需的樣本大小。上部(紅色)線代表每次迭代的平均樣本大小,而下部(黑色)線代表直到第i次迭代所發(fā)現(xiàn)的最佳解決方案。
我們可以通過(guò)執(zhí)行函數(shù)來(lái)計(jì)算(分析)預(yù)期的CVs:

所得到的滿足精度約束的樣本總規(guī)模比簡(jiǎn)單應(yīng)用Bethel算法對(duì)初始分層所得到的要低得多,但還不能令人滿意。
為了探索其他解決方案,我們可能希望將抽樣框架中的每個(gè)單元都視為一個(gè)原子分層,并讓優(yōu)化步驟根據(jù)Y變量的值對(duì)其進(jìn)行匯總。在任何情況下,由于我們必須指出至少一個(gè)X變量,我們可以為此使用一個(gè)簡(jiǎn)單的遞增數(shù)字。

我們可以使用這種方法,因?yàn)榭蚣苤械膯挝粩?shù)量很少。
即便如此,對(duì)1823個(gè)層的處理也可能很慢。
為了加快向最優(yōu)解收斂的速度,可以給一個(gè)初始解作為 "建議"。通過(guò)考慮所有目標(biāo)變量Y的均值對(duì)原子層進(jìn)行聚類來(lái)產(chǎn)生這個(gè)初始解。滿足精度約束所需的樣本量為最小值的聚類數(shù)目被保留為最優(yōu)數(shù)目。此外,每個(gè)領(lǐng)域內(nèi)的最佳聚類數(shù)也被確定??梢灾赋鲆@得的最大聚類層數(shù)。?



整體解決方案是通過(guò)串聯(lián)各領(lǐng)域獲得的最優(yōu)聚類而獲得的。其結(jié)果是一個(gè)有兩列的數(shù)據(jù)框架:第一列表示聚類,第二列表示域。在此基礎(chǔ)上,我們可以為每個(gè)域計(jì)算出最方便的最終層數(shù)。?

而我們可以提供初始解和層數(shù)nstrata作為優(yōu)化步驟的輸入。?

請(qǐng)注意,在這次運(yùn)行中得到的解決方案在樣本量方面明顯優(yōu)于前一次。?
"連續(xù)"方法
最后要做的是測(cè)試連續(xù)方法。
首先,我們必須以這種方式重新定義框架dataframe。
同樣在這種情況下,我們想生成一個(gè)初始解決方案。
請(qǐng)注意,這一次我們調(diào)用了一個(gè)不同的函數(shù),它需要的不是階層數(shù)據(jù)框架,而是直接的框架數(shù)據(jù)框架。此外,我們需要一個(gè)中間步驟為優(yōu)化準(zhǔn)備建議。
我們現(xiàn)在能夠用連續(xù)方法進(jìn)行優(yōu)化步驟。?
這個(gè)解決方案需要的總樣本量是迄今為止我們制作的解決方案中最好的,所以我們決定選擇這個(gè)方案。
?
分析
分層結(jié)構(gòu)
執(zhí)行的結(jié)果包含在由三個(gè)元素組成的 "解決方案 "列表中。
indices: 指數(shù)向量,表示每個(gè)原子層屬于哪個(gè)集合層(如果使用的是原子法)或者框架中的每個(gè)單元屬于哪個(gè)集合層(如果使用的是連續(xù)法)。
framenew: 更新的初始框架,對(duì)每個(gè)單元而言,表明每個(gè)單元所屬的最佳層。
aggr_strata: 包含優(yōu)化層信息的數(shù)據(jù)框.
當(dāng)分層變量為連續(xù)類型,并且使用了連續(xù)(或空間)方法時(shí),有可能獲得關(guān)于優(yōu)化的分層結(jié)構(gòu)的詳細(xì)信息。?
對(duì)于每個(gè)優(yōu)化的分層,報(bào)告了單位總數(shù)以及抽樣率。還列出了分層變量的范圍,描述各層的特點(diǎn)。
如果分層變量的數(shù)量有限,就像我們的情況一樣,可以通過(guò)選擇一對(duì)變量和每個(gè)時(shí)間段的一個(gè)域來(lái)可視化分層。
?
通過(guò)模擬進(jìn)行評(píng)估
為了對(duì)找到的解決方案的質(zhì)量有信心,我們運(yùn)行一個(gè)模擬,基于從已確定為最佳分層的框架中選擇所需數(shù)量的樣本。用戶可以指出要抽取的樣本數(shù)量。
對(duì)于每個(gè)抽取的樣本,都會(huì)計(jì)算與Y有關(guān)的估計(jì)值。它們的平均數(shù)和標(biāo)準(zhǔn)差也計(jì)算出來(lái),得出每個(gè)領(lǐng)域中與每個(gè)變量相關(guān)的CV和相對(duì)偏差。
?
還可以分析所選域中每個(gè)相關(guān)變量的估計(jì)值的抽樣分布。
最終樣本大小的調(diào)整
在優(yōu)化步驟之后,最終的樣本量是最終分層中單位分配的結(jié)果。這種分配是為了使精度約束得到滿足。實(shí)際上,可能會(huì)出現(xiàn)三種情況:
產(chǎn)生的樣本量是可以接受的;
所得的樣本量太多,也就是說(shuō),超過(guò)預(yù)算;
產(chǎn)生的樣本量太少,可用的預(yù)算允許增加單位的數(shù)量。
在第一種情況下,不需要變化。在第二種情況下,有必要減少單位數(shù),在每個(gè)分層中平均采用相同的減少率。在第三種情況下,我們著手增加樣本量,在每個(gè)分層中應(yīng)用相同的增加率。這個(gè)增加/減少的過(guò)程是反復(fù)進(jìn)行的,因?yàn)橥ㄟ^(guò)應(yīng)用相同的比率,我們可以發(fā)現(xiàn)在某些層沒(méi)有足夠的單位可以增加或減少??梢垣@得理想的最終樣本量。
讓我們假設(shè)最終獲得的樣本量(106)是超過(guò)預(yù)算。我們可以通過(guò)執(zhí)行以下代碼來(lái)減少它。
相反,如果我們想增加抽樣樣本規(guī)模,因?yàn)轭A(yù)算允許。?
希望的樣本量和實(shí)際調(diào)整后的樣本量之間的差異取決于優(yōu)化方案中的分層數(shù)量。考慮到在每個(gè)分層中進(jìn)行調(diào)整時(shí),要考慮到當(dāng)前樣本量與期望樣本量之間的相對(duì)差異:這將產(chǎn)生一個(gè)用實(shí)數(shù)表示的分配,必須四舍五入,同時(shí)要考慮到分層中最小單位數(shù)的要求(默認(rèn)為2)。層數(shù)越多,對(duì)最終調(diào)整后的樣本量的影響就越大。
一旦增加(或減少)樣本量,我們可以檢查新的預(yù)期CV是多少。通過(guò)第二次調(diào)整,即增加了總的樣本量,我們得到。?
即大大降低了期望CV。
樣本選擇
一旦獲得最佳分層,就可以從優(yōu)化版的框架中選擇樣本,同時(shí)考慮到最佳分層。
在每個(gè)分層中進(jìn)行簡(jiǎn)單的隨機(jī)抽樣。
一個(gè)變體是系統(tǒng)抽樣?。唯一的區(qū)別是在每個(gè)分層中選擇單位的方法,即通過(guò)執(zhí)行以下步驟:
通過(guò)考慮分層中采樣率的倒數(shù)確定選擇區(qū)間;通過(guò)選擇該區(qū)間中的一個(gè)值確定起點(diǎn)。
通過(guò)選擇與上述數(shù)值相對(duì)應(yīng)的單位作為第一個(gè)單位,然后選擇所有加入選擇區(qū)間而被分割的單位,進(jìn)行選擇。
如果與選擇框架的特定排序相關(guān)聯(lián),這種選擇方法是有用的,其中排序變量可以被視為額外的分層變量。例如,我們可以考慮市政當(dāng)局的工業(yè)區(qū)(Airind)可能很重要。
?"全取 "分層抽樣
作為優(yōu)化步驟的輸入,與適當(dāng)?shù)某闃臃謱右黄穑部梢蕴峁?"全取 "分層。這些層不會(huì)像適當(dāng)?shù)膶幽菢颖粌?yōu)化,但是它們將有助于確定最佳分層,因?yàn)樗鼈兛梢允馆^少的抽樣層單位數(shù)量來(lái)滿足精度約束。
為了正確執(zhí)行優(yōu)化和進(jìn)一步的步驟,有必要對(duì)整個(gè)輸入進(jìn)行預(yù)處理。要執(zhí)行的第一步是對(duì)要普查的單位和要抽樣的單位進(jìn)行兩分法,以建立兩個(gè)不同的框架。例如,我們要確保所有總?cè)丝诔^(guò)10,000的城市都將被納入抽樣范圍。因此,我們以這種方式劃分抽樣框架。

這樣,我們將所有人口超過(guò)10,000的單位定義為要進(jìn)行普查。在這個(gè)過(guò)程結(jié)束時(shí),樣本將包含所有這些單位。
我們現(xiàn)在運(yùn)行優(yōu)化步驟,將待普查單位的指示包括在內(nèi)。?


最受歡迎的見(jiàn)解
1.使用R語(yǔ)言進(jìn)行METROPLIS-IN-GIBBS采樣和MCMC運(yùn)行
2.R語(yǔ)言中的Stan概率編程MCMC采樣的貝葉斯模型
3.R語(yǔ)言實(shí)現(xiàn)MCMC中的Metropolis–Hastings算法與吉布斯采樣
4.R語(yǔ)言BUGS JAGS貝葉斯分析 馬爾科夫鏈蒙特卡洛方法(MCMC)采樣
5.R語(yǔ)言中的block Gibbs吉布斯采樣貝葉斯多元線性回歸
6.R語(yǔ)言Gibbs抽樣的貝葉斯簡(jiǎn)單線性回歸仿真分析
7.R語(yǔ)言用Rcpp加速M(fèi)etropolis-Hastings抽樣估計(jì)貝葉斯邏輯回歸模型的參數(shù)
8.R語(yǔ)言使用Metropolis- Hasting抽樣算法進(jìn)行邏輯回歸
9.R語(yǔ)言中基于混合數(shù)據(jù)抽樣(MIDAS)回歸的HAR-RV模型預(yù)測(cè)GDP增長(zhǎng)