市场研究中的数据分析知识整理 (一)

1 数据选取


library(readr)
library(dplyr)
library(plyr)
library(reshape)
library(reshape2)

#基于kaggle数据集https://www.kaggle.com/orgesleka/used-cars-database

auto_original <- read_csv("~/autos.csv")

autos <- auto_original[2:16]
autos <- autos[!(autos$vehicleType %in% c("bus","limousine")),]
autos <- autos[autos$price >= 100 & autos$price <= 100000 
               & autos$powerPS > 0 & autos$powerPS < 600
               & autos$yearOfRegistration >=1910 & autos$yearOfRegistration <= 2016,]
autos <- autos[,-(2:3)]

2 组间比较

2.1 表格透视

2.1.1、aggregate 分组计算,输出为data frame


aggregate(price ~ vehicleType + gearbox, data = autos, function(x) mean(x))
#function(x)用于拓展函数内容

市场研究中的数据分析知识整理 (一)_第1张图片

2.1.2、with和table 针对离散变量的双向描述

 freq_ve <- as.data.frame(with(autos, table(vehicleType, gearbox))) 
#该功能也可用aggregate的length(unique(x))实现

市场研究中的数据分析知识整理 (一)_第2张图片

2.1.3、histogram, prop.table 和 barchart 的简单组间对比

library(lattice)

histogram(~ price | vehicleType + gearbox, data = autos)

barchart(prop.table(table(autos$gearbox,autos$vehicleType),margin = 2)[,2:6])

市场研究中的数据分析知识整理 (一)_第3张图片

2.2 组间差异的统计检验

是为了「解决看上去不同,那是否真的具有显著性差异」的问题

2.2.1 chisq.test

#不同车型的变速箱之间的区别
tmp_ve <- with(autos, table(vehicleType, gearbox))
chisq.test(tmp_ve)
#主要针对频数间的差异检验

市场研究中的数据分析知识整理 (一)_第4张图片
结果显示,不同车型中变速箱类型的差异 p-value 远小于0.05,可以拒绝不同车型间变速箱类型的数量分布是相同的原假设,即不同车型间变速型类型的区别是有明显差异的。

2.2.2 t.test

不同车型和不同变速箱类型之间价格的区别检验,即组间均值检验

#价格分布,明显的偏态分布
hist(autos$price)
#针对两个样本均值间的差异
t.test(price ~ gearbox, data = autos)

市场研究中的数据分析知识整理 (一)_第5张图片

2.2.3 anova

如果要检验不只两个样本,则需要用于多组均值检验的方差检验

#先设置aov模型
aov.g <- aov(price ~ gearbox, data = autos)
aov.v <- aov(price ~ vehicleType, data = autos)
#再用anova返回ANOVA的结果
anova(aov.g)
anova(aov.v)

#也可以拓展到更复杂的层面
anova(aov(price ~ gearbox + vehicleType, data = autos))

市场研究中的数据分析知识整理 (一)_第6张图片

结果显示,不仅在单因子分析的时候,不同车型和变速箱类型和价格间有显著差异,二者进入多因子分析后,差异依然显著,说明车型和变速箱是影响价格的两个独立变量。

#置信区间的可视化
library(multcomp)
aov.v.g <-  aov(price ~  gearbox  + vehicleType -1, data = autos)
#通过glht输出每个类的均值。尽管已经用-1移除截距(intercept)了,但依然还是有一个变量存在截距 只需以绝对值理解即可

plot(glht(aov.v.g))

市场研究中的数据分析知识整理 (一)_第7张图片

首先是自动挡价格均值明显高于手动挡,其次,SUV依然是各类车型中价格最高的,微型车(Kombi)则是价格均值最低的。

逐步建模,ANOVA选择解释变量

#通过step函数,基于price建立aov模型,为避免过度耗费资源,选取几个认为可能影响价格的变量

aov.step <- step(aov(price ~  gearbox  + vehicleType +abtest +yearOfRegistration
                     +powerPS +kilometer +fuelType +brand +notRepairedDamage, data = autos))
#通过模型的向后迭代,获得最终认为是最「好」的模型,即只移除了用于标示测试与否的abtest一个变量,其他变量均对价格有显著影响,随即即可建立ANOVA模型

anova(aov.step)

逐步建模结果:

市场研究中的数据分析知识整理 (一)_第8张图片

ANOVA结果:

市场研究中的数据分析知识整理 (一)_第9张图片

你可能感兴趣的:(anders)