双变量分析表示分析两个变量。
双变量分析是为了分析两个变量之间的关系,与单变量、多变量分析对应。主要有三种方式进行双变量分析。
- 散点图
- 相关系数
- 简单线性回归
下面使用测试数据作为示例来演示三种方法,供包括两个变量,HourStudied表示学习时间,ExamScore为测试成绩。
exData <- read.csv("csv/exData.csv")
exData
# HourStudied ExamScore
# 1 1 75
# 2 1 66
# 3 1 68
# 4 2 74
# 5 2 78
# 6 2 72
# 7 3 85
# 8 3 82
# 9 3 90
# 10 3 82
# 11 3 80
# 12 4 88
# 13 4 85
# 14 5 90
# 15 5 92
# 16 6 94
# 17 6 94
# 18 6 88
# 19 7 91
# 20 8 96
散点图
散点图以可视化方式进行双变量分析,其中一个变量作为x轴变量,另一个作为y轴变量。下面示例对上面示例数据画散点图:
plot(exData$HourStudied, exData$ExamScore,
main = "HourStudied vs. ExamScore", xlab = "HourStudied", ylab = "ExamScore" )
# 增加拟合线
abline(lm(ExamScore~HourStudied, exData))
通过散点图可以清晰看到两个变量之间有正相关关系,即随着学习时间增加,考试成绩也响应增加。
相关系数
相关系数是另一个双变量分析的方法。最常用的计算方法为皮尔逊相关系数,用于衡量两个变量之间的线性关系,它的值在1~-1之间:
- -1 表示完全负相关
- 0 表示完全没有线性关系
- 1 表示完全正相关
这个简单指标让我们很好地了解两个变量之间的关系。在实践中经常同时使用散点图和相关系数来理解两个变量之间的关系,从而可以形象化和量化它们之间的关系。
下面代码计算示例数据的相关系数:
cor(exData$HourStudied, exData$ExamScore)
# 0.891306
返回值为0.89 表示具有较强的正相关关系。
简单线性回归
第三种方法是简单线性回归。首先选择一个变量作为解释变量,另一个作为响应变量。然后我们发现最佳直线拟合数据集,使用该线性模型可以进行预测。
下面代码执行简单线性回归:
model <- lm(ExamScore~HourStudied, exData)
summary(model)
# Call:
# lm(formula = ExamScore ~ HourStudied, data = exData)
#
# Residuals:
# Min 1Q Median 3Q Max
# -6.920 -3.927 1.309 1.903 9.385
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 69.0734 1.9651 35.15 < 2e-16 ***
# HourStudied 3.8471 0.4613 8.34 1.35e-07 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 4.171 on 18 degrees of freedom
# Multiple R-squared: 0.7944, Adjusted R-squared: 0.783
# F-statistic: 69.56 on 1 and 18 DF, p-value: 1.347e-07
通过输出可以看到回归模型为:
- Exam score = 69.07 + 3.85*(hours studied)
可解释为:每增加学习时间1小时,平均增加成绩3.85分。通过线性回归模型,我们可以量化两个变量之间的关系。
总结
双变量分析是统计学中最常用的分析类型之一,因为我们经常对理解两个变量之间的关系感兴趣。通过使用散点图、相关系数和简单线性回归,我们可以可视化和量化两个变量之间的关系。
通常这三种方法在分析中需同时使用,以全面了解两个变量之间的关系,因此同时熟悉三种方法是不错的选择。
本文参考链接:https://blog.csdn.net/neweastsun/article/details/124254265