首先需要理解基于最小二乘法求解参数。
矩阵表达,几何意义,从概率角度看最小二乘法等价于noise为高斯分布的MLE(极大似然概率)。
正则化,L1Lasso
L2 Ridage岭回归。
其中涉及到了 损失函数,最大似然估计等内容,
损失函数为
需要做的便是求出该值得最小值,对该损失函数求导,求出倒数为零时即为损失函数最小值,经过一系列计算后得到的结果就是(需要注意的是,由于下面的计算方法需要X为可逆的,这边需要自变量间不能存在多重共线性)
所以用python实现最小二乘法估计的方法如下所示
# 引入所需要的全部包
from sklearn.model_selection import train_test_split
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas as pd
from pandas import DataFrame
### 设置字符集,防止中文乱码
mpl.rcParams['font.sans-serif']=[u'simHei']
mpl.rcParams['axes.unicode_minus']=False
#导入数据集,看看数据的形式
path1='data