我尝试拟合多元线性回归模型
Y= c + a1.X1 + a2.X2 + a3.X3 + a4.X4 +a5X5 +a6X6
如果我的模型只有3个变量,我会使用3D图来绘制。现在我该如何绘制这个模型?我主要想看看最佳拟合线是什么样的,或者我应该绘制多个散点图,查看单个变量Y = a1X1在其他变量为零时的效果,并查看最佳拟合线。对于这些模型,最佳方法是什么?我知道高维度是无法可视化的,但我想知道最佳方法。我非常渴望看到最佳拟合线
回答:
我找到了这个帖子,它更有帮助,我按照建议做了
https://stats.stackexchange.com/questions/73320/how-to-visualize-a-fitted-multiple-regression-model。根据建议,我目前只是绘制散点图,如因变量与第一个自变量的关系,然后与第二个自变量的关系等,我也在做同样的事情。我可能无法看到完整模型的最佳拟合线,但至少我知道它是如何依赖于单个变量的
from sklearn.linear_model import LinearRegressiontrain_copy = train[['OverallQual', 'AllSF','GrLivArea','GarageCars']]train_copy =pd.get_dummies(train_copy)train_copy=train_copy.fillna(0)linear_regr_test = LinearRegression()fig, axes = plt.subplots(1,len(train_copy.columns.values),sharey=True,constrained_layout=True,figsize=(30,15))for i,e in enumerate(train_copy.columns): linear_regr_test.fit(train_copy[e].values[:,np.newaxis], y.values) axes[i].set_title("最佳拟合线") axes[i].set_xlabel(str(e)) axes[i].set_ylabel('SalePrice') axes[i].scatter(train_copy[e].values[:,np.newaxis], y,color='g') axes[i].plot(train_copy[e].values[:,np.newaxis], linear_regr_test.predict(train_copy[e].values[:,np.newaxis]),color='k')