ML - 多元回归分析(multiple regression)

1. 与简单线性回归区别(simple linear regression)

多个自变量(x)

2. 多元回归模型

y=β0+βx12x2+ ... +βpxp

其中:β0,β1,β2... βp是参数

ε是误差值

  1. 多元回归方程

E(y)=β0+βx12x2+ ... +βpxp

  1. 估计多元回归方程:

y_hat=b0+bx1+b2x2+ ... +bpxp

一个样本被用来计算β0,β1,β2... βp的点估计b0, b1, b2,..., bp

5. 估计流程 (与简单线性回归类似)


6. 估计方法

使sum of squares最小


运算与简单线性回归类似,涉及到线性代数和矩阵代数的运算

7. 例子

一家快递公司送货:X1: 运输里程 X2: 运输次数 Y:总运输时间

Time = b0+ b1*Miles + b2 * Deliveries

Time = -0.869 + 0.0611 Miles + 0.923 Deliveries

8. 描述参数含义

b0: 平均每多运送一英里,运输时间延长0.0611 小时

b1: 平均每多一次运输,运输时间延长 0.923 小时

9. 预测

如果一个运输任务是跑102英里,运输6次,预计多少小时?

Time = -0.869 +0.0611 *102+ 0.923 * 6 = 10.9 (小时)

10. 如果自变量中有分类型变量(categorical data) , 如何处理?

| 英里数 | 次数 | 车型 | 时间 |
| 100 | 4 | 1 | 9.3 |
| 50 | 3 | 0 | 4.8 |
| 100 | 4 | 1 | 8.9 |
| 100 | 2 | 2 | 6.5 |
| 50 | 2 | 2 | 4.2 |
| 80 | 2 | 1 | 6.2 |
| 75 | 3 | 1 | 7.4 |
| 65 | 4 | 0 | 6 |
| 90 | 3 | 0 | 7.6 |

11. 关于误差的分布

误差ε是一个随机变量,均值为0

ε的方差对于所有的自变量来说相等

所有ε的值是独立的

ε满足正态分布,并且通过β0+βx12x2+ ... +βpxp反映y的期望值

1. 例子
一家快递公司送货:X1: 运输里程 X2: 运输次数 Y:总运输时间


目的,求出b0, b1,.... bp:

y_hat=b0+bx1+b2x2+ ... +bpxp

2. Python实现:


数据
  • 代码:
from numpy import genfromtxt
import numpy as np
from sklearn import datasets, linear_model

dataPath = "Delivery.csv"
deliveryData = genfromtxt(dataPath, delimiter=',')

print("data")
print(deliveryData)

X = deliveryData[:, :-1]  # 取所有行,第一列 到 倒数第二列
Y = deliveryData[:, -1]   # 取所有行,倒数第二列

print("X:")
print(X)
print("Y: ")
print(Y)

# 建立线性回归模型
regr = linear_model.LinearRegression()

regr.fit(X, Y)

print("coefficients") # 打印 b0  b1
print(regr.coef_)
print("intercept: ")
print(regr.intercept_)

xPred = [102, 6]
yPred = regr.predict(np.array(xPred).reshape(1, -1))
print("predicted y: ")
print(yPred)

  • 运行结果
data
[[100.    4.    9.3]
 [ 50.    3.    4.8]
 [100.    4.    8.9]
 [100.    2.    6.5]
 [ 50.    2.    4.2]
 [ 80.    2.    6.2]
 [ 75.    3.    7.4]
 [ 65.    4.    6. ]
 [ 90.    3.    7.6]
 [ 90.    2.    6.1]]
X:
[[100.   4.]
 [ 50.   3.]
 [100.   4.]
 [100.   2.]
 [ 50.   2.]
 [ 80.   2.]
 [ 75.   3.]
 [ 65.   4.]
 [ 90.   3.]
 [ 90.   2.]]
Y: 
[9.3 4.8 8.9 6.5 4.2 6.2 7.4 6.  7.6 6.1]
coefficients
[0.0611346  0.92342537]
intercept: 
-0.8687014667817126
predicted y: 
[10.90757981]

你可能感兴趣的:(ML - 多元回归分析(multiple regression))