【课程目标】
本课程为高级课程《Python数据建模》的第一篇:回归篇
本课程主要讲解如何利用Python进行数据建模,建立数学模型,来拟合业务的各个要素之间的关系,来模拟业务的未来发展和变化。
基于真实的业务问题,在数据建模的标准过程指导下,从模型选择到特征工程,从训练模型到算法实现,从模型评估到模型优化,再到模型解读及模型应用,带领大家一步步实现一个回归预测模型。
通过本课程的学习,达到如下目的:
1、 掌握数据建模的标准流程
2、 掌握数据预处理常用的方法,包括特征筛选、变量合并等
3、 掌握回归模型的原理,以及算法实现
4、 熟练使用模型的评估指标,评估方法,以及过拟合的评估
5、 掌握模型优化的基本措施,学会欠拟合的解决方法
6、 学会过拟合评估,学会使用有正则项来解决过拟合问题
7、 熟练使用sklearn库的常用回归类
8、 学会超参优化的常用方法,能够设置最优超参
【授课时间】
3天时间(要根据学员的实际情况调整重点内容及时间)
|
时间 |
|
主题 |
主要内容 |
|
第一天 |
上午 |
数据建模过程 影响因素分析 |
建模六个步骤 相关分析/单因素方差分析 |
|
下午 |
影响因素分析 |
方差分析/卡方检验 |
|
|
第二天 |
上午 |
线性回归模型 回归模型评估 |
线性回归、回归方程解读 评估指标、评估方法、过拟合评估 |
|
下午 |
回归算法实现 |
OLS、SGD、牛顿法 |
|
|
第三天 |
上午 |
回归模型优化 |
欠拟合、过拟合 Ridge/Lasso/ElasticNet |
|
下午 |
自定义回归模型 |
scipy.optimize.minimize 季节预测:加法/乘法模型 累计销量预测模型(珀尔/龚珀兹) |
【授课对象】
业务支持部、IT部、数据部等所有想学数据建模的相关人员
【学员要求】
1、 每个学员自备一台便携机(必须)
2、 事先搭建好开发环境(建议Anaconda+VSCode)
3、 要求Python 3.10版本及以上,扩展库Numpy, Pandas, statsmodels, sklearn, scipy等
注:讲师提供现场分析的数据源及演示代码
【授课方式】
建模流程+ 案例演练 + 开发实践 + 可视化呈现
采用互动式教学,围绕业务问题,展开数据分析过程,全过程演练操作,让学员在分析、分享、讲授、总结、自我实践过程中获得能力提升。
【课程大纲】
第一部分: 数据建模流程
1、 数据建模基本流程
Ø 商业理解:将业务目标分解细分为数据任务
Ø 数据准备:收集有效数据集,并进行处理和探索
Ø 构建模型:选择合适模型,用数据集来训练模型,确定模型参数
Ø 评估模型:评估模型的质量,判断模型是否可用
Ø 建模优化:如果评估结果不理想,则需要对模型进行优化
Ø 应用模型:如果评估结果满足要求,则可应用模型于业务场景
2、 数据挖掘常用的模型
Ø 回归任务:线性回归、时序预测等
Ø 分类任务:逻辑回归、决策树、神经网络、支持向量机等
Ø 市场细分:聚类、RFM、PCA等
Ø 产品推荐:关联分析、协同过滤等
Ø 产品优化:回归、随机效用等
Ø 产品定价:定价策略/最优定价等
第二部分: 影响因素分析
问题:如何选择合适的属性来进行建模预测?如何做特征选择/特征降维?
1、 属性筛选/变量降维的常用方法
2、 影响因素分析常用方法:相关/方差/卡方
3、 相关分析(衡量变量间的线性相关性)
问题:这两个属性是否会相互影响?影响程度大吗?
Ø 相关分析简介
Ø 相关分析的三个种类
² 简单相关分析
² 偏相关分析
Ø 相关系数的三种计算公式
² Pearson相关系数
² Spearman相关系数
² Kendall相关系数
Ø 正态性检验(normaltest,kstest,shapiro)
Ø 相关分析的假设检验(pearsonr, spearmanr,kendalltau)
Ø 相关分析的四个基本步骤
演练:营销费用会影响销售额吗
演练:网龄与消费水平的关系
Ø 偏相关分析
² 偏相关原理:排除不可控因素后的两变量的相关性
² 偏相关系数的计算公式
² 偏相关分析的适用场景
4、 方差分析(衡量类别变量与数据变量的相关性)
问题:哪些才是影响销量的关键因素?主要因素是哪些?次要因素是哪些?
Ø 方差分析的应用场景
Ø 方差分析原理
Ø 方差分析前提:齐性检验(levene)
Ø 方差分析的三个种类:单因素/多因素/协方差
Ø 方差分析的三个种类
² 单因素方差分析(f_oneway)
² 多因素方差分析(ols,anova_lm)
² 协方差分析
Ø 方差分析的四个步骤
Ø 分析结果解读要点
演练:终端摆放位置与终端销量有关吗
演练:客户学历对消费水平的影响分析
演练:广告形式和价格是影响终端销量的关键因素吗
演练:营业员的性别、技能级别对产品销量有影响吗
演练:寻找影响产品销量的关键因素
Ø 多因素方差分析原理
Ø 多因素方差分析的作用
Ø 多因素方差结果的解读
演练:广告形式、地区对销量的影响因素分析
Ø 协方差分析原理
Ø 协方差分析的适用场景
演练:排除收入后,网龄对消费水平的影响大小分析
5、 列联分析/卡方检验(两类别变量的相关性分析)
Ø 卡方检验应用场景
Ø 交叉表与列联表
Ø 计数值与期望值(chi2_contingency)
Ø 卡方检验的原理(contingency_tables)
案例:套餐类型对客户流失的影响分析
案例:学历对业务套餐偏好的影响分析
案例:银行用户违约的影响因素分析
6、 属性重要程度排序/筛选
第三部分: 线性回归模型
问题:如何预测产品的销量/销售金额?
1、 机器学习四大基本任务
2、 常用预测模型
Ø 回归模型:LinearRegression/SGDRegression、Ridge/Lasso/ElasticNet
Ø 时序模型:MA/ExpSmoothing/Holt/ARMA/ARIMA…
Ø 分类模型:LogistcRegression/DTC/ANN/SVM
3、 线性回归应用场景
4、 线性回归模型种类(LinearRegression)
Ø 一元线性回归
Ø 多元线性回归
5、 线性回归建模过程
案例:销售额预测
6、 带分类变量的回归建模(get_dummies, OneHotEncoder)
案例:汽车季节销量预测
7、 回归模型的质量评估
8、 回归方程的解读
案例:终端销量模型与资源最优配置
第四部分: 回归模型评估
1、 三个基本概念:SST、SSR、SSE
2、 三个方面评估:指标、方法、过拟合
3、 拟合程度指标:
/![]()
4、 预测值误差指标:MAE/RMSE/MAPE
5、 信息损失准则指标:AIC/BIC/HQIC
6、 评估方法
Ø 留出法(Hold-Out)
Ø 交叉验证法(k-fold cross validation)
Ø 自助采样法(Bootstrapping)
7、 其它评估
Ø 过拟合评估:学习曲线
Ø 残差评估:白噪声评估
第五部分: 回归算法实现
1、 基本概念
Ø 损失函数
2、 普通最小二乘法OLS
Ø 数学推导
Ø OLS存在的问题
3、 梯度下降算法
Ø 梯度概念
Ø 梯度下降/上升算法
Ø 批量梯度/随机梯度/小批量梯度
Ø 学习率的影响
Ø 早期停止法
4、 牛顿法/拟牛顿法
Ø 泰勒公式(Taylor)
Ø 牛顿法(Newton)
Ø 拟牛顿法(Quasi-Newton)的优化
² DFP/BFGS/L-BFGS
5、 算法比较-优缺点
第六部分: 回归模型优化
1、 回归分析的基本原理
Ø 三个基本概念:总变差、回归变差、剩余变差
Ø 方程的显著性检验:是否可以做回归分析?
Ø 因素的显著性检验:自变量是否可用?
Ø 拟合优度检验:回归模型的质量评估?
Ø 理解标准误差的含义:预测的准确性?
2、 欠拟合解决:多项式回归
Ø 剔除离群值
Ø 剔除非显著因素
Ø 非线性关系检验
Ø 相互作用检验
Ø 共线性检验
Ø 检验误差项
案例:销量预测模型优化示例
3、 过拟合解决:正则项
Ø 岭回归(Ridge)
Ø 套索回归(Lasso)
Ø 弹性网络回归(ElasticNet)
4、 超参优化
Ø 手动交叉cross_val_score
Ø 交叉验证RidgeCV/LassCV/ElasticNetCV
第七部分: 自定义回归模型
1、 自定义回归模型
2、 模型参数最优法方法
Ø 全局优化/暴力破解brute
Ø 局部优化fmin
Ø 有约束优化minimize
3、 好模型都是优化出来的
案例:餐厅客流量进行建模及模型优化
4、 基于回归季节模型
Ø 季节性回归模型的参数
Ø 相加模型
Ø 相乘模型
Ø 模型解读/模型含义
案例:美国航空旅客里程的季节性趋势分析
5、 新产品预测与S曲线
Ø 产品累计销量的S曲线模型
Ø 如何评估销量增长的上限以及拐点
Ø 珀尔曲线
Ø 龚铂兹曲线
案例:预测IPAD的销售增长拐点,以及销量上限
第八部分: 案例实战
1、 客户消费金额预测模型
2、 房价预测模型及优化
结束:课程总结与问题答疑。