適配度(Goodness-of-Fit)

Python 線性建模入門

Jason Vestuto

Data Scientist

三個 R 指標

建模:

  • RSS

評估模型:

  • RMSE
  • R-squared
Python 線性建模入門

RMSE

residuals = y_model - y_data
RSS = np.sum( np.square(residuals) )
mean_squared_residuals = np.sum( np.square(residuals) ) / len(residuals)
MSE = np.mean( np.square(residuals) )
RMSE = np.sqrt(np.mean( np.square(residuals)))
RMSE = np.std(residuals)
Python 線性建模入門

R-squared 程式碼

偏差(Deviations):

deviations = np.mean(y_data) - y_data
VAR = np.sum(np.square(deviations))

殘差(Residuals):

residuals = y_model - y_data
RSS = np.sum(np.square(residuals))

R-squared:

r_squared = 1 - (RSS / VAR)
r = correlation(y_data, y_model)
Python 線性建模入門

資料中的 R-squared

高度對距離的散佈圖,紅色模型線穿過點,兩者皆為水平、斜率為 0

Python 線性建模入門

資料中的 R-squared

高度對距離的散佈圖,紅色模型線穿過點,兩者皆為輕微斜率、略有傾斜

Python 線性建模入門

資料中的 R-squared

高度對距離的散佈圖,紅色模型線穿過點,兩者皆為中等斜率、呈中度上升

Python 線性建模入門

資料中的 R-squared

高度對距離的散佈圖,紅色模型線穿過點,兩者皆為較大斜率、呈陡峭上升

Python 線性建模入門

RMSE vs R-squared

  • RMSE:殘差的變異量
  • R-squared:線性解釋的變異比例
Python 線性建模入門

一起來練習吧!

Python 線性建模入門

Preparing Video For Download...