python不放回抽样_科学网—[转载]python抽样方法详解及实现 - 张书会的博文

抽样方法概览

b2137bb133c5e52ec7d34fea12d5777e.png

127e06f6b073314af2c1e47ac6d5efcf.png

随机抽样—总体个数较少

每个抽样单元被抽中的概率相同,并且可以重现。随机抽样常常用于总体个数较少时,它的主要特征是从总体中逐个抽取。

c79b8502d829a7016e0eab13799a586f.png

1、抽签法

2、随机数法:随机数表、随机数骰子或计算机产生的随机数。

分层抽样——总体存在差异且对结果有影响

分层抽样是指在抽样时,将总体分成互不相交的层,然后按照一定的比例,从各层独立地抽取一定数量的个体,将各层取出的个体合在一起作为样本的方法。层内变异越小越好,层间变异越大越好。

分层以后,在每一层进行简单随机抽样,不同群体所抽取的个体个数,一般有三种方法:

(1)等数分配法,即对每一层都分配同样的个体数;

(2)等比分配法,即让每一层抽得的个体数与该类总体的个体数之比都相同;

(3)最优分配法,即各层抽得的样本数与所抽得的总样本数之比等于该层方差与各类方差之和的比。import  pandas as pd

import random as rd

import numpy as np

import math as ma

def typeicalSampling(group, typeicalFracDict):

name = group.name

frac = typeicalFracDict[name]

return group.sample(frac=frac)

def group_sample(data_set,lable,typeicalFracDict):

#分层抽样

#data_set数据集

#lable分层变量名

#typeicalFracDict:分类抽样比例

gbr=data_set.groupby(by=[lable])

result=data_set.groupby(lable,group_keys=False).apply(typeicalSampling,typeicalFracDict)

return result

data = pd.DataFrame({'id': [3566841, 6541227, 3512441, 3512441, 3512441,3512441, 3512441, 3512441, 3512441, 3512441],

'sex': ['male', 'Female', 'Female','male', 'Female', 'Female','male', 'Female','male', 'Female'],

'level': ['high', 'low', 'middle','high', 'low', 'middle','high', 'low', 'middle','middle']})

data_set=data

label='sex'

typicalFracDict = {

'male': 0.8,

'Female': 0.2

}

result=group_sample(data_set,label,typicalFracDict)

print(result)12345678910111213141516171819202122232425262728293031

整体抽样

整群抽样又称聚类抽样,是将总体中各单位归并成若干个互不交叉、互不重复的集合,称之为群;然后以群为抽样单位抽取样本的一种抽样方式。应用整群抽样时,要求各群有较好的代表性,即群内各单位的差异要大,群间差异要小。

实施步骤

先将总体分为i个群,然后从i个群中随即抽取若干个群,对这些群内所有个体或单元均进行调查。抽样过程可分为以下几个步骤:

(1)确定分群的标注

(2)总体(N)分成若干个互不重叠的部分,每个部分为一群。

(3)据各样本量,确定应该抽取的群数。

(4)采用简单随机抽样或系统抽样方法,从i群中抽取确定的群数。

系统抽样——总体多

系统抽样亦称为机械抽样、等距抽样。 [4] 当总体中的个体数较多时,采用简单随机抽样显得较为费事。这时,可将总体分成均衡的几个部分,然后按照预先定出的规则,从每一部分抽取一个个体,得到所需要的样本,这种抽样叫做系统抽样。 [1]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值