在 python 中通过变量查找样条结

问题描述 投票:0回答:0

当在

GAM
中拟合线性
python
模型时,施加 n_splines=5,拟合一个分段线性函数:

import statsmodels.api as sm
from pygam import LinearGAM

data = sm.datasets.get_rdataset('mtcars').data

Y = data['mpg']
X = data.drop("mpg",axis=1)

model = LinearGAM(spline_order=1,n_splines=5).fit(X, Y)

通过使用拟合模型中的

.coef
,可以恢复每个样条的系数以供进一步分析:

model.coef_

但是,我们如何才能获得每个变量的 5 个样条曲线的截面呢?

目前我正在尝试用

pygam
解决它,但如果有
statsmodels
的答案,它也对我有用。

例如,对于

cyl
变量,我们将拟合以下样条:

5 个部分由节点确定,因此我们将看到计算的 beta 的变量限制。 (即:4-5,5-6,6-7,7-8)

python spline gam coefficients
© www.soinside.com 2019 - 2024. All rights reserved.