2021年华数杯数学建模C题电动汽车目标客户销售策略求解全过程文档及程序

2021年华数杯数学建模

C题 电动汽车目标客户销售策略

原题再现:

  汽车产业是国民经济的重要支柱产业,而新能源汽车产业是战略性新兴产业。大力发展以电动汽车为代表的新能源汽车是解决能源环境问题的有效途径,市场前景广阔。但是,电动汽车毕竟是一个新兴的事物,与传统汽车相比,消费者在一些领域,如电池问题,还是存在着一些疑虑,其市场销售需要科学决策。
  某汽车公司最新推出了三款品牌电动汽车,包括合资品牌(用1表示)、自主品牌(用2表示)和新势力品牌(用3表示)。为研究消费者对电动汽车的购买意愿,制定相应的销售策略,销售部门邀请了1964位目标客户对三款品牌电动汽车进行体验。具体体验数据有电池技术性能(电池耐用和充电方便)满意度得分(满分100分,下同)a1、舒适性(环保与空间座椅)整体表现满意度得分a2、经济性(耗能与保值率)整体满意度得分a3、安全性表现(刹车和行车视野)整体满意度得分a4、动力性表现(爬坡和加速)整体满意度得分a5、驾驶操控性表现(转弯和高速的稳定性)整体满意度得分a6、外观内饰整体表现满意度得分a7、配置与质量品质整体满意度得分a8等。另外还有目标客户体验者个人特征的信息,详情见附录1和2。
  请你研究数据,查阅相关文献,运用数学建模的知识回答下列问题:

  1.请做数据清洗工作,指出异常值和缺失数据以及处理方法。对数据做描述性统计分析,包括目标客户对于不同品牌汽车满意度的比较分析。
  2.决定目标客户是否购买电动车的影响因素有很多,有电动汽车本身的因素,也有目标客户个人特征的因素。在这次目标客户体验活动中,有部分目标客户购买了体验的电动汽车(购买了用1表示,没有购买用0表示)。结合这些信息,请研究哪些因素可能会对不同品牌电动汽车的销售有影响?
  3.结合前面的研究成果,请你建立不同品牌电动汽车的客户挖掘模型,并评价模型的优良性。运用模型判断附件3中15名目标客户购买电动车的可能性。
  4.销售部门认为,满意度是目标客户汽车体验的一种感觉,只要营销者加大服务力度,在短的时间内提高a1-a8五个百分点的满意度是有可能的,但服务难度与提高的满意度百分点是成正比的,即提高体验满意度5%的服务难度是提高体验满意度1%服务难度的5倍。基于这种思路和前面的研究成果,请你在附件3每个品牌中各挑选1名没有购买电动汽车的目标客户,实施销售策略。
  5.根据前面的研究结论,请你给销售部门提出不超过500字的销售策略建议。

整体求解过程概述(摘要)

  本文探究的是某汽车公司中三个品牌电动汽车的目标客户满意度情况、影响因素、预测购买可能性以及制定销售策略等问题。
  针对问题一,通过分析附件一,同时结合附件二的个人特征调查表,提取调查表问题本身的限制条件,并发掘调查问题之间的关系,最终建立不同调查问题之间合理的约束关系,由此,对不同的异常数据和缺失数据采用了不同的填充策略。基于数据清洗后的结果,对各项影响满意度得分的指标取平均值,发现:目标客户对该公司三种品牌的满意度从高到低依次为合资品牌>自主品牌>新势力品牌。
  针对问题二,采用了基于惩罚项和基于树模型两种不同的嵌入法分别进行特征选取,前一种用 LR、LASSO、SVM 三种模型,后一种用 RF、LightGBM 模型共五个模型来进行机器学习,求出影响不同品牌销售的相关特征,对选出的特征上采用投票法,结果发现:电动车的电池技术性能、舒适性、目标客户全年房贷、车贷占家庭年收入情况对三种品牌的销售均有较大影响。除此之外,经济型、安全性、客户的工作情况等也在不同程度上对不同品牌的销售产生不同程度的影响。
  针对问题三,由于标签不均衡的问题严重,本文先通过 SMOTE 采样解决标签不平衡问题,再通过纵向比较和横向比较,纵向使用 F1-score 和 AUC 指标衡量训练效果,横向对不同模型的分数进行比较,从而挑选出适用于不同品牌的最优模型。进而利用网络搜索方法给每个品牌效果最优的模型进行超参数调优,其中 LightGBM 的在整个验证集上的 AUC 值达到 97.10%。最后利用这三个最优模型预测了附件三的 15名目标客户购买电动车的可能性。
  针对问题四,本文在问题三基础上,运用了多目标规划原理,建立三个目标函数,即提高体验满意度的服务难度尽量小,选择提高服务的数量尽可能少,目标客户购买概率提升的百分比尽可能大。用 python 求解该规划模型,结果显示,着重满足品牌 1、编号 3 的顾客在经济性上的需求;满足品牌 2、编号 9 的顾客在电池性能上的需求以及品牌 3、编号 14 的顾客在舒适性上的需求有助于提高顾客的购买率。
  针对问题五,基于问题一到问题四所建立的模型、因子探究等的基础上,提出了精准营销的策略,在人群洞察、品牌导向、效果评估这三个方向去探讨,旨在为该团队有针对性地制定销售策略,为该汽车公司创造最大的效益。

问题分析:

  问题一要求考虑题目要求和结合实际背景对附件一和附件三的数据进行数据清洗操作,并进行描述性统计,该题的思路分为一下三个步骤:
  1. 利用附件二的目标客户个人特征调查表,以及题目中对满意度评价表的约束,综合考虑实际生活和客观规律,充分挖掘问题本身的限制条件,以及不同问题之间的限制条件,最终建立不同回答之间合理的约束关系。
  2. 之后利用所建立出的约束关系,对附件一和附件三的异常数据进行初步清洗。对于离群类型异常值用有效数据的平均值替换。对于不满足约束关系的异常值,用数据间的关系做出推断后进行替换,对缺失数据的缺失情况进行综合分析,用已有的数据进行推断并分析实际背景,对缺失数据进行填充处理,以保证建模的准确性。
  3. 基于数据清洗后的结果,对各项影响满意度得分的指标取平均值,然后对各品牌进行排序。
  问题二需要筛选出影响不同品牌销售的主要因素,针对该问题采用基于惩罚项和基于树模型两种不同的嵌入法,前一种用 LR、LASSO、SVM 三种模型,后一种用RF、LightGBM 模型共五个模型,求出影响不同品牌销售的相关特征。再根据特征重要性程度从高到低排序,并设置一个阈值,得到每个算法重要性排名靠前的特征,在五个模型选出的结果上采用投票法,筛选出大于等于 2 票的特征,作为影响该品牌销售主要因素。
  问题三是建立在问题二的基础上的,通过 SMOTE 采样解决标签不平衡问题之后,利用 F1-score 和 AUC 指标,对模型的训练和预测效果进行纵向比较,并利用 k 折交叉验证,对不同模型进行横向比较。对三个品牌,分别训练这 5 个模型,通过比较分析,在不同品牌中,挑选出在验证集上 F1-score 和 AUC 值最优的模型,并利用网络搜索方法,给每个品牌对应的最优的模型进行超参数调优。最后利用这三个最优模型预测附件三的 15 名目标客户购买电动车的可能性。
  问题四,是在问题二、三基础上的多目标规划问题。需要建立以提高服务的难度最小,提高的服务的数量最少,购买概率提高的百分比最多的多目标规划模型。在附件三的 3 个品牌中挑选没有购买电动车的客户,求解得出使得各个体验满意度应该提高的百分比,对没有购买电动车的目标客户设计销售策略。
  问题五主要是建立在前四问的基础上以信件的方式对销售部门提出销售策略。根据问题一可以得出客户对不同品牌的倾向程度;根据问题二可以得出对三种品牌电动汽车销售影响较大的因子;根据问题三可以得出适合三种品牌预测目标客户购买可能性的模型;根据问题四可以在提升服务满意度与服务难度之间找到一个优化方案。

模型假设:

  1. 假设影响目标客户满意度的因素仅考虑题目给出的电池技术性能、舒适性、经济型、安全性、动力性、驾驶操控性、外观内饰整体表现和配置与质量品质,且各个影响因素之间相互独立。
  2. 假设服务难度与提高的满意度百分点是成正比的关系。
  3. 假设在做出销售策略的这段时间内,目标客户对电动汽车的满意度、购买意向等不会发生改变。
  4. 假设在做出销售策略的阶段不会有黑天鹅事件或重大自然灾害等对该公司的电动车销售带来影响。

问题分析

  问题一要求考虑题目要求和结合实际背景对附件一和附件三的数据进行数据清洗操作,并进行描述性统计,该题的思路分为一下三个步骤:
  1. 利用附件二的目标客户个人特征调查表,以及题目中对满意度评价表的约束,综合考虑实际生活和客观规律,充分挖掘问题本身的限制条件,以及不同问题之间的限制条件,最终建立不同回答之间合理的约束关系。
  2. 之后利用所建立出的约束关系,对附件一和附件三的异常数据进行初步清洗。对于离群类型异常值用有效数据的平均值替换。对于不满足约束关系的异常值,用数据间的关系做出推断后进行替换,对缺失数据的缺失情况进行综合分析,用已有的数据进行推断并分析实际背景,对缺失数据进行填充处理,以保证建模的准确性。
  3. 基于数据清洗后的结果,对各项影响满意度得分的指标取平均值,然后对各品牌进行排序。
  问题二的分析
  问题二需要筛选出影响不同品牌销售的主要因素,针对该问题采用基于惩罚项和基于树模型两种不同的嵌入法,前一种用LR、LASSO、SVM 三种模型,后一种用RF、LightGBM 模型共五个模型,求出影响不同品牌销售的相关特征。再根据特征重要性程度从高到低排序,并设置一个阈值,得到每个算法重要性排名靠前的特征,在五个模型选出的结果上采用投票法,筛选出大于等于2票的特征,作为影响该品牌销售主要因素。
  问题三的分析
  问题三是建立在问题二的基础上的,通过SMOTE采样解决标签不平衡问题之后,利用F1-score 和 AUC指标,对模型的训练和预测效果进行纵向比较,并利用k折交叉验证,对不同模型进行横向比较。对三个品牌,分别训练这5个模型,通过比较分析,在不同品牌中,挑选出在验证集上F1-score和AUC值最优的模型,并利用网络搜索方法,给每个品牌对应的最优的模型进行超参数调优。最后利用这三个最优模型预测附件三的15名目标客户购买电动车的可能性。
  问题四的分析
  问题四,是在问题二、三基础上的多目标规划问题。需要建立以提高服务的难度最小,提高的服务的数量最少,购买概率提高的百分比最多的多目标规划模型。在附件三的3个品牌中挑选没有购买电动车的客户,求解得出使得各个体验满意度应该提高的百分比,对没有购买电动车的目标客户设计销售策略。
  问题五的分析
  问题五主要是建立在前四问的基础上以信件的方式对销售部门提出销售策略。根据问题一可以得出客户对不同品牌的倾向程度;根据问题二可以得出对三种品牌电动汽车销售影响较大的因子;根据问题三可以得出适合三种品牌预测目标客户购买可能性的模型;根据问题四可以在提升服务满意度与服务难度之间找到一个优化方案。

全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
非慈善耶稣

论文缩略图:

在这里插入图片描述
在这里插入图片描述

全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
非慈善耶稣

程序代码:

svm_get_features.py
from sklearn.linear_model import LogisticRegression as LR
from sklearn.svm import LinearSVC
from sklearn.feature_selection import SelectFromModel
from sklearn.linear_model import Lasso, LassoCV
from sklearn.preprocessing import MinMaxScaler
import pandas as pd
import numpy as np
df = pd.read_excel('2.xlsx')

# b13,14,15 处理
df.loc[(df['B13'] < df['B14']) | (df['B13'] < df['B15']), 'B13'] = np.nan
df.loc[df['B13'].isnull(), 'B13'] = df.loc[df['B13'].isnull(), 'B15'] * 1.667
df.loc[(df['B13'] < df['B14']) | (df['B13'] < df['B15']), 'B13'] = np.nan
df.loc[df['B13'].isnull(), 'B13'] = df.loc[df['B13'].isnull(), 'B14'] * 1.7142
x = df.iloc[:, 2:-1]
Y = df.iloc[:, -1]
Scaler = MinMaxScaler().fit(x) # 标准化
X = Scaler.transform(x)
print(X.shape)
print(Y.shape)
# SVM 模型
lsvc = LinearSVC(C=3, penalty="l1", dual=False) # 1-0.99; 2-3;3-0.35
sfm = SelectFromModel(lsvc, max_features=8).fit(X, Y)
print(sfm)
print(sfm.get_support())
print(df.columns[2:-1][sfm.get_support()])
# lasso 回归模型
clf = LassoCV()
sfm = SelectFromModel(clf, max_features=8).fit(X, Y)
print(sfm)
print(sfm.get_support())
print(df.columns[2:-1][sfm.get_support()])
# LR 逻辑回归模型
sfm = SelectFromModel(estimator=LR(C=7), max_features=8).fit(X, Y)
print(sfm)
print(sfm.get_support())
print(df.columns[2:-1][sfm.get_support()]
Lgb_get_features.py
from sklearn.metrics import mean_squared_error
import lightgbm as lgb
from sklearn.model_selection import train_test_split
df = pd.read_excel('2_del.xlsx')
X = df.iloc[:,0:12]
# X.drop(['B1','B6','B7'],axis=1)
# X.sample(n=100,random_state=0)
target = df.iloc[:,12]
X_train, X_test, y_train, y_test = train_test_split(X, target, test_size=0.2,random_state=0)
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import
confusion_matrix,classification_report,accuracy_score,roc_auc_score,f1_score
evals_result = {}
valid_sets = [X_train, X_test]
valid_name = ['train', 'eval']
# 创建成 lgb 特征的数据集格式
lgb_train = lgb.Dataset(X_train, y_train)
lgb_eval = lgb.Dataset(X_test, y_test, reference=lgb_train)
# 将参数写成字典下形式
params = {
'task': 'train', 'boosting_type': 'gbdt', # 设置提升类型
'min_data_in_leaf': 10, 'max_depth': -1, 'objective': 'binary', # 目标函数
'metric': {'binary_logloss', 'auc','f1'}, # 评估函数
'num_leaves':3, # 叶子节点数
'learning_rate': 0.0001, # 学习速率
'feature_fraction': 0.8, # 建树的特征选择比例
'bagging_fraction': 0.8, # 建树的样本采样比例
"lambda_l1": 0.1, 'verbose': -1 ,# <0 显示致命的, =0 显示错误 (警告), >0 显示信息
"nthread": -1, 'n_estimators' : 500, 'is_unbalance':True, }
# 训练 cv and train
gbm = lgb.train(params, lgb_train, valid_names=valid_name, num_boost_round=500, valid_sets=lgb_eval, evals_result=evals_result, early_stopping_rounds=20)
# 预测数据集
y_pred = gbm.predict(X_test, num_iteration=gbm.best_iteration)
lgb.plot_metric(evals_result, metric='auc')
plt.figure(figsize=(12,6))
lgb.plot_importance(gbm, max_num_features=30)
plt.title("Featurertances")
# plt.savefig(f'F:./图片/特征重要度 1.png',dpi=600)
importance = gbm.feature_importance(importance_type='split')
feature_name = gbm.feature_name()
# for (feature_name,importance) in zip(feature_name,importance):
# print (feature_name,importance)
feature_importance =
pd.DataFrame({'feature_name':feature_name,'importance':importance} )
feature_importance.sort_values(['importance'],ascending=False)
lgb_predictors = [i for i in X_train.columns[2:27]]
pd.Series(gbm.feature_importance(), lgb_predictors).sort_values(ascending=False)
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
非慈善耶稣
数学技术 近半个多世纪以来,随着计算机技术的迅速发展,数学的应用不仅在工程技术、自然科学等领域发挥着越来越重要的作用,而且以空前的广度和深度向经济、管理、金融、生物、医学、环境、地质、人口、交通等新的领域渗透,所谓数学技术已经成为当代技术的重要组成部分。 数学模型(Mathematical Model)是一种模拟,是用数学符号、数学式子、程序、图形等对实际课本质属性的抽象而又简洁的刻画,它或能解释某些客观现象,或能预测未来的发展规律,或能为控制某一现象的发展提供某种意义下的最优策略或较好策略。数学模型一般并非现实问的直接翻版,它的建立常常既需要人们对现实问深入细微的观察和分析,又需要人们灵活巧妙地利用各种数学知识。这种应用知识从实际课中抽象、提炼出数学模型的过程就称为数学建模(Mathematical Modeling)。 不论是用数学方法在科技和生产领域解决哪类实际问,还是与其它学科相结合形成交叉学科,首要的和关键的一步是建立研究对象的数学模型,并加以计算求解(通常借助计算机);数学建模和计算机技术在知识经济时代的作用可谓是如虎添翼。 建模应用 数学是研究现实世界数量关系和空间形式的科学,在它产生和发展的历史长河中,一直是和各种各样的应用问紧密相关的。数学的特点不仅在于概念的抽象性、逻辑的严密性、结论的明确性和体系的完整性,而且在于它应用的广泛性。 自从20世纪以来,随着科学技术的迅速发展和计算机的日益普及,人们对各种问的要求越来越精确,使得数学的应用越来越广泛和深入,特别是在21世纪这个知识经济时代,数学科学的地位会发生巨大的变化,它正在从国家经济和科技的后备走到了前沿。经济发展的全球化、计算机的迅猛发展、数学理论与方法的不断扩充,使得数学已经成为当代高科技的一个重要组成部分和思想库,数学已经成为一种能够普遍实施的技术。培养学生应用数学的意识和能力已经成为数学教学的一个重要方面。 建模过程 播报 编辑 模型准备 了解问的实际背景,明确其实际意义,掌握对象的各种信息。以数学思想来包容问的精髓,数学思路贯穿问全过程,进而用数学语言来描述问。要求符合数学理论,符合数学习惯,清晰准确。 模型假设 根据实际对象的特征和建模的目的,对问进行必要的简化,并用精确的语言提出一些恰当的假设。 模型建立 在假设的基础上,利用适当的数学工具来刻画各变量常量之间的数学关系,建立相应的数学结构(尽量用简单的数学工具)。 模型求解 利用获取的数据资料,对模型的所有参数做出计算(或近似计算)。 模型分析 对所要建立模型的思路进行阐述,对所得的结果进行数学上的分析。 模型检验 将模型分析结果与实际情形进行比较,以此来验证模型的准确性、合理性和适用性。如果模型与实际较吻合,则要对计算结果给出其实际含义,并进行解释。如果模型与实际吻合较差,则应该修改假设,再次重复建模过程。 模型应用与推广 应用方式因问的性质和建模的目的而异,而模型的推广就是在现有模型的基础上对模型有一个更加全面的考虑,建立更符合现实情况的模型。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值