QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3797|回复: 1
打印 上一主题 下一主题

AQI空气质量分析与预测的相关资料

[复制链接]
字体大小: 正常 放大

1178

主题

15

听众

1万

积分

  • TA的每日心情
    开心
    2023-7-31 10:17
  • 签到天数: 198 天

    [LV.7]常住居民III

    自我介绍
    数学中国浅夏
    跳转到指定楼层
    1#
    发表于 2021-10-15 10:46 |只看该作者 |正序浏览
    |招呼Ta 关注Ta
    AQI分析与预测AQI全称是Air Quality Index,指空气质量指数,用来衡量空气清洁或者污染的程度,值越小,表示空气质量越好。
    5 O' F/ E; Q, b) v( h5 n2 L$ ^4 l4 u! O
    本文的分析目标是:/ F( C9 g$ F; Q" N) n
    一、描述性统计
    1 ~$ F6 Z5 r7 f% B  i5 T* L  C/ T
    那些城市的空气质量较好/较差?空气质量在地理位置分布上,是否具有一定的规律?二、推断统计! u1 _1 ]  v9 N9 H0 Q- L
    临海城市的空气质量是否优于内陆城市?三、相关系数分析
    1 w: k  u; A8 o7 t
    空气质量主要受哪些因素的影响?四、区间估计) e6 m* G6 b# [( z9 p. {3 ]
    全国城市空气质量普遍处于哪种水平?五、统计建模
    5 R4 C8 R6 n  N& f+ }* I# L" J
    怎样预测一个城市的空气质量?导包并读取数据:import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns! x1 w9 j2 u/ q& Q. E1 S
    sns.set(style="darkgrid")plt.rcParams["font.family"] = "SimHei"plt.rcParams["axes.unicode_minus"] = False
    ' q! x: [+ W% X8 ^) S
    data = pd.read_csv("data/data.csv")print(data.shape)data.head()# a  P$ i% t: W- `7 j- M& C1 n

    ! b6 p) ^5 ~3 j3 t: b- j; U数据集描述:
    % c) {; q' t6 h3 d' E# s  I) W  U& q$ Z) i# G- n# A" l- b
    City:城市名
    ' c) u! n) A9 K, S
    8 P+ S6 I' X4 K9 OAQI:空气质量指数
    2 S! @" t$ W! R- d6 o( Y$ j% ~, f. U
    Precipitation:降雨量
    / d4 g- [3 ^, f6 ^6 f. `7 t; ~2 r8 e
    GDP:人均生产总值
    - P6 ~# U: S; \
    # _+ K) Z/ F4 I$ @; @! N* STempearture:温度  }3 u3 r. T. E
    $ T% u, X. A6 ?5 u4 x9 P! Y- n: L
    Longitude/Latitude:经/纬度
    ( ^% ]( M+ w& O' t* z* q/ J; p  p/ T8 P2 G
    Altitude:海拔高度4 L9 e. g0 E/ A, ^+ X

    5 T' R3 @# ?* Z( q; c0 lPopulationDensity:人口密度3 h9 x4 V) y, h3 ~* ]0 {% Q
      ~  N" X+ o8 v, I7 o
    Coastal:是否沿海
    8 L6 Q& U$ Q0 @( l$ z4 J9 i9 G1 V
    3 W8 Q0 p7 q2 w% X6 BGreenCoverageRate:绿化覆盖率
    ; ^% a* z9 `, A8 j1 Y8 [: F- N, B
    7 C+ s6 Y* B) ?2 E1 VIncineration(10,000ton):焚烧量(w吨)8 x& N' ]1 m8 I9 A# J6 K! d5 t
    . i  [" u0 F  i* H* ~" ~/ t
    数据清洗
    2 M$ |: |: q4 F% _# B2 X2 d检查缺失值:' x9 s" ]1 t  W9 V
    数据集描述:
    . i. ]0 _5 D5 \( R
    / e9 ~0 ~6 q. _1 KCity:城市名0 m8 W- @  l- i% j
    ! S# D+ a8 M% I$ b
    AQI:空气质量指数/ T! ~" K3 Y& L8 m6 z+ l( v0 p6 D

    , v0 ?- Q7 Z- t/ t* VPrecipitation:降雨量
    3 y% x  A  r4 d
    9 e. _0 R- g8 W3 s9 gGDP:人均生产总值6 H  x$ Y- U0 `/ P4 S
    : W" g+ @( c7 A: B8 G  h
    Tempearture:温度
    & T- I+ `0 [$ B; L) L8 g7 D3 t* z3 K$ T* w( z1 ]
    Longitude/Latitude:经/纬度6 P" y# Y& b0 U9 b) H
    # U8 A& _1 F& G% s) t- R) k/ M
    Altitude:海拔高度+ R6 M; Q7 @; F8 P) u

    5 y5 r; {' c8 A1 a: x, bPopulationDensity:人口密度
    ) l- X% x* o" Y6 n3 x- U
    2 g, l5 x& Q. [0 J. z% ]- fCoastal:是否沿海, s# H6 L: M+ U- t. y
    " \8 \( I0 `9 ]+ ], ~, N% Z( u6 x8 P
    GreenCoverageRate:绿化覆盖率
    " I/ {, n$ f3 J7 T
    5 L5 n* r2 R0 _1 E6 q- g4 P4 O# @Incineration(10,000ton):焚烧量(w吨)9 w$ B/ ~* Z: [) }
    4 Y* K' n6 D% O& ]9 h9 C! G4 C
    数据清洗
    * \0 b2 P2 i  U1 b4 Y检查缺失值:
    " G! v, P! e. j0 ldata.isnull().sum(axis=0). M$ a1 B# ?  B7 e4 h. p1 Z1 k
    ) g) I$ y, z# v- f" Y6 K
    " Q2 T4 p: v6 }! ]/ y6 m4 E# B% |0 L

    # r1 s* X) `. O! `' V- ^
      U( J, H1 e6 b+ ^% l  s7 m8 k查看含缺失值列数据的分布:; }: s; b/ J# R( i, w4 Y# ?8 d
    #print(data["Precipitation"].skew())#偏度  2 I0 Y2 Y* y+ a) K, X
    sns.distplot(data["Precipitation"].dropna())#要删除NA值才能做分布密度图0 ^8 }8 T' d. R' C  {
    plt.title("分布密度图")
    + ~% ]9 i9 j5 G; `! n6 t( G( Q0.27360760671177387% G: O) o2 j5 y8 E
    : ^$ s$ t2 @' b5 F1 G. B5 y& X+ p( B
    ! C) P9 ^/ N, Z6 \1 e
    4 n  o; I8 h1 G! s7 t

    数值型变量,数据呈现右偏分布,所以使用中位数填充。

    对缺失值进行中位数填充

    data.fillna({"Precipitation":data["Precipitation"].median()},inplace=True)
    ) ]5 ?6 H. [" i  G# w% H) D+ v检查异常值的三种方法
    • data.describe() 查看数据的描述:分位数、均值与标准差
    • 基于正太分布 ±三个标准差涵盖99.7%的数据
    • 箱线图(四分位距IQR=Q3-Q1,上下边界:Q3/Q1 ±1.5IQR)
      # M" F( Q4 c( ]! n

    查看数据集的偏度:


    " W3 c( g/ T, f0 d  ^8 B7 H: _data.skew()
    9 W- `" T  g7 v2 f1 q
    " L) H' }3 T* Z- C6 K! GAQI                        1.198754
    " v, Q1 y! z2 l" `- F3 B6 WPrecipitation              0.273608- M! B( i' v" g5 A2 u" m- p
    GDP                        3.761428
    2 w  k! m/ j% L1 y' @1 \  CTemperature               -0.5973435 l. e& N7 [: c) g
    Longitude                 -1.407505
    % d- g  h: a/ W0 Y! WLatitude                   0.253563! s! P# e8 y" P5 L) Q7 f' B
    Altitude                   3.067242" v* U0 x! @* J% L' n) w
    PopulationDensity          3.125853$ @% T$ B9 D5 x; g0 n
    GreenCoverageRate         -0.381786
    - e" t( x& z; h3 F7 u% zIncineration(10,000ton)    4.342614
    ' E* j, w' T2 Fdtype: float64
    # ]) V3 `3 |$ c) k1 p+ {- y% Z( q9 o5 p- [

    可以看到GDP和人口密度等都出现了严重的右偏分布,意味着存在很多极大的异常值。

    下面我们查看以下GDP的异常值:

    / j1 r( P8 R8 j" ?9 I
    mean, std = data.GDP.mean(), data.GDP.std()0 [0 g6 J- d$ D) l7 H4 t
    lower, upper = mean - 3 * std, mean + 3 * std
    6 [) T  t8 ]7 a# r9 A/ @  |* z3 t' X" K9 d/ t
    print("均值:", mean)
    $ S+ y# @1 U/ t0 N; |. U& _9 S" _print("标准差:", std)9 b; `2 x# X1 ]% ?% h
    print("下限:", lower)
    & ?( s2 c- L3 _  A) t0 Iprint("上限:", upper)
    ( ^) ~$ W" O# k3 M$ P! w4 qdata.loc[(data.GDP < lower) | (data.GDP > upper), "GDP"]! N$ j0 \& k# R1 D6 u+ i) Z

    0 w, {2 ~! `2 p  G8 q9 K, U均值: 2390.901815384616' ]) ?% ]9 W, ~- x/ U* D: [( p0 F) P
    标准差: 3254.876921271434
    ; r8 n5 F4 b2 t  j! b7 ]. A下限: -7373.7289484296879 d# g- V: r7 ^$ z1 D  e5 M
    上限: 12155.532579198918
    $ {% i. J3 M/ J' n" d16     22968.601 i+ H, B7 r8 M
    63     18100.41
    7 @: o4 @# G3 R9 K8 P" [* k7 l202    24964.99
      w' B. J/ k  X1 z& K207    17502.99
    & z' Y) |8 ~9 `2 L  f) p) b. t( l215    14504.07
    ) u% Y; Z* d3 z, F# `, I5 T230    16538.19
    8 `0 u+ _* z3 O- w( d3 y256    17900.00
    1 F. ?! w+ ~* x& k) g* f" w314    15719.72
    % Y0 X, {3 k2 z5 N% a) N3 ?Name: GDP, dtype: float64
    ( y4 `: S" Q0 L! h( n" D1 S' D  B& m8 |7 U. y  h7 i
    9 u4 U( n5 e- c/ V/ N, O- |8 m5 B) q
    - D' p) C/ q$ O6 d# L  ?4 ]5 ?+ V1 A
    " g" y/ T/ l5 V( V1 C
    , f: y+ R! n6 D' H/ P! s$ x) W# b
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    sjlxdn        

    1

    主题

    2

    听众

    155

    积分

    升级  27.5%

  • TA的每日心情
    无聊
    2022-2-19 17:40
  • 签到天数: 30 天

    [LV.5]常住居民I

    国际赛参赛者

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-12 11:20 , Processed in 0.659425 second(s), 56 queries .

    回顶部