10.4 Métricas de desempenho
As métricas de desempenho são utilizadas para avaliar a capacidade preditiva dos modelos. No contexto de modelos lineares, variáveis dependentes categóricas são associadas a problemas de classificação, e variáveis dependentes numéricas a problemas de regressão. O pacote caret
(Kuhn 2022) traz as principais métricas de desempenho.
10.4.1 Classificação
Seja \(\{ \text{Verdadeiro}, \text{Falso} \} \times \{ \text{Positivo}, \text{Negativo} \} \equiv \{ V, F \} \times \{ P, N \} = \{ VP, VN, FP, FN \}\) o conjunto de todos os status de classificação possíveis. A função caret::confusionMatrix()
e a tabela https://en.wikipedia.org/wiki/Precision_and_recall#Definition podem ser úteis.
Referência | ||
---|---|---|
Predito | Evento | Não evento |
Evento | VP | FP |
Não evento | FN | VN |
\[\begin{equation} \text{Acurácia}=\frac{VP+VN}{VP+VN+FP+FN} \tag{10.1} \end{equation}\]
\[\begin{equation} \text{Balanced Accuracy}=\frac{\text{Sensitivity} + \text{Specificity}}{2} \tag{10.2} \end{equation}\]
\[\begin{equation} \text{Detection Prevalence}=\frac{VP+FP}{VP+VN+FP+FN} \tag{10.3} \end{equation}\]
\[\begin{equation} \text{Detection Rate}=\frac{VP}{VP+VN+FP+FN} \tag{10.4} \end{equation}\]
\[\begin{equation} \text{F1}=\frac{2VP}{2VP+FP+FN} \tag{10.5} \end{equation}\]
\[\begin{equation} \text{Kappa}=\frac{VP \times VN - FP \times FN}{\sqrt{(VP+FP)(VN+FN)(VP+FN)(VN+FP)}} \tag{10.6} \end{equation}\]
\[\begin{equation} \text{Neg Pred Value}=\frac{VN}{VN+FN} \tag{10.7} \end{equation}\]
\[\begin{equation} \text{Pos Pred Value}=\frac{\text{Sensitivity} \times \text{Prevalence}}{(\text{Sensitivity} \times \text{Prevalence}) + ((1-\text{Specificity}) \times (1-\text{Prevalence}))} \tag{10.8} \end{equation}\]
\[\begin{equation} \text{Precision}=\frac{VP}{VP+FP} \tag{10.9} \end{equation}\]
\[\begin{equation} \text{Prevalence}=\frac{VP+FN}{VP+FP+FN+VN} \tag{10.10} \end{equation}\]
\[\begin{equation} \text{Sensitivity}=\frac{VP}{VP+FN} \tag{10.11} \end{equation}\]
\[\begin{equation} \text{Specificity}=\frac{VN}{VN+FP} \tag{10.12} \end{equation}\]
Curva AUC-ROC
Veja os artigos a seguir.
- https://en.wikipedia.org/wiki/Receiver_operating_characteristic
- https://towardsdatascience.com/understanding-auc-roc-curve-68b2303cc9c5
- https://developers.google.com/machine-learning/crash-course/classification/roc-and-auc?hl=pt-br
- https://stats.stackexchange.com/questions/372236/what-is-the-formula-to-calculate-the-area-under-the-roc-curve-from-a-contingency
10.4.2 Regressão
Medidas de acurácia
- \(y_i = \text{realizado}\)
- \(\hat{y}_i = \text{previsto (pelo modelo linear considerado)}\)
- \(\bar{y} = \text{(previsto pela) média (incondicional) de } y\)
10.4.2.1 Coeficiente de determinação \(R^2\)
\[\begin{equation} R^2 = 1 - \frac{\sum{(\hat{y}_i - y_i)^2}}{\sum{(y_i - \bar{y})^2}} \tag{10.13} \end{equation}\]
Ajustado (Nagelkerke et al. 1991)
\[\begin{equation} R_{adj}^2 = 1 - \frac{\sum{(\hat{y}_i - y_i)^2}/(n-p-1)}{\sum{(y_i - \bar{y})^2}/(n-1)} \tag{10.14} \end{equation}\]
onde \(n\) é o tamanho da amostra, \(p\) é o número de coeficientes estimados no modelo, \(gl_{res}=n-p-1\) são os graus de liberdade do resíduo e \(gl_{tot}=n-1\) são os graus de liberdade totais.
Pode-se colocar o \(R_{adj}^2\) em função de \(R^2\).
\[\begin{equation} R^2_{adj} = 1 - (1-R^2) \frac{n-1}{n-p-1} \tag{10.15} \end{equation}\]
10.4.2.2 Erro Quadrático Médio
\[\begin{equation} MSE = \frac{1}{n} \sum_{i=1}^n (\hat{y}_i - y_i)^2 \tag{10.16} \end{equation}\]
10.4.2.3 Raiz do Erro Quadrático Médio
\[\begin{equation} RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^n (\hat{y}_i - y_i)^2} \tag{10.17} \end{equation}\]
10.4.2.4 Desvio Absoluto Médio
\[\begin{equation} MAE = \frac{1}{n} \sum_{i=1}^n \left| \hat{y}_i - y_i \right| \tag{10.18} \end{equation}\]
10.4.2.5 Desvio Absoluto Médio Percentual
\[\begin{equation} MAPE = \frac{1}{n} \sum_{i=1}^n \left| \frac{\hat{y}_i - y_i}{y_i} \right| \tag{10.19} \end{equation}\]
10.4.2.6 Erro percentual médio simétrico absoluto
\[\begin{equation} SMAPE = \frac{1}{n} \sum_{i=1}^n \left(\frac{|\hat{y}_i - y_i|}{|\hat{y}_i| + |y_i|} \right) \tag{10.20} \end{equation}\]