Как мне сравнить загрузочные наклоны регрессии?


13

Предположим, у меня есть два набора данных с n наблюдениями пар данных независимой переменной x и зависимой переменной y каждый. Предположим далее, что я хочу сгенерировать распределение наклонов регрессии для каждого набора данных путем начальной загрузки наблюдений (с заменой) N раз и вычисления регрессии y = a + bxкаждый раз. Как сравнить два распределения, чтобы сказать, что склоны значительно отличаются? U-тест для проверки разницы между медианами распределений будет сильно зависеть от N, то есть чем чаще я повторяю начальную загрузку, тем более значимой будет разница. Как мне рассчитать перекрытие между распределениями, чтобы определить существенную разницу?

Ответы:


19

Начальная загрузка выполняется для того, чтобы получить более надежную картину распределения выборки, чем это предполагается в теории больших выборок. Когда вы начинаете загрузку, количество загружаемых образцов не ограничивается; на самом деле вы получите лучшее приближение к распределению выборки, чем больше загрузочных выборок вы берете. Оно является общим для использования bootsamples, хотя нет ничего магического этого числа. Кроме того, вы не запускаете тест на загрузочных примерах; у вас есть оценка распределения выборки - используйте ее напрямую. Вот алгоритм:B=10,000

  1. взять bootsample одного набора данных с помощью выборки загрузки-наблюдения с заменой. [Что касается комментариев ниже, один важный вопрос - это то, что представляет собой правильное «наблюдение за загрузкой» для использования в качестве примера загрузки. На самом деле, есть несколько законных подходов; Я упомяну два из них, которые являются надежными и позволяют отразить структуру ваших данных: когда у вас есть данные наблюдений (т. Е. Данные были отобраны по всем измерениям, загрузочное наблюдение может быть упорядоченным n-кортежем (например, строка из вашего набора данных.) Например, если у вас есть одна переменная предиктора и одна переменная ответа, вы должны выбрать n 1 ( x , y )n1n1 (x,y)упорядоченные пары. С другой стороны, при работе с экспериментальными данными значения переменных предикторов не отбирались, а экспериментальные единицы были назначены предполагаемым уровням каждой переменной предикторов. В таком случае вы можете выбрать y значений в пределах каждого из j уровней вашей переменной предиктора, а затем соединить эти y s с соответствующим значением этого уровня предиктора. Таким образом, вы не будете пробовать ]n1j yjyX
  2. соответствовать вашей модели регрессии и сохранить оценку уклона (назовите ее )β^1
  3. взять загрузочный образец другого набора данных путем выборки boot-наблюдения с заменойn2
  4. соответствовать другой регрессионной модели и сохранить оценку уклона (назовите ее )β^2
  5. сформируйте статистику из двух оценок (предложение: используйте разность наклона )β^1β^2
  6. сохранить статистику и сбросить другую информацию, чтобы не тратить память
  7. повторите шаги 1 - 6, разB=10,000
  8. сортировать начальную выборку распределения различий наклона
  9. вычислить% от bsd, который перекрывает 0 (в зависимости от того, что меньше, правый хвост% или левый хвост%)
  10. умножьте этот процент на 2

Логика этого алгоритма в качестве статистического теста в основном похожа на классические тесты (например, t-тесты), но вы не предполагаете, что данные или полученные распределения выборок имеют какое-то конкретное распределение. (Например, вы не предполагаете нормальности.) Основное предположение, которое вы делаете, заключается в том, что ваши данные представляют население, которое вы выбрали / хотите обобщить. То есть выборочное распределение аналогично распределению населения. Обратите внимание, что если ваши данные не связаны с интересующим вас населением, вам просто не повезло.

Некоторые люди беспокоятся об использовании, например, регрессионной модели для определения наклона, если вы не готовы принять нормальность. Однако это беспокойство ошибочно. Теорема Гаусса-Маркова говорит нам, что оценка несмещена (т. Е. Центрирована на истинном значении), так что все в порядке. Отсутствие нормальности просто означает, что истинное распределение выборки может отличаться от теоретически положенного, и поэтому значения p являются недействительными. Процедура начальной загрузки дает вам возможность решить эту проблему.

Две другие проблемы, касающиеся начальной загрузки: если классические допущения соблюдены, начальная загрузка менее эффективна (т. Е. Имеет меньшую мощность), чем параметрический тест. Во-вторых, начальная загрузка работает лучше всего, когда вы исследуете около центра распределения: средние и средние значения хорошие, квартили не очень хорошие, начальная загрузка минимума или максимума обязательно терпит неудачу. Что касается первого пункта, вам, возможно, не нужно загружаться в вашей ситуации; Что касается второго пункта, начальная загрузка склона - это прекрасно.


Хотя я вполне могу ошибаться, я думал, что бутстрап в регрессии должен быть основан на остатках, а не на необработанных данных, чтобы быть проверенным ...
Сиань

@ Сиань, раньше я ошибался, но не понимаю, почему ты считаешь обоснованными только начальные остатки. Efron & Tibshirani (1994), раздел 9.5, говорит, что «пары начальной загрузки менее чувствительны к предположениям, чем остатки начальной загрузки. Стандартная ошибка, полученная парами начальной загрузки, дает разумные ответы, даже если [структура вероятностей линейной модели] совершенно неверна». Подразумевается, что применение загрузчика является более надежным, хотя в некоторых случаях оно подразумевает, что оно может быть менее эффективным.
gung - Восстановить Монику

Я беспокоюсь о начальной загрузке пар, потому что вы также учитываете распределение предикторов, которое обычно не учитывается в обычных линейных моделях. Вот почему я всегда учу своих учеников загружать только остатки.
Сиань

@ Сиань, это разумный момент, я полагаю, я предполагал структуру данных наблюдений. Я отредактировал свой ответ, чтобы добавить больше деталей об этих проблемах. Однако я не вижу, как это означает, что пары начальной загрузки обязательно недопустимы.
gung - Восстановить Монику

Формирование пары между двумя независимыми наборами данных является искусственным и неэффективным. Вы можете сделать намного лучше, чем это!
whuber

4

si

yi=β0+β1xi+β2si+β3sixi+ϵi
β3
E[yix,si=1]=(β0+β2)+(β1+β3)xiE[yix,si=0]=β0+β1xi.
β3nn2n

Если у вас есть корреляция между ошибочными терминами, вам может потребоваться немного изменить эту процедуру, поэтому напишите, если это так.

Вы можете обобщить этот подход на основе, казалось бы, не связанных регрессий (SUR). Этот подход все еще позволяет произвольно отличаться коэффициентами для пересечения и наклона в двух наборах данных.


1
Это хорошая идея. Но разве это не предполагает, что две регрессии имеют ошибки iid?
whuber

1
Хорошая точка зрения. Требуется, чтобы не было разных отклонений для ошибок по группам, и чтобы ошибки не были коррелированы в разных группах.
Чарли

0

Делать все в одной регрессии - это аккуратно, и предположение о независимости важно. Но вычисление точечных оценок таким способом не требует постоянной дисперсии. Попробуйте этот код R;

x <- rbinom(100, 1, 0.5)
z <- rnorm(100)
y <- rnorm(100)
coef(lm(y~x*z))
coef(lm(y~z, subset= x==1))[1] - coef(lm(y~z, subset= x==0))[1]
coef(lm(y~z, subset= x==1))[2] - coef(lm(y~z, subset= x==0))[2]

Мы получаем одинаковую оценку в любом случае. Оценки стандартной ошибки могут потребовать постоянной дисперсии (в зависимости от того, какую из них вы используете), но рассмотренная здесь начальная загрузка не использует оценочные стандартные ошибки.


1
Если вы собираетесь проверить, равна ли разница наклонов нулю (как в ответе @ Charlie, за которым вы, похоже, следите), вам нужна точная, достоверная оценка стандартных ошибок. Неважно, загружаете ли вы эту оценку или нет.
whuber
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.