多边形(x,2)的Python等价物添加了一个2次正交多项式

多边形(x,2)的Python等价物添加了一个2次正交多项式,python,r,statsmodels,glm,Python,R,Statsmodels,Glm,这是R码 model1 <- glm(wt82_71 ~ qsmk + sex + race + poly(age, 2, raw = TRUE) + education + poly(smokeintensity, 2, raw = TRUE) + poly(smokeyrs, 2, raw = TRUE) + exercise + active + poly(wt71, 2, raw = TRUE) + qsmk:smokeintensity,data = nhefs) pyth

这是R码

model1 <- glm(wt82_71 ~ qsmk + sex + race + poly(age, 2, raw = TRUE)   + education + poly(smokeintensity, 2, raw = TRUE) + poly(smokeyrs, 2, raw = TRUE) + exercise + active + poly(wt71, 2, raw = TRUE) + qsmk:smokeintensity,data = nhefs)
python中的
poly()
是什么? 这里有一些评论 模型1:协变量回归,允许一些效应修正 注:

(1) poly(x,2)添加一个2次正交多项式,如果希望它生成与x+x^2相同的系数,则添加参数raw=TRUE

(2) x1*x2输入x1和x2的主效应及其乘积项 x1:x2只输入乘积项(此处对于smokeintensity是必要的,因为我们希望smokeintensity在交互作用中线性处理,但在主效应中是二次处理的,因此smokeintensity的线性项是不可估计的)


(3) 带有缺失值的观测值将自动删除

AFAIK,
poly
对于连续变量的多项式基函数,patsy尚不支持。现有的
poly
用于有序分类变量

Numpy具有可直接用于公式中的各种多项式基的
vander
函数

在现有数据集上进行正交化是否有用仍有争议。我不喜欢这样做,因为当数据集更改时,基函数不会更改


作为替代方案,可以直接指定幂项,请参阅,但这不会正交化。

您可能应该明确说明statmodels中的模块
smf
指的是什么
mod3 = smf.glm(formula='qsmk ~ sex + race + education + exercise + active + poly(age,2) + poly(smokeintensity,2) + poly(smokeyrs,2) + poly(wt71,2)', family=sm.families.Binomial(), data=nhefs).fit()
mod3.summary()