python中使用交互项的多元线性回归

2024-09-22 16:25:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用交互术语预测模型:

est = smf.ols(formula='mdvis ~ hlthp * logincome', data=df).fit(). 

当使用97%-R平方的线性回归时,我得到了很好的分数

所以,我的问题是:
在使用交互术语进行预测时,如何使用测试/训练数据进行评估,并使用交叉验证计算统计显著性


Tags: 数据模型dfdata线性分数fit术语
1条回答
网友
1楼 · 发布于 2024-09-22 16:25:44

使用交互项只是为回归建立exog矩阵的一种简单方法。它不会改变交叉验证的逻辑

将数据帧拆分为训练样本和测试样本:

train = df.sample(frac=0.8)
test  = df.drop(train.index)

然后根据列车数据拟合模型:

res = smf.ols(formula='mdvis ~ hlthp * logincome', data=train).fit()

对整个数据进行预测(列车和试验)

df['predict']=res.predict(exog=df)
df['delta']  = df['predict']-df['mdvis']

最后,根据需要对每列车和分离的试样进行统计(此处我计算残差的标准偏差):

std_train=df.loc[train.index]['delta'].std()
std_test =df.loc[test.index]['delta'].std()

相关问题 更多 >