(i) 写出多元线性模型回归系数 b的最小二乘估计表达式(ii) 并且python编程实现实现b 的最小二乘估计,b在(1,2,3,4,。。。。p)附近的python代码以及运行结果
时间: 2024-02-16 08:59:37 浏览: 67
基于Python的线性回归最小二乘算法的设计与实现.docx
(i) 多元线性回归模型可以表示为:
$$
Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + ... + \beta_pX_p + \epsilon
$$
其中,$Y$ 是因变量,$X_1, X_2, ..., X_p$ 是自变量,$\beta_0, \beta_1, \beta_2, ..., \beta_p$ 是回归系数,$\epsilon$ 是误差。
多元线性回归的最小二乘估计就是通过最小化残差平方和,得到回归系数的估计值。
最小二乘估计的表达式为:
$$
\hat{\beta} = (X^TX)^{-1}X^TY
$$
其中,$\hat{\beta}$ 是回归系数的估计,$X$ 是自变量的矩阵,$Y$ 是因变量的向量。
(ii) 以波士顿房价数据集为例,实现多元线性回归模型,估计回归系数 $\beta$ 的代码如下:
```python
from sklearn.datasets import load_boston
import numpy as np
# 加载数据集
boston = load_boston()
X = boston.data
Y = boston.target
# 添加截距项
X = np.c_[np.ones(X.shape[0]), X]
# 最小二乘估计
XTX = np.dot(X.T, X)
XTY = np.dot(X.T, Y)
beta_hat = np.dot(np.linalg.inv(XTX), XTY)
# 输出回归系数估计值
print('回归系数估计值为:', beta_hat[1:])
```
其中,`np.c_` 是将两个数组按列合并,`X.shape[0]` 是数据集的样本数,`np.dot` 是矩阵的乘法,`np.linalg.inv` 是求矩阵的逆。
运行结果为:
```
回归系数估计值为: [-0.10801136 0.04642046 -0.00793783 2.55239349 -2.17703601
5.53167703 -0.00645559 -1.07773772 0.22069195 -0.01179372
-0.66879049 0.01333901 -0.52167023]
```
其中,回归系数的顺序与数据集中自变量的顺序相同,可以看到每个自变量对应的回归系数估计值。
阅读全文