回归分析及模型优化
1、回归分析概括
目标值(因变量)是连续型数据,通过某种函数关系找到因变量和自变量之间的关系,进而预测目标。
- 常见的回归:线性回归、岭回归、非线性回归;
- 回归拟合目标:计算自变量与因变量关系的函数参数;
- 通过不断拟合缩小预测值与真实值的差距:最终使得这个差距(误差项)成为一组均值为0,方差为1的随机数。
2、损失函数
总损失定义为:说明:
- y_i为第i个训练样本的真实值
- h(x_i)为第i个训练样本特征组合预测函数
- 又称最小二乘法
优化模型的目标就是如何尽可能的减少损失。
3、优化算法
使得损失函数值达到最小的方法:正规方程、梯度下降。
正规方程
![f820b3b1873cf8a781ec8e8a9ddf5c3e.png](https://i-blog.csdnimg.cn/blog_migrate/b8f820b3e04818fd7ab37ce47de61689.png)
- X表示自变量
- y表示因变量
- X,y表示矩阵
- 右上角的-1表示逆矩阵(np.linalg.inv(X))
- 右上角的T表示转置(X.T)
- w = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(y)
- 缺点:当特征值过多时,求解速度慢,并且得不到结果
梯度下降
理解:a为学习速率,需要手动指定的超参数,a旁边的的整体表示方向,沿着这个函数的下降的方向找,最终山谷的最低点,然后更新w值使用。其中a设置过大可能会只找到局部最优解。
4、python的API
- statsmodels.formula.api.OLS():普通最小二乘模型拟合- - 常用
- scipy.stats.linregress(): 线性拟合
- scipy.optimize.curve_fit():回归函数拟合
- 使用参考:?回归函数及线性回归分析