抽样调查之分层随机抽样

分层随机抽样

  • 一、数据描述
  • 二、分层随机抽样
    • 1. 抽样要求:以“region”为分层变量,每层简单随机抽取75个样本单元。
      • (1)定义分层抽样涉及的一些变量。
      • (2)调用分层抽样函数“strata”,其中第一个参数为总体的数据集(此处按分层变量进行了排序处理),第二个变量为分层变量,第三个参数为各层的样本单元数量,第四个参数为各层的抽样方法(可选择的方法有“srswor”, “srswr”, “poisson” “systematic”)。
      • (3)调用函数“getdata(data,st)”提取抽到的样本数据
    • 2. 估计
      • (1)定义样本权重变量pw,每个样本权重变量是其入样概率的倒数
      • (2)定义fpc变量,定义为每个样本单元所在层的总体单元数量
      • (3)将权重变量和fpc变量加入到抽到的样本单元的数据集中
      • (4)调用svydesign函数定义该抽样设计及抽样结果。其中,id参数定义群变量,没有使用群变量则用“~0”或“~1”表示;strata参数定义分层变量;weights参数定义权重变量;data参数定义抽到的样本单元的数据集;fpc参数定义fpc变量。
      • (5)查看抽样设计及抽样结果。其中Probability是样本单元的入样概率。
      • (6)目标变量(acres92)均值的简单估计及其标准误差估计。第一个参数定义目标变量,第二个参数定义抽样设计和抽样结果,deff参数如果设为TRUE,则可以在结果中输出该抽样设计的设计效应,缺省值为FALSE。
      • (7)目标变量(acres92)总值的简单估计及其标准误差估计。第一个参数定义目标变量,第二个参数定义抽样设计和抽样结果,deff参数如果设为TRUE,则可以在结果中输出该抽样设计的设计效应,缺省值为FALSE。

一、数据描述

agpop数据文件介绍:美国政府每五年做一次有关农业的普查,收集50个州的所有农场的有关数据。数据文件中共有3041个美国县级农场或与县级农场相当的农场数据。共有4个区域(region/rnum),50个州(state/snum),以及3041个县(county/cnum)。
我们用到的变量有:
县(county/cnum), 州(state/snum), 区域(region/rnum),
1992年每个县的耕地面积(acres92), 1987年每个县的耕地面积(acres87),
1992年每个县拥有的农场个数(farms92)。
目标变量为1992年的耕地面积(acres92)。

二、分层随机抽样

1. 抽样要求:以“region”为分层变量,每层简单随机抽取75个样本单元。

(1)定义分层抽样涉及的一些变量。

> data=read.csv("E:/实验/抽样技术数据文件.csv",header=T,sep=",")
>N=nrow(data) #总体容量
> Nh=table(data$region) #第h 层的单元总数
> Wh=Nh/N #第h层的层权
> L=length(unique(data$region))#层数
> nh=rep(75,L) #各层的样本单元数量

运行结果:【复制粘贴到此处】

> N=nrow(data);N #总体容量
[1] 3041
> Nh=table(data$region);Nh #第h 层的单元总数
  NC   NE    S    W 
1049  211 1368  413 
> Wh=Nh/N;Wh #第h层的层权
        NC         NE          S          W 
0.34495232 0.06938507 0.44985202 0.13581059 
> L=length(unique(data$region));L#层数
[1] 4
> nh=rep(75,L);nh #各层的样本单元数量
[1] 75 75 75 75

结果解释:【对结果进行解释说明】
即最终可得每层的层权为0.34495232、0.06938507、0.44985202、0.13581059,共分了4层,每层样本数为75。

(2)调用分层抽样函数“strata”,其中第一个参数为总体的数据集(此处按分层变量进行了排序处理),第二个变量为分层变量,第三个参数为各层的样本单元数量,第四个参数为各层的抽样方法(可选择的方法有“srswor”, “srswr”, “poisson” “systematic”)。

> st=sampling:::strata(data[order(data$region),],"region",nh,"srswor") #调用分层抽样函数

运行结果:【复制粘贴到此处】

>st=strata(data[order(data$region),],"region",nh,"srswor");st#调用分层抽样函数
     region ID_unit       Prob Stratum
32       NC      32 0.07149666       1
44       NC      44 0.07149666       1
55       NC      55 0.07149666       1
59       NC      59 0.07149666       1
65       NC      65 0.07149666       1
66       NC      66 0.07149666       1
76       NC      76 0.07149666       1
78       NC      78 0.07149666       1
85       NC      85 0.07149666       1
94       NC      94 0.07149666       1
……

结果解释:【对结果进行解释说明】
使用srswor抽样方法对数据集进行分层抽样,输出结果为选出的样本所在总体的位置。

(3)调用函数“getdata(data,st)”提取抽到的样本数据

> data.strata=getdata(data,st)  #提取抽到的样本数据

运行结果:【复制粘贴到此处】

> data.strata
                  county cnum state snum acres92 acres87 acres82 farms92 farms87 farms82 largef92 largef87
32         ALCORN COUNTY   32    TX   43  443027  393949  458988     297     296     341      107      103
44      ALLEGHENY COUNTY   44    IL   14  203428  204191  222486     724     808     933       46       33
55        AMHERST COUNTY   55    NE   29   96093  120598  119849     388     475     482       24       24
59       ANDERSON COUNTY   59    KS   16  328094  331397  325328     254     285     277      112      122
65   ANDROSCOGGIN COUNTY   65    OK   36  157105  149021  153082     866     894     964       26       11
66       ANGELINA COUNTY   66    MI   22   22488   22196   37326     303     334     439        3        2
76        ARANSAS COUNTY   76    MI   22   31427   31103   39867     178     178     229        3        0
78         ARCHER COUNTY   78    MN   23  168073  178100  182984     563     640     740       21       18

结果解释:【对结果进行解释说明】
输出结果为选出的样本的数量特征。

2. 估计

(1)定义样本权重变量pw,每个样本权重变量是其入样概率的倒数

> pw=1/st$Prob

运行结果:【复制粘贴到此处】

> pw=1/st$Prob;pw
  [1] 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667
 [13] 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667
 [25] 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667 13.986667……

结果解释:【对结果进行解释说明】
输出结果为每个样本的权重变量。

(2)定义fpc变量,定义为每个样本单元所在层的总体单元数量

> fpc=as.numeric(table(data$region)[data.strata$region])

运行结果:【复制粘贴到此处】

> fpc=as.numeric(table(data$region)[data.strata$region]);fpc
  [1] 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049
 [26] 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049 1049……

结果解释:【对结果进行解释说明】
输出结果为每个样本单元所在层的总体单元数量。

(3)将权重变量和fpc变量加入到抽到的样本单元的数据集中

> agstrat=as.data.frame(cbind(data.strata,pw,fpc))

运行结果:【复制粘贴到此处】

> agstrat=as.data.frame(cbind(data.strata,pw,fpc));agstrat
                  county cnum state snum acres92 acres87 acres82 farms92 farms87 farms82 largef92 largef87 largef82 smallf92
32         ALCORN COUNTY   32    TX   43  443027  393949  458988     297     296     341      107      103      127       12
44      ALLEGHENY COUNTY   44    IL   14  203428  204191  222486     724     808     933       46       33       36       69
55        AMHERST COUNTY   55    NE   29   96093  120598  119849     388     475     482       24       24       25       62
59       ANDERSON COUNTY   59    KS   16  328094  331397  325328     254     285     277      112      122      114        8

结果解释:【对结果进行解释说明】
输出结果为加入权重变量和fpc变量的数据集。

(4)调用svydesign函数定义该抽样设计及抽样结果。其中,id参数定义群变量,没有使用群变量则用“0”或“1”表示;strata参数定义分层变量;weights参数定义权重变量;data参数定义抽到的样本单元的数据集;fpc参数定义fpc变量。

> dstrat<-svydesign(id=~1,strata = ~region,weights=~pw,data = agstrat,fpc=~fpc)

运行结果:【复制粘贴到此处】

> dstrat<-svydesign(id=~1,strata = ~region,weights=~pw,data = agstrat,fpc=~fpc);dstrat
Stratified Independent Sampling design
svydesign(id = ~1, strata = ~region, weights = ~pw, data = agstrat, 
    fpc = ~fpc)

(5)查看抽样设计及抽样结果。其中Probability是样本单元的入样概率。

> summary(dstrat)

运行结果:【复制粘贴到此处】

> summary(dstrat)
Stratified Independent Sampling design
svydesign(id = ~1, strata = ~region, weights = ~pw, data = agstrat, 
    fpc = ~fpc)
Probabilities:
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.05482 0.06733 0.12655 0.16584 0.22506 0.35545 
Stratum Sizes: 
           NC NE  S  W
obs        75 75 75 75
design.PSU 75 75 75 75
actual.PSU 75 75 75 75
Population stratum sizes (PSUs): 
  NC   NE    S    W 
1049  211 1368  413 
Data variables:
 [1] "county"   "cnum"     "state"    "snum"     "acres92"  "acres87"  "acres82"  "farms92"  "farms87"  "farms82"  "largef92"
[12] "largef87" "largef82" "smallf92" "smallf87" "smallf82" "rnum"     "region"   "ID_unit"  "Prob"     "Stratum"  "pw"      
[23] "fpc"

结果解释:【对结果进行解释说明】
查看抽样结果,样本单元的入样概率的均值为0.16584。

(6)目标变量(acres92)均值的简单估计及其标准误差估计。第一个参数定义目标变量,第二个参数定义抽样设计和抽样结果,deff参数如果设为TRUE,则可以在结果中输出该抽样设计的设计效应,缺省值为FALSE。

> svymean(~acres92,dstrat,deff=TRUE)

运行结果:【复制粘贴到此处】

> svymean(~acres92,dstrat,deff=TRUE)
          mean     SE   DEff
acres92 318856  34340 1.3562

结果解释:【对结果进行解释说明】
由输出结果得,变量均值的简单估计值为327294,标准误差为32363。

(7)目标变量(acres92)总值的简单估计及其标准误差估计。第一个参数定义目标变量,第二个参数定义抽样设计和抽样结果,deff参数如果设为TRUE,则可以在结果中输出该抽样设计的设计效应,缺省值为FALSE。

> svytotal(~acres92,dstrat,deff=TRUE)

运行结果:【复制粘贴到此处】

> svytotal(~acres92,dstrat,deff=TRUE)
            total        SE   DEff
acres92 969642162 104429224 1.3562

结果解释:【对结果进行解释说明】
由输出结果得,变量总值的简单估计值为995299823,标准误差为98414846。

你可能感兴趣的:(统计学笔记,分层抽样,抽样调查,R)