Взвешенный GLM: R против Python

В R мы ниже код для взвешенного GLM:

glm(formula, weight)

R Документация: необязательный вектор «априорных весов», который будет использоваться в процессе подбора. Должен быть NULL или числовым вектором

В Python, используя statsmodel.formula.api:

smf.glm(formula, data, freq_weight)

Документация Python: массив 1d частотных весов. По умолчанию нет. Если выбрано None или пустое значение, то алгоритм заменит массив из 1 с длиной, равной endog.

Является ли вес в R таким же, как freq_weight в Python? (Я получаю разные оценки бета-версии в Python и R. Они близки, но немного отличаются)


person Ussu20    schedule 05.03.2021    source источник
comment
Что говорится в соответствующей документации о параметрах weight?   -  person Roland    schedule 05.03.2021
comment
Добавил детали документации в вопрос. Это не очень ясно.   -  person Ussu20    schedule 05.03.2021
comment
Насколько я помню, веса R glm равны var_weights, а не freq_weights. В statsmodels GLM есть и то, и другое. В некоторых случаях оба вида весов дают одинаковые результаты, но не для всех комбинаций родственных связей, и в целом стандартные ошибки могут различаться.   -  person Josef    schedule 05.03.2021
comment
Спасибо @Josef. Пожалуйста, поделитесь любой ссылкой / материалом, который математически показывает разницу в использовании двух весов.   -  person Ussu20    schedule 05.03.2021
comment
Кроме того, в R у нас есть residual(glm, type), чтобы получить ряд остатков. Есть ли такая опция в Python? (Я не мог найти ничего такого простого в Python)   -  person Ussu20    schedule 05.03.2021
comment
Я ответил stackoverflow.com/questions/66493682 / для остатков   -  person Josef    schedule 05.03.2021


Ответы (2)


Насколько я помню, веса R glm равны var_weights, а не freq_weights.

В statsmodels GLM есть и то, и другое. В некоторых случаях оба вида весов дают одинаковые результаты, но не для всех комбинаций родственных связей, и в целом стандартные ошибки могут различаться.

В этом блокноте показаны некоторые различия https://www.statsmodels.org/stable/examples/notebooks/generated/glm_weights.html

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

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

person Josef    schedule 05.03.2021

Я не работал с Python, но это может быть связано с тем, что Python и R используют разные типы сумм квадратов для модели по умолчанию. Вот обзор различных типов для R: http://www.dwoll.de/r/ssTypes.php

person Ju Ko    schedule 05.03.2021