優化數據分析——理解與運用各類指標

寫在開頭

數據分析在當今信息時代扮演著至關重要的角色,而指標則是我們理解數據、揭示模式、支持決策的關鍵工具。本文將深入討論各類指標的應用場景和解讀方法,以幫助更全面、深入地理解數據。

1. 中心趨勢指標

1.1 均值:更深層次的理解

均值是數據的平均值,但在實際應用中,我們需注意異常值的影響。例如,在某公司的薪資數據分析中,計算均值時,可能需要排除高管層的高薪數據,以更準確地反映員工的平均收入。

1.2 中位數:抵御偏斜分布

中位數在處理偏斜分布數據時表現更穩健。考慮一家電商公司的訂單金額數據,如果存在極高的訂單金額,中位數將更好地反映普通訂單的典型價值,避免被極端值拉動。

1.3 眾數:應對多峰分布

眾數在處理多峰分布時具有獨特優勢。在市場調研中,產品受歡迎程度的眾數可以幫助企業更好地了解消費者的偏好,指導產品策略的調整。

2. 離散趨勢指標

2.1 標準差:識別離散程度

標準差度量數據的離散程度。考慮一家制造業公司的生產線數據,標準差的增加可能反映了生產過程中的不穩定性,提示可能存在質量控制問題。

2.2 方差:方差背后的故事

方差是標準差的平方,通過了解方差,我們可以更深入地了解數據的波動情況。在股票投資中,高方差可能意味著較大的價格波動,增加了投資的風險。

2.3 四分位間距:探索數據分布的全貌

四分位間距提供了數據分布的四等份劃分。在醫學研究中,血壓數據的四分位間距可以用于評估患者群體的整體血壓分布,指導醫學干預措施。

3. 形狀指標

3.1 偏度:對稱與偏斜的平衡

偏度描述數據的對稱性。偏度衡量數據分布的對稱性,是正態分布的一個重要指標。當偏度為0時,表示數據分布呈現對稱;正偏度(偏度大于0)表示數據右側的尾部更重,負偏度(偏度小于0)表示數據左側的尾部更重。
考慮一家零售公司,對每月銷售額進行偏度分析。如果偏度為正,說明有一些月份銷售額較高,可能是由于某種促銷活動或季節性效應。相反,如果偏度為負,可能表明存在一些月份銷售額較低,需要進一步調查原因。

import pandas as pd# 銷售額數據
sales_data = [100, 150, 120, 200, 180, 250, 130, 110, 90, 210]# 計算偏度
skewness = pd.Series(sales_data).skew()print(f"銷售額分布的偏度為:{skewness}")
# 值為0.5572816073101072,正偏度。

3.2 峰度:峰值背后的信息

峰度衡量數據分布的尖銳程度,即數據分布相對于正態分布的平峰程度。正態分布的峰度為3,若數據峰度大于3,表示數據分布更陡峭;峰度小于3,表示數據分布較平緩。
考慮氣象數據中每日溫度變化的峰度。如果峰度較高,表明存在明顯的季節性溫度波動,例如冬季和夏季溫差較大。反之,如果峰度較低,可能是氣溫相對穩定,屬于溫和氣候。

import pandas as pd# 溫度數據
temperature_data = [20, 22, 25, 18, 30, 28, 23, 21, 19, 24]# 計算峰度
kurtosis = pd.Series(temperature_data).kurt()print(f"溫度變化數據的峰度為:{kurtosis}")
#值為-0.37942748941857873,小于3,說明數據分布較平緩。

4. 頻率指標

4.1 頻率:數據分布的生動呈現

頻率圖和直方圖是展現數據分布的強大工具。考慮一家社交媒體平臺的用戶活躍度數據,通過頻率圖,我們能夠直觀地了解不同時間段用戶的活躍程度。

4.2 累積頻率:洞察數據累積規律

累積頻率圖有助于觀察數據隨時間的累積變化。在電商行業,累積購買頻率可以幫助企業了解用戶留存和回購的趨勢,從而制定更有針對性的營銷策略。

5. 關聯性指標

5.1 相關系數:關系背后的故事

相關系數表達了兩個變量之間的線性關系。在廣告行業,通過分析廣告投放費用與銷售額的相關系數,我們能夠評估廣告投放對銷售的實際影響。

5.2 協方差:總體趨勢的把握

協方差展示了兩個變量的總體趨勢。在金融領域,分析股票收益率的協方差可以幫助投資者構建多元化投資組合,降低整體投資風險。

6. 分位數和百分位數

6.1 四分位數:細致刻畫數據的分布

通過分析四分位數,我們能更詳細地刻畫數據的分布情況。四分位數是將數據集按大小分成四等份的值,分別是第一四分位數(Q1)、第二四分位數(Q2,即中位數)、第三四分位數(Q3)以及四分位數范圍(IQR = Q3 - Q1)。
在教育領域,學生考試成績的四分位數可以幫助學校了解不同分數段學生的整體表現,指導教學改進。

import numpy as np# 學生成績數據
grades = np.array([75, 82, 90, 68, 88, 78, 95, 60, 85, 92])# 計算四分位數
q1 = np.percentile(grades, 25)
q2 = np.percentile(grades, 50)
q3 = np.percentile(grades, 75)
iqr = q3 - q1print(f"第一四分位數 Q1: {q1}")
print(f"中位數 Q2: {q2}")
print(f"第三四分位數 Q3: {q3}")
print(f"四分位數范圍 IQR: {iqr}")

6.2 百分位數:全面了解數據的位置

百分位數提供了數據中特定位置的百分比信息,例如,第70百分位數表示70%的數據都小于或等于這個值。
在人力資源管理中,員工薪資的百分位數分析可以幫助企業了解員工薪資分布情況,制定公平薪酬政策。

import numpy as np# 薪水數據
salaries = np.array([50000, 55000, 60000, 65000, 70000, 75000, 80000, 85000, 90000, 95000])# 計算第80百分位數
percentile_80 = np.percentile(salaries, 80)print(f"第80百分位數: {percentile_80}")
# 第80百分位數表示80%的員工薪資低于或等于這個值(86000)。

7. 概率指標

7.1 概率:決策支持的重要依據

概率是決策制定的基礎。考慮一個電信運營商,通過分析客戶流失的概率,公司可以制定相應的客戶保留策略,提高客戶忠誠度。又或者一家電商公司根據歷史數據分析得出,某個特定廣告點擊后用戶最終購買的概率為0.3。這個概率值可以用來制定營銷策略,例如決定在該廣告上投放更多資源,因為有30%的概率用戶會購買。

7.2 條件概率:精準決策的關鍵

條件概率提供了在給定條件下事件發生的概率。在醫學研究中,通過分析某種疾病在不同年齡段的發病率,可以幫助醫生更精準地進行年齡相關的疾病預防工作。
例如,考慮一種醫學篩查測試,測試的準確率為0.9,而患病的先驗概率為0.05。那么,在測試呈陽性的條件下,患病的條件概率可以通過貝葉斯定理計算,提供更準確的診斷信息。這里舉一個例子,如下:

患病未患病
檢測出901710
未檢測出10190

準確率=檢測正確人數 / 總人數=1800/2000=0.9
患病先驗概率 = 患病人數 / 總人數 = 100 / 2000 = 0.05
若用A表示患病率,則 P ( A ) = 0.05 P(A) =0.05 P(A)=0.05
用B表示測試出陽性(患病)的概率,則 P ( B ) = 測試陽性 ( 患病 ) 的人數 / 總人數 = ( 90 + 190 ) / 2000 = 0.14 P(B) = 測試陽性(患病)的人數/總人數 = (90 + 190)/2000 = 0.14 P(B)=測試陽性(患病)的人數/總人數=(90+190)/2000=0.14
那么對于檢測出陽性中,真實患病的概率為:

P ( A ∣ B ) = P ( A ? B ) / P ( B ) = P ( 患病且測試呈陽性的人數 ) / P ( 測試出陽性的概率 ) = 90 2000 280 2000 = 0.3214 P(A\mid B)=P(A\bigcap B) / P(B) = P(患病且測試呈陽性的人數)/P(測試出陽性的概率) = {{90\over2000} \over {280\over 2000}}= 0.3214 P(AB)=P(A?B)/P(B)=P(患病且測試呈陽性的人數)/P(測試出陽性的概率)=2000280?200090??=0.3214
那么對于患病情況下,檢測呈現陽性的概率為:
P ( B ∣ A ) = P ( A ? B ) / P ( A ) = P ( 患病且測試呈陽性的人數 ) / P ( 患病率 ) = 90 2000 100 2000 = 90 / 100 = 0.9 P(B\mid A) = P(A\bigcap B) / P(A) = P(患病且測試呈陽性的人數)/P(患病率) = {{90\over2000} \over {100\over 2000}} = 90/100 = 0.9 P(BA)=P(A?B)/P(A)=P(患病且測試呈陽性的人數)/P(患病率)=2000100?200090??=90/100=0.9

P ( B ∣ A ) = P ( A ∣ B ) ? P ( B ) / P ( A ) = 0.3214 ? 0.14 0.05 = 0.90 P(B\mid A) = P(A\mid B) *P(B) / P(A) = {{0.3214 * 0.14} \over {0.05}} = 0.90 P(BA)=P(AB)?P(B)/P(A)=0.050.3214?0.14?=0.90

8. 效能指標

8.1 準確率:綜合評估模型性能

準確率是模型整體性能的綜合評估指標。在電商行業,通過分析推薦系統的準確率,可以評估系統是否能夠準確推薦符合用戶興趣的產品。

8.2 精確度、召回率、F1分數:深度解析模型性能

通過深入解析這些效能指標,在醫學圖像識別領域,分析模型的精確度、召回率和F1分數,有助于評估模型對病灶的檢測效果,指導醫生的臨床決策。
考慮一個醫學圖像識別模型,用于檢測腫瘤。在這個場景中,精確度(Precision)是指模型識別出的腫瘤圖像中,真正是腫瘤的比例。召回率(Recall)是指實際腫瘤圖像中,被模型正確識別出來的比例。F1分數綜合了精確度和召回率,是一個綜合性的性能指標,特別適用于處理不均衡數據集,其中正例(腫瘤)相對較少。

from sklearn.metrics import precision_score, recall_score, f1_score# 醫學圖像識別結果
true_labels = [1, 0, 1, 1, 0, 1, 0, 1, 1, 1]  # 真實標簽,1表示腫瘤存在
predicted_labels = [1, 0, 1, 0, 0, 1, 1, 1, 1, 0]  # 模型預測的標簽# 計算精確度、召回率和F1分數
precision = precision_score(true_labels, predicted_labels)
recall = recall_score(true_labels, predicted_labels)
f1 = f1_score(true_labels, predicted_labels)print(f"精確度: {precision}")
print(f"召回率: {recall}")
print(f"F1分數: {f1}")

9. 時間序列指標

9.1 移動平均:平滑趨勢

移動平均是通過計算一系列連續子集的平均值來平滑時間序列數據,以便更清晰地觀察趨勢。

例子:銷售額趨勢分析

假設我們有一家公司的月度銷售額數據:

import pandas as pd# 銷售額數據
sales_data = {'Month': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],'Sales': [100, 120, 80, 110, 90, 130]}
df = pd.DataFrame(sales_data)# 計算3個月的移動平均
df['Moving_Avg'] = df['Sales'].rolling(window=3).mean()print(df)

通過計算3個月的移動平均,我們可以更清楚地看到銷售額的趨勢,有助于預測未來的銷售情況。

9.2 時間序列分解:趨勢、季節和殘差

時間序列分解將時間序列數據分解為趨勢、季節性和殘差三個部分,以更深入地了解其組成成分。

例子:氣溫變化分析

考慮每日氣溫的時間序列數據:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.seasonal import seasonal_decompose# 氣溫變化數據
temperature_data = {'Date': pd.date_range(start='2022-01-01', periods=365 *2, freq='D'),'Temperature': np.sin(np.linspace(0, 2*np.pi, 365 * 2)) * 10 + 25}# print(len(temperature_data['Temperature']))
df_temperature = pd.DataFrame(temperature_data)
df_temperature.set_index('Date', inplace=True)# 進行時間序列分解
result = seasonal_decompose(df_temperature['Temperature'], model='additive', period=365)# 可視化分解結果
result.plot()
plt.show()

通過分解,我們可以清楚地看到氣溫變化中的趨勢、季節性和殘差,有助于深入了解氣溫的變化規律。

10. 經濟學指標

10.1 GDP、通貨膨脹率、失業率:國家經濟健康的晴雨表

在政府決策中,通過深入了解國家的GDP、通貨膨脹率和失業率,可以更全面地評估經濟健康狀況,為宏觀經濟政策的制定提供支持。

11. 風險指標

11.1 Value at Risk (VaR):風險價值

VaR是一個用于度量投資組合或資產風險的指標,表示在一定置信水平下,投資可能遭受的最大損失。

例子:金融投資組合風險評估

考慮一個投資組合,我們可以使用VaR來衡量在一定置信水平(例如95%)下,該投資組合可能的最大損失。這有助于投資者更好地理解潛在的風險和損失水平。

import numpy as np#  投資組合收益率數據
returns = np.random.normal(0.001, 0.02, 1000)# 計算95% VaR
var_95 = np.percentile(returns, 5)print(f"95% VaR: {var_95}")

11.2 Conditional Value at Risk (CVaR):條件風險價值

CVaR是在VaR基礎上,對超出VaR水平的損失進行平均的指標,更全面地反映了極端情況下的風險。

例子:能源市場風險管理

在能源市場中,CVaR可以用來評估在不同價格波動情況下,電力公司面臨的損失風險。通過計算CVaR,公司可以更全面地了解在不同市場條件下可能發生的損失水平。

import numpy as np# 電力公司收益率數據
returns_energy = np.random.normal(0.001, 0.03, 1000)# 計算95% VaR
var_95 = np.percentile(returns_energy, 5)# 計算95% CVaR
cvar_95 = np.mean(returns_energy[returns_energy <= var_95])print(f"95% VaR: {var_95}")
print(f"95% CVaR: {cvar_95}")

寫在最后

對各類指標的深入探討,我們能夠更全面、精準地理解數據。在實際數據分析過程中,不僅要熟練掌握這些指標的計算方法,更需要結合實際業務場景,深入思考每個指標背后所蘊含的意義。數據分析不僅僅是冷冰冰的數字堆積,更是對現象背后規律的深刻理解,是對數據故事的講述。

在未來的數據分析工作中,我們應該注重對不同指標之間的關聯性、交叉影響的分析。同時,結合可視化工具,將抽象的數據指標轉化為更具直觀感受的圖形,能夠更生動地呈現數據的特征,為決策者提供更直觀的決策支持。

最終,深入理解各類指標,善于在實際應用中靈活運用,將使我們在數據分析的道路上更進一步,為業務的持續發展提供更加可靠和深刻的支持。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/162696.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/162696.shtml
英文地址,請注明出處:http://en.pswp.cn/news/162696.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL中自增id用完怎么辦?

MySQL中自增id用完怎么辦&#xff1f; MySQL里有很多自增的id&#xff0c;每個自增id都是定義了初始值&#xff0c;然后不停地往上加步長。雖然自然數是沒有上限的&#xff0c;但是在計算機里&#xff0c;只要定義了表示這個數的字節長度&#xff0c;那它就有上限。比如&#…

【2023持續更新】網絡安全工程師常用工具集合

文章目錄 SQL注入檢測 SQL注入檢測 https://github.com/r0oth3x49/ghauri

python數據結構與算法-15_堆與堆排序

堆(heap) 前面我們講了兩種使用分治和遞歸解決排序問題的歸并排序和快速排序&#xff0c;中間又穿插了一把樹和二叉樹&#xff0c; 本章我們開始介紹另一種有用的數據結構堆(heap)&#xff0c; 以及借助堆來實現的堆排序&#xff0c;相比前兩種排序算法要稍難實現一些。 最后我…

Linux開發工具(含gdb調試教程)

文章目錄 Linux開發工具&#xff08;含gdb調試教程&#xff09;1、Linux 軟件包管理器 yum2、Linux開發工具2.1、Linux編輯器 -- vim的使用2.1.1、vim的基本概念2.1.2、vim的基本操作2.1.3、vim正常模式命令集2.1.4、vim末行模式命令集 2.2、vim簡單配置 3、Linux編譯器 -- gcc…

HIVE SQL取整函數匯總

目錄 int()round(double a)round(double a,int d)floor()ceil() int() 向零取整&#xff0c;即向接近零的方向取整。 int(5.6)輸出&#xff1a;5 int(-5.6)輸出&#xff1a;-5 round(double a) 四舍五入取整 select round(5.6)輸出&#xff1a;6 select round(-5.6)輸出&…

關于前端處理后端輪詢的操作 (總結)

使用場景&#xff1a;前端首次發起請求獲取數據&#xff0c;若失敗則每隔1s發起一次知道成功獲取數據為止解決方案&#xff1a; 使用輪詢操作&#xff0c;涉及定時器的使用和關閉 &#xff08;使用vue2代碼為例) data() {return {pollingResult_en: null, // 處理輪詢結果bizI…

redis之cluster集群

1、redis-cluster集群&#xff1a;redis3.0引入的分布式存儲方案 2、集群&#xff1a;由多個node節點組成&#xff0c;redis數據分布在這些節點之中 &#xff08;1&#xff09;在集群之中也分主節點和從節點 &#xff08;2&#xff09;自帶哨兵模式 3、redis-cluster集群的…

騰訊云 小程序 SDK對象存儲 COS使用記錄,原生小程序寫法。

最近做了一個項目&#xff0c;需求是上傳文檔&#xff0c;文檔類型多種&#xff0c;圖片&#xff0c;視頻&#xff0c;文件&#xff0c;doc,xls,zip,txt 等等,而且文檔類型可能是大文件&#xff0c;可能得上百兆&#xff0c;甚至超過1G。 騰訊云文檔地址&#xff1a;https://c…

Java接口自動化測試系列[V1.0.0][概述]

基礎知識 在TCP/IP中&#xff0c;HTTP屬于傳輸層協議&#xff0c;該協議采用的是Request-Response的模式&#xff0c;且該協議是無狀態的&#xff0c;也就是后續如果要用到前面的信息必須重新請求重新獲取&#xff1b;HTTP通過SSL/TSL加密成為HTTPS&#xff0c;與HTTP相比HTTP…

PC端頁面進去先出現加載效果

自定義指令v-loading&#xff0c;只需要綁定Boolean即可 v-loading“loading” <el-table :data"list" border style"width: 100%" v-loading"loading"><el-table-column align"center" label"序號" width"5…

開發板啟動進入系統以后再掛載 NFS 文件系統, 這里的NFS文件系統是根據正點原子教程制作的ubuntu_rootfs

如果是想開發板啟動進入系統以后再掛載 NFS 文件系統&#xff0c;開發板啟動進入文件系統&#xff0c;開發板和 ubuntu 能互相 ping 通&#xff0c;在開發板文件系統下新建一個目錄 you&#xff0c;然后執行如下指令進行掛載&#xff1a; mkdir mi mount -t nfs -o nolock,nfsv…

Hive日志默認存儲在什么位置?

在hive-log4j.properties配置文件中&#xff0c;有這么一段配置信息 hive.log.thresholdALL hive.root.loggerWARN,DRFA hive.log.dir${java.io.tmpdir}/${user.name} hive.log.filehive.log hive.log.dir就是日志存儲在目錄/tmp/${user.name}(當前用戶名)/下 而hive.log就是h…

日本it就職培訓機構,日本IT行業的三種類型

日本的IT產業一直保持增長趨勢&#xff0c;市場規模逐年增加&#xff0c;在日本所有產業中占據很大比例。由于日本老齡化嚴重&#xff0c;日本國內的IT人才無法滿足需求&#xff0c;為緩解這一問題&#xff0c;日本將引進外國優秀IT人才作為一項國策&#xff0c;日本IT行業不僅…

Leetcode1410. HTML 實體解析器

Every day a Leetcode 題目來源&#xff1a;1410. HTML 實體解析器 解法1&#xff1a;模擬 遍歷字符串 text&#xff0c;每次遇到 ’&‘&#xff0c;就判斷以下情況&#xff1a; 雙引號&#xff1a;字符實體為 &quot; &#xff0c;對應的字符是 " 。單引號&a…

振弦式土壓力計在巖土工程安全監測應用的方案

振弦式土壓力計在巖土工程安全監測應用的方案 振弦式土壓力計是一種常見的土壓力測量儀器&#xff0c;其原理是利用振弦在土中傳播的速度與土的應力狀態有關的特點測量土壓力。在巖土工程安全監測中&#xff0c;振弦式土壓力計可以應用于以下方面&#xff1a; 1. 地下連續墻和…

某資產管理機構: IAST提升安全水平,保障資產管理水平穩健增長

某資產管理機構是國內首批成立的資產管理公司之一&#xff0c;堅持“科技金融”、“數字金融”戰略&#xff0c;以客戶為中心&#xff0c;聚焦用戶體驗與業務協同&#xff0c;著力推進營銷數字化進程和大數據平臺建設&#xff0c;助力資產管理高質量發展。 數字科技推動工作效率…

面試題:Java 對象不使用時,為什么要賦值 null ?

文章目錄 前言示例代碼運行時棧典型的運行時棧Java的棧優化提醒 GC一瞥提醒 JVM的“BUG”總結 前言 最近&#xff0c;許多Java開發者都在討論說&#xff0c;“不使用的對象應手動賦值為null“ 這句話&#xff0c;而且好多開發者一直信奉著這句話&#xff1b;問其原因&#xff…

【Flask使用】全知識md文檔,4大部分60頁第3篇:Flask模板使用和案例

本文的主要內容&#xff1a;flask視圖&路由、虛擬環境安裝、路由各種定義、狀態保持、cookie、session、模板基本使用、過濾器&自定義過濾器、模板代碼復用&#xff1a;宏、繼承/包含、模板中特有變量和函數、Flask-WTF 表單、CSRF、數據庫操作、ORM、Flask-SQLAlchemy…

nvm切換版本之后npm用不了

原因是 nvm只給你安了對應的node沒給你安裝對應的node版本的npm 解決辦法如下 1找到你安裝的node版本號 然后去官網下載對應的版本包 這個網址就是node官網的版本列表 Index of /download/release/ 2下載后解壓 把根目錄這倆復制到自己的nvm安裝目錄下 還有那個node_modul…

Java【XML 配置文件解析】

前言 最近考試周忙得要死&#xff0c;但我卻不緊不慢&#xff0c;還有三天復習時間&#xff0c;考試科目幾乎都還沒學呢。今天更新一個算是工具類-XML文件的解析&#xff0c;感覺還是挺有用的&#xff0c;之后可以融進自己的項目里。 XML 配置文件解析 0、導入依賴 有點像我…