首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >状态模型Tweedie模型中的ndim误差

状态模型Tweedie模型中的ndim误差
EN

Stack Overflow用户
提问于 2019-04-16 10:06:51
回答 1查看 264关注 0票数 0

我试图使用Statsmodel运行一个tweedie模型,并不断得到以下错误:

AttributeError:'Tweedie‘对象没有属性'ndim’

代码语言:javascript
复制
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))

每个变量要么是分类变量、浮点变量,要么是int变量。

我不知道是什么导致了这一切。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-17 13:05:42

ols不带一个家庭,OLS只是线性回归。

您需要使用广义线性模型,即GLMglm作为公式接口。GLM包括一个参数指数族中的多个族,并包括链路函数的选择。

其他几个模型相当于GLM,但基于不同的实现和其他选项。这些模型是为特定的家族链接组合编写的,并且没有改变这些的选项。

OLS是具有高斯族和线性链接的GLM

Logit是具有二项式族、logit链接的GLM,只适用于二进制响应变量。

Proit是具有二项式族的GLM,是概率链,只适用于二元响应变量。

Poisson是带泊松族和日志链的GLM

NegativeBinomial是带有NegativeBinomial家族和日志链接的GLM的一个更通用的版本。discrete.NegativeBinomial允许隐含方差函数的几个参数化,并将离散参数与均值参数一起估计为MLE。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55705618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档