Функция стоимости для проверки моделей регрессии Пуассона

11

Для собранных данных я использую регрессию Пуассона для построения моделей. Я делаю это с помощью glmфункции в R, где я использую family = "poisson". Для оценки возможных моделей (у меня есть несколько предикторов) я использую AIC. Все идет нормально. Теперь я хочу выполнить перекрестную проверку. Я уже преуспел в этом, используя cv.glmфункцию из bootпакета. Из документации по cv.glmя вижу , что , например , для биномиальных данных , которые необходимо использовать функцию конкретных затрат , чтобы получить значимую ошибку предсказания. Тем не менее, я пока не знаю, для чего подходит функция затрат family = poisson, и обширный поиск в Google не дал никаких конкретных результатов. Мой вопрос: у кого-нибудь есть возможность пролить свет на то, какая функция стоимости подходит cv.glmв случае с пуассоновым GLM.

Пол Химстра
источник
1
Функция cv.glmnetв пакете glmnetиспользуется type.measure="deviance"для семейства Пуассона.
RCS
Строго говоря, документация показывает, что имеет смысл использовать специальную функцию стоимости для двоичных данных.
Корона
@ corone не является ни непрерывными данными, ни двоичными данными. Поэтому я искал функцию стоимости, подходящую для данных подсчета.
Пол Химстра
1
Я не думаю, что дискретность данных имеет здесь большое значение, если только ваши показатели не очень малы. Вопрос скорее в распределении данных. Для двоичных данных предсказание представляет собой непрерывную вероятность от 0 до 1, но ответ всегда равен 0 или 1. В их примере вынуждают цену быть «правильной» или «неправильной» и подсчитывать количество прав и ошибок. Вы особенно беспокоитесь о преемственности? Я добавлю PS к своему ответу, чтобы адрес был непрерывным
Corone

Ответы:

12

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

Цель функции стоимости - показать, насколько вы «расстроены» неправильными предсказаниями, особенно то, что «неправильность» беспокоит вас больше всего. Это особенно важно для бинарных ответов, но может иметь значение в любой ситуации.

Среднеквадратичная ошибка (ответов)

C=1ni(YiY^i)2

Используя MSE, вы одинаково чувствительны к ошибкам сверху и снизу и одинаково чувствительны для больших и малых прогнозов. Это довольно стандартная вещь, и поэтому я не думаю, что в большинстве ситуаций ее будут осуждать.

Среднеквадратичная ошибка (ответов журнала)

C=1ni(lnYilnY^i)2

Поскольку вы работаете с данными подсчета, можно утверждать, что вы не симметричны и не равнодушны по размеру. Прогнозирование на 10 баллов для прогноза 10 очень отличается от прогноза 1000. Это несколько «каноническая» функция затрат, потому что вы сопоставили затраты с функцией связи. Это гарантирует, что эти затраты соответствуют распределению дисперсии, предполагаемому в модели.

Ошибка хи-квадрат

C=1ni(YiY^i)2Y^i

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


На дискретность

Этот вопрос приводит пример документации, где они имеют переменную двоичного ответа, поэтому используйте другую функцию стоимости. Проблема для двоичного ответа заключается в том, что GLM будет прогнозировать действительное число от 0 до 1, даже если ответ всегда равен 0 или 1. Совершенно верно сказать, что чем ближе это число к правильному ответу, тем лучше прогноз, но часто люди не хотят этого. Причиной является то, что часто нужно действовать так, как если бы это было 0 или 1, и поэтому в качестве прогноза для 0. будет приниматься что-то меньше 0,5. В этом случае имеет смысл просто подсчитать количество «неправильных» прогнозов. Аргумент здесь заключается в том, что для Правдивого / Ложного вопроса вы всегда можете быть правы или неправы - нет градации неправильности.

Y^

Corone
источник
Вместо того, чтобы работать со среднеквадратичной ошибкой среднеквадратичной ошибки логарифмического отклика, для GLM может быть лучше использовать среднеквадратичную ошибку с использованием весов 1 / дисперсии (заданных слотом $ weights для выхода glm R, для poisson = 1 / E (Y)). Это работает, я считаю, для любого типа GLM.
Том Венселерс