AQI(空气质量指数)分析与预测(三)

空气质量主要受哪些因素影响

  • 猜想一:人口密度是否会对空气质量造成影响
  • 猜想二:绿化率是否会影响空气质量

绘制空气质量、人口密度、绿化率的散点图矩阵,观察是否有影响

sns.pairplot(data[['AQI','PopulationDensity','GreenCoverageRate']], kind='reg')

AQI(空气质量指数)分析与预测(三)_第1张图片
我们也可以通过计算相关系数确认相关性,如下以空气质量与降雨量为例:

x = data['AQI']
y = data['Precipitation']
#计算AQI与Precipition的协方差
a = (x-x.mean())*(y-y.mean())
cov = np.sum(a)/(len(a)-1)
print('协方差:',cov)
#计算相关系数
corr = cov/np.sqrt(x.var()*y.var())
print('相关系数:',corr)

协方差: -10098.209013903044
相关系数: -0.40184407003013883

使用热图来更直观的展示全部类别的相关系数

plt.figure(figsize=(15,10))
ax = sns.heatmap(data.corr(), cmap=plt.cm.RdYlBu_r, annot=True, fmt='.2f')

AQI(空气质量指数)分析与预测(三)_第2张图片
通过上图可以看出:

  • 纬度与空气质量指数的相关系数为0.55,可以认为随着维度的升高,空气质量指数也在增加,由此得出结论:南方的空气质量要优于北方。
  • 降雨量与空气质量指数的相关系数为-0.4,可以认为随着降雨量的增加,空气质量指数在降低,由此得出结论:降雨量越大空气质量越好。

关于空气质量指数平均值为71的验证
有传闻称,全国所有城市的空气质量均值为71左右,验证这个消息是否可靠。
我们可以使用t检验进行验证:

  • 原假设:空气质量均值等于71
  • 备择假设:空气质量均值不等于71
  • 进行双边检验

检验过程如下:

mean = data['AQI'].mean() #样本城市均值
std = data['AQI'].mean() #样本城市标准差
t = (mean-71)/(std/np.sqrt(len(data['AQI'])))
p = stats.t.sf(2*abs(t), df=len(data['AQI'])-1)
print('t值:', t)
print('p值:', p)

t值:1.8117630617496865
p值:0.07095431526986656

根据结论p值大于0.05,故我们没有足够的证据推翻原假设,故接受原假设。

因为我们使用的是t检验,数值服从t分布,故如果需要回去更加精准的置信区间,我们可以使用如下方法:

stats.t.interval(0.95, df=len(data)-1, loc=mean, scale=std/np.sqrt(len(data)))

(70.6277615675309, 80.0409690826239)

根据置信区间也可以看出数值71在置信区间内,故传闻有较大概率为真。

你可能感兴趣的:(数据分析,统计算法)