#python #statsmodels
#python #statsmodels
Вопрос:
Я пытаюсь запустить модель tweedie с помощью Statsmodel и продолжаю получать следующую ошибку:
Ошибка атрибута: объект ‘Tweedie’ не имеет атрибута ‘ndim’
formula = 'pure_premium ~ atfault_model channel_model_DIR channel_model_IA CLded_model credit_model_52778
credit_model_c6 package_model_Elite package_model_LBO package_model_Plus package_model_Savers
package_model_Savers_Plus Q("ds_fp_paid_in_full_eligiable-has discount") ds_fp_paid_in_full_ineligable
Q("ds_pn_prior_insurance_eligable-has discount") ds_pn_prior_insurance_ineligable
Q("ds_ip_advanced_purchase_eligiable-has discount") ds_ip_advanced_purchase_ineligable
credit_model_c5 ds_ad_affinity ds_ak_alliance
ds_ly_loyalty_discount ds_mo_multipolicy ds_pf_performance majorvio_model
(driver_age_model*marital_status_model) minorvio_model multi_unit_model
RATING_CLASS_CODE_MODEL unit_drv_exp_model Vintiles safety_course_model instructor_course_model
(class_model*v_age_model) (class_model*cc_model) state_model'
lost_cost_model = smf.ols(formula = formula, data = coll_df
, family = sm.families.Tweedie(link = sm.families.links.log, var_power = 1.5))
Каждая переменная является либо категориальной, либо float, либо int .
Я не уверен, что является причиной этого.
Комментарии:
1. Недостаточно информации, чтобы предположить, что может пойти не так. Попробуйте сделать упрощенный пример. Покажите хотя бы последнюю часть трассировки, где показано, где возникает исключение.
2. Ошибка очевидна.
ols
не принимает семейство, OLS — это просто линейная регрессия. Вам необходимо использовать обобщенную линейную модель, т.Е.GLM
Илиglm
для интерфейса формулы.3. Спасибо @Josef. Хотите поместить это в сообщение? Я проверю это как ответ. Если нет, спасибо в любом случае. Пытаюсь перенести это с R на python.
Ответ №1:
ols
не принимает семейство, OLS
это просто линейная регрессия.
Вам необходимо использовать обобщенную линейную модель, т.Е. GLM
Или glm
для интерфейса формулы. GLM
включает в себя несколько семейств в однопараметрическом экспоненциальном семействе и включает в себя выбор функций ссылок.
Несколько других моделей эквивалентны GLM, но основаны на другой реализации и с другими параметрами. Эти модели написаны для определенных комбинаций семейных ссылок и не имеют возможности их изменить.
OLS
является ли GLM с гауссовым семейством и линейной связью
Logit
является GLM с биномиальным семейством, логической ссылкой и только для двоичных переменных ответа.
Proit
является GLM с биномиальным семейством, пробит-ссылкой и только для двоичных переменных ответа.
Poisson
является ли GLM с семейством Пуассона и логарифмической связью
NegativeBinomial
это более общая версия GLM с отрицательным двоичным семейством и ссылкой на журнал. discrete.NegativeBinomial
разрешить несколько параметризаций подразумеваемой функции дисперсии и оценивает параметр дисперсии совместно со средними параметрами как MLE.