Як виконати завантаження в r (з прикладами)


Бутстрапінг — це метод, який можна використовувати для оцінки стандартної помилки будь-якої статистики та отримання довірчого інтервалу для статистики.

Основний процес початкового завантаження виглядає наступним чином:

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

Ми можемо виконати початкове завантаження в R, використовуючи такі функції з бібліотеки початкового завантаження :

1. Згенеруйте зразки початкового завантаження.

завантаження (дані, статистика, R, …)

золото:

  • дані: вектор, матриця або блок даних
  • statistic: функція, яка створює статистичні дані, які потрібно ініціювати
  • A: Кількість повторів початкового завантаження

2. Створіть початковий довірчий інтервал.

boot.ci(об’єкт завантаження, conf, тип)

золото:

  • bootobject: об’єкт, що повертається функцією boot().
  • conf: довірчий інтервал для обчислення. Значення за замовчуванням 0,95
  • тип: Тип довірчого інтервалу для обчислення. Параметри включають «стандартний», «базовий», «стад», «perc», «bca» та «усі» – за умовчанням встановлено «усі»

Наступні приклади показують, як використовувати ці функції на практиці.

Приклад 1: завантажте одну статистику

У наведеному нижче коді показано, як обчислити стандартну помилку для R-квадрата моделі простої лінійної регресії:

 set.seed(0)
library (boot)

#define function to calculate R-squared
rsq_function <- function (formula, data, indices) {
  d <- data[indices,] #allows boot to select sample
  fit <- lm(formula, data=d) #fit regression model
  return (summary(fit)$r.square) #return R-squared of model
}
#perform bootstrapping with 2000 replications
reps <- boot(data=mtcars, statistic=rsq_function, R=2000, formula=mpg~disp)

#view results of boostrapping
reps

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = mtcars, statistic = rsq_function, R = 2000, formula = mpg ~ 
    available)


Bootstrap Statistics:
     original bias std. error
t1* 0.7183433 0.002164339 0.06513426

З результатів ми бачимо:

  • Розрахунковий R-квадрат для цієї моделі регресії становить 0,7183433 .
  • Стандартна помилка для цієї оцінки становить 0,06513426 .

Ми також можемо швидко візуалізувати розподіл початкових зразків:

 plot(reps)

Гістограма початкових зразків у R

Ми також можемо використати такий код, щоб обчислити 95% довірчий інтервал для оціненого R-квадрата моделі:

 #calculate adjusted bootstrap percentile (BCa) interval
boot.ci(reps, type=" bca ")

CALL: 
boot.ci(boot.out = reps, type = "bca")

Intervals: 
Level BCa          
95% (0.5350, 0.8188)  
Calculations and Intervals on Original Scale

З результату ми бачимо, що початковий 95% довірчий інтервал для справжніх значень R-квадрат становить (0,5350, 0,8188).

Приклад 2: початкове завантаження кількох статистичних даних

У наступному коді показано, як обчислити стандартну помилку для кожного коефіцієнта в моделі множинної лінійної регресії:

 set.seed(0)
library (boot)

#define function to calculate fitted regression coefficients
coef_function <- function (formula, data, indices) {
  d <- data[indices,] #allows boot to select sample
  fit <- lm(formula, data=d) #fit regression model
  return (coef(fit)) #return coefficient estimates of model
}

#perform bootstrapping with 2000 replications
reps <- boot(data=mtcars, statistic=coef_function, R=2000, formula=mpg~disp)

#view results of boostrapping
reps

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = mtcars, statistic = coef_function, R = 2000, formula = mpg ~ 
    available)


Bootstrap Statistics:
       original bias std. error
t1* 29.59985476 -5.058601e-02 1.49354577
t2* -0.04121512 6.549384e-05 0.00527082

З результатів ми бачимо:

  • Розрахунковий коефіцієнт для перетину моделі становить 29,59985476 , а стандартна помилка цієї оцінки становить 1,49354577 .
  • Оцінений коефіцієнт для змінної предиктора disp у моделі становить -0,04121512 , а стандартна помилка цієї оцінки становить 0,00527082 .

Ми також можемо швидко візуалізувати розподіл початкових зразків:

 plot(reps, index=1) #intercept of model
plot(reps, index=2) #disp predictor variable

Завантаження в R

Ми також можемо використати такий код, щоб обчислити 95% довірчі інтервали для кожного коефіцієнта:

 #calculate adjusted bootstrap percentile (BCa) intervals
boot.ci(reps, type=" bca ", index=1) #intercept of model
boot.ci(reps, type=" bca ", index=2) #disp predictor variable

CALL: 
boot.ci(boot.out = reps, type = "bca", index = 1)

Intervals: 
Level BCa          
95% (26.78, 32.66)  
Calculations and Intervals on Original Scale
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 2000 bootstrap replicates

CALL: 
boot.ci(boot.out = reps, type = "bca", index = 2)

Intervals: 
Level BCa          
95% (-0.0520, -0.0312)  
Calculations and Intervals on Original Scale

З результатів ми бачимо, що початкові 95% довірчі інтервали для коефіцієнтів моделі такі:

  • IC для перехоплення: (26.78, 32.66)
  • CI для відображення : (-.0520, -.0312)

Додаткові ресурси

Як виконати просту лінійну регресію в R
Як виконати множинну лінійну регресію в R
Вступ до довірчих інтервалів

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *