国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AQI分析與預測-1

汽車電子技術 ? 來源:Python數據分析之旅 ? 作者: cauwfq ? 2023-02-23 16:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

圖片

一.項目背景

AQI(air Quality Index)指空氣質量指數,用來衡量空氣清潔或者污染程度。值
越小,表示空氣質量越好。近年來因為環境問題,空氣質量越來越受到人們重視。

二.實現過程

1.數據加載
  1)讀取數據
  2)查看數據
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings


sns.set(style="darkgrid", font_scale=1.2)
plt.rcParams["font.family"] = "SimHei"
plt.rcParams["axes.unicode_minus"] = False
warnings.filterwarnings("ignore")


#讀取文件
data = pd.read_csv("data.csv")
#輸出數據形狀
print(data.shape)
#查看數據
data.head()

圖片

2.數據清洗
  1)缺失值處理
  2)異常值處理
  3)重復值處理
1)缺失值處理
   》》查看缺失值
   》》缺失值填充
#計算缺失值比例
t = data.isnull().sum()
#鏈接數據
t = pd.concat([t, t / len(data)], axis=1)
#設置列名稱
t.columns = ["缺失值數量", "缺失值比例"]
#顯示表格
display(t)

圖片

#計算降雨量偏度,偏度較小
print(data["Precipitation"].skew())
#繪制圖形
sns.distplot(data["Precipitation"].dropna())

圖片

#用中位數填充缺失值
data.fillna({"Precipitation": data["Precipitation"].median()}, inplace=True)
#計算缺失值
data.isnull().sum()

圖片

2)異常值處理
   》》查看異常值
   》》異常值處理
#查看數據分布情況
data.describe()

圖片

#繪制圖形
sns.distplot(data["GDP"])
#輸出GDP峰值,偏度較大
print(data["GDP"].skew())

圖片

#計算均值和標準差
mean, std = data["GDP"].mean(), data["GDP"].std()
#計算下限與上限
lower, upper = mean - 3 * std, mean + 3 * std
#均值
print("均值:", mean)
#標準差
print("標準差:", std)
#下限
print("下限:", lower)
#上限
print("上限:", upper)
#獲取在3倍標準差之外的數據。
data["GDP"][(data["GDP"] < lower) | (data["GDP"] > upper)]

圖片

#繪制箱線圖
sns.boxplot(data=data["GDP"])

圖片

#初始畫布
fig, ax = plt.subplots(1, 2)
#設置畫布大小
fig.set_size_inches(15, 5)
#繪制直方圖
sns.distplot(data["GDP"], ax=ax[0])
#繪制對數直方圖
sns.distplot(np.log(data["GDP"]), ax=ax[1])

圖片

3)重復值處理
   》》查看重復值
   》》刪除重復值
#發現重復值。
print(data.duplicated().sum())
#查看哪些記錄出現了重復值。
data[data.duplicated(keep=False)]

圖片

#刪除重復值
data.drop_duplicates(inplace=True)
#統計重復值
data.duplicated().sum()

圖片

3.數據分析
  1)空氣質量最好/最差的5個城市
  2)臨海城市是否空氣質量優于內陸城市
  3)空氣質量受那些因素影響
  4)關于空氣質量驗證
1)空氣質量最好/最差的5個城市
   》》篩選數據
   》》按照AQI排序
   》》繪圖觀察
#空氣質量最好的5個城市


#篩選數據,按照AQI升序排列,
t = data[["City", "AQI"]].sort_values("AQI")
#篩選數據
t = t.iloc[:5]
#顯示數據
display(t)
#旋轉x軸標簽
plt.xticks(rotation=30)
#繪制柱狀圖
sns.barplot(x="City", 
            y="AQI", 
            data=t)

圖片

我們發現空氣質量最好的5個城市:
  1.韶關市
  2.南平市
  3.梅州市
  4.基隆市
  5.三明市
#空氣質量最差的5個城市


#篩選數據,按照AQI降序排列
t = data[["City", "AQI"]].sort_values("AQI", ascending=False)
#篩選前5條數據
t = t.iloc[:5]
#顯示數據
display(t)
#旋轉x軸標簽
plt.xticks(rotation=45)
sns.barplot(x="City",
            y="AQI", 
            data=t)

圖片

我們發現空氣質量最差的5個城市:
  1.北京市
  2.朝陽市
  3.保定市
  4.錦州市
  5.焦作市
對于AQI,對空氣質量進行等級劃分,劃分表轉如下

圖片

# 編寫函數,將AQI轉換為對應的等級。
def value_to_level(AQI):
    if AQI >= 0 and AQI <= 50:
        return "一級"
    elif AQI >= 51 and AQI <= 100:
        return "二級"
    elif AQI >= 101 and AQI <= 150:
        return "三級"
    elif AQI >= 151 and AQI <= 200:
        return "四級"
    elif AQI >= 201 and AQI <= 300:
        return "五級"
    else:
        return "六級"
#轉換等級
level = data["AQI"].apply(value_to_level)
#輸出統計
print(level.value_counts())
#繪制條形圖觀察數值
sns.countplot(x=level,
              order=["一級", "二級", "三級", "四級", "五級", "六級"])

圖片

2)臨海城市是否空氣質量優于內陸城市
   》》數量統計
   》》分布統計
   》》統計分析
繪制全國城市空氣質量指數分布圖


#繪制散點圖
sns.scatterplot(x="Longitude",
                y="Latitude", 
                hue="AQI",
                palette=plt.cm.RdYlGn_r, 
                data=data)

圖片

1)數量統計
我們統計下臨海城市與內陸城市數量


#輸出統計值
print(data["Coastal"].value_counts())
#繪制直方圖
sns.countplot(x="Coastal", 
              data=data)

圖片

2)分布統計
我們觀察下臨海城市與內陸城市散點分布


sns.stripplot(x="Coastal",
              y="AQI",
              data=data) 


結論:沿海城市空氣質量普遍好于內陸城市

圖片

3)對以上結論進行統計分析
   》》參數檢驗
   》》非參數檢驗
參數檢驗
  》》正態分布檢驗
  》》方差齊性檢驗
  》》兩獨立樣本t檢驗
from scipy import stats


#分別獲取臨海與內陸城市兩個樣本的AQI值。
coastal = data[data["Coastal"] == "是"]["AQI"]
inland = data[data["Coastal"] == "否"]["AQI"]
#初始畫布與坐標系
fig, ax = plt.subplots(1, 2)
#設置畫布大小
fig.set_size_inches(15, 5)
#繪制兩個樣本的分布。
sns.distplot(coastal, ax=ax[0])
sns.distplot(inland, ax=ax[1])

圖片

1.正態分布檢驗
  》》繪制數據分布圖
  》》繪制PP圖和QQ圖
  》》使用假設檢驗
PP圖與QQ圖
PP圖(Probability-Probability plot)與QQ圖(Quantile-Quantile plot)本質上基本是相同的。用于檢驗樣本數據的分布是否符合某個分布(默認為正態分布)。
PP圖:通過累積概率密度來檢測。
  x軸:根據傳遞的數據數量(n),計算x軸的繪制位置(x坐標),值為(1/n+1, 2/n+1, …… n/n+1)。
  y軸:將樣本數據排序,然后進行標準化(減均值除以標準差),計算樣本數據在理論分布下的cdf值(累積概率密度)。


QQ圖:通過分布百分比對應的數值來檢測。
  x軸:根據傳遞的數據數量(n),計算值(1/n+1, 2/n+1, …… n/n+1)的值。然后對每個值,計算在理論分布下的ppf值(cdf的逆運算,即根據累積概率密度求解對應
的位置)。
  y軸:將數值排序,將每個數值標準化。
import statsmodels.api as sm


def plot_pp_qq(d):
    """
    繪制PP圖與QQ圖的函數。
    Parameters
    ----------
    d : array-like
    要繪制的數值。
    """
    #初始化坐標系與畫布
    fig, ax = plt.subplots(1, 2)
    #設置尺寸大小
    fig.set_size_inches(15, 5)
    #標準化
    scale_data = (d - d.mean()) / d.std()
    #創建ProbPlot對象,用于繪制pp圖與qq圖
    #data:樣本數據。
    #dist:分布,默認為正態分布。數據data會與該分布進行對比
    p= sm.ProbPlot(data=scale_data, 
                   dist=stats.norm)
    #繪制pp圖
    p.ppplot(line="45",
             ax=ax[0])
    #設置名稱
    ax[0].set_title("PP圖")
    #繪制qq圖
    p.qqplot(line="45",
             ax=ax[1])
    #設置名稱
    ax[1].set_title("QQ圖")
    #顯示圖形
    plt.show()

#繪制沿海城市圖形
plot_pp_qq(coastal)

圖片

#繪制內陸城市圖形
plot_pp_qq(inland)

圖片

進行是否正態分布檢驗?
#原假設:觀測值來自于正態分布的總體。
#備則假設:觀測值并非來自正態分布的總體。
print(stats.normaltest(coastal))
print(stats.normaltest(inland))


結論:很遺憾,兩樣本正態分布可能性為0

圖片

接下來我們處理方法:
  》》將分布轉換為正態分布
  》》使用非參數檢驗
  》》樣本容量較大時,可以近似使用z檢驗

圖片

#將數據轉換為正態分布
bc_coastal, _ = stats.boxcox(coastal)
bc_inland, _ = stats.boxcox(inland)
#初始畫布與坐標系
fig, ax = plt.subplots(1, 2)
#設置畫布大小
fig.set_size_inches(15, 5)
#繪制兩個樣本的分布。
sns.distplot(bc_coastal, ax=ax[0])
sns.distplot(bc_inland, ax=ax[1])

圖片

#繪制轉換后的pp圖與qq圖
plot_pp_qq(bc_coastal)

圖片

#繪制轉換后的pp圖與qq圖
plot_pp_qq(bc_inland)

圖片

#再次進行正態性檢驗
print(stats.normaltest(bc_coastal))
print(stats.normaltest(bc_inland))

圖片

# 進行方差齊性(方差是否相等)檢驗。為后續的兩樣本t檢驗服務。
# 原假設:多個樣本的方差相等。
# 備則假設:多個樣本的方差不等。
stats.levene(bc_coastal, bc_inland)


結論:方差不等。

圖片

# 進行兩樣本t檢驗。
# equal_var:方差是否齊性(相等)。
# 原假設:兩獨立樣本均值相等。
# 備則假設:兩獨立樣本均值不等。
r = stats.ttest_ind(bc_coastal, bc_inland, equal_var=False)
print(r)


結論:兩獨立樣本均值不等,說明沿海城市空氣質量普遍好于內陸城市。

圖片

#非參數檢驗


# 曼-惠特尼檢驗。應該僅在每個樣本容量 > 20時使用。
# 原假設:兩個樣本服從相同的分布。
# 備則假設:兩個樣本服從不同的分布。
print(stats.mannwhitneyu(coastal, inland))
# 威爾科克森秩和檢驗。
# 原假設:兩個樣本服從相同的分布。
# 備則假設:兩個樣本服從不同的分布。
print(stats.ranksums(coastal, inland))


結論:兩個樣本服從不同的分布。

圖片

近似使用z檢驗:當樣本量足夠大時,即使總體不服從正態分布,也可以使用z檢驗進行檢驗.


#方差齊性檢驗
stats.levene(coastal, inland)
結論:方差相同

圖片

#進行t檢驗
r = stats.ttest_ind(coastal, inland, equal_var=True)
#輸出結果
print(r)


結論:兩獨立樣本均值不等,與之前結論一致,更進一步說明沿海城市空氣質量普遍好于內陸城市。

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 環境
    +關注

    關注

    0

    文章

    127

    瀏覽量

    16583
  • 空氣質量
    +關注

    關注

    0

    文章

    48

    瀏覽量

    8673
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    跪求各路大神labview如何計算AQI

    使用labview前面板與程序框圖設計,實現能夠計算空氣質量指數AQI 不知道怎樣才能實現AQI中的最低濃度等,也可以理解成現在有一個數字需要對其進行計算,計算過程為在一個固定表格中尋找該數字位置
    發表于 05-19 16:49

    經濟預測模型

    該資料是由幾篇論文和一個講義組成,具體講解了回歸分析預測、時間序列預測、宏觀計量經濟模型
    發表于 08-15 10:47

    CCD圖像分析方法和預測算法???

    CCD圖像分析方法和預測算法???
    發表于 07-01 15:20

    使用預測模型預測圖片出現錯誤提示in_dims[1]:32 != filter_dims[1] * groups:3的解決方法

    PaddlePaddle在使用預測模型預測圖片的時候出現in_dims[1]32 != filter_dims[1]groups3錯誤
    發表于 03-07 14:24

    光伏功率預測有哪些作用

    光伏功率預測有哪些作用?作用有哪些?光伏功率預測是什么?光伏功率預測系統就是將天氣預報數據和環境檢測儀所采集的數據加以分析,最后將生成的數據文件通過非實時交換機發送給省調。省調接收數據
    發表于 07-07 07:44

    PCB產業投資預測分析

    PCB產業投資預測分析   PCB企業利潤對產品價格非常敏感,
    發表于 12-31 08:50 ?901次閱讀

    數據預測分析方法

    數據預測分析方法,有需要的朋友下來看看。
    發表于 01-15 15:07 ?0次下載

    微型空氣質量監測儀【恒美儀器HM-AQI】解決方案

    微型空氣質量監測儀【恒美儀器HM-AQI】是根據十三五及各地大氣污染監測治理政策生產的新型空氣質量在線多參數監測系統,微型空氣質量監測儀【恒美儀器HM-AQI】嚴格按照國家標準對四氣(CO、SO2、NO2、O3)、兩塵(PM2.5、PM10)
    發表于 05-19 10:20 ?1054次閱讀

    MAX6921AQI+ PMIC - 顯示驅動器

    電子發燒友網為你提供Maxim(Maxim)MAX6921AQI+相關產品參數、數據手冊,更有MAX6921AQI+的引腳圖、接線圖、封裝手冊、中文資料、英文資料,MAX6921AQI+真值表,MAX6921
    發表于 02-10 20:04
    MAX6921<b class='flag-5'>AQI</b>+ PMIC - 顯示驅動器

    MAX6921AQI+T PMIC - 顯示驅動器

    電子發燒友網為你提供Maxim(Maxim)MAX6921AQI+T相關產品參數、數據手冊,更有MAX6921AQI+T的引腳圖、接線圖、封裝手冊、中文資料、英文資料,MAX6921AQI+T真值表,MAX6921
    發表于 02-10 20:14
    MAX6921<b class='flag-5'>AQI</b>+T PMIC - 顯示驅動器

    AQI分析預測-2

    AQI(air Quality Index)指空氣質量指數,用來衡量空氣清潔或者污染程度。值 越小,表示空氣質量越好。近年來因為環境問題,空氣質量越來越受到人們重視。
    的頭像 發表于 02-23 16:30 ?2289次閱讀
    <b class='flag-5'>AQI</b><b class='flag-5'>分析</b>與<b class='flag-5'>預測</b>-2

    預測分析介紹及行業應用案例

    汽車制造商 1預測需求和預測供應商績效 問題:一家汽車制造商希望預測需求、優化庫存水平并預測供應商績效。 目標:提高效率并改進供應鏈管理。
    的頭像 發表于 05-30 14:08 ?1126次閱讀

    AQI空氣質量監測站的重要性-歐森杰

    隨著交通工具的發展,工業化的進步,空氣污染問題日益突出,因此,AQI空氣質量監測站的重要性也不容忽視。 一、AQI空氣質量監測站的定義 AQI空氣質量監測站是指建立在城市或者大中城市等地區,用于定期
    的頭像 發表于 06-19 14:27 ?1286次閱讀

    AQI空氣質量監測站——保護空氣質量的重要一環

    空氣污染,是當今社會最嚴重的環境問題之一,也是人們最關心的環境問題。為了保護空氣質量,AQI空氣質量監測站至關重要。 一、AQI空氣質量監測站的定義 AQI(Air Quality Index
    的頭像 發表于 07-18 14:43 ?3990次閱讀

    電磁軌跡預測分析系統

    智慧華盛恒輝電磁軌跡預測分析系統是一個專門用于預測分析電磁運動軌跡的系統。該系統結合了電磁學、運動學、數據分析以及可能的人工智能或機器學習
    的頭像 發表于 06-25 15:19 ?1123次閱讀