数据分析50图(三) —— 散点线性回归与置信区间

数据分析50图(三) —— 散点线性回归与置信区间

前言

华罗庚说过

数缺形时少直观,形少数时难入微.

这句话第一次听还是初中数学老师上二次方程课时说的.最近看到了3blue1brown对线性代数的直观解释感觉豁然开朗,于是我又捡起了儿时对美妙数学的兴趣. 发现一个博客,数据可视化很好的例子,决定花些时间和大家一起解读一下

例程来自:https://www.machinelearningplus.com/plots/matplotlib-histogram-python-examples//

感谢b站UP "菜菜TsaiTsai" 分享这个博客.

正式开始“50图”的学习。首先的一个系列 关联图 这通常能告诉我们几个事物之间的联系。

例3、4

from matplotlib import patches
from scipy.spatial import ConvexHull
import warnings; warnings.simplefilter('ignore')
import seaborn as sns
sns.set_style("white")

# Import Data
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")

df_select = df.loc[df.cyl.isin([4,8]), :]
# Plot
sns.set_style("white")
gridobj = sns.lmplot(x="displ", y="hwy", hue="cyl", data=df_select,
height=7, aspect=1.6, robust=True, palette='tab10',
scatter_kws=dict(s=60, linewidths=.7, edgecolors='black'))


# Decorations
gridobj.set(xlim=(0.5, 7.5), ylim=(0, 50))
plt.title("Scatterplot with line of best fit grouped by number of cylinders", fontsize=20)
plt.show()

解析

解析下代码流程

这是第一次使用 seaborn 包,他是matplotlib 的高级封装,我第一次见他就被他色彩吸引了。

  1. 导入数据
  2. 画图(没错seaborn 就是这么方便)
  3. 添加标注说明

先看下这个不太友好的数据集

数据分析50图(三) —— 散点线性回归与置信区间

mpg 汽车参数数据集

这次用到的数据是 displ,hwy,cyl。 what? 不太懂车啊,这是什么鬼缩写。一顿谷歌搜索。

  • displ 排量
  • cyl 气缸数
  • hwy 高速公路上时每加仑里程数
  • cty 城市道路时每加仑里程数

方法参数解释

df.loc[df.cyl.isin([4,8]), :] 选择 cyl 等于 4和8的 所有行

sns.lmplot()

  • x,y,data: seaborn 包接受DateFrame 对象的行标签作为输入,也就是选取列名为displ 的这一列数据作为x输入
  • hue=‘cyl’:这里如果用hue,用col则2个点集会分别在2张图上显示而不是在同一张图上
  • height,sapect: 整个画布的尺寸设置
  • robust: 如果为真,表示回归要求是 鲁棒的
  • palette: 色彩盘,我很喜欢他的配色除了 tab10 还有很多其他可用
  • scatter_kws: 我们知道 seaborn 是matpoltlib 的高级封装 所以scatter_kws 表示原有的plt.scatter() 的关键字参数

图像

数据分析50图(三) —— 散点线性回归与置信区间

hue=‘cyl’

数据分析50图(三) —— 散点线性回归与置信区间

col=‘cyl’

应用

图中2条回归线的意思两侧的点离这条线的距离方差最小,从直观上的解释。举个例子 有一个射击手瞄准这条线射击,所有弹孔离着根线越近则他的成绩越好,而方差表示他的发挥很稳定,每次都能打出8环。淡色的阴影面积表示,这些点落在直线周围的置信度。还是射击手的例子,假设这个射击手的发挥稳定程度不变,那么他下次射击的成绩大概率会在这个阴影里。

所以我们可以从这图上看出什么?

可以猜想如果汽车技术没什么革新,用原有的技术设计。要制造一台4杠,4.0排量的汽车,那么他的油耗应该是在每加仑15-20英里的样子。

如果你是个观察力非凡的画家,你可能会发现图中,有些点颜色较深而有些点颜色浅。这并不是绘图的错误,或者视觉差。这是因为有很多同样位置的点重叠在一起。许多统计数据都会有这种重叠的特点,比如高考的成绩,一类商品的热度。

那么如何用可视化的方式展现出同一车型的热度?带着这个问题我们下期见。

下期预告

例2 散点图重合点抖动与计数 —— 回到频次统计



分享到:


相關文章: