2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Покрытие доверительного интервала для ступенчатой регрессии
Сообщение15.08.2018, 22:22 
Аватара пользователя


15/11/08
502
London, ON
Здравствуйте. Помогите, пожалуйста, разобраться вот в каком вопросе.
Допустим, я хочу провести оценку доверительный интервалов для коэффициента $\beta_1$ и при этом я использую какой либо метод селекции модели. ЛАССО или ступенчатую регрессию - это не принципиально. Но селективный метод подразумевает, что для определенной выборки, регрессор $X_1$ может быть выкинут из регрессии. Теперь рассмотрим две ситуации. В первой, реальный эффект регрессора $X_1$ является $\beta_1= 0$, и мы проводим симуляцию с 1000 итерациями (не важно линейная регрессия или нет). Из этой 1000, только в 200 итераций переменная $X_1$ была выбрана в финальную модель, и только в 150 из этих 200 построенный доверительный интервал включал с себя 0.
Теперь, собственно, сам вопрос. Как высчитывать покрытие доверительного интервала? Я знаю два способа, первый это рассматривать только 200 итераций, в которых переменная была выбрана. В таком случае покрытие равно $\frac{150}{200}=75\%$. Второй способ, предполагает рассмотрение селекции как части процесса построения доверительного интервала, и предположить что если переменная не была выбрана, то метод селекции решил, что $\hat{\beta}_1 0$ с соответствующим доверительным интервалом $[0,0]$. В этом случае, все итерации в которых переменная не была выбрана мы можем рассматривать как "точное попадание", а покрытие будет равно $\frac{150+800}{1000}=95\%$.

Теперь вторая ситуация. Предположим $\beta_1\ne 0$, из 1000 итераций 200 раз переменная была выбрана, и из этих 200 только в 190 доверительный интервал включал в себя реальный эффект. Если использовать первый метод, то покрытие равно $\frac{190}{200}=95\%$. А если второй, то мы рассматриваем те 800 итерации, в которых переменную исключили как "уверенный промах" и тогда покрытие равно $\frac{190}{200+800}=19\%$.

Я сам считаю, что второй метод более логичен, поскольку он использует все 1000 итераций и информацию из них, а так же рассматривает весь процесс оценки (метод) в целом, при этом если я хочу сравнить два каких либо метода (например, ступенчатая регрессия с AIC штрафом и с BIC штрафом), то результаты всегда будут основаны на одном количестве итераций, в том время как при первом способе это число может различаться.

Так же, если второй способ верный, то как при этом высчитывать среднюю длину интервала? Стоит ли в таком случае учитывать все 1000 итерации или тут уже имеет смысл брать только 200?

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение16.08.2018, 07:58 


07/10/15

2400
Neytrall, чтобы ответить на Ваш вопрос, желательно знать как Вы оцениваете (или планируете оценивать) доверительный интервал. Правильно ли я понял, что Вы используете оценки следующего вида
$|b-\hat{b}|=z_{1-\alpha/2}s_e\sqrt{diag((X^TX)^{-1})}$,
основанные на классической теории линейной регрессии?

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение16.08.2018, 11:07 
Аватара пользователя


15/11/08
502
London, ON
Andrey_Kireew, а разве это имеет значение использую ли я доверительный интервал Вальда, profile-likelihood или тот же score? Пусть это будет стандартный интервал Вальда как вы и написали. Вопрос же по своей сути в другом.

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение16.08.2018, 12:52 


07/10/15

2400
Я примерно так и предполагал. Всё дело в том, что доверительные интервалы коэффициента существуют только в рамках конкретной модели. При включении дополнительных факторов в модель или исключении из неё уже включённых - length для $\beta_1$ будет изменяться, но не вследствие sampling error, а вследствие того, что значимость фактора в модели зависит от сочетания других факторов, включённых в неё. В методе step regression отдельные факторы многократно включаются и исключаются из модели именно поэтому (потому, что их значимость то увеличивается, то падает).

То что Вы намерены сделать - усреднить результаты оценивания доверительного интервала для коэффициента $\beta_1$ в разных моделях, строго говоря бессмысленно,так как это не один и тот же коэффициент, хотя и имеет одинаковое обозначение, и связан с одним и тем же фактором. Вы конечно получите некий усреднённый результат, но приписывать его лучшей модели, найденной методом step regression будет неправильно, по выше обозначенным причинам. Стремясь повысить качество оценок доверительных интервалов, Вы добьётесь ровно противоположного результата.

В Вашем случае корректно использовать только length для лучшей модели, найденной по критерию BIC или AIC, length для остальных моделей, к этой модели не относятся.

Значению length соответствует доверительная вероятность $P=1-\alpha$, которую Вы сами и задаёте (или она задана в алгоритме по умолчанию $P=0.95$). coverage вычисляется для проверки адекватности доверительных интервалов посредством статистических испытаний (если оценки дов. интервала адекватны, то coverage близко к доверительной вероятности P). Статистические испытания проводятся на разных подвыборках для одной и той же модели. step regression process - это не статистические испытания, т.к. все итерации осуществляются на одной выборке и соответствуют разным моделям. Поэтому, то что Вы намерены вычислить, по сути, coverage являться не будет.

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

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение16.08.2018, 15:33 
Аватара пользователя


15/11/08
502
London, ON
Andrey_Kireew,
Я извиняюсь, но все еще не ясно.
Например в статье "Model selection bias and Freedman’s paradox" Lukacs (2009), авторы делают 10,000 итераций и высчитывают покрытие для $\beta_j$, только на основе моделей, которые включают в себя $X_j$, что соотносится с первым способом, который я описал. Я не хочу повышать качество оценки для ступенчатой регрессии, я знаю что она ужасна и ее не стоит использовать. Для каждой итерации мне кажется, что надо смотреть на конечную модель как ответ предлагаемый методом. И просто считать сколько раз доверительный интервал включал в себя реальную величину. И так для каждого коэффициента отдельно, по всем итерациям.

Например, у меня есть 3 переменных и я делаю 5 итераций ступенчатой регрессии (пусть хоть линейной, не важно):
$y=\hat{\beta}_{0,1}+\hat{\beta}_{1,1}X_1+\hat{\beta}_{2,1}X_2+\hat{\beta}_{3,1}X_3$
$y=\hat{\beta}_{0,2}+\hat{\beta}_{1,2}X_1\quad\quad+\quad\quad\hat{\beta}_{3,2}X_3$
$y=\hat{\beta}_{0,3}+\hat{\beta}_{1,3}X_1+\hat{\beta}_{2,3}X_2$
$y=\hat{\beta}_{0,4}+\hat{\beta}_{1,4}X_1$
$y=\hat{\beta}_{0,5}\quad\quad\quad\quad+\quad\quad\quad\quad\hat{\beta}_{3,5}X_3$

Для каждого $\beta_{1,i}$ я могу построить доверительный интервал и проверить покрывает ли он реальный эффект. А потом посчитать какое было среднее покрытие (не length, а именно попал\не попал), первый метод (тот что описан в статье) будет брать в расчет только первые четыре модели, поскольку в пятой итерации $\hat{\beta}_{1}$ отсутствует. Второй же метод предполагает использовать и пятую итерацию просто с нулевым доверительным интервалом вокруг нуля и засчитывать это в пользу покрытия, только если реальный эффект действительно ноль. Вот и все.

Я не совсем понимаю, что значит использовать "только length для лучшей модели"? Среди всех итераций? Ведь каждая итерация это новая выборка (в случае и логистической регрессией новый вектор $y$), новая конечная модель и, соответственно, новые интервалы. Почему я не могу их усреднять?

Использование step regression на одной выборке тоже странно. На какой именно? Ведь для каждой выборки метод даст разные модели. Это не показывает возможности метода. То есть если мне попалась удачная выборка, такая что при применение метода он выкинул все ненужные переменные и оставил только нужные, то потом подставив это модель (которая является самой правильной моделью), мы получим идеальные результаты, а если та выборка, на которой я провел step regression оказалась не такой хорошей, то все. Та стратегия, которую предлагаете вы покажет уже плохие результаты. Разве это объективная оценка метода, если результат, по-факту, зависит от удачи?
Так же, допустим,я это сделал, и какие-то переменные были удалены из модели, как мне высчитывать процент покрытия для них? Их же нет в модели. Брать еще одну выборку, прогонять step regression в надежде, что те переменные которые были выкинуты при первой попытке вдруг останутся при второй?

Я надеюсь, я вас не запутал.

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение16.08.2018, 16:56 


07/10/15

2400
Из Вашего сообщения не совсем понятно как реализуется метод оценивания, что Вы понимаете под итерациями (я предположил что итерация - это шаг алгоритма step regression, но теперь уже сомневаюсь, а загадки разгадывать желания нет).

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение16.08.2018, 17:44 
Аватара пользователя


15/11/08
502
London, ON
Мы же обсуждаем симуляцию для оценки покрытия, и каждый отдельный прогон метода до финальной модели на основе новой выборки является отдельной итерацией. Я же написал вначале "проводим симуляцию с 1,000 итерациями" - We conduct simulation study with 1,000 runs. Видимо мы друг друга не поняли. Русский хоть и мой родной язык, но статистику я изучал на других языках. Поэтому то я и решил, что "итерация" наиболее точный перевод для слова "runs".

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение16.08.2018, 17:51 


07/10/15

2400
Теперь понятно. Ещё один вопрос, что Вы вкладываете в понятие реальный эффект? У Вас, что известны истинные значения параметров $\beta$?

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение17.08.2018, 00:25 
Аватара пользователя


15/11/08
502
London, ON
Конечно, реальным эффектом я называю изначальные $\beta$, которые я использую для создания $y$. А иначе какая же это симуляция если неизвестны вводные данные?

Если я делаю это для логистической регрессии, то для определенных параметров, такие как $n$ размер выборки, $p$ количество переменных, $\rho$ корреляция между переменными и конечно же prevalence, я создаю матрицу $X$. Дальше я определяю вектор реальных эффектов $\beta$ и создаю 1,000 бинарных векторов $y\sim Ber(\frac{e^{X\beta}}{1+e^{X\beta}})$. Так это работает для логистической, если бы я делал линейную регрессию, то просто 1,000 раз симулировал $X$, и для каждой матрицы $X$ создавал бы $y=X\beta+\varepsilon$, где $\varepsilon\sim N(0,1)$. Ну и дальнейшая подгонка модели каким либо селекционным методом, оценка интервалов и покрытия. В этом же вся суть симуляций.

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение17.08.2018, 05:27 


07/10/15

2400
В свете новой информации всё прояснилось.
Дело в том, что cover имеет смысл для доверительного интервала заданной длинны. Для моделей без ограничений на параметр $\beta_1$, $length$ отличаются друг от друга незначительно, и их можно вполне адекватно характеризовать средним значением. Для всех моделей с ограничением на параметр $\beta_1\equiv0$, как Вы правильно заметили, можно принять $length=0$, которое так же будет их адекватно характеризовать.

Другими словами, имеется две, резко отличающиеся группы моделей. Наиболее разумно посчитать cover для каждой из них в отдельности (cover для length=0 в группе с $\beta_1\equiv 0$ и cover для среднего length в группе с $\beta_1\ne 0$), что собственно и делается в статье (группа с length=0 просто не представляет интереса, и поэтому не рассматривается).

Объединить обе группы в одну, как Вы предлагаете это сделать в своём втором способе, конечно можно. Но это не самая лучшая идея. Тут сразу возникает вопрос - какому значению length будет соответствовать рассчитанное cover? У Вас и у самого возник этот вопрос. Можно конечно использовать среднее length по всем 1000 итерациям (оно получится в несколько раз меньше чем среднее length в группе с $\beta_1\ne 0$, и cover тоже получится значительно меньше), можно использовать медианное значение length=0, но этот вариант выглядит неправдоподобно, использовать результат усреднения только length для $\beta_1\ne 0$, как Вы предлагаете, совершенно неправильно - в этом случае получится необоснованно заниженное значение cover. В общем всё это можно, но ни к чему хорошему не приведёт. У бимодального распределения нет единой центральной тенденции. В данном случае лучший вариант - это стратификация результатов, что собственно и сделано в статье.

В свете вышеизложенного, на мой взгляд, первый способ лучше второго.

PS: Только непонятно, как вышло, что на искусственных данных, заведомо удовлетворяющих всем предпосылкам классического МНК, Ваша модель "умудряется" работать плохо. Этого быть никак не должно. Я бы проверил всё ещё раз на наличие ошибок.

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение17.08.2018, 06:42 
Аватара пользователя


15/11/08
502
London, ON
Andrey_Kireew в сообщении #1333014 писал(а):
cover для length=0 в группе с $\beta_1\equiv 0$ и cover для среднего length в группе с $\beta_1\ne 0$


Вы говорите про оценки или реальные эффекты? Поскольку для всех итераций $\beta_1$ фиксирована, переменная либо влияет, любо нет.

Видите ли, я сделал модель с пятью параметрами и соответствующим, фиксированным вектором коэффициентов $(0,0.01,-0.2,0.5,1)$. Если сделать 1000 инетраций, то последний параметр всегда будет в конечной модели поскольку его коэффициент достаточно велик, что облегчает расчет эмпирического покрытия доверительного интервала, но вот со второй переменной для которой $\beta_2=0.01$ есть проблема. Она попадается в конечной модели лишь 50 раз (например), и основывать расчет эмпирического покрытия на таком малом количестве итераций мне кажется неверным. Ведь остальные 950 раз этот метод выкинул переменную, тем самым сказав нам что ее эффект незначителен или равен нулю. И метод говорит это с определенной уверенностью, ведь если мы делаем ступенчатую регрессию с AIC штрафом, то она выкидывает все переменные которые не прошли 0,157 барьер по p-value. То есть реальный коэффициент $\beta_2=0.01$, а метод его выкидывает, делая неверный вывод.

То же самое для первой переменной, чей эффект $\beta=0$. Метод его чаще выкидывает, что уже верно. Но если это не учитывать, то его процент покрытия тоже будет не совсем адекватным.

Я исходил из идеи идеальной модели. Что такое идеальная модель? Это модель, которая дает 95% покрытие для всех хоть сколько-то значимых параметров и 100% выкидывает все ненужные ($\beta=0$). Исходя из этого если метод выкидывает ненужные переменные, то это хорошо и надо ему это засчитывать. И наоборот, если метод выкидывает важные переменные, то это тоже должно засчитываться только в минус. А полное игнорирование итераций при которых переменная выпадает (первый способ) лишает нас возможности "по достоинству" оценить метод.

Если использовать второй способ, то исключение переменной с $\beta=0$ повышает покрытие метода для этой переменной, и ухудшает если $\beta\ne0$. Просто если использовать первый способ, то из 1000 итераций я смогу использовать лишь малую часть, но из-за этого страдает уверенность в точности измерения покрытия.
Например, если я использую метод усреднения моделей, так что в каждой итерации у меня есть и оценка для $\beta_j$ и доверительный интервал, то высчитав процент покрытия я могу сказать годен (valid) ли он, просто проверив если он в пределах $[93.6,96.4]$. А если, при этом, я основываю свой анализ ступенчатой регрессии на 50 итерациях, то теперь этот предел $[75.8, 100]$. В таком случае, как я могу сравнить эти два метода - метод усреднения моделей и ступенчатой регрессии?

В статье, они поменяли количество итераций, увеличив из в 10 раз для ступенчатой регрессии, но я не могу так сделать.

Опять же, меня не сильно волнует длина интервала. Я сравниваю несколько методов, и начинаю сравнение с процента покрытия, если метод показал плохой процент, я его бракую. Оставшиеся сравниваю по сбалансированности (upper tail error = lower tail error), и только потом, те методы что прошли оба сравнения, будут сравниваться по длине интервала. То есть я заранее знаю, что методы ступенчатой регрессии, лассо и иже с ними отсеются на первой же стадии, поскольку они хоть как-то работают только при большой выборке и\или сильных коэффициентах. Так что для них, length я мог бы основывать только на тех итерациях, в которых переменная присутствовала.

Или это все в корне неверно?

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение17.08.2018, 07:57 


07/10/15

2400
Я пишу про параметры, получаемые методом step regression в результате симуляций, строго говоря, оценками среди них можно назвать только $\beta\ne 0$, потому что только они оцениваются, и только они уменьшают число степеней свободы дисперсии остатков, на основании которой и рассчитывается доверительный интервал. $\beta\equiv 0$ - это строго говоря не оценки, они задаются априори, перед оцениванием неизвестных параметров. Но всё это есть отклонение от темы и не суть важно.

Цитата:
... ведь если мы делаем ступенчатую регрессию с AIC штрафом, то она выкидывает все переменные которые не прошли 0,157 барьер по p-value


AIC не статистика, к нему вообще не применимы такие понятия как p-value
если выбрасываются все переменные, которые не прошли 0,157 барьер по p-value, то это не step regression, а похоже на простой отбор по t критерию. Какую роль здесь играет AIC если отбор осуществляется по t критерию? Мне это не понятно.

Цитата:
Я исходил из идеи идеальной модели. Что такое идеальная модель? Это модель, которая дает 95% покрытие для всех хоть сколько-то значимых параметров и 100% выкидывает все ненужные ($\beta=0$).


Идеальная модель, это модель, в которой cover совпадёт с $1-\alpha$ доверительного интервала, вот и всё. Если у Вашего доверительного интервала $\alpha$=0.05, то да, все истинные значения параметров должны покрываться в 95% случаев. Причём и $\beta=0$ тоже в 95% случаев, а не как вы пишите 100%. Ноль это такое же значение, как и все остальные.

Цитата:
если я использую метод усреднения моделей, так что в каждой итерации у меня есть и оценка для $\beta_j$ и доверительный интервал, то высчитав процент покрытия я могу сказать годен (valid) ли он, просто проверив если он в пределах $[93.6,96.4]$. А если, при этом, я основываю свой анализ ступенчатой регрессии на 50 итерациях, то теперь этот предел $[75.8, 100]$. В таком случае, как я могу сравнить эти два метода - метод усреднения моделей и ступенчатой регрессии?


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

Цитата:
В статье, они поменяли количество итераций, увеличив из в 10 раз для ступенчатой регрессии, но я не могу так сделать.


Видимо это сделано не просто так. Если Вы этого не можете, то лучше ограничится небольшим числом итераций, чем подгонять результаты под свои ожидания. Ведь именно к этому Вы и стремитесь.
Цитата:
я заранее знаю, что методы ступенчатой регрессии, лассо и иже с ними отсеются на первой же стадии
,
это лишь Ваше личное предположение. На самом деле, если эти методы применяются корректно, то обеспечивают результаты близкие к теоретическому пределу. Это давно доказано. А у Вас нормально распределённые остатки. Тут сомнительно обнаружить какие то недостатки.

К стати, как Вы оцениваете доверительные интервалы для LASSO?

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


Это правильно, если cover не совпадает с $1-\alpha$, то доверительные интервалы неадекватны и нет никакого смысла ориентироваться на их величину.

Но нужно иметь в виду, если $cover>1-\alpha$ это тоже плохо. Например, если cover=98%, а $\alpha=0.05$, то ничего хорошего в этом нет. Это означает, что теоретические оценки доверительных интервалов шире реальных, и метод на самом деле более эффективен, чем это кажется. В этом случае, разумеется, отбраковывать метод не стоит, но и доверительные интервалы не годятся для того, чтобы по ним оценивать качество метода. Нужно оценивать адекватные доверительные интервалы, каким то другим способом.

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение17.08.2018, 08:45 
Аватара пользователя


15/11/08
502
London, ON
Andrey_Kireew в сообщении #1333019 писал(а):
AIC не статистика, к нему вообще не применимы такие понятия как p-value
если выбрасываются все переменные, которые не прошли 0,157 барьер по p-value, то это не step regression, а похоже на простой отбор по t критерию. Какую роль здесь играет AIC если отбор осуществляется по t критерию? Мне это не понятно.


Статья "The Use of Resampling Methods to Simplify Regression Models in Medical Statistics" Sauerbrei (1999) показывает, что ступенчатая регрессия с AIC штрафом эквивалентна критерию отбора p-value<0.157.

Andrey_Kireew в сообщении #1333019 писал(а):
Идеальная модель, это модель, в которой cover совпадёт с $1-\alpha$ доверительного интервала, вот и всё. Если у Вашего доверительного интервала $\alpha$=0.05, то да, все истинные значения параметров должны покрываться в 95% случаев. Причём и $\beta=0$ тоже в 95% случаев, а не как вы пишите 100%. Ноль это такое же значение, как и все остальные.


Вы описываете идеальный метод. Идеальная ситуация это когда мы точно знаем какие переменные влияют, а какие нет. То есть мы знаем настоящую модель (true model). Так? Такая модель не включает в себя неважные переменные с 100% случаев. Статистики же пытаются найти методы селекции, которые дадут такой результат, но все эти методы работают только в определенных ситуациях, а поэтому, да, хорошим методом для нас является тот, который дает 95% покрытие для всех переменных.

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


Но степень адекватности зависит от числа итераций. Если усреднение моделей дало мне 95.9% при 1000 итераций, то я знаю что $95.9%\in[93.6,96.4]$ (вы же понимаете откуда эта зона) и поэтому могу сказать что метод дает валидный интервал. Если бы усреднение моделей дало мне 97%, то тут я бы уже сказал, что он за рамками и метод дает слишком консервативный интервал. Но при это если ступенчатая регрессия дает мне 80% покрытие при 50 итерациях, что же мне сказать нечего. При 50ти итерациях зона валидности как я уже написал равна $[75.8,100]$, что довольно таки неадекватно. Потому, что если я повышу число итераций, то эти 80% могут уйти как вниз к 75.8%, так и вверх к 95%. То есть при 50 итерациях, я не могу сказать что ступенчатая регрессия хуже усреднения.

Andrey_Kireew в сообщении #1333019 писал(а):
это лишь Ваше личное предположение. На самом деле, если эти методы применяются корректно, то обеспечивают результаты близкие к теоретическому пределу. Это давно доказано. А у Вас нормально распределённые остатки. Тут сомнительно обнаружить какие то недостатки.


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

Andrey_Kireew в сообщении #1333019 писал(а):
К стати, как Вы оцениваете доверительные интервалы для LASSO?


Для ЛАССО, я использую пакет glmnet из R. Использую не минимальную ламбду, а 1se, который дает модель проще, но не отличимую от "лучшей модели" при минимальной ламбде. Я использую ЛАССО только для определения переменных, а потом строю обычную логистическую регрессию и отобранными переменными. (Это то, что зачастую делают в медицинских журналах.)

Andrey_Kireew в сообщении #1333019 писал(а):
Например, если cover=98%, а $\alpha=0.05$, то ничего хорошего в этом нет.


Полностью с вами согласен. Вот только если вы получили эти 98% на основании лишь 50 итераций, то вы ничего не сможете сказать, ведь для 50 итераций 95% и 98% неразличимы, точно так же как неразличимы 95% и 80%. В этом то все и дело.

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение17.08.2018, 09:59 


07/10/15

2400
Neytrall в сообщении #1333024 писал(а):
Статья "The Use of Resampling Methods to Simplify Regression Models in Medical Statistics" Sauerbrei (1999) показывает, что ступенчатая регрессия с AIC штрафом эквивалентна критерию отбора p-value<0.157.


Ну может и есть такая верхняя граница. Только какая от неё реальная польза? Одни переменные будут включаться в модель на уровне 0.156, а другие только на уровне 0.05. У всех переменных будет разный эквивалентный t критерий отбора. Более того, он будет зависеть от сочетания уже имеющихся в модели переменных, т.е. от порядка их включения в модель.


Neytrall в сообщении #1333024 писал(а):
Но степень адекватности зависит от числа итераций. Если усреднение моделей дало мне 95.9% при 1000 итераций, то я знаю что $95.9%\in[93.6,96.4]$ (вы же понимаете откуда эта зона) и поэтому могу сказать что метод дает валидный интервал. Если бы усреднение моделей дало мне 97%, то тут я бы уже сказал, что он за рамками и метод дает слишком консервативный интервал. Но при это если ступенчатая регрессия дает мне 80% покрытие при 50 итерациях, что же мне сказать нечего. При 50ти итерациях зона валидности как я уже написал равна $[75.8,100]$, что довольно таки неадекватно. Потому, что если я повышу число итераций, то эти 80% могут уйти как вниз к 75.8%, так и вверх к 95%. То есть при 50 итерациях, я не могу сказать что ступенчатая регрессия хуже усреднения.


Это не степень адекватности зависит от числа итераций, а точность оценки этой степени адекватности. Да зависит. Но $[75.8,100]$ - это то что Вы имеете, из этого нужно и исходить. Вы же сами пишете, что не можете увеличить число итераций. То что с 80% она повысится до 95% - это вряд ли. Можно оценить эту погрешность:
$\Delta\tau=\pm z_{1-\alpha/2}\sqrt{\frac{\tau(1-\tau)}{n}}\approx \pm1.96\sqrt{\frac{0.8(1-0.8)}{50}}\approx \pm0.11$
так, что максимум до 90% может дотянуть.

Да, диапазон широк, но добавив все остальные результаты Вы ничего не измените, а создадите лишь иллюзию точности. Потому, что непонятно какому доверительному интервалу это значение вообще будет соответствовать.


Neytrall в сообщении #1333024 писал(а):
Почему вы решили, что у меня нормально распределенные остатки? Я работаю с логистической регрессией и дата симулируется не только из нормального распределения.

вот по этой причине:
Neytrall в сообщении #1333000 писал(а):
... создавал бы $y=X\beta+\varepsilon$, где $\varepsilon\sim N(0,1)$. ...



Neytrall в сообщении #1333024 писал(а):
Для ЛАССО, я использую пакет glmnet из R. Использую не минимальную ламбду, а 1se, который дает модель проще, но не отличимую от "лучшей модели" при минимальной ламбде. Я использую ЛАССО только для определения переменных, а потом строю обычную логистическую регрессию и отобранными переменными. (Это то, что зачастую делают в медицинских журналах.)


Если Вы строите доверительные интервалы для логистической регрессии, с признаками, отобранными с помощью LASSO, то это не оценки LASSO, о обычные оценки МНП. Для них, действительно, доверительные интервалы построить просто.

Но тут один нюанс. Этот способ отбора применяется исключительно из за удобства. Дело в том, что оптимальное сочетание признаков в линейной модели не обязательно будет таковым в логистической регрессии. На это можно только лишь надеяться. По хорошему нужно использовать L1 логистическую регрессию. Тогда всё будет корректно.


Neytrall в сообщении #1333024 писал(а):
... то вы ничего не сможете сказать, ведь для 50 итераций 95% и 98% неразличимы, точно так же как неразличимы 95% и 80%. В этом то все и дело.


да, действительно, сказать ничего нельзя, но и Ваше предложение - это не выход, и я уже объяснил почему

 Профиль  
                  
 
 Re: Покрытие доверительного интервала для ступенчатой регрессии
Сообщение17.08.2018, 11:24 
Аватара пользователя


15/11/08
502
London, ON
Andrey_Kireew в сообщении #1333040 писал(а):
Потому, что непонятно какому доверительному интервалу это значение вообще будет соответствовать.


Почему это должно соответствовать какому-то фиксированному интервалу, а не относиться именно к методу в целом? Есть же штрафы AIC и BIC, и мы знаем что при фиксированной выборке, у BIC выше шансы выкинуть переменную, потому что он строже. Так? Это значит, что при небольшой выборке, BIC скорее чем AIC выкинет переменную с маленьким эффектом, а то есть шанс что он будет хуже выше.

Так почему нельзя рассмотреть исключение переменной как $\hat{\beta}=0$ с интервалом $[0,0]$? Если рассматривать это в целом, то метод выкинул переменную, и если переменная важна, то метод ошибся, выкидывая ее. Но вы предлагаете не учитывать это как ошибку. Как будто ее не было. То есть если 1000 ученых будут проводить анализ, каждый со своей базой данных и 950 из них получили неверные результаты, выкинув важную переменную, а из 50 оставшихся, например, 20 таки построили доверительный интервал, который включает в себя реальный эффект, то мы просто выкидываем те 950 и оставляем 50. Тем самым раздуваем покрытие для важных переменных (именно раздуваем, потому что 20 верных моделей из 50 оставшихся это уже 40%, а не 20 из 1000). Если метод из 1000 симуляций только в 20ти смог построить нормальный интервал и захватить реальный эффект, при это 950 раз просто исключив переменную, то он попадает в 40% случаев?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group