Цей код призначений для розрахунку обсягу простої випадкової вибірки з довільними параметрами та процедури випадкового відбору спостережень. Виконання здійснюється в Posit Cloud.

Розрахунок обсягу простої випадкової вибірки для оцінки частки ознаки

Вибіркова сукупність (вибірка) – це сукупність статистичних одиниць, відібраних із генеральної сукупності за певними правилами для проведення соціологічного дослідження.
Генеральна сукупність (популяція) – це сукупність усіх статистичних одиниць, які мають задані характеристики і є об’єктом вивчення при проведенні соціологічного дослідження.
Частка досліджуваної ознаки – це відношення кількості елементів вибіркової сукупності, які мають певну ознаку чи властивість, до загальної кількості елементів у цій вибірці.
Гранична похибка – це міра невизначеності чи помилки в оцінці параметра генеральної сукупності, який робиться на основі вибіркової сукупності.
Довірчий рівень – це ймовірність того, що інтервал, побудований на основі вибіркової сукупності, містить істинне значення параметра генеральної сукупності.

# Введення вихідних параметрів
N <- 10000  # Обсяг генеральної сукупності
p_hat <- 0.5  # Частка досліджуваної ознаки
margin_of_error <- 0.05  # Гранична похибка
confidence_level <- 0.95  # Довірчий рівень
# Розрахунок z-значення
z <- qnorm(1 - (1 - confidence_level) / 2)

# Розрахунок обсягу вибірки для нескінченної популяції
n <- z^2 * p_hat * (1 - p_hat) / margin_of_error^2


# Розрахунок скорегованого обсягу вибірки
n_hat = n / (1 + ((z^2 * p_hat * (1 - p_hat)) / (margin_of_error^2 * N)))

# Округлення до більшого цілого числа
n <- ceiling(n)
n_hat <- ceiling(n_hat)
# Виведення обсягу вибірки
print(paste("Обсяг вибірки для нескінченної популяції:", n))
## [1] "Обсяг вибірки для нескінченної популяції: 385"
print(paste("Скорегований обсяг вибірки:", n_hat))
## [1] "Скорегований обсяг вибірки: 370"

Процедура випадкового відбору

Розроблення чіткої процедури випадкового відбору спостережень в соціологічному дослідженні забезпечує такі переваги.
Репрезентативність. Випадковий відбір гарантує, що кожен елемент генеральної сукупності має рівну можливість бути включеним у вибірку.
Об’єктивність. Процедура випадкового відбору зменшує вплив дослідника на вибірку.
Можливість застосування статистичних методів. У разі використання випадкового відбору можна застосовувати статистичні методи для оцінки точності і достовірності результатів. Це дає змогу отримати довірчі інтервали, проводити тестування гіпотез та робити загальні висновки на основі отриманих даних.

Процедура випадкового відбору спостережень складається з таких кроків.
1. Генерація чисел у межах від 1 до загальної кількості спостережень у генеральній сукупності.
2. Здійснення вибіркового відбору n елементів зі списку номерів спостережень.
3. Завантаження файлу зі списком вибраних номерів спостережень.
4. Виведення гістограми розподілу відібраних номерів спостережень.
5. Виведення кількості відібраних номерів спостережень.
6. Перевірка відібраних номерів на випадковість розподілу за допомогою критерію критерію Вальда - Вольфовіца та критерію Бартельса.

# Встановлення необхідного пакета
library(randtests)
# Введення параметрів для випадкового відбору спостережень
population_size <- 10000 # Обсяг генеральної сукупності
sample_size <- 385 # Обсяг вибіркової сукупності
seed <- 1 # Зерно для відтворення результату
# Встановлення зерна для відтворюваності результату
set.seed(seed)

# Створення вектору чисел в датафреймі
my_dataframe <- data.frame(numbers = 1:population_size)

# Відбір спостережень випадковим чином
selected_obs <- sample(my_dataframe$numbers, sample_size)

# Сортування вибраних спостережень за зростанням
selected_obs_sorted <- sort(selected_obs)
# Запис у файл.

# У разі виконання коду на локальному комп'ютері для встановлення шляху до робочого столу 
# необхідно попередньо видалити символи (#) з команд.
# Шлях до робочого столу (desktop) файлу.
# desktop_path <- file.path(Sys.getenv("USERPROFILE"), "Desktop")

# Шлях до файлу на робочому столі.
# file_path <- file.path(desktop_path, "selected_obs.txt")
file_path <- "selected_obs.txt"

# Запис номерів спостережень в файл txt.
 write.table(selected_obs_sorted, file = file_path, col.names = FALSE)
# Гістограма відібраних номерів спостережень
hist(selected_obs, main = "Гістограма відібраних номерів спостережень",
     xlab = "Номери спостережень", ylab = "Частота",
     col = "skyblue", border = "black")

# Вивід результату
vector_length <- length(selected_obs)
print(paste("Кількість відібраних номерів спостережень:", vector_length))
## [1] "Кількість відібраних номерів спостережень: 385"
# Перевірка відібраних номерів на випадковість розподілу
options(scipen = 999)


runs.test(selected_obs)          # Критерій Вальда - Вольфовіца
## 
##  Runs Test
## 
## data:  selected_obs
## statistic = 0.71537, runs = 200, n1 = 192, n2 = 192, n = 384, p-value =
## 0.4744
## alternative hypothesis: nonrandomness
bartels.rank.test(selected_obs)  # Критерій Бартелса
## 
##  Bartels Ratio Test
## 
## data:  selected_obs
## statistic = 0.25499, n = 385, p-value = 0.7987
## alternative hypothesis: nonrandomness

Для зазначення авторства, будь ласка, посилайтеся на цю роботу як:
Бова А. Розрахунок обсягу вибірки та відбір спостережень. 2023. URL: https://rpubs.com/abova/sample

Дата оновлення: 2023-12-18