自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

什么是誤差圖?今天帶你了解可視化誤差圖,讓數(shù)據(jù)一目了然

大數(shù)據(jù)
這是Python數(shù)據(jù)可視化的系列短篇,針對初級和中級用戶,將理論和示例代碼相結(jié)合,使用matplotlib, seaborn, plotly等工具創(chuàng)建不同主題的圖表。

前言

這是Python數(shù)據(jù)可視化的系列短篇,針對初級和中級用戶,將理論和示例代碼相結(jié)合,使用matplotlib, seaborn, plotly等工具創(chuàng)建不同主題的圖表。

本文主題是如何在圖表中顯示誤差。

  1. import os 
  2.  
  3. import warnings 
  4. import requests 
  5. import numpy as np 
  6. import pandas as pd 
  7. import matplotlib.pyplot as plt 
  8. from statsmodels.tsa.arima_model import ARIMA 
  9.  
  10. %matplotlib inline 
  11. plt.style.use("fivethirtyeight"
  12.  
  13. warnings.filterwarnings("ignore"

1. 顯示測量誤差

科學(xué)測量往往存在誤差,準(zhǔn)確的報(bào)告誤差跟報(bào)告測量結(jié)果同樣重要。

測量誤差(也稱為觀察誤差)是測量值和真實(shí)值之間的差異,包括隨機(jī)誤差(任何實(shí)驗(yàn)中都會(huì)自然發(fā)生的誤差)和系統(tǒng)誤差(由影響所有測量的錯(cuò)誤校準(zhǔn)的儀器引起)。

舉一個(gè)例子,假設(shè)您正在測量100個(gè)學(xué)生的體重,有的學(xué)生穿較多的衣服,導(dǎo)致重500克,有的學(xué)生可能脫水導(dǎo)致輕200克,這些都是測量誤差。事實(shí)上所有收集的樣本都會(huì)存在誤差,大多數(shù)情況下它們不可避免。所以在數(shù)據(jù)可視化中,有效顯示這些錯(cuò)誤可以傳達(dá)更完整的信息。

在matplotlib中通過調(diào)用ax.errorbar()創(chuàng)建誤差圖(errorbar)。誤差圖由一個(gè)點(diǎn)和穿過這個(gè)點(diǎn)的線段組成,點(diǎn)對應(yīng)測量結(jié)果,線段代表測量誤差。

  1. # 設(shè)置隨機(jī)數(shù)種子 
  2. np.random.seed(123) 
  3.  
  4. # 觀測值的數(shù)量 
  5. n_observations = 30 
  6. x = np.arange(n_observations) 
  7.  
  8. # 虛擬測量值 
  9. y = np.sin(x) + np.random.randn(n_observations) 
  10.  
  11. # 測量誤差,假設(shè)誤差服從均勻分布 
  12. errors = np.random.randint(1, 3, n_observations) 
  13.  
  14. # 調(diào)用ax.errorbar接口,提供3個(gè)數(shù)組,x, y, yerr 
  15. # fmt控制點(diǎn)和線段的樣式,跟ax.plot的fmt相同 
  16. # color: 控制點(diǎn)的顏色 
  17. # ecolor: 代表誤差的線段的顏色 
  18. # elinewidth: 代表誤差的線段的大小 
  19. fig, ax = plt.subplots(figsize=(10, 7)) 
  20. ax.errorbar(x, y, yerr=errors, fmt="o", color="black"
  21.             ecolor="lightgray", elinewidth=3) 

2. 顯示預(yù)測誤差

在機(jī)器學(xué)習(xí)領(lǐng)域,回歸模型和時(shí)間序列模型用于預(yù)測,模型會(huì)同時(shí)生成預(yù)測誤差(所謂置信區(qū)間),在可視化預(yù)測結(jié)果時(shí),通常要求顯示預(yù)測值和預(yù)測區(qū)間,這可以通過ax.plot()和ax.fill_between()實(shí)現(xiàn)。

接下來使用一個(gè)真實(shí)的案例說明,先從蜂鳥數(shù)據(jù)獲取黃金價(jià)格,然后用ARIMA(自回歸整合移動(dòng)平均)預(yù)測未來30天的價(jià)格,可視化預(yù)測結(jié)果。

  1. # 從蜂鳥數(shù)據(jù)下載黃金價(jià)格 
  2. params = { 
  3.     "symbol""XAUUSD",  # 現(xiàn)貨黃金ID 
  4.     "start_date""2010-01-01"
  5.     "end_date""2020-08-05"
  6.     "apikey": os.getenv("TROCHIL_API")  # 在蜂鳥數(shù)據(jù)官網(wǎng)注冊獲取API密鑰 
  7. resp = requests.get("https://api.trochil.cn/v1/forex/history", params) 
  8. data = pd.DataFrame.from_records(resp.json()["data"]) 
  9. data["datetime"] = pd.to_datetime(data["datetime"]) 
  10. data.set_index("datetime", inplace=True
  11.  
  12. # 創(chuàng)建ARMIA模型,預(yù)測未來30天價(jià)格走勢 
  13. model = ARIMA(data.closeorder=(1, 1, 1)) 
  14. results = model.fit() 
  15. fc, errors, conf = results.forecast(steps=30, alpha=0.05) 
  16. fc_df = pd.DataFrame({ 
  17.     "forecast": fc, 
  18.     "lower": conf[:, 0], 
  19.     "upper": conf[:, 1] 
  20. }, index=pd.date_range("2020-08-06", periods=30)) 
  21.  
  22. # 可視化預(yù)測結(jié)果,包括點(diǎn)預(yù)測值和預(yù)測區(qū)間 
  23. # 預(yù)測區(qū)間包括置信下限和上限,代表真實(shí)值可能落入的范圍 
  24. # 調(diào)用ax.plot顯示點(diǎn)預(yù)測值,ax.fill_between顯示預(yù)測區(qū)間 
  25. data_since_2020 = data["2020":] 
  26. fig, ax = plt.subplots(figsize=(12, 7)) 
  27. data_since_2020.close.plot(ax=ax, label="Historical Prices"
  28. ax.plot(fc_df.index, fc_df.forecast, label="Forecast Prices"
  29. ax.fill_between(fc_df.index, fc_df.lower, fc_df.upper, color="gray", alpha=0.3, label="Forecast Interval"
  30. ax.set_title("Plot Forecast Errors"
  31. ax.legend(loc="upper left"
  32. <matplotlib.legend.Legend at 0x7fbfa348d9a0> 

 

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2023-10-07 09:34:03

數(shù)據(jù)可視化

2009-11-24 18:20:16

曙光Gridview管理

2023-09-14 10:42:46

SQL數(shù)據(jù)庫

2023-11-10 08:56:49

Springboot常用的注解

2015-03-22 06:25:23

監(jiān)控寶云智慧

2010-03-10 09:06:58

Windows 7啟動(dòng)時(shí)間

2010-01-26 08:58:17

Windows 7啟動(dòng)時(shí)間

2022-11-28 15:04:42

數(shù)據(jù)可視化工具

2020-04-17 15:03:28

動(dòng)圖Git命令

2009-09-28 16:39:37

2016-03-04 10:51:51

數(shù)據(jù)可視化數(shù)據(jù)抓取

2015-07-03 09:41:05

腳本編程編程語言比較

2020-09-27 09:41:04

代碼開發(fā)注釋

2012-04-25 09:17:41

Google DrivMicrosoft SDropbox

2020-12-30 10:28:49

Windows 功能系統(tǒng)

2022-07-05 15:11:42

Python數(shù)據(jù)可視化機(jī)器學(xué)習(xí)

2014-08-21 11:12:01

QQ瀏覽器

2021-12-14 05:57:42

微軟Edge瀏覽器

2021-01-12 16:28:41

5G運(yùn)營商韓國

2023-09-27 23:32:46

Python監(jiān)控進(jìn)程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號