Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

> Zero-truncated Poisson regression
ИНО
сообщение 6.11.2022 - 08:07
Сообщение #1





Группа: Пользователи
Сообщений: 290
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



Широко используется буржуями для предсказания счетной зависимой переменной, если она в силу дизайна эксперимента не может принимать нулевое значение (ну, например количество прыщей посчитали только на тех больных, которые обратились с жалобами на прыщи). Интерпретация параметров таких моделей заковыриста: https://stats.stackexchange.com/questions/4...ts?noredirect=1

Вопрос: а почему с аналогичной целью нельзя применить обычную регрессию Пуассона, просто предварительно вычтя из всех значений зависимой переменной единицу? Пусть такая модель предсказывает не общее количество счетных единиц, а количество единиц, добавленных к одной обязательно имеющейся. Потом, если надо, добавляем к предсказанной величине единичку, и дело в шляпе! Но, судя по тому, как извращается народ именно с Zero-truncated Poisson regression, и ищет ее программные реализации, очевидно, предложенный мною альтернативный подход неправомерен. Но сколько я не ломал голову, так и не понял, почему. Прошу более головастых подсказать.

И вдогонку еще один маленький вопросик: а как сабж будет грамотно обозвать по-русски? Регрессия Пуассона с усеченным нулем?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
 
Открыть тему
Ответов
ИНО
сообщение 20.11.2022 - 22:29
Сообщение #2





Группа: Пользователи
Сообщений: 290
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



100$, А Вы тему просмотрите (благо тут из свежих негусто) и уведите, что не так с CWTest()'ом. "Чумовая ошибка" первого рода была только у него, у всех прочих - второго, что и следовало ожидать при столь малых размерах выборок. И только это не имеющее аналогов в мире изобретение отличлось! Причем, пока я не продемонстрировал данный конфуз моделированием, Вы уж чуть было не написали пакет имени себя, даже не удосужившись проверить работоспособность собственного кода (а чо, проверки всякие - для слабаков, истинный же мастер защищен святой ЦПТ и авторитетом гуру во веки веков). Теперь, похоже, наблюдается рецидив. Вместо бестолковых рассуждений о Большом брате и палатах, лучше б R запустили. и убедились что мой обруганный Вами генератор ровно то же, что и хваленый rpospois() - подсказка относительно рисунка из поста #43 для тех, кто сам не догадался.

comisora, эта гибрид из логичстической модели и ZPT, применяется. наоборот, когда в выборке нулей овер дофига. Наверное, можно расковырять готовую функцию, и оторвать половину гибридной модели, но получим все тот же pospoisson.

Зависимые переменные в моем коде и так одинаковые, столь огорчившие теоретика арифметические фокусы с единицей - это уже часть регрессионной модели. Кстати, собственно к регрессии мы покамест еще перешли, этот шаг запланирован на завтра. Может, с появлением независимых переменных модели наконец-то поведут себя по-разному, и неправильные облажаются. Хотя в теории загвоздка должна была заключаться именно в той части процесса, которая уже проделана, - в моделировании распределения остатков - однако покамест теория что-то плохо контачит с практикой, так что я уже не удивлюсь любым сюрпризам.

Сообщение отредактировал ИНО - 20.11.2022 - 22:44
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
comisora
сообщение 20.11.2022 - 23:53
Сообщение #3





Группа: Пользователи
Сообщений: 109
Регистрация: 27.12.2015
Пользователь №: 27815



Цитата(ИНО @ 20.11.2022 - 22:29) *
comisora, эта гибрид из логичстической модели и ZPT, применяется. наоборот, когда в выборке нулей овер дофига. Наверное, можно расковырять готовую функцию, и оторвать половину гибридной модели, но получим все тот же pospoisson.


Я не вижу причин отказываться от hurdle-модели даже когда мало нулей, но изначально их быть не должно. Такая составная модель, как мне представляется, может справиться с процессом отбраковки (1 или 0), а далее Пуассоном с усечённым нулём моделировать оставшиеся данные.

CODE

n = 10
lambda = 0.5

set.seed(32167)
x <- qpois(p = runif(n, min = dpois(0, lambda)), lambda) #rpospois()

set.seed(32167)
y <- qpois(p = runif(n, min = 0), lambda)

set.seed(32167)
z <- rpois(n, lambda)

print(x);print(y);print(z)

[x] 1 1 1 1 1 2 2 1 1 2
[y] 0 0 0 0 0 1 2 0 0 2
[z] 0 0 0 0 0 1 2 0 0 2



Я пока не придумал как адаптировать Ваш код для доказательства/опровержения утверждения, что Ваш генератор и rpospois() даёт одно и тоже. Пока только демонстрирую разницу между rpospois() и rpois() с невозможностью арифметическими операциями свести одно распределение к другому. Даже если мы возьмём и создадим последовательность Пуассона без нулей, то она не всё равно не совпадёт при большом количестве наблюдений и lambda менее 10. Дальнейшее увеличение lambda приводит к расхождению рядов генерации.

CODE


n = 10000
lambda = 9
set.seed(32167)
x <- qpois(p = runif(n, min = dpois(0, lambda)), lambda)
set.seed(32167)
y <- qpois(p = runif(n, min = 0), lambda)
set.seed(32167)
z <- rpois(n, lambda)
table(x-y);table(x-z);table(y-z)


Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ИНО
сообщение 21.11.2022 - 10:42
Сообщение #4





Группа: Пользователи
Сообщений: 290
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



Цитата(comisora @ 20.11.2022 - 23:53) *
Я не вижу причин отказываться от hurdle-модели даже когда мало нулей, но изначально их быть не должно. Такая составная модель, как мне представляется, может справиться с процессом отбраковки (1 или 0), а далее Пуассоном с усечённым нулём моделировать оставшиеся данные.


Пожалуйста, проиллюстрируйте примером. А то я сосем не понимаю, что вы имеете в виду.

Цитата
Я пока не придумал как адаптировать Ваш код для доказательства/опровержения утверждения, что Ваш генератор и rpospois() даёт одно и тоже.


Это просто:

Цитата
# генерация синтетических данных:
lambda<-seq(0.01, 2, 0.01)
x<-rep(NA, 200)
y<-rep(NA, 200)
for(i in 1:200){
lambda_i<-lambda[i]
x[i]<-mean(rpospois(1000, lambda_i))
sim<-rpois(1000000, lambda_i)
sim<-sim[sim>0]
y[i]<-mean(sample(sim, size=1000))
}

plot(x, y)
abline(0, 1, col="red")


Здесь x - выдача rpospois(), а y - моего генератора. Фактически он делает ровно то же, но способом, который в более явном виде имитирует реальный процесс порождения "позитивнопуассоновских" данных. Конечно, полного соответствия не будет, т. к. у меня датчик псевдослучайных чисел работает в двух разных функциях и я не знаю как в такой ситуации корректно задать одинаковое семя обоим генераторам. Но и полученной диаграммы вполне достаточно для осознания их эквивалентности. Поскольку мы имеем дело с однопараметрическим распределением, достаточно оценки одного параметра, но для пущей убедительности можно проделать то же самое с любой другой, скажем заменить mean() на sd() - картина не изменится.


Цитата
Пока только демонстрирую разницу между rpospois() и rpois() с невозможностью арифметическими операциями свести одно распределение к другому. Даже если мы возьмём и создадим последовательность Пуассона без нулей, то она не всё равно не совпадёт при большом количестве наблюдений и lambda менее 10. Дальнейшее увеличение lambda приводит к расхождению рядов генерации.


Это изначально понятно. Именно поэтому я и удивляюсь: почему оценивая через сдвинутое пуассоновское распределение данные, сгенерированные усеченным пуассоновским распределением (т. е. как бы некорректно) я получаю практические те же оценки (а то и чуть более точные), как если бы действовал по феншую, выбрав заведомо верную спецификацию модели. Это действительно странно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Диагностик
сообщение 21.11.2022 - 11:29
Сообщение #5





Группа: Пользователи
Сообщений: 147
Регистрация: 4.09.2012
Из: г.Дивногорск
Пользователь №: 24146



Цитата(ИНО @ 21.11.2022 - 15:42) *
я и удивляюсь: почему оценивая через сдвинутое пуассоновское распределение данные, сгенерированные усеченным пуассоновским распределением (т. е. как бы некорректно) я получаю практические те же оценки (а то и чуть более точные)...Это действительно странно.
Для какого лямбда?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

Сообщений в этой теме
- ИНО   Zero-truncated Poisson regression   6.11.2022 - 08:07
- - Диагностик   Цитата(ИНО @ 6.11.2022 - 13:07) как ...   6.11.2022 - 10:40
- - Игорь   По регрессии Пуассона есть хорошая книга. Свободно...   6.11.2022 - 16:55
- - Игорь   Для Пуассона с нулевым усечением можно построить а...   6.11.2022 - 16:59
|- - ИНО   Сложность в том, что, вероятно, этот подход неправ...   6.11.2022 - 23:47
|- - Диагностик   Цитата(ИНО @ 7.11.2022 - 04:47) важн...   7.11.2022 - 00:50
- - ИНО   Это как бы самоочевидно, что усеченный ноль находи...   7.11.2022 - 01:41
- - Диагностик   Я отвечал на вопрос. Цитата(ИНО @ 6.11.2022 ...   7.11.2022 - 11:00
- - ИНО   Ну и? Каким образом данная Вами цитата о том, что ...   7.11.2022 - 11:04
- - Диагностик   Усеченное до нуля распределение означает что нуль ...   7.11.2022 - 13:17
- - ИНО   Спасибо, кэп!   8.11.2022 - 06:29
- - Диагностик   Чем богат.   8.11.2022 - 15:17
- - Игорь   Хотелось бы высказаться не в ответ, но по теме. У ...   9.11.2022 - 16:49
|- - ИНО   Цитата(Игорь @ 9.11.2022 - 16:49) У ...   9.11.2022 - 17:50
- - Игорь   Как-то в библиотеке заказал редкую статью, типа го...   10.11.2022 - 06:34
- - ИНО   Печальный у Вас жизненный опыт, но не стоит обобща...   10.11.2022 - 07:31
- - 100$   Цитата(ИНО @ 6.11.2022 - 08:07) Вопр...   12.11.2022 - 18:04
- - ИНО   Благодарю за первый ответ качественный по существу...   13.11.2022 - 09:55
|- - 100$   Цитата(ИНО @ 13.11.2022 - 09:55) ......   13.11.2022 - 15:27
- - ИНО   Цитата(типа "зуб даю, этот чувак болен прыщам...   14.11.2022 - 00:52
|- - 100$   Цитата(ИНО @ 14.11.2022 - 00:52) Ту ...   14.11.2022 - 01:55
- - ИНО   Что-то я Вас с каждым постом все меньше понимаю. З...   14.11.2022 - 10:06
|- - 100$   Цитата(ИНО @ 14.11.2022 - 10:06) Что...   14.11.2022 - 12:50
- - ИНО   Что такое "школьная математика" я не в к...   15.11.2022 - 09:07
|- - 100$   Цитата(ИНО @ 15.11.2022 - 09:07) Та ...   15.11.2022 - 12:44
|- - ИНО   Как обычно, я попробовал развеять теоретический су...   18.11.2022 - 09:57
- - Диагностик   Цитата(ИНО @ 18.11.2022 - 14:57) при...   18.11.2022 - 11:15
- - ИНО   Параметр распределения Пуассона. В моем случае име...   18.11.2022 - 11:35
|- - Диагностик   Цитата(ИНО @ 18.11.2022 - 16:35) Пар...   18.11.2022 - 13:25
- - 100$   Наконец-то наш естествоиспытатель сам признался, ч...   18.11.2022 - 16:07
- - comisora   2 ИНО У меня не хватает компетенции ответить на В...   18.11.2022 - 21:57
- - comisora   2 ИНО Ещё немного материала. "In this chapt...   19.11.2022 - 13:58
- - ИНО   100$, я уже видел Ваши 100500 теоретических а...   19.11.2022 - 14:43
- - ИНО   comisоra, в очередной раз спасибо за полезные ссыл...   19.11.2022 - 16:33
|- - Диагностик   Цитата(ИНО @ 19.11.2022 - 21:33) мож...   20.11.2022 - 10:33
- - ИНО   Друг с другом.   20.11.2022 - 10:54
|- - Диагностик   И какая из них считается правильной?   20.11.2022 - 11:27
- - ИНО   Этот вопрос лучше адресовать $100, поскольку ...   20.11.2022 - 12:07
|- - comisora   Цитата(ИНО @ 20.11.2022 - 12:07) Неп...   20.11.2022 - 12:47
|- - ИНО   Цитата(comisora @ 20.11.2022 - 12:47...   20.11.2022 - 18:36
|- - comisora   Цитата(ИНО @ 20.11.2022 - 18:36) Цел...   20.11.2022 - 22:21
- - 100$   Я на том стою, что базовое распределение Пуассона,...   20.11.2022 - 13:41
- - ИНО   100$, а как по-вашему получается этот "п...   20.11.2022 - 14:03
|- - 100$   Цитата(ИНО @ 20.11.2022 - 14:03) 100...   20.11.2022 - 15:19
- - ИНО   Слышал, что люди применительно к уровню знаний о к...   20.11.2022 - 17:59
- - 100$   А что не так с CWTest()'ом? Там, вроде бы, пер...   20.11.2022 - 21:55
- - ИНО   100$, А Вы тему просмотрите (благо тут из све...   20.11.2022 - 22:29
|- - comisora   Цитата(ИНО @ 20.11.2022 - 22:29) com...   20.11.2022 - 23:53
||- - ИНО   Цитата(comisora @ 20.11.2022 - 23:53...   21.11.2022 - 10:42
||- - Диагностик   Цитата(ИНО @ 21.11.2022 - 15:42) я и...   21.11.2022 - 11:29
|- - 100$   Цитата(ИНО @ 20.11.2022 - 22:29) 100...   21.11.2022 - 00:15
- - ИНО   100$, с каждым новым постом Вы все менее похо...   21.11.2022 - 10:18
- - ИНО   Для любого в интервале от 0,001 до 2 (на больших н...   21.11.2022 - 12:00
|- - Диагностик   Цитата(ИНО @ 21.11.2022 - 17:00) Для...   24.11.2022 - 10:35
- - ИНО   Итак, переходим к собственно регрессии. Пока что п...   21.11.2022 - 16:35
- - ИНО   А вот в p разница существенная: Кодpr1<-rep...   21.11.2022 - 18:27
- - ИНО   За отсутствием альтернативных предложений решил по...   23.11.2022 - 17:36
|- - 100$   Поциент скоро без упоминания меня и в сортире упра...   23.11.2022 - 18:23
- - ИНО   Лучше работать над проблемой, пусть даже не всегда...   23.11.2022 - 20:26
- - Игорь   Врачи-аспиранты, для которых создан форум, ознаком...   24.11.2022 - 07:41
- - ИНО   Диагностик, при других лямбдах разница будет замет...   24.11.2022 - 11:55
|- - Диагностик   Цитата(ИНО @ 24.11.2022 - 16:55) Обс...   24.11.2022 - 12:20
|- - Диагностик   Цитата(ИНО @ 24.11.2022 - 16:55) Иго...   25.11.2022 - 06:38
||- - ИНО   Остановиться в развитии - весьма плохое предложени...   25.11.2022 - 11:38
|||- - Диагностик   Цитата(ИНО @ 25.11.2022 - 16:38) объ...   25.11.2022 - 12:33
|||- - Диагностик   Цитата(ИНО @ 25.11.2022 - 16:38) Воо...   25.11.2022 - 14:48
|||- - 100$   Цитата(ИНО @ 25.11.2022 - 11:38) Уве...   25.11.2022 - 17:17
|||- - Диагностик   Цитата(ИНО @ 25.11.2022 - 16:38) Моя...   26.11.2022 - 13:40
||- - 100$   Цитата(Диагностик @ 25.11.2022 - 06...   25.11.2022 - 13:35
||- - Диагностик   ЦитатаПрофессор на семинаре замечает, что один из ...   25.11.2022 - 14:06
|||- - 100$   Дык аб том и речь, Диагностик, что, судя по вашим ...   25.11.2022 - 14:31
||- - Диагностик   Цитата(100$ @ 25.11.2022 - 18:3...   25.11.2022 - 14:31
||- - 100$   Цитата(Диагностик @ 25.11.2022 - 14...   25.11.2022 - 14:45
|- - Диагностик   Цитата(ИНО @ 24.11.2022 - 16:55) что...   26.11.2022 - 07:32
- - ИНО   Специально два дня не читал эту тему (хотя видел, ...   27.11.2022 - 16:37
|- - 100$   Цитата(ИНО @ 27.11.2022 - 16:37) Спе...   29.11.2022 - 14:20
- - Диагностик   Топикстартёру мною лично был задан вопрос. Он его ...   30.11.2022 - 10:39
- - 100$   Тут вот еще какая штука выяснилась: на неотрицател...   30.11.2022 - 16:18
- - Диагностик   См. Генераторы дискретно распределенных случайных ...   1.12.2022 - 01:51
|- - Игорь   Цитата(Диагностик @ 1.12.2022 - 02:5...   1.12.2022 - 06:43
- - Игорь   Говорил выше, что библиотека примеров для исследов...   4.12.2022 - 11:06
- - 100$   Я продолжу эту тему поиском ответа на основной воп...   4.12.2022 - 15:46


Добавить ответ в эту темуОткрыть тему