我正在尝试编写一个多变量样条模型,其中一些独立变量具有多个节点而一些变量没有。带样条的变量总是具有一个度。我有一些代码,但我不知道我是否相信它,因为我没有在r中进行样条回归(仅在一些专有的“黑匣子”软件中)。下面是代码。
我已经检查了很多花样上的6,000个帖子。我看到很多不同的代码让我感到困惑。
任何人都会 a)告诉我这段代码是否正在做我想做的事(程度= 1 /不同的结) b)有更好的方法吗?
fit1 <- glm(freq ~ channel + term2 + pay_plan_bucket_2 +
state + eff_year + marital_status +
vehicle_type + insured_age_bucket + I(pmax(0, insured_age_bucket-
26)) + I(pmax(0, insured_age_bucket - 70)) +
vehicle_length_bucket + I(pmax(0, vehicle_length_bucket - 45)) +
veh_age + I(pmax(veh_age -7)) + I(pmax(veh_age - 18)) +
rba_bucket + I(pmax(0, rba_bucket - 3500)) + I(pmax(0, rba_bucket - 27000)) +
credit_tier_bucket + I(pmax(0, credit_tier_bucket - 3)),
family=quasipoisson(link="log"),
data=comp_training_set_newpayplan)
谢谢。
答案 0 :(得分:1)
你对咒语的蛮力方法可能是正确的。使用样条包中的bs
验证输出,例如:bs(credit_tier_bucket, knots=3, degree=1)
作为公式中的单个术语。由于基础的形成方式与此处不同,因此从两个模型中收集预测值并验证它们是否相等,以确保编码样条的两种方法提供等效的估计和推理。