R语言数据分析案例45-全国汽车销售数据分析(可视化与回归分析)

一、研究背景

随着经济的发展和人们生活水平的提高,汽车已经成为人们日常生活中不可或缺的交通工具之一。汽车市场的规模不断扩大,同时竞争也日益激烈。对于汽车制造商和经销商来说,深入了解汽车销售数据背后的规律和影响因素,对于制定合理的生产计划、营销策略以及提高市场竞争力具有至关重要的意义。

本研究聚焦于起亚品牌的某款紧凑型 SUV 的销售数据。在当前汽车市场中,SUV 车型由于其空间大、通过性好等特点,深受消费者的喜爱。而紧凑型 SUV 市场作为 SUV 市场的一个重要细分领域,吸引了众多汽车品牌的参与。各品牌在这个细分市场中通过价格战、产品升级、营销创新等手段争夺市场份额。起亚作为知名的汽车品牌,其紧凑型 SUV 的销售情况不仅反映了自身的产品竞争力和营销策略的有效性,也在一定程度上反映了整个紧凑型 SUV 市场的动态。

二、研究意义

(一)对汽车企业的意义

1.优化生产与库存管理

通过对销售数据的分析,企业可以准确地把握市场需求的变化趋势。例如,根据不同时间段的销量波动,合理安排生产计划,避免库存积压或缺货现象的发生。对于销量较高的时间段,可以提前增加产量,确保市场供应;而对于销量较低的时期,则可以适当减少生产,降低库存成本。

2.制定精准营销策略

了解不同品牌之间的销量差异以及销量随时间的变化趋势,有助于企业制定有针对性的营销策略。例如,如果发现某一品牌在特定时间段内销量显著增加是由于特定的促销活动导致的,企业可以借鉴这种促销方式,在其他时间段或其他车型上进行推广。同时,分析不同城市的总销量情况,可以帮助企业在重点市场加大营销投入,在潜力市场挖掘新的销售增长点等

(二)对消费者的意义

1.提供购车参考

本研究揭示的汽车销售数据规律和影响因素,可以为消费者提供购车参考。例如,消费者可以了解到不同品牌、不同时间段的价格波动和销量情况,选择在价格优惠、促销活动丰富的时机购买心仪的车型。同时,消费者也可以通过分析不同城市的销售情况,了解到本地市场的价格水平和产品供应情况,做出更明智的购车决策。

2.促进市场健康发展

深入的汽车销售数据分析有助于规范汽车市场秩序。当企业能够根据市场需求合理定价和生产时,能够减少不正当竞争行为,如恶意价格战等,从而为消费者创造一个更加公平、健康的购车环境。

三、实证分析

代码和数据

代码报告和数据集

首先导入数据分析的基础的包,随后读取数据展示数据前五行:

R 复制代码
library(ggplot2)
library(dplyr)
library(readr)
library(tidyr)
library(caret)
library(cluster)
library(factoextra)

随后读取数据展示数据前五行

R 复制代码
# 读取数据集并指定编码
data <- read_csv("全国汽车销售数据.csv", locale = locale(encoding = "GBK"))
head(data,5)

图中展示了汽车销售数据的部分内容,通过head(data, 5)查看了前 5 行数据,这些数据包含 13 个变量。数据中的车系均为 "I8a84ca201...",厂商是 "韩系 东风...",车类为 "SUV",品牌是 "起亚",车型为 "智跑",级别是 "紧凑",时间都为 "17 2019...",销量数据各不相同。

接下来查看数据特征的类型情况:

上图展示了汽车销售数据的部分内容。从车系和厂商列可以看出,所有数据都来自 "韩系 东风悦达起亚" 这一厂商,说明数据集中在这一品牌的车型上。车类、品牌和车型列显示所有车辆都是 "SUV" 类型,品牌为 "起亚",车型为 "智跑",进一步表明数据是针对该款车型的。。。。。。

接下来查看数据描述性统计分析的情况:

R 复制代码
summary(data)

在车系、厂商、车类、品牌、车型和级别列,由于所有数据都相同(如都是 "韩系 东风悦达起亚""SUV""起亚""智跑""紧凑"),所以只显示了数据类型和长度等信息。价格列的统计信息显示,最小值是 4.00,第一四分位数是 10.00,中位数是 14.00,均值是 18.04,第三四分位数是 22.00,最大值是 61.00,说明价格有一定的波动范围。

接下来对数据集进行可视化分析,首先查看销量分布情况:

R 复制代码
ggplot(data, aes(x = 销量)) +
  geom_histogram(bins = 30, fill = "blue", color = "black") +
  geom_density(color = "red", size = 1) +
  ggtitle("销量分布") +
  xlab("销量") +
  ylab("频数") +
  theme(
    plot.title = element_text(hjust = 0.5),
    axis.title.x = element_text(hjust = 0.5),
    axis.title.y = element_text(hjust = 0.5)
  )

从图中可以看到,大部分数据集中在销量较低的区域。具体而言,在 0 - 5000 的销量区间内,柱子的高度非常突出,这意味着在这个区间内的销量频次占据了绝大部分。。。。

接下来查看不同品牌的销量分布情况:

R 复制代码
ggplot(data, aes(x = 品牌, y = 销量)) +
  geom_boxplot(fill = "lightblue", color = "black") +
  ggtitle("不同品牌的销量分布") +
  xlab("品牌") +
  ylab("销量") +
  theme(
    axis.text.x = element_text(angle = 90, hjust = 1),
    plot.title = element_text(hjust = 0.5),
    axis.title.x = element_text(hjust = 0.5),
    axis.title.y = element_text(hjust = 0.5)
  )

接下来探究一下销量随时间的变化趋势:

图中显示,销量在这几年间波动较大。最引人注目的是 2017 年出现了一个极高的销量峰值,几乎达到了 20000。。。。。

接下来查看销售规模与销量的关系

R 复制代码
ggplot(data, aes(x = `销售规模(亿)`, y = 销量)) +
  geom_point(color = "green") +
  ggtitle("销售规模与销量的关系") +
  xlab("销售规模(亿)") +
  ylab("销量") +
  theme(
    plot.title = element_text(hjust = 0.5),
    axis.title.x = element_text(hjust = 0.5),
    axis.title.y = element_text(hjust = 0.5)
  )

接下来查看不同城市的总销量情况:

接下来对数据集进行模型建立分析:

R 复制代码
# 创建线性回归模型
lm_model <- lm(销量 ~ 价格 + `销售规模(亿)`, data = data)

# 模型评估
summary(lm_model)

# 预测和计算均方误差和R2值
pred_lm <- predict(lm_model, newdata = data)
mse_lm <- mean((data$销量 - pred_lm)^2)
r2_lm <- summary(lm_model)$r.squared

模型公式为销量与价格和销售规模(亿)的关系。残差统计显示其最小值为 -146481,最大值为 47149,四分位数分别为 -2777、-603 和 1328。系数方面,截距为 11200.668,价格系数为 -394.176,表明价格与销量负相关,销售规模系数为 355.189,显示其与销量正相关,且这些系数的 p 值都极小,具有高度显著性。

R 复制代码
gbm_model <- gbm(销量 ~ 价格 + `销售规模(亿)`, data = data, distribution = "gaussian", n.trees = 100, interaction.depth = 3, shrinkage = 0.01, cv.folds = 5)
# 模型评估
summary(gbm_model)

# 预测和计算均方误差和R2值
pred_gbm <- predict(gbm_model, newdata = data, n.trees = gbm.perf(gbm_model, method = "cv"))
mse_gbm <- mean((data$销量 - pred_gbm)^2)
r2_gbm <- 1 - (sum((data$销量 - pred_gbm)^2) / sum((data$销量 - mean(data$销量))^2))

梯度提升机回归模型(梯度提升机回归 - MSE: 32099261 , R2: 0.5863429)

支持向量机模型:

R 复制代码
svm_model <- svm(销量 ~ 价格 + `销售规模(亿)`, data = data, kernel = "radial")

# 模型评估
summary(svm_model)

# 预测和计算均方误差和R2值
pred_svm <- predict(svm_model, newdata = data)
mse_svm <- mean((data$销量 - pred_svm)^2)
r2_svm <- 1 - (sum((data$销量 - pred_svm)^2) / sum((data$销量 - mean(data$销量))^2))

cat("支持向量机回归 - MSE:", mse_svm, ", R2:", r2_svm, "\n")

四、研究结论

本研究聚焦起亚一款紧凑型 SUV,车系与厂商信息单一,数据源于特定渠道。价格在 4.00 至 61.00 间波动且有统一标价情况,销量与销售规模波动剧烈,地域集中于江苏盐城,利于局部分析却难现整体市场全貌,易遗漏他地销售特性与趋势。线性回归模型能解约 65.5% 销量方差,价格负相关、销售规模正相关于销量,有统计显著性,但 MSE 显示预测有偏,模型有优化空间。梯度提升机:MSE 为 32099261,R² 是 0.5863429,销售规模影响远超价格,迭代中误差渐降但后期趋缓,优化遇阻。支持向量机:表现卓越,MSE 仅 6213528,R² 达 0.9199274,拟合佳,可为销量相关决策提供有力支撑。

从未来来看,数据收集方面,拓地域、增时间跨度,纳更多车型与市场因素,建更全数据库。模型优化上,融合模型优势或用新算法提精度与稳定性。销量提升时,依品牌与城市差异制精细策略,结合线上线下精准触客,关注市场与对手,调产品定位与销售方针,抢滩市场,促销量与份额双升。

创造不易,希望各位看官多多点赞留言!

相关推荐
lilye665 小时前
精益数据分析(19/126):走出数据误区,拥抱创业愿景
前端·人工智能·数据分析
过期的秋刀鱼!5 小时前
数据分析之技术干货业务价值 powerquery 分组排序后取TOP
数据挖掘·数据分析·excel·数据清洗·分组排序·powerquery·电商货品分析
郭不耐6 小时前
DeepSeek智能时空数据分析(五):基于区域人口数量绘制地图散点-大模型搜集数据NL2SQL加工数据
数据分析·aigc·时序数据库·数据可视化·大屏端
郭不耐9 小时前
DeepSeek智能时空数据分析(四):绘制行政区域并定制样式
信息可视化·数据挖掘·数据分析·数据可视化
时序之心10 小时前
清华团队提出时序聚类数据库内高效方案,已被SIGMOD 2025接收
数据库·数据挖掘·聚类
没有梦想的咸鱼185-1037-166311 小时前
【降尺度】ChatGPT+DeepSeek+python+CMIP6数据分析与可视化、降尺度技术与气候变化的区域影响、极端气候分析
python·chatgpt·数据分析
lilye6611 小时前
精益数据分析(26/126):依据商业模式确定关键指标
大数据·人工智能·数据分析
七七知享13 小时前
深入探索Python Pandas:解锁数据分析的无限可能
python·程序人生·程序员·数据挖掘·数据分析·pandas·个人开发
梦想画家13 小时前
使用 LLM助手进行 Python 数据可视化
python·数据分析·大模型应用
LeeZhao@15 小时前
【数据挖掘】时间序列预测-常用序列预测模型
人工智能·自然语言处理·数据挖掘·agi