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,拟合佳,可为销量相关决策提供有力支撑。

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

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

相关推荐
赵钰老师1 小时前
【R语言遥感技术】“R+遥感”的水环境综合评价方法
开发语言·数据分析·r语言
小白学大数据4 小时前
高级技术文章:使用 Kotlin 和 Unirest 构建高效的 Facebook 图像爬虫
爬虫·数据分析·kotlin
audyxiao00115 小时前
AI一周重要会议和活动概览
人工智能·计算机视觉·数据挖掘·多模态
fanstuck19 小时前
Prompt提示工程上手指南(七)Prompt编写实战-基于智能客服问答系统下的Prompt编写
人工智能·数据挖掘·openai
lovelin+v1750304096619 小时前
安全性升级:API接口在零信任架构下的安全防护策略
大数据·数据库·人工智能·爬虫·数据分析
道一云黑板报19 小时前
Flink集群批作业实践:七析BI批作业执行
大数据·分布式·数据分析·flink·kubernetes
数据爬坡ing20 小时前
小白考研历程:跌跌撞撞,起起伏伏,五个月备战历程!!!
大数据·笔记·考研·数据分析
matlabgoodboy1 天前
数据分析帮做spss数据代分析stata实证python统计R语言eviews处理
python·数据分析·r语言
云空1 天前
《解锁 Python 数据挖掘的奥秘》
开发语言·python·数据挖掘
終不似少年遊*1 天前
pyecharts
python·信息可视化·数据分析·学习笔记·pyecharts·使用技巧