1. 与简单线性回归区别(simple linear regression) 多个自变量(x) 2. 多元回归模型 y=β0+β1x1+β2x2+ ... +βpxp+ε 其中:β0,β1,β2... βp是参数 ε 是误差值 3. 多元回归方程 e(y)=β0+β1x1+β2x2+ ... +βpxp 4. 估计多元回归方程: y_hat=b0+b1x1+b2x2+ ... +bpxp 一个样本被用来计算β0,β1,β2... βp的点估计b0, b1, b2.., bp 5. 估计流程 (与简单线性回归类似) 6. 估计方法 使s m of sq ares最小 运算与简单线性回归类似,涉及到线性代数和矩阵代数的运算 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.代码实现 10.1将数据录入到表格delivery.csv (没有录入表头) 数据 10.2代码 from n mpy import genfromtxt from sklearn import linear_model datapath = r"delivery.csv" deliverydata = genfromtxt(datapath,delimiter= , ) print("data") print(deliverydata) x= deliverydata[:,:-1] y = deliverydata[:,-1] print(x) print(y) lr = linear_model.linearregression lr.fit(x, y) print(lr) print("coefficients:") print(lr.coef_) print("intercept:") print(lr.intercept_) xpredict = [102,6] ypredict = lr.predict(xpredict) print("predict:") print(ypredict) 11. 如果自变量中有分类型变量(categorical data) , 如何处理?