如何在Python中計算學生化殘差?
學生化殘差通常用於迴歸分析,以識別資料中潛在的異常值。異常值是與資料總體趨勢顯著不同的點,它可以對擬合模型產生重大影響。透過識別和分析異常值,您可以更好地了解資料中的潛在模式並提高模型的準確性。在這篇文章中,我們將仔細研究學生化殘差以及如何在 python 中實現它。
什麼是學生化殘差?
術語「學生化殘差」是指一類特定的殘差,其標準差除以估計值。迴歸分析殘差用於描述反應變數的觀測值與其模型產生的預期值之間的差異。為了找到資料中可能顯著影響擬合模型的異常值,採用了學生化殘差。
以下公式通常用於計算學生化殘差 -
studentized residual = residual / (standard deviation of residuals * (1 - hii)^(1/2))
其中「殘差」是指觀測到的反應值與預期反應值之間的差異,「殘差標準差」是指殘差標準差的估計值,而「hii」是指每個數據點的槓桿因子。
用 Python 計算學生化殘差
statsmodels 套件可用於計算 Python 中的學生化殘差。作為說明,請考慮以下內容 -
文法
OLSResults.outlier_test()
其中 OLSResults 指的是使用 statsmodels 的 ols() 方法擬合的線性模型。
df = pd.DataFrame({'rating': [95, 82, 92, 90, 97, 85, 80, 70, 82, 83], 'points': [22, 25, 17, 19, 26, 24, 9, 19, 11, 16]}) model = ols('rating ~ points', data=df).fit() stud_res = model.outlier_test()
其中「評級」和「分數」指的是簡單線性迴歸。
演算法
導入 numpy、pandas、Statsmodel api。
建立資料集。
對資料集執行簡單的線性迴歸模型。
計算學生化殘差。
列印學生化殘差。
範例
此處示範了使用 scikit−posthocs 函式庫來執行 Dunn 的測試 -
#import necessary packages and functions import numpy as np import pandas as pd import statsmodels.api as sm from statsmodels.formula.api import ols #create dataset df = pd.DataFrame({'rating': [95, 82, 92, 90, 97, 85, 80, 70, 82, 83], 'points': [22, 25, 17, 19, 26, 24, 9, 19, 11, 16]})
接下來使用 statsmodels OLS 類別建立線性迴歸模型 -
#fit simple linear regression model model = ols('rating ~ points', data=df).fit()
使用離群值 test() 方法,可以在 DataFrame 中產生資料集中每個觀察值的學生化殘差 -
#calculate studentized residuals stud_res = model.outlier_test() #display studentized residuals print(stud_res)
輸出
student_resid unadj_p bonf(p) 0 1.048218 0.329376 1.000000 1 -1.018535 0.342328 1.000000 2 0.994962 0.352896 1.000000 3 0.548454 0.600426 1.000000 4 1.125756 0.297380 1.000000 5 -0.465472 0.655728 1.000000 6 -0.029670 0.977158 1.000000 7 -2.940743 0.021690 0.216903 8 0.100759 0.922567 1.000000 9 -0.134123 0.897080 1.000000
我們也可以根據學生化殘差快速繪製預測變數值 -
文法
x = df['points'] y = stud_res['student_resid'] plt.scatter(x, y) plt.axhline(y=0, color='black', linestyle='--') plt.xlabel('Points') plt.ylabel('Studentized Residuals')
這裡我們將使用 matpotlib 函式庫來繪製顏色 = 'black' 和生活方式 = '--' 的圖表
演算法
導入matplotlib的pyplot函式庫
#定義預測變數值
#定義學生化殘差
#建立預測變數與學生化殘差的散佈圖
#範例
import matplotlib.pyplot as plt #define predictor variable values and studentized residuals x = df['points'] y = stud_res['student_resid'] #create scatterplot of predictor variable vs. studentized residuals plt.scatter(x, y) plt.axhline(y=0, color='black', linestyle='--') plt.xlabel('Points') plt.ylabel('Studentized Residuals')
輸出
#結論
識別和評估可能的資料異常值。檢查學生化殘差可以讓您找到與數據總體趨勢有很大偏差的點,並探索它們影響擬合模型的原因。識別顯著觀測值 學生化殘差可用於發現和評估有影響力的數據,這些數據對擬合模型有重大影響。尋找高槓桿點。學生化殘差可用於辨識高槓桿點。槓桿是衡量某一點對適配模型影響程度的指標。整體而言,使用學生化殘差有助於分析和提高迴歸模型的表現。
以上是如何在Python中計算學生化殘差?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Python是一種廣泛使用的程式語言,其強大的資料分析和視覺化功能使其成為資料科學家和機器學習工程師的首選工具之一。在這些應用中,殘差分析是一種常見的技術,用於評估模型的準確性和識別任何模型偏差。在本文中,我們將介紹Python中使用殘差分析技巧的幾種方法。在介紹殘差在介紹Python中的殘差分析技巧之前,先讓我們先了解什麼是殘差。在統計學中,殘差是實際觀測值與

Python中的斷言(assert)是程式設計師用來偵錯程式碼的有用工具。它用於驗證程式的內部狀態是否滿足預期,並在這些條件為假時引發一個斷言錯誤(AssertionError)。在開發過程中,測試和偵錯階段都使用斷言來檢查程式碼的狀態和預期結果是否相符。本文將討論AssertionError的原因、解決方法以及如何在程式碼中正確使用斷言。斷言錯誤的原因斷言錯誤通

Python中的分層抽樣技巧抽樣是統計學中常用的資料收集方法,它可以從資料集中選擇一部分樣本進行分析,以此推斷出整個資料集的特徵。在大數據時代,數據量龐大,使用全樣本進行分析既耗費時間又不夠經濟實際。因此,選擇合適的抽樣方法可以提高資料分析效率。本文主要介紹Python中的分層抽樣技巧。什麼是分層抽樣?在抽樣中,分層抽樣(stratifiedsampl

如何使用Python在Linux中進行腳本編寫和執行在Linux作業系統中,我們可以使用Python編寫並執行各種腳本。 Python是一種簡潔而強大的程式語言,它提供了豐富的函式庫和工具,使得腳本編寫變得更加簡單和有效率。以下我們將介紹在Linux中如何使用Python進行腳本編寫和執行的基本步驟,同時提供一些具體的程式碼範例來幫助你更好地理解和運用。安裝Pytho

如何透過Python開發漏洞掃描器概述在當今網路安全威脅增加的環境下,漏洞掃描器成為了保護網路安全的重要工具。 Python是一種流行的程式語言,簡潔易讀且功能強大,適合開發各種實用工具。本文將介紹如何使用Python開發漏洞掃描器,為您的網路提供即時保護。步驟一:確定掃描目標在開發漏洞掃描器之前,您需要確定要掃描的目標。這可以是您自己的網路或任何您有權限測

Python中sqrt()函數用法及程式碼範例一、sqrt()函數的功能及介紹在Python程式設計中,sqrt()函數是math模組中的一個函數,其功能是計算一個數的平方根。平方根是指一個數與自己相乘等於這個數的平方,即x*x=n,則x就是n的平方根。程式中可以使用sqrt()函數來實現對平方根的計算。二、sqrt()函數的使用方法在Python中,sq

支援向量聚類(SupportVectorClustering,SVC)是一種基於支援向量機(SupportVectorMachine,SVM)的非監督學習演算法,能夠在無標籤資料集中實現聚類。 Python是一種流行的程式語言,具有豐富的機器學習庫和工具包。本文將介紹如何在Python中使用支援向量聚類技術。一、支持向量聚類的原理SVC是基於一組支持向

Python程式解析百度地圖API文件中的座標轉換功能導讀:隨著網路的快速發展,地圖定位功能已成為現代人生活中不可或缺的一部分。而百度地圖作為國內最受歡迎的地圖服務之一,提供了一系列的API供開發者使用。本文將透過Python編程,解析百度地圖API文件中的座標轉換功能,並給出對應的程式碼範例。一、引言在開發中,我們有時會涉及到座標的轉換問題。百度地圖AP
