Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
10.08.2025 - 23:22
Сообщение
#1
|
|
|
Группа: Пользователи Сообщений: 290 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 |
Пусть зависимая переменная Y - некая счетная величина, фиксируемая в разных точках вдоль градиента некой независимой переменной X. Допустим, что она распределена по Пуассону. Есть теоретически обусловленное основание считать, что в точке X=0, Y также всегда равен 0. Хочется построить регрессионную модель Y по X. Хочется, да не можется, поскольку в пуассоновской GLM используется логарифмическая функция связи, поэтому, если я задаю в формуле модели нулевой свободный член (как делал бы для решения схожей задачи в случае простой линейной регрессии), то после обратного преобразования получаю 1, что не есть хорошо. В принципе можно схитрить, моделируя не Y, а Y+1, после чего отнять от прогнозов модели 1 и таким образом подлечить прогнозы для Y. Однако это даcт несмещенный результат только для среднего, дисперсия будет переоценена, и, следовательно, доверительные интервалы шире, чем должно. Прошу помощи в решении данной проблемы, желательно в виде реализаций на R.
Интересно, что в отличие от авторов-человечков, гуглевский ИИ сразу смекнул, что мне надо и зачем: Цитата Zero-intercept Poisson regression is a specialized form of Poisson regression where the intercept term is constrained to be zero. This means that when all predictor variables are zero, the predicted count is also zero. It's used when there's a theoretical or empirical reason to believe that the relationship between the predictors and the outcome should pass through the origin. When is it appropriate? Prior Knowledge: If you have strong prior knowledge or a theoretical model that dictates the outcome should be zero when all predictors are zero, a zero-intercept model is justified. Но, увы, никаких конкретных реализаций это-самой Zero-intercept Poisson regression, найти мне не удалось, везде zero-inflated да zero-truncated толкают, что совсем не о том. Сообщение отредактировал ИНО - 10.08.2025 - 23:24 |
|
|
![]() |
![]() |
11.08.2025 - 12:00
Сообщение
#2
|
|
![]() Группа: Пользователи Сообщений: 1162 Регистрация: 10.04.2007 Пользователь №: 4040 |
Удалено автором поста.
Сообщение отредактировал Игорь - 25.08.2025 - 17:45 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
|
![]() |
![]() |
11.08.2025 - 12:37
Сообщение
#3
|
|
|
Группа: Пользователи Сообщений: 290 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 |
Расскажите, как именно она сделана. Если значение независимой переменной равно нулю, какое значение принимает зависимая переменная? Упомянутый черновик где можно лицезреть?
|
|
|
![]() |
![]() |
11.08.2025 - 17:21
Сообщение
#4
|
|
|
Группа: Пользователи Сообщений: 290 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 |
Решил проблему, поменяв функцию связи с логарифма, стоявшего по умолчанию, на квадратный корень. Оказывается в glm() для family=poisson() есть три варианта для выбора: идентичность, логарифм и квадратный корень. Не густо, но хоть что-то. Модель свободного члена нормально подогнулась, теперь при Х=0 Y=0, как мне и требовалось. Но возникла другая проблема - в null.deviance теперь записано Inf. А мне он нужен для подсчета псевдо-R2. Можно вспомнить, что null.deviance - это девианс модели, не содержащей ничего, кроме свободного члена, а у нас свободного члена-то и нет, так что может показаться логичным, что без него R этот показатель не считает. Однако если подгонять через glm() простую линейную модель, с точно такой же формулой, т. е. без свободного члена, null.deviance на месте. Что за баг или фича? Как выйти из ситуации?
|
|
|
![]() |
![]() |
11.08.2025 - 19:23
Сообщение
#5
|
|
![]() Группа: Пользователи Сообщений: 1162 Регистрация: 10.04.2007 Пользователь №: 4040 |
Удалено автором поста.
Сообщение отредактировал Игорь - 25.08.2025 - 17:45 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
|
![]() |
![]() |
11.08.2025 - 20:39
Сообщение
#6
|
|
|
Группа: Пользователи Сообщений: 290 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 |
Your request is being denied as it appears to be coming from a location banned by our Terms of Use.
|
|
|
![]() |
![]() |
11.08.2025 - 22:00
Сообщение
#7
|
|
![]() Группа: Пользователи Сообщений: 1162 Регистрация: 10.04.2007 Пользователь №: 4040 |
Удалено автором поста.
Сообщение отредактировал Игорь - 25.08.2025 - 17:45 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
|
![]() |
![]() |
11.08.2025 - 22:32
Сообщение
#8
|
|
|
Группа: Пользователи Сообщений: 290 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 |
У меня он всегда недоступен без прокси.
Цитата μj(B) = exp(XjB) Все та же логарифмическая функция связи, что и в R по умолчанию, не дающая получить в левой части уравнения 0. Если все предикторы будут равны 0, а свободный член отсутствовать, в качестве предсказания получится 1. Сообщение отредактировал ИНО - 11.08.2025 - 22:41 |
|
|
![]() |
![]() |
12.08.2025 - 11:47
Сообщение
#9
|
|
![]() Группа: Пользователи Сообщений: 1162 Регистрация: 10.04.2007 Пользователь №: 4040 |
Удалено автором поста.
Сообщение отредактировал Игорь - 25.08.2025 - 17:46 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
|
![]() |
![]() |
12.08.2025 - 22:01
Сообщение
#10
|
|
|
Группа: Пользователи Сообщений: 290 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 |
В данном случае дело не в коммерции, а в (гео)политике.
Не слушайте подсказок "чего-то", а читайте определения. Zero-truncated Poisson - это распределение Пуассона, усеченное в нуле, т. е. на одну позицию слева. Применяется в случаях, если наблюдаемая величина в принципе не может принимать нулевых значений. Например, количество прыщей на теле при первом осмотре пациента, обратившегося к врачу по поводу наличия прыщей. Вообще не имеет отношения к сабжу. Сообщение отредактировал ИНО - 12.08.2025 - 22:01 |
|
|
![]() |
![]() |
13.08.2025 - 12:45
Сообщение
#11
|
|
![]() Группа: Пользователи Сообщений: 1162 Регистрация: 10.04.2007 Пользователь №: 4040 |
Удалено автором поста.
Сообщение отредактировал Игорь - 25.08.2025 - 17:46 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
|
![]() |
![]() |
13.08.2025 - 13:23
Сообщение
#12
|
|
|
Группа: Пользователи Сообщений: 290 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 |
Не тот случай. По запросу "Zero-truncated Poisson regression" очень легко найти информацию поданную живыми людьми с примерами. Достаточно вбить в Гугле это словосочетание.
|
|
|
![]() |
![]() |
14.08.2025 - 08:36
Сообщение
#13
|
|
![]() Группа: Пользователи Сообщений: 1162 Регистрация: 10.04.2007 Пользователь №: 4040 |
Удалено автором поста.
Сообщение отредактировал Игорь - 25.08.2025 - 17:46 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
|
![]() |
![]() |
14.08.2025 - 17:35
Сообщение
#14
|
|
|
Группа: Пользователи Сообщений: 290 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 |
Постойте, Вы же сами предложили:
Что-то мне представляется, что zero-truncated Poisson regression как раз о случае, когда должен получиться нуль (встречался пример типа если человек в супермаркете ничего не выбрал, то он выходит не через кассу, значит на кассе - нуль). Но в моих программах её нет, как и опубликованных готовых для расчета формул. Нужно самому их вывести. Будет время, может быть, займусь. Ни что из процитированного не соответствует истине, и это легко круглится. Сообщение отредактировал ИНО - 14.08.2025 - 17:36 |
|
|
![]() |
![]() |
16.08.2025 - 16:40
Сообщение
#15
|
|
|
Группа: Пользователи Сообщений: 109 Регистрация: 27.12.2015 Пользователь №: 27815 |
Пусть зависимая переменная Y - некая счетная величина, фиксируемая в разных точках вдоль градиента некой независимой переменной X. Допустим, что она распределена по Пуассону. Есть теоретически обусловленное основание считать, что в точке X=0, Y также всегда равен 0. Хочется построить регрессионную модель Y по X. Честно, не встречал такую задачу. Тем не менее, я бы попробовал в glm использовать следующий аргумент family = poisson(link = 'identity'). Есть еще вариант - попробовать через offset, но насколько это реализуемо - не представляю. |
|
|
![]() |
![]() |
![]() ![]() |