2024-09-22 16:25:44 发布
网友
我使用交互术语预测模型:
est = smf.ols(formula='mdvis ~ hlthp * logincome', data=df).fit().
当使用97%-R平方的线性回归时,我得到了很好的分数
所以,我的问题是: 在使用交互术语进行预测时,如何使用测试/训练数据进行评估,并使用交叉验证计算统计显著性
使用交互项只是为回归建立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()
使用交互项只是为回归建立exog矩阵的一种简单方法。它不会改变交叉验证的逻辑
将数据帧拆分为训练样本和测试样本:
然后根据列车数据拟合模型:
对整个数据进行预测(列车和试验)
最后,根据需要对每列车和分离的试样进行统计(此处我计算残差的标准偏差):
相关问题 更多 >
编程相关推荐