При проведении исследования или получении заключения о группе людей становится невозможным собрать все данные об этой группе. Следовательно, выбираются выборочные данные, представляющие всю группу данных. Этот метод в основном известен как выборка. Здесь мы столкнемся с двумя ключевыми словами, то есть с населением и выборочными данными. Совокупность — это группа данных, из которой создается выборка.

Существует два вида выборки: i) Вероятностное распределение ii) Невероятностная выборка

Выборка вероятностного распределения

Вероятностная выборка — это метод отбора выборки из совокупности таким образом, чтобы каждый член совокупности имел равные и известные шансы быть отобранными. Это означает, что каждый человек в популяции имеет справедливую и беспристрастную возможность быть выбранным для выборки, что повышает надежность и достоверность результатов, полученных из выборки.

Существуют различные типы вероятностной выборки, некоторые из них упоминаются ниже:

i) Простая случайная выборка:

Теория.В этом методе каждому члену совокупности присваивается уникальный номер, а выборка отбирается с помощью генератора случайных чисел или таблицы случайных чисел. Одним из больших преимуществ этого метода является то, что это самый прямой метод вероятностной выборки.

Реализация на Python:

#importing the random module
import random 
#defining the population from where sample will be created
population = list(range(1, 100)) 
#defining the size of sample
sample_size = 10 
#perform simple random sampling by using the random.sample() function
sample = random.sample(population, sample_size) 
#it will print 10 random numbers within the range provided
print("Simple random sampling of 10 numbers are: ", sample) 

##output:
##Simple random sampling of 10 numbers are:  [40, 34, 60, 96, 8, 95, 94, 73, 93, 26]

ii) Систематическая выборка:

Теория.Систематическая выборка или интервальная выборка — это метод вероятностной выборки, используемый для систематического отбора выборки из генеральной совокупности. При систематической выборке совокупность сначала каким-то образом упорядочивается, а затем для включения в выборку отбирается каждый n-й индивидуум, где «n» — заданный интервал выборки. Например, если интервал выборки равен 5, то каждый 5-й индивидуум в популяции будет отобран для включения в выборку.

Реализация на Python

import numpy as np

# Define the population
population = np.arange(1, 100)

# Define the sample size and sampling interval
# We can provide sample size and sampling interval as per user
# Here sampling interval is 9 (99//10 = 9)

sample_size = 10
sampling_interval = len(population) // sample_size

# Define the starting point of the sample
# refer to https://numpy.org/doc/stable/reference/random/generated/numpy.random.randint.html for random.randint()

start_point = np.random.randint(0, sampling_interval)

# Perform systematic sampling
sample = population[start_point::sampling_interval]

# Print the sample
print("Systematic or interval sampling of 10 numbers are: ",sample)

##Output:
##Systematic or interval sampling of 10 numbers are: [ 6 15 24 33 42 51 60 69 78 87 96]
##Random numbers are generated from integer 6 with 9th interger as 15

iii) Стратифицированная выборка:

Теория.Если в совокупности имеются отдельные категории или подгруппы, то основу выборки можно отнести к категории независимых «слоев». Затем каждая страта отбирается как независимая подгруппа, из которой могут быть случайным образом выбраны отдельные элементы. Такая подгруппа называется стратифицированной выборкой. Значимым реальным примером стратифицированной выборки может быть политический опрос. Население города зависит от расы, религии, пола, образования, культуры и т. д. Таким образом, стратифицированная выборка, основанная на этих факторах, может претендовать на то, чтобы быть более репрезентативной для населения, чем обследование простой случайной выборки или систематическая выборка.

Реализация на Python

import pandas as pd
from sklearn.model_selection import train_test_split

# Load the data into a Pandas DataFrame
data=pd.read_csv("https://raw.githubusercontent.com/ayan-zz/Statistics_python/main/titanic.csv")

# Specify the stratification variable
stratify_by = 'Sex'

# Split the data into training and testing sets, with stratification
train, test = train_test_split(data, test_size=0.3, stratify=data[stratify_by])

# Check the distribution of the stratification variable in the training and testing sets
print("Train dataset:\n", train[stratify_by].value_counts())
print("Test dataset:\n", test[stratify_by].value_counts())


##Output:

Train dataset:
male      403
female    220
Name: Sex, dtype: int64
Test dataset:
male      174
female     94
Name: Sex, dtype: int64

iv) Кластерная выборка:

Теория.Групповая выборка совокупности выполняется только в том случае, если в совокупности очевидна гетерогенная группа или кластер. Выбранные кластеры должны быть взаимоисключающими и в совокупности исчерпывающими, что будет небольшим представителем совокупности. Выборка группы выбирается путем простой случайной выборки между кластерами. Все элементы внутри кластера и группы включены в исследование. Это называется кластеризацией выборки на первом этапе. Кроме того, если метод случайной выборки применяется к элементам из каждого из выбранных кластеров, то это называется выборкой второго этапа. Например, опрос клиентов ТНК. Компания хочет провести опрос, чтобы получить отзывы от своих клиентов. У компании есть база данных адресов клиентов, и она делит базу данных на кластеры в зависимости от географического положения. Затем из этих кластеров выбирается случайная выборка, и опрашиваются все клиенты в выбранных кластерах.

import random

# create a list of population data
population_data = [10, 15, 20, 26, 29, 33, 35, 37, 41, 42, 46, 48, 50, 52, 55, 58, 61, 64, 68, 72]

# set the desired cluster size
cluster_size = 5

# randomly select a starting point for the first cluster
starting_point = random.randint(0, cluster_size + 1)

# create a list to store the sampled data
sampled_data = []

# loop through the population data by clusters of size cluster_size
for i in range(starting_point, len(population_data), cluster_size):
    # append the data from the current cluster to the sampled data list
    sampled_data.append(population_data[i+1:i+cluster_size])

# print the sampled data
print(starting_point)
print(sampled_data)


## Output

# 0
# [[23, 26, 29], [37, 41, 42], [50, 52, 55], [64, 68, 72]]

Многоступенчатая выборка. Это часть кластерной выборки, при которой множественная кластеризация или выборка выполняются одна за другой. Как только подгруппа сформирована, можно снова выбирать данные из первой подгруппы, пока не будет получен результат. Мы можем рассмотреть кластеризацию образцов или любые другие методы после одного этапа. Например, выполнение простой случайной выборки кластеризованных выборочных данных, приведенных выше, ’sampled_data’.

# from previous example

sample_size = 3
group_sample = random.sample(sampled_data, sample_size)
print(group_sample)

## output
# [46, 58, 72]

Невероятностная выборка

Это тип отбора населения, при котором выбор не является случайным, и они могут не быть прямым представителем населения. При невероятностной выборке шансы того, что какой-либо конкретный член совокупности будет отобран для выборки, неизвестны, например, географическая близость, доступность и т. д.

Их можно разделить на несколько типов, таких как:

i) Удобная выборка: она определяется удобством исследователя, включая географическую близость и доступность. Эти точки данных могут быть легко и быстро собраны для изучения.

ii) Выборка по квоте: это тип выборки по принципу вероятности, когда участники отбираются на основе заранее установленных квот. Выборка по квотам часто используется в исследованиях рынка, когда исследователь хочет убедиться, что выборка репрезентативна для населения с точки зрения определенных характеристик, таких как возраст, пол или доход.

iii) Целенаправленная (оценочная) выборка: это выборка, при которой участники отбираются на основе определенных критериев. Целенаправленная выборка часто используется в качественных исследованиях, когда исследователь хочет собрать подробную информацию от людей, которые имеют определенную точку зрения или опыт. Например: исследователь заинтересован в изучении опыта людей, у которых диагностировано редкое генетическое заболевание. Исследователь определяет клинику, которая специализируется на лечении расстройства, и набирает участников из этой клиники. Исследователь может также использовать другие критерии включения, такие как возраст или пол, для дальнейшего уточнения выборки.

iv) Выборка методом снежного кома. Этот тип выборки используется в случаях, когда трудно определить совокупность. Определяется первоначальный критерий, образцы сначала отбираются по этому критерию, а затем их просят направить других людей, которые также соответствуют критериям. Например: рекомендации по поиску работы.

Для получения дополнительной информации и знаний о невероятностной выборке посетите: https://www.scribbr.com/methodology/non-probability-sampling/

Надеюсь, вам понравилось читать этот блог. Пожалуйста, не забудьте изучить следующее для дальнейшего изучения:

  1. https://en.wikipedia.org/wiki/Выборка_(статистика)#Выборка_кадр
  2. https://docs.python.org/3/library/random.html
  3. https://github.com/ayan-zz/Statistics_python/blob/main/sampling%20techniques