日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【论文常用笔记】回归模型评估指标

發(fā)布時間:2024/9/30 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【论文常用笔记】回归模型评估指标 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

范數(shù)

  • 一、什么是回歸問題?
  • 二、常用回歸模型評估指標(biāo)有哪些?
    • 1、絕對誤差: yi?y^iy_{i}-\hat{y}_{i}yi??y^?i?
    • 2、相對誤差: yi?y^iyi\frac{y_{i}-\hat{y}_{i}}{y_{i}}yi?yi??y^?i??
    • 3、平均絕對值誤差 MAE: 是絕對誤差的平均值 MAE?(y,y^)=1n∑i=1n∣yi?y^i∣\operatorname{MAE}(y, \hat{y})=\frac{1}{n} \sum_{i=1}^{n}\left|y_{i}-\hat{y}_{i}\right|MAE(y,y^?)=n1?i=1n?yi??y^?i?
    • 4、均方誤差 MSE: 是指參數(shù)估計值與參數(shù)真值之差平方的期望值MSE?(y,y^)=1n∑i=1n∥yi?y^i∥22\operatorname{MSE}(y, \hat{y})=\frac{1}{n} \sum_{i=1}^{n}\left\|y_{i}-\hat{y}_{i}\right\|_{2}^{2}MSE(y,y^?)=n1?i=1n?yi??y^?i?22?
    • 5、均方根誤差 RMSE: 是均方誤差的算術(shù)平方根RMSE?(y,y^)=1n∑i=1n∥yi?y^i∥22\operatorname{RMSE}(y, \hat{y})=\sqrt{\frac{1}{n} \sum_{i=1}^{n}\left\|y_{i}-\hat{y}_{i}\right\|_{2}^{2}}RMSE(y,y^?)=n1?i=1n?yi??y^?i?22??
    • 6、均方根對數(shù)誤差 MLSE: MLSE?(y,y^)=1n∑i=1n(ln?(1+yi)?ln?(1+y^i))2\operatorname{MLSE}(y, \hat{y})=\frac{1}{n} \sum_{i=1}^{n}\left(\ln (1+y_{i})-\ln \left(1+\hat{y}_{i}\right)\right)^{2}MLSE(y,y^?)=n1?i=1n?(ln(1+yi?)?ln(1+y^?i?))2
    • 7、平均絕對百分比誤差 MAPE: MAPE?(y,y^)=1n∑i=1n∥yi?y^i∥∥yi∥\operatorname{MAPE}(y, \hat{y})=\frac{1}{n} \sum_{i=1}^{n} \frac{\left\|y_{i}-\hat{y}_{i}\right\|}{\left\|y_{i}\right\|}MAPE(y,y^?)=n1?i=1n?yi?yi??y^?i??
    • 8、回歸平方和 SSR:SSR=∑i=0n(y^i?yˉ)2S S R=\sum_{i=0}^{n}\left(\hat{y}_{i}-\bar{y}\right)^{2}SSR=i=0n?(y^?i??yˉ?)2
    • 9、誤差平方和 SSE: SSE=∑i=0n(yi?y^i)2S S E=\sum_{i=0}^{n}\left(y_{i}-\hat{y}_{i}\right)^{2}SSE=i=0n?(yi??y^?i?)2
    • 10、離差平方和 SST: SST=∑i=0n(yi?yˉ)2S S T=\sum_{i=0}^{n}\left(y_{i}-\bar{y}\right)^{2}SST=i=0n?(yi??yˉ?)2
    • 10、R2R^2R2R2(y,y^)=1?∑i=0n(yi?y^i)2∑i=0n(yi?yˉ)2=SSRSST=1?SSESSTR^{2}(y, \hat{y})=1-\frac{\sum_{i=0}^{n}\left(y_{i}-\hat{y}_{i}\right)^{2}}{\sum_{i=0}^{n}\left(y_{i}-\bar{y}\right)^{2}}=\frac{S S R}{S S T}=1-\frac{S S E}{S S T}R2(y,y^?)=1?i=0n?(yi??yˉ?)2i=0n?(yi??y^?i?)2?=SSTSSR?=1?SSTSSE?R2(y,y^)=1?∑i=0n(yi?y^i)2/n∑i=0n(yi?yˉ)2/n=1?MSEVarR^{2}(y, \hat{y})=1-\frac{\sum_{i=0}^{n}\left(y_{i}-\hat{y}_{i}\right)^{2} / n}{\sum_{i=0}^{n}\left(y_{i}-\bar{y}\right)^{2} / n}=1-\frac{\mathrm{MSE}}{\mathrm{Var}}R2(y,y^?)=1?i=0n?(yi??yˉ?)2/ni=0n?(yi??y^?i?)2/n?=1?VarMSE?
    • 10、修正決定系數(shù)(調(diào)整后R平方):判斷你的模型里該不該加入你想加進來的自變量Rˉ2=1?RSS/(n?k?1)TSS/(n?1)\bar{R}^{2}=1-\frac{R S S /(n-k-1)}{T S S /(n-1)}Rˉ2=1?TSS/(n?1)RSS/(n?k?1)?
  • 三、python代碼(代碼待更新中)

一、什么是回歸問題?

回歸問題就是建立一個關(guān)于自變量和因變量關(guān)系的函數(shù),通過訓(xùn)練數(shù)據(jù)得到回歸函數(shù)中各變量前系數(shù)的一個過程。那么模型的好壞就體現(xiàn)到用這個建立好的函數(shù)預(yù)測得出的值與真實值的差值大小(即誤差大小),如果差值越大,說明預(yù)測的越差,反之亦然。

二、常用回歸模型評估指標(biāo)有哪些?

標(biāo)準(zhǔn)差:標(biāo)準(zhǔn)差是方差的算術(shù)平方根。標(biāo)準(zhǔn)差能反映一個數(shù)據(jù)集的離散程度。平均數(shù)相同的兩組組數(shù)據(jù),標(biāo)準(zhǔn)差未必相同。

yiy_{i}yi?表示真實的觀測值,用yˉ\bar{y}yˉ?表示真實觀測值的平均值,用y^i\hat{y}_{i}y^?i?表示預(yù)測值.

1、絕對誤差: yi?y^iy_{i}-\hat{y}_{i}yi??y^?i?

2、相對誤差: yi?y^iyi\frac{y_{i}-\hat{y}_{i}}{y_{i}}yi?yi??y^?i??

3、平均絕對值誤差 MAE: 是絕對誤差的平均值 MAE?(y,y^)=1n∑i=1n∣yi?y^i∣\operatorname{MAE}(y, \hat{y})=\frac{1}{n} \sum_{i=1}^{n}\left|y_{i}-\hat{y}_{i}\right|MAE(y,y^?)=n1?i=1n?yi??y^?i?

平均絕對誤差能更好地反映預(yù)測值誤差的實際情況.

import numpy as np from sklearn import metrics y_true = np.array([1.0, 5.0, 4.0, 3.0, 2.0, 5.0, -3.0]) y_pred = np.array([1.0, 4.5, 3.5, 5.0, 8.0, 4.5, 1.0]) print(metrics.mean_absolute_error(y_true, y_pred))

4、均方誤差 MSE: 是指參數(shù)估計值與參數(shù)真值之差平方的期望值MSE?(y,y^)=1n∑i=1n∥yi?y^i∥22\operatorname{MSE}(y, \hat{y})=\frac{1}{n} \sum_{i=1}^{n}\left\|y_{i}-\hat{y}_{i}\right\|_{2}^{2}MSE(y,y^?)=n1?i=1n?yi??y^?i?22?

MSE可以評價數(shù)據(jù)的變化程度,MSE的值越小,說明預(yù)測模型描述實驗數(shù)據(jù)具有更好的精確度。
范圍[0,+∞),當(dāng)預(yù)測值與真實值完全相同時為0,誤差越大,該值越大。

import numpy as np from sklearn import metrics y_true = np.array([1.0, 5.0, 4.0, 3.0, 2.0, 5.0, -3.0]) y_pred = np.array([1.0, 4.5, 3.5, 5.0, 8.0, 4.5, 1.0]) print(metrics.mean_squared_error(y_true, y_pred)) # 8.107142857142858

5、均方根誤差 RMSE: 是均方誤差的算術(shù)平方根RMSE?(y,y^)=1n∑i=1n∥yi?y^i∥22\operatorname{RMSE}(y, \hat{y})=\sqrt{\frac{1}{n} \sum_{i=1}^{n}\left\|y_{i}-\hat{y}_{i}\right\|_{2}^{2}}RMSE(y,y^?)=n1?i=1n?yi??y^?i?22??

import numpy as np from sklearn import metrics y_true = np.array([1.0, 5.0, 4.0, 3.0, 2.0, 5.0, -3.0]) y_pred = np.array([1.0, 4.5, 3.5, 5.0, 8.0, 4.5, 1.0]) print(np.sqrt(metrics.mean_squared_error(y_true, y_pred)))

6、均方根對數(shù)誤差 MLSE: MLSE?(y,y^)=1n∑i=1n(ln?(1+yi)?ln?(1+y^i))2\operatorname{MLSE}(y, \hat{y})=\frac{1}{n} \sum_{i=1}^{n}\left(\ln (1+y_{i})-\ln \left(1+\hat{y}_{i}\right)\right)^{2}MLSE(y,y^?)=n1?i=1n?(ln(1+yi?)?ln(1+y^?i?))2

7、平均絕對百分比誤差 MAPE: MAPE?(y,y^)=1n∑i=1n∥yi?y^i∥∥yi∥\operatorname{MAPE}(y, \hat{y})=\frac{1}{n} \sum_{i=1}^{n} \frac{\left\|y_{i}-\hat{y}_{i}\right\|}{\left\|y_{i}\right\|}MAPE(y,y^?)=n1?i=1n?yi?yi??y^?i??

8、回歸平方和 SSR:SSR=∑i=0n(y^i?yˉ)2S S R=\sum_{i=0}^{n}\left(\hat{y}_{i}-\bar{y}\right)^{2}SSR=i=0n?(y^?i??yˉ?)2

9、誤差平方和 SSE: SSE=∑i=0n(yi?y^i)2S S E=\sum_{i=0}^{n}\left(y_{i}-\hat{y}_{i}\right)^{2}SSE=i=0n?(yi??y^?i?)2

10、離差平方和 SST: SST=∑i=0n(yi?yˉ)2S S T=\sum_{i=0}^{n}\left(y_{i}-\bar{y}\right)^{2}SST=i=0n?(yi??yˉ?)2

10、R2R^2R2R2(y,y^)=1?∑i=0n(yi?y^i)2∑i=0n(yi?yˉ)2=SSRSST=1?SSESSTR^{2}(y, \hat{y})=1-\frac{\sum_{i=0}^{n}\left(y_{i}-\hat{y}_{i}\right)^{2}}{\sum_{i=0}^{n}\left(y_{i}-\bar{y}\right)^{2}}=\frac{S S R}{S S T}=1-\frac{S S E}{S S T}R2(y,y^?)=1?i=0n?(yi??yˉ?)2i=0n?(yi??y^?i?)2?=SSTSSR?=1?SSTSSE?R2(y,y^)=1?∑i=0n(yi?y^i)2/n∑i=0n(yi?yˉ)2/n=1?MSEVarR^{2}(y, \hat{y})=1-\frac{\sum_{i=0}^{n}\left(y_{i}-\hat{y}_{i}\right)^{2} / n}{\sum_{i=0}^{n}\left(y_{i}-\bar{y}\right)^{2} / n}=1-\frac{\mathrm{MSE}}{\mathrm{Var}}R2(y,y^?)=1?i=0n?(yi??yˉ?)2/ni=0n?(yi??y^?i?)2/n?=1?VarMSE?

R Squared又叫決定系數(shù)(coefficient of determination)也叫擬合優(yōu)度,反映因變量的全部變異能通過回歸關(guān)系被自變量解釋的比例.越接近于1,說明模型擬合得越好.

分子就變成了常用的評價指標(biāo)均方誤差MSE,分母就變成了方差。

對于 R2_score可以通俗地理解為使用均值作為誤差基準(zhǔn),看預(yù)測誤差是否大于或者小于均值基準(zhǔn)誤差。

  • R2_score = 1,樣本中預(yù)測值和真實值完全相等,沒有任何誤差,表示回歸分析中自變量對因變量的解釋越好。
  • R2_score = 0。此時分子等于分母,樣本的每項預(yù)測值都等于均值。
  • R2_score不是r的平方,也可能為負(fù)數(shù)(分子>分母),模型等于盲猜,還不如直接計算目標(biāo)變量的平均值。此時數(shù)據(jù)不存在任何線性相關(guān)關(guān)系。

10、修正決定系數(shù)(調(diào)整后R平方):判斷你的模型里該不該加入你想加進來的自變量Rˉ2=1?RSS/(n?k?1)TSS/(n?1)\bar{R}^{2}=1-\frac{R S S /(n-k-1)}{T S S /(n-1)}Rˉ2=1?TSS/(n?1)RSS/(n?k?1)?

如果兩個模型的樣本數(shù)量和決定系數(shù)都相同,變量個數(shù)越少說明擬合效果越好。

修正決定系數(shù)相當(dāng)于給變量的個數(shù)加懲罰項。考慮到SSE的自由度為n-p-1,SST的自由度為n-1,修正決定系數(shù)設(shè)置為

Rˉ2=1?SSE/(n?p?1)SST/(n?1)=1?SSESST(n?1)(n?p?1)=1?∑i=1n(yi?y^i)2∑i=1n(yi?yˉ)2n?1n?P?1=1?(1?R2)n?1n?P?1\bar{R}^{2}=1-\frac{S S E /(n-p-1)}{S S T /(n-1)}=1-\frac{S S E}{S S T} \frac{(n-1)}{(n-p-1)}=1-\frac{\sum_{i=1}^{n}\left(y_{i}-\hat{y}_{i}\right)^{2}}{\sum_{i=1}^{n}\left(y_{i}-\bar{y}\right)^{2}} \frac{n-1}{n-P-1}=1-\left(1-R^{2}\right) \frac{n-1}{n-P-1} Rˉ2=1?SST/(n?1)SSE/(n?p?1)?=1?SSTSSE?(n?p?1)(n?1)?=1?i=1n?(yi??yˉ?)2i=1n?(yi??y^?i?)2?n?P?1n?1?=1?(1?R2)n?P?1n?1?
n是樣本數(shù)量,p是變量個數(shù)

調(diào)整后R平方的作用就是判斷你的模型里該不該加入你想加進來的自變量。如果調(diào)整后R平方和R方差異較大,證明你的模型里加入了很多沒有用的變量。調(diào)整后R平方?jīng)]有實際含義

R平方表示模型的解釋程度,核心還是因為SSR代表著回歸模型的解釋變異程度,之所以除以SST只是為了進行標(biāo)準(zhǔn)化,使得R平方有一個固定的值域,便于比較。

當(dāng)增加一個對Y有較大影響的解釋變量時,殘差平方和RSS的減小比(n -k-1)的減小程度更大,校正的決定系數(shù)就會變大。若增加一個對Y沒有多大影響的解釋變量,則殘差平方和即便減小也沒有(n-k -1)的減小明顯,校正的決定系數(shù)就會變小,表明不應(yīng)該引入這個變量。

三、python代碼(代碼待更新中)

def mean_squared_error(y_true, y_predict):"""計算y_true和y_predict之間的MSE"""assert len(y_true) == len(y_predict), \"the size of y_true must be equal to the size of y_predict"return np.sum((y_true - y_predict)**2) / len(y_true)def root_mean_squared_error(y_true, y_predict):"""計算y_true和y_predict之間的RMSE"""return sqrt(mean_squared_error(y_true, y_predict))def mean_absolute_error(y_true, y_predict):"""計算y_true和y_predict之間的RMSE"""assert len(y_true) == len(y_predict), \"the size of y_true must be equal to the size of y_predict"return np.sum(np.absolute(y_true - y_predict)) / len(y_true)def r2_score(y_true, y_predict):"""計算y_true和y_predict之間的R Square"""return 1 - mean_squared_error(y_true, y_predict)/np.var(y_true)

sklearn

from sklearn.metrics import mean_absolute_error mean_absolute_error(y_test, y_pred)from sklearn.metrics import mean_squared_error mean_squared_error(y_test, y_pred)from sklearn.metrics import r2_score r2_score(y_test, y_pred)# RMSE np.sqrt(metrics.mean_squared_error(y_true, y_pred))

總結(jié)

以上是生活随笔為你收集整理的【论文常用笔记】回归模型评估指标的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。