"Значна змінна", яка не покращує позапробні прогнози - як інтерпретувати?


10

У мене виникає питання, яке, на мою думку, буде досить основним для багатьох користувачів.

Я використовую лінійні регресійні моделі для (i) дослідження взаємозв'язку декількох пояснювальних змінних та моєї змінної відповіді та (ii) передбачення моєї змінної відповіді за допомогою пояснювальних змінних.

Здається, одна конкретна пояснювальна змінна X значно впливає на мій змінний відповідь. Для того щоб перевірити додану цінність цієї пояснювальної змінної X з метою позапробних прогнозів моєї змінної відповіді, я використав дві моделі: модель (a), яка використовувала всі пояснювальні змінні, і модель (b), яка використовувала всі змінні за винятком змінної X. Для обох моделей я викладаю виключно показники поза вибіркою. Виявляється, обидві моделі працюють майже однаково як хороші. Іншими словами, додавання пояснювальної змінної X не покращує прогнозовані поза вибіркою прогнози. Зауважте, що я також використовував модель (a), тобто модель з усіма пояснювальними змінними, щоб знайти, що пояснювальна змінна X значно впливає на мій змінний відгуку.

Моє запитання зараз: як зрозуміти цю знахідку? Відвертий висновок полягає в тому, що, хоча здається, що змінна X суттєво впливає на мій змінний відповідь, використовуючи інфекційні моделі, вона не покращує прогнозовані поза вибіркою. Однак у мене є проблеми з подальшим поясненням цієї знахідки. Як це можливо, і які деякі пояснення цього висновку?

Спасибі заздалегідь!

Додаткова інформація: "Значно впливаючи" я маю на увазі, що 0 не включається до найвищого інтервалу задньої щільності 95% оцінювання параметрів (я використовую байєсівський підхід). У періодичному періоді це приблизно відповідає значенню p нижче 0,05. Я використовую лише дифузні (неінформативні) пріори для всіх параметрів моїх моделей. Мої дані мають поздовжню структуру і містять загалом близько 7000 спостережень. Для позапробних прогнозів я використав 90% даних, щоб відповідати моїм моделям і 10% даних, щоб оцінити моделі за допомогою декількох реплікацій. Тобто, я кілька разів виконував тест поїздів і, зрештою, повідомляв про показники середньої ефективності.


2
Оскільки ви використовуєте байєсівський підхід, ваші результати залежать стільки ж від ваших попередніх, скільки від даних. Оскільки залежність від попереднього рівня зменшується зі збільшенням обсягів даних і збільшується в об'ємі даних , і перед НЕ згодні, було б корисно для вас , щоб надати інформацію як про апріорного розподілу, обсяг даних, і наскільки точно дані в поодинці відповідають до попереднього розподілу.
whuber

1
@whuber Я забув зазначити, що я використовую лише дифузні (неінформативні) пріори. Тому я не відчуваю, що моя попередня специфікація має щось спільне з моїми висновками. Я майже впевнений, що пристосування частолістських лінійних регресійних моделей призведе до таких самих висновків.
дубвіце

Спасибі - це допомагає виключити кілька можливих пояснень.
whuber

1
Ви повторно встановлюєте моделі на затриманих даних або використовуєте моделі, які підходять до вихідних даних? У будь-якому випадку одна можлива проблема полягає в тому, що ви робите помилку типу II у виданих даних; можливо, змінна є актуальною, але ви спочатку були недооціненими (у такому випадку ви, мабуть, переоцінюєте ефект, який може погіршити прогнози). Або змінна була неактуальною, і ви зробили помилку типу I. Є багато причин, через які може трапитися така річ.
хлопець

1
Я використав декілька показників: RSME, MAE та AUC (Я також намагаюся передбачити, чи є моя певна змінна величина, яка неперервна, нижче певного порогу).
дубвіце

Відповіді:


3

Якщо конкретний прогноз є статистично значущим, насправді це не означає, що він також значно покращує прогнозовану ефективність моделі. Прогнозована ефективність більше пов'язана з розміром ефекту. Як приклад, наведена нижче функція імітує дані з лінійної регресійної моделі з двома предикторами x1і x2, і відповідає двом моделям, одна з обома x1і x2, а одна з x1окремими. У функції ви можете змінити розмір ефекту для x2. Функція повідомляє про довірчі інтервали для коефіцієнтів x1і x2, іR2 значення двох моделей як міри прогнозних показників.

Функція:

sim_ES <- function (effect_size = 1, sd = 2, n = 200) {
    # simulate some data
    DF <- data.frame(x1 = runif(n, -3, 3), x2 = runif(n, -3, 3))
    DF$y <- 2 + 5 * DF$x1 + (effect_size * sd) * DF$x2 + rnorm(n, sd = sd)

    # fit the models with and without x2
    fm1 <- lm(y ~ x1 + x2, data = DF)
    fm2 <- lm(y ~ x1, data = DF)

    # results
    list("95% CIs" = confint(fm1),
         "R2_X1_X2" = summary(fm1)$r.squared,
         "R2_only_X1" = summary(fm2)$r.squared)
}

Як приклад, для значень за замовчуванням, які ми отримуємо,

$`95% CIs`
               2.5 %   97.5 %
(Intercept) 1.769235 2.349051
x1          4.857439 5.196503
x2          1.759917 2.094877

$R2_X1_X2
[1] 0.9512757

$R2_only_X1
[1] 0.8238826

Це x2важливо, і не враховуючи його в моделі, має великий вплив наR2.

Але якщо встановити розмір ефекту в 0,3, ми отримаємо:

> sim_ES(effect_size = 0.3)
$`95% CIs`
                2.5 %    97.5 %
(Intercept) 1.9888073 2.5563233
x1          4.9383698 5.2547929
x2          0.3512024 0.6717464

$R2_X1_X2
[1] 0.9542341

$R2_only_X1
[1] 0.9450327

Коефіцієнт все ще значний, але поліпшення рівня R2 дуже маленький.


Неясна дихотомія між статистичною значимістю та прогнозованою ефективністю є основою мого життя в аналітиці більш ніж одним способом. (+1 - і загальний прийом до професора CV!)
usεr11852

-1

Це досить нормальна річ, що трапляється при багаторазовій регресії. Найпоширенішою причиною є те, що ваші прогнози пов'язані один з одним. Іншими словами, ви можете зробити висновок X із значень інших предикторів. Тому, хоча це корисно для прогнозів, якщо це єдиний передбачуваний у вас прогноз, коли у вас є всі інші прогнози, він не надає багато додаткової інформації. Ви можете перевірити, чи це так, регресуючи X на інших прогнозах. Я б також посилався на розділ про лінійну регресію у вільному онлайн-підручнику «Елементи статистичного навчання».


1
Здається, ви описуєте несуттєву пояснювальну змінну, а не вирішуючи конкретні обставини, описані в питанні.
whuber

Я описую пояснювальну змінну, яка суттєво пов'язана з відповіддю сама по собі (тобто в простому регресії), і це те, що я припускаю, що питання означає "X здається, що сильно впливає на мінливу відповідь".
Дензілое

Але в такому випадку я б не виявив, що моя пояснювальна змінна X суттєво впливає на мій змінний відповідь, правда? Можливо, спочатку я не пояснив це питання, але я використав модель із усіма пояснювальними змінними, щоб виявити, що пояснювальна змінна X має значний вплив на мій змінний відповідей.
дубвіце

3
Я читав питання як таке значення Хє вагомим в умовах множинної регресії. Це здається досить зрозумілим із посилань на "кілька пояснювальних змінних". Мене хвилює, що ваша відповідь може заплутати ОП.
whuber

1
Так, юбе, ти це правильно зрозумів. Це я маю на увазі. Я сподіваюся, це досить добре прояснив у своєму запитанні.
dubvice
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.