Statsmodels Tweedie 模型的 ndim 错误

我正在尝试使用 Statsmodel 运行 tweedie 模型并不断收到以下错误:


AttributeError:“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))

每个变量要么是分类变量,要么是浮点数,要么是整数。


我不确定是什么原因造成的。


有只小跳蛙
浏览 214回答 1
1回答

扬帆大鱼

ols不带家庭,OLS只是线性回归。您需要使用广义线性模型,即GLM或glm用于公式接口。 GLM包括一个参数指数族中的几个族,并包括一系列链接函数。其他几个模型等效于 GLM,但基于不同的实现和其他选项。这些模型是为特定的家庭链接组合编写的,并且没有更改这些的选项。OLS是具有高斯族和线性链接Logit的 GLM 是具有二项式族、logit 链接且仅适用于二元响应变量的 GLM。Proit是具有二项式族、概率链接且仅适用于二元响应变量的 GLM。Poisson是具有泊松族和对数链接NegativeBinomial的 GLM 是具有负二项式族和对数链接的 GLM 的更通用版本。discrete.NegativeBinomial允许隐含方差函数的多个参数化,并将分散参数与平均参数一起估计为 MLE。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python