殘差檢驗是一種用于檢查模型的擬合程度的方法。在回歸模型中,每個觀測值都具有與之對應的殘差。殘差是指實際觀測值與模型預測值之間的差異。我們可以使用Python來進行殘差檢驗,以評估模型的擬合程度。
# 導入所需的庫 import numpy as np import matplotlib.pyplot as plt from scipy.stats import shapiro # 構造一個簡單的回歸模型 y = 2x + 5 x = np.array([1, 2, 3, 4, 5]) y = np.array([7, 9, 11, 13, 15]) # 計算模型的預測值 y_hat = 2*x + 5 # 計算殘差 residuals = y - y_hat # 繪制殘差圖 plt.scatter(x, residuals) plt.xlabel('x') plt.ylabel('Residuals') plt.title('Residual Plot') plt.show() # 進行正態性檢驗 stat, p = shapiro(residuals) print('stat=%.3f, p=%.3f' % (stat, p)) if p >0.05: print('殘差符合正態分布') else: print('殘差不符合正態分布')
上面的代碼演示了如何進行殘差檢驗。我們首先構建了一個簡單的回歸模型,然后計算了模型的預測值和殘差。接下來,我們繪制了殘差圖,該圖顯示了殘差與x的關系。可以看出,殘差呈現出隨機分布的特征,這說明該模型的擬合程度較好。最后,我們使用了Shapiro-Wilk正態性檢驗來評估殘差是否符合正態分布。在這種情況下,殘差符合正態分布。這說明我們的模型符合回歸模型的假設。