scieee AI-readable full text Open interactive document viewer

Métodos estadísticos aplicados al deporte

Gómez González, Daniela

Abstract

La estadística está presente en todos los ámbitos de la vida, incluyendo deportes como el baloncesto. Gracias a esta disciplina, ligas como la NBA generan grandes cantidades de dinero al año y optimizan diferentes facetas del juego. Este trabajo se centra en el estudio del salario de los jugadores de la liga de baloncesto americana en la temporada 2020-2021, a través de ciertas características como la edad o características de su juego. El objetivo principal es el de, mediante la teoría de los modelos de regresión, aplicar los conocimientos de los métodos lineales, así como introducir métodos no paramétricos buscando una aplicación práctica e interpretable de los datos recogidos, con el propósito de ver cuales de las características son las más influyentes y las que más información aportan a la hora de predecir los sueldos. Además se estudia si existen casos que supongan irregularidades en el planteamiento de estos modelos y sus posibles interpretaciones analizando jugadores que están siendo pagados por encima o por debajo de su sueldo estimado.

Full text

Traballo Fin de Grao Métodos estadísticos aplicados al deporte Daniela Gómez González Julio, 2022 UNIVERSIDADE DE SANTIAGO DE COMPOSTELA GRAO EN MATEMÁTICAS Traballo Fin de Grao Métodos estadísticos aplicados al deporte Daniela Gómez González Julio, 2022 UNIVERSIDADE DE SANTIAGO DE COMPOSTELA Trabajo propuesto Área de Conocimiento: Estadística e Investigación de Operativa Título: Métodos estadísticos aplicados al deporte Breve descripción del contenido En los últimos años aparece una gran variedad de medidas estadísticas asociadas a eventos deportivos. La aplicación de métodos estadísticos al deporte viene de la mano del deporte profesional en Estados Unidos, principalmente del béisbol (Sabermetrics) que después se ha extendido a otros ámbitos (NBA, NFL...). El objetivo de este trabajo es revisar y aplicar los principales procedimientos estadísticos y su utilidad en las disciplinas deportivas. Recomendaciones Otras observaciones iii Índice Resumen vii Introducción ix 1. Preliminares 1 1.1. Datos .......................................... 1 1.1.1. Depuración de los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2. Análisisdelosdatos .............................. 2 2. Modelo múltiple 7 2.1. Denicióndelmodelo.................................. 7 2.2. Formulacióndelmodelo ................................ 9 2.3. Validaciónydiagnosis ................................. 10 2.4. Seleccióndevariables.................................. 14 3. Modelo no Lineal 21 3.1. Modelos aditivos generalizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.1.1. Ajuste teórico de un modelo aditivo generalizado . . . . . . . . . . . . . . 23 3.1.2. Formulación del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.3. MarginalEects ................................ 32 4. Comparaciones 39 v vi ÍNDICE 4.1. Salario vs Box Plus/Minus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.1.1. Formulación del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.1.2. Comparación de modelos Salario vs Ataque y Salario vs Defensa . . . . . 47 4.2. VORPvsAge...................................... 50 4.2.1. Formulación del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Bibliografía 55 I. Tablas y Figuras complementarias 57 II. Código de R 63 Resumen La estadística está presente en todos los ámbitos de la vida, incluyendo deportes como el baloncesto. Gracias a esta disciplina, ligas como la NBA generan grandes cantidades de dinero al año y optimizan diferentes facetas del juego. Este trabajo se centra en el estudio del salario de los jugadores de la liga de baloncesto americana en la temporada 2020-2021, a través de ciertas características como la edad o características de su juego. El objetivo principal es el de, mediante la teoría de los modelos de regresión, aplicar los conocimientos de los métodos lineales, así como introducir métodos no paramétricos buscando una aplicación práctica e interpretable de los datos recogidos, con el propósito de ver cuales de las características son las más inuyentes y las que más información aportan a la hora de predecir los sueldos. Además se estudia si existen casos que supongan irregularidades en el planteamiento de estos modelos y sus posibles interpretaciones analizando jugadores que están siendo pagados por encima o por debajo de su sueldo estimado. Abstract Statistics is present in all areas of life, including sports such as basketball. Thanks to this discipline, leagues like the NBA generate large amounts of money per year and enhance dierent facets of the game. This work focuses on the study of the salary of players in the American basketball league in the 2020-2021 season, through certain characteristics such as the age, the Box Plus/Minus or the value over replacement player. The aim of this study is to apply linear methods, as well as non-parametric methods. In this way, a practical and interpretable application of the collected data is carried out, with the purpose of seeing which of the players' characteristics are the most inuential and the ones that provide the most information when predicting salaries. In addition, we study whether there are certain cases that involve irregularities in the approach of these models and their possible interpretations by analyzing players who are being paid above or below their estimated salary. vii 4 1. Preliminares Denición 1.5. Se dene coeciente de correlación múltiple de Y sobre X1, X2, . . . , Xp−1 como el coeciente de correlación simple entre Y y el ajuste β1X1+. . . +βp−1Xp−1 Corr(Y;X1, . . . , Xp−1) = Corr(Y, β1X1+. . . +βp−1Xp−1) (1.5) Si se observa la matriz de correlaciones de las variables explicativas recogida en la Tabla I del Anexo I, estudiando por ejemplo los minutos jugados, se puede ver que se obtienen valores pequeños, cerca del 0, esto sugiere que en este caso, esta variable no aporta información redundante que ya podría estar siendo dada por el resto de variables. Si se valora ahora la contribución en el ataque cuando un jugador está en pista (OBPM) se ve que las correlaciones están más próximas a uno, lo cual indica que podría ser ocasionado por una información ya dada por otra variable. Esto tiene sentido pues, esta variable incluye información sobre las estadísticas de los jugadores en posiciones de ataque. Ahora bien, con el propósito de ver cuales de las características proporcionan una mejor descripción del salario, se realiza un nuevo cálculo de las matrices de covarianzas y correlaciones incluyendo esta vez el salario. En la Tabla 1.2 se recogen las correlaciones de las variables en función del salario. Age MP PER TS X3Par FTr 0.427 0.615 0.461 0.230 -0.078 0.054 ORB DRB TRB AST STL BLK -0.071 0.168 0.085 0.356 0.035 -0.005 TOV USG OWS DWS WS WS48 0.047 0.436 0.498 0.557 0.572 0.308 OBPM DBPM BPM VORP Salario 0.541 0.148 0.533 0.570 1.000 Tabla 1.2: Correlación simple de los regresores con el salario Surge entonces la duda de cual es el mejor modelo para empezar con el análisis. Si bien se podría pensar en escribir un modelo con todas las variables de las cuales se tienen datos, quizás, debido al alto número de variables, algo más razonable sería escoger aquellas que puedan describir mejor el salario. Esto es, aquellas que hagan que el salario cambie más, en función de su variación, o lo que es lo mismo, aquellas variables explicativas que presenten una mayor correlación con el salario. De esta forma, parece adecuado pensar en estudiar el salario en función de la edad, minutos jugados, la calicación de eciencia del jugador, el porcentaje de pérdidas, el usage , el porcentaje de acciones ganadas en ataque, en defensa y totales de un jugador, la contribución en ataque y la total, y por último el VORP. En secciones posteriores a la hora de seleccionar 1.1. Datos 5 las variables que predigan mejor el salario, se tendrán en cuenta todas las variables iniciales. De esta forma no se descartan aquellas que por si mismas no presentan una buena correlación con el salario, pero que junto con otros regresores, podrían tener un papel importante en el modelo. En la siguiente tabla se recoge la correlación entre las variables seleccionadas, así como el salario. De forma que se puede ver la relación que presentan entre ellas y con la variable respuesta. Age MP PER USG OWS DWS WS OBPM BPM Salario Age 1.00 0.16 0.17 0.01 0.22 0.20 0.24 0.25 0.31 0.43 MP 0.16 1.00 0.42 0.38 0.64 0.80 0.77 0.55 0.51 0.62 PER 0.17 0.42 1.00 0.60 0.75 0.49 0.74 0.87 0.87 0.46 USG 0.01 0.38 0.60 1.00 0.37 0.27 0.37 0.60 0.43 0.44 OWS 0.22 0.64 0.75 0.37 1.00 0.59 0.95 0.80 0.78 0.50 DWS 0.20 0.80 0.49 0.27 0.59 1.00 0.81 0.48 0.60 0.56 WS 0.24 0.77 0.74 0.37 0.95 0.81 1.00 0.77 0.80 0.57 OBPM 0.25 0.55 0.87 0.60 0.80 0.48 0.77 1.00 0.93 0.54 BPM 0.31 0.51 0.87 0.43 0.78 0.60 0.80 0.93 1.00 0.53 Salario 0.43 0.62 0.46 0.44 0.50 0.56 0.57 0.54 0.53 1.00 Una vez analizados los datos que se utilizan, el siguiente paso es la creación del modelo. Se verán distintas posibilidades, tratando de identicar cual es la que mejor se amolda a los datos. Capítulo 2 Modelo múltiple 2.1. Denición del modelo Un modelo de regresión lineal múltiple trata de representar como se comporta una variable respuesta Y en función de una serie de variables explicativas X1, X2,··· , Xp suponiendo que existe una relación lineal entre la respuesta y el resto de variables. Siendo entonces β0, β1, β2,··· , βp un vector de parámetros que acompaña a las variables, se dene el modelo lineal múltiple como: Y=β0+β1X1+···+βpXp+ε, (2.1) donde ε es el error. Cabe destacar que β0 es el intercepto, dicha cantidad representa el valor de la respuesta si todas las variables explicativas fuesen nulas. Los coecientes asociados al resto de parámetros, representan como varía la respuesta, si la variable asociada a cada uno de ellos aumenta una unidad, y el resto permanecen constantes. Bajo un diseño jo, es decir, conociendo de antemano un conjunto de datos, se puede describir el modelo en función de cada individuo del cual se estudian una serie de factores, para el i-ésimo individuo se tendría: Yi=β0+β1xi,1+···+βpxi,p +εi. (2.2) En los modelos de regresión lineal múltiple se suponen ciertas las hipótesis de homocedasticidad, normalidad e independencia. Estas se pueden resumir en la siguiente condición para los errores: ε1,··· , εn∈N(0, σ2) independientes . (2.3) 7 8 2. Modelo múltiple Se puede formular (2.1) de forma matricial,     Y1 . . . Yn     =    1x11 ··· x1,p . . .. . ..... . . 1xn1··· xn,p            β0 β1 . . . βp        +    ε1 . . . εp     . (2.4) De forma abreviada sería Y=Xβ+ε, (2.5) Y es el vector de la respuesta, X la matriz de diseño donde cada la es un individuo y cada columna un rasgo a estudiar, β es el vector de coecientes asociado a cada variable, y ε el vector de errores vericando ε∈Nn(0, σ2In) Observación 2.1 . La matriz de diseño X contiene una primera columna de unos para que en el modelo se tenga en cuenta el término independiente. En cuanto a los parámetros del modelo, se pueden estimar mediante el método de mínimos cuadrados. Para la estimación de β se procede de la siguiente forma: Se busca ˆ β tal que cumpla m´ın β n X i=1 (Yi−xiβ)2, (2.6) y así se llega a: ˆ β=(X′X)−1X′Y. (2.7) Es importante tener en cuenta que la matriz X′X sea no singular. Una vez visto esto, los valores estimados se calculan sin más que multiplicar el estimador de los parámetros por la matriz de diseño ˆ Y=Xˆ β=X(X′X)−1X′Y=HY , con H=X(X′X)−1X′ conocida como matriz hat . Además los residuos se pueden escribir como la diferencia entre la respuesta observada y el ajuste ˆε=Y−ˆ Y=(In −H)Y=MY , denotando por M la matriz generadora de residuos. Dado que la matriz hat es de proyección, tiene la particularidad de ser idempotente, luego M también lo es. Para terminar, falta la estimación del otro parámetro del modelo, la varianza. Esto viene dado de la siguiente forma ˆσ2=RSS n−p+ 1, (2.8) con RSS la suma residual de cuadrados ( RSS =ˆε′ˆε=Y′MY ). 2.2. Formulación del modelo 9 2.2. Formulación del modelo Una vez seleccionadas las variables que mejor explican los salarios e introducido el modelo, se formula para los datos que se quieren estudiar. Para ello se puede escribir el modelo en R y una vez formulado, en la salida del summary , se obtienen los coecientes de cada una de las variables, así como el intercepto y otros datos que se analizarán más adelante para comprobar si se tiene un modelo válido. La sintaxis empleada para el código se puede consultar en el Anexo II. Estimate Std. Error t value Pr( >| t | ) Intercepto 10.6005922 0.4970030 21.329 <2e-16 *** Age 0.1002132 0.0110409 9.077 <2e-16 *** MP 0.0008665 0.0001635 5.298 1.93e-07 *** PER 0.0063118 0.0272033 0.232 0.81664 USG 0.0548040 0.0166989 3.282 0.00112 ** OWS 1.0641905 0.9505746 1.120 0.26359 DWS 1.1035123 0.9529828 1.158 0.24757 WS -1.1360142 0.9404665 -1.208 0.22779 OBPM -0.0813631 0.0730540 -1.114 0.26606 BPM 0.0895188 0.0689791 1.298 0.19511 VORP 0.1472507 0.1444356 1.019 0.30858 R2 0.5651 Tabla 2.1: Estimaciones de los coecientes, errores, estadísticos de contraste y p-valores asociados a la primera formulación del modelo lineal. A la vista de la Tabla 2.1, el modelo quedaría formulado de la siguiente manera. Y= 10.6+0.100 × Age + 0.001 × MP + 0.006 × PER + 0.055 × USG + 1.064 × OWS + 1.104 × DWS −1.136 × WS −0.081 × OBPM + 0.090 × BPM + 0.147 × VORP . (2.9) En cuanto a la información más relevante que aporta la Tabla 2.1, en la primera columna, se tienen los coecientes asociados a cada variable. Estos valores permiten escribir la ecuación del modelo, en este caso, (2.9). Además se interpretan como sigue: el valor de dicho coeciente indica cuanto varía la respuesta si se aumenta una unidad de la variable asociada, y el resto de variables permanecen constantes. También se debe destacar la última columna, esta proporciona 10 2. Modelo múltiple el p-valor del contraste ( H 0 : βi= 0 H a : βi= 0 (2.10) Es claro que el contraste se realiza para cada regresor y determina que parámetros estimados son signicativamente distintos de 0. Además del p-valor asociado al contraste, se incluyen ciertos símbolos que permiten visualizar la signicación de las variables. Esto es, valores entre el 0 y 0.001 se representan con ***, entre 0.001 y 0.01 con **, para los p-valores entre 0.01 y 0.05 se usa un único *, entre 0.05 y 0.1 se representa con un . y los p-valores mayores que 0.1 no se corresponden con ningún símbolo. De esta forma las variables señaladas con *** son aquellas que son signicativamente distintas de 0 por lo que deberían ser utilizadas en el modelo. Las variables con  ** también muestran evidencias estadísticamente signicativas por debajo del 1 % y también se deben considerar como distintas de 0. 2.3. Validación y diagnosis Una vez planteado el modelo, el siguiente paso es proceder a la validación. Se trata de ver, en primer lugar, cuales de los coecientes son signicativos, es decir, signicativamente no nulos. Así, viendo la salida del resumen del apartado anterior que se recogen en la Tabla 2.1, se ve claramente que los coecientes signicativos, son los asociados a las variables Age, MP y USG al nivel del 1 % . Además se puede ver que el valor del coeciente de determinación, R2 , es de 0.5651, lo cual indica que con este modelo queda explicada el 56.51 % de la varianza de la respuesta. Este valor coincide con el cuadrado del coeciente de correlación múltiple denido en (1.5). Dicho valor no es muy elevado, por lo que de cumplirse las hipótesis básicas del modelo lineal, convendría buscar otro planteamiento que explique mejor la respuesta. Ahora bien, para validar el modelo, se debe ver que cumple las cuatro hipótesis básicas de los modelos lineales que se habían introducido anteriormente. Se tienen múltiples librerías de R que permiten contrastarlas, sin embargo, resulta útil consultar los grácos del modelo que se obtienen utilizando el comando plot e incluyendo como argumento el modelo. La primera gráca de la Figura 2.1 representa los residuos frente a los valores ajustados, que no son más que una combinación lineal de las variables explicativas que intervienen en el modelo. Permite visualizar como se distribuyen los residuos, si estos siguen algún tipo de tendencia (linea recta, parábola...) o si se distribuyen sin ningún tipo de patrón. Para el modelo que se está estudiando, parece que los residuos tienen una tendencia lineal, sin embargo en la parte izquierda del eje X parece haber una gran cantidad de valores atípicos que alejan a los 2.3. Validación y diagnosis 11 14 15 16 17 18 −3 −1 1 Fitted values Residuals Residuals vs Fitted V2254 V2202 V256 −3 −2 −1 0 1 2 3 −3 −1 1 3 Theoretical Quantiles Standardized residuals Normal Q−Q V2254 V2202 V256 14 15 16 17 18 0.0 1.0 Fitted values Standardized residuals Scale−Location V2254 V2202 V256 0.00 0.05 0.10 0.15 −3 0 2 Leverage Standardized residuals Cook's distance Residuals vs Leverage V2254 V2202 V212 Figura 2.1: Grácos para la validación y diagnosis del modelo (2.9). residuos de esta tendencia. La segunda gráca permite hacer un estudio de la normalidad. Es un QQ-plot que compara los residuos estandarizados con la distribución normal teórica. Si estos residuos se sitúan sobre la recta de la normal, entonces se puede asumir que el modelo cumple la hipótesis de normalidad. En el caso que se está tratando, parece que se amoldan bastante bien a dicha recta, así que se puede intuir que hay normalidad en el modelo. La tercera es un gráco de localización y escala. Representa los valores ajustados frente a la raíz cuadrada de los residuos estandarizados y permite ver si hay homocedasticidad en el modelo. Se busca que la línea roja sea lo más horizontal posible, y que los residuos se distribuyan en torno a ella de manera aleatoria y de forma que todos varíen más o menos lo mismo. Lo cual sería un indicativo de que la varianza se mantiene constante. En este caso, podría intuirse algún problema con la homocedasticidad pues la recta parece tener cierta inclinación. Se aplicará posteriormente un test que permita una mejor interpretación. La última se conoce como Residuals Vs Leverages, conviene introducir unos conceptos que entrarán en juego. Dichas deniciones se pueden encontrar en (Draper et al., 1998). Denición 2.2. Se denomina leverage (o apalancamiento) en regresión lineal simple, al peso 12 2. Modelo múltiple que ejerce un individuo sobre su propia predicción y se representa por hii hii =1 n+(xi−¯x)2 Pn j=1(xj−¯x)2, (2.11) donde n es el tamaño de la muestra, xi la i-ésima observación y ¯x su media. Para el caso de la regresión multiple, los hii no son más que los elementos de la diagonal de la matriz Hat , pues la varianza de los residuos es σ2(1 −hii) . Denición 2.3. Se denomina distancia de Cook a la siguiente cantidad: Di=Pn j=1(ˆ Yj−ˆ Yj(i))2 pˆσ2, (2.12) donde ˆ Yj son los ajustes incluyendo todos los datos, ˆ Yj(i) los ajustes sin el dato i-ésimo y p el número de variables explicativas. Análogamente se puede denir en términos de los apalancamientos. Di=1 pr2 i hii 1−hii . (2.13) Así un punto causará inuencia sobre la recta de regresión si tiene un apalancamiento alto (mayor que 2p n ) y si su distancia de Cook es grande. En la gráca de la Figura 2.1 se representan en las abscisas los apalancamientos y en las ordenadas los residuos estandarizados, así como dos rectas discontinuas para distancias de Cook mayores que 0.5 y 1. Los puntos situados en estas regiones conviene analizarlos y tratar de darles una explicación en cuanto a su distanciamiento del modelo. Una vez observados los grácos de apoyo a la validación y diagnosis del problema, se continúa con la realización de los contrastes de hipótesis para comprobar lo que se suponía previamente. Para la hipótesis de linealidad, se aplica el Ramsey RESET test , propuesto por Ramsey y que se encuentra en (Ramsey, 1968). Este test supone que se tiene un modelo de la siguiente forma, Y=β0+β1X1+···+βKXK+δ1ˆ Y2+δ2ˆ Y3+ε que presenta como variables explicativas, funciones no lineales de los valores ajustados. Esto permite ver si en la primera denición del modelo, como un modelo lineal, falta información que debe ser explicada mediante modelos no lineales. Se realiza el siguiente test: ( H 0 : δ1= 0, δ2= 0 H a : δ1= 0, δ2= 0 (2.14) Reset Test Data: modelo RESET = 4.3635, df1 = 1 df2 = 401 p-value = 0.037 Tabla 2.2: Estadístico de contraste, grados de libertad y p-valor asociado al contraste de linealidad 2.3. Validación y diagnosis 13 En la Tabla 2.2, en la que se recogen los datos del test, se puede ver que el p-valor asociado al contraste es de 0.037, menor que los niveles de signicación habituales del 5 y del 10 % , sin embargo, no es menor que el 1 % , aun así, hay evidencias estadísticamente signicativas para rechazar la hipótesis de linealidad como ya se venía suponiendo en el análisis de la gráca. En cuanto a la normalidad, se utiliza un test de Shapiro , cuyo resultado es el p-valor asociado al siguiente contraste ( H 0 : ε∈Nn(0, σ2In) H a : ε /∈Nn(0, σ2In )(2.15) Este test se realiza sobre los residuos estandarizados de la regresión, esto es porque al estandarizarlos, los residuos están más cerca de tener una varianza común, lo cual, permite ver más fácilmente si se incumple alguna de las hipótesis de los modelos lineales. Denición 2.4. Se denen los residuos estandarizados de un modelo de regresión como el cociente ri=ˆεi ˆσ√1−hii . (2.16) Shapiro-Wilk normality test Data: res W = 0.99 p-value = 0.607 Tabla 2.3: Estadístico de contraste y p-valor asociado al contraste de normalidad Se puede observar que el p-valor asociado al contraste es de 0.607, mayor que los niveles de signicación habituales ya mencionados anteriormente, por lo que no hay evidencias para rechazar la hipótesis nula, aceptando así que se tiene normalidad en el modelo, es decir, los errores siguen una distribución normal, tal y como se intuía en el QQ-plot de la Figura 2.1. En cuanto a la homocedasticidad, se quiere ver si la varianza de los errores permanece constante, para estudiarlo, se puede utilizar el test de Harrison Mc-Cabe . ( H 0 : σ2 1=σ2 2=. . . =σ2 n. H a : σ2 1=σ2 2=. . . =σ2 n. (2.17) En la Tabla 2.4 se recoge la información de este contraste. De nuevo, el p-valor asociado a este contraste, 0.662, es mayor que los niveles de signicación habituales, por lo que no hay pruebas estadísticamente signicativas para rechazar la hipótesis nula, aceptando así que el modelo es homocedástico. A pesar de haber visto en la Figura 2.1 que podría haber heterocedasticidad, a la vista de este contraste esto no es cierto. Capítulo 3 Modelo no Lineal Una vez se ha tratado de ajustar un modelo lineal y se ha visto que no se cumplían las hipótesis, cabe pensar en los modelos no lineales para tratar de encontrar un modelo que explique mejor la variable respuesta en función de las variables explicativas. Con objeto de ver cual es la tendencia que siguen las variables explicativas, se realiza un gráco de dispersión que permite ver que formas siguen los datos de cada variable, y que tipo de relación tienen con la variable respuesta. Se separan las 6 variables explicativas en dos grácos, para tener una comparación más clara son el salario, que en la Figura 3.1 y la Figura 3.2 viene denido como V2. Age 500 2500 20 25 30 35 12 16 500 1500 2500 MP USG 10 15 20 25 30 35 12 14 16 20 3010 25 V2 Figura 3.1: Grácos de dispersión para las variables Age, MP, USG y el salario 21 22 3. Modelo no Lineal DWS −10 5 012345 12 16 −10 −5 0 5 BPM VORP −2 0 2 4 6 12 14 16 0 2 4−2 2 6 V2 Figura 3.2: Grácos de dispersión para las variables DWS, BPM, VORP y el salario Con un simple golpe de vista de la Figura 3.1 y la Figura 3.2 , se ve claramente lo que se esperaba. Utilizando funciones de suavizado para describir la forma en la que se disponen los datos de una variable al relacionarla con la respuesta, se ve que la mayoría no tienen una tendencia lineal, si no que siguen distintos tipo de curvas. 3.1. Modelos aditivos generalizados Dado que en la vida real, muchas situaciones no son explicables mediante modelos lineales, surgen métodos para explicar otro tipo de relaciones. Uno de ellos, sobre los que se desarrollarán las principales ideas a continuación, son los modelos aditivos generalizados. Según el capítulo 9 de (Hastie et al., 2009), dado un conjunto de variables explicativas X1, X2,··· , Xp y una respuesta Y , se dene el modelo aditivo generalizado (GAM) de la siguiente manera. E(Y|X1, X2,··· , Xp) = α+f1(X1) + f2(X2) + ···+fp(Xp). (3.1) Las fj, j ∈ {1,··· , p} son funciones suaves que se estiman utilizando un algoritmo conocido como Backtting , se recoge en el Algoritmo 3.1. Es un proceso iterativo que va suavizando los residuos. 3.1. Modelos aditivos generalizados 23 El hecho de ser generalizado tiene que ver con que pueden existir distintas funciones link que relacionan la media condicionada de una variable respuesta Y con una función aditiva de las variables explicativas. Existen distintos tipos de funciones link y se dene el modelo de acuerdo con la expresión (3.2). g[µ(X)] = α+f1(X1) + . . . +fp(Xp). (3.2) Para los datos sobre los que se está trabajando, se usa la función identidad, luego en adelante se hará referencia a estos modelos simplemente como modelos aditivos. A la hora de introducir la deviance característica de estos modelos, cabe destacar que en el caso de tener normalidad en la respuesta (es el caso de la función identidad como función link )se corresponde con la suma residual de cuadrados, RSS , propia de los modelos lineales. Una característica importante que los hace útiles, es que no todas las funciones deben ser no lineales, esto reduce la complejidad de un modelo totalmente no paramétrico. 3.1.1. Ajuste teórico de un modelo aditivo generalizado Con la notación habitual que se está utilizando, se tiene que un modelo aditivo tiene la siguiente forma Y=α+ p X j=1 fj(Xj) + ε, (3.3) y además ε∈N(0, σ2). Este tipo de modelos presentan las mismas hipótesis que las del modelo lineal, exceptuando su forma. Además se impone que E(fj(Xj)) = 0 de forma que no haya dos modelos diferentes que aporten la misma predicción. Como se había mencionado anteriormente, las fj son funciones de suavizado que se determinan a partir de los datos, mediante el algoritmo de Backtting . Algoritmo 3.1 (Backtting) . 1. Inicialización ˆα=1 NPN 1yi,ˆ fj= 0,∀i, j 2. Bucle :j= 1,2,··· , p, 1,2,··· , p. ˆ fj← Sj[{yi−ˆα−Pk=jˆ fk(xik)}N 1], ˆ fj←ˆ fj−1 NPN i=1 ˆ fj(xij) hasta que las ˆ fj varíen menos que un valor predeterminado. 24 3. Modelo no Lineal Es importante destacar que S es el operador de suavizado. Hay distintos tipos de operadores de suavizado, pero en este caso se usa el spline cúbico. Un spline es una función polinomial por partes que trata de ajustarse a un conjunto de datos. Para conseguir una aproximación de los mismos, utiliza un proceso consistente en una interpolación entre cada par de datos que están cerca, de forma que la estimación de la función nal se obtiene sumando todas las aproximaciones entre datos contiguos. El spline cúbico, que es el que utiliza este modelo, tiene la particularidad de que usa un polinomio cúbico para cada aproximación entre puntos. Así, el conjunto nal, es decir, el spline, es una función de clase 2, esto es, una función continua cuyas derivadas primera y segunda existen y son continuas cumpliendo que la segunda derivada se hace 0 en los extremos del intervalo donde se dene esta función. Esta información se recoge en el Capítulo 5 de Hastie et al. (2009) y en Wood (2006). Así se tiene que las fj son splines cúbicos, uno por cada variable explicativa que se tenga, y que se ajuste no linealmente. Como las funciones de suavizado son muy exibles, no serán únicas. La constante α se ajusta dependiendo de las funciones suaves, además como se impone que PN 1fj(xij)=0 ∀j , se tiene ˆα=1 NPN i=1 yi . Una vez jada la condición anterior para ˆα se itera hasta conseguir todas las funciones que se necesitan. Se va aplicando el operador de suavizado a [{yi−ˆα−Pk=jˆ fk(xik)}N 1] como función de xij para estimar cada ˆ fj , hasta que las estimaciones se estabilicen. Observación 3.2 . El paso 2 del algoritmo 3.1 no es necesario realizarlo ya que se ha impuesto que la suma de las estimaciones de las funciones sea nula. Pero se dene igualmente por posibles problemas de cálculo. 3.1.2. Formulación del modelo Una vez introducidos los modelos aditivos generalizados también conocidos como GAM, se busca aplicarlos a los datos que se están tratando de estudiar en este trabajo. Si se recuerdan los pasos llevados a cabo en los anteriores apartados, se llegó a la conclusión de que las variables que mejor explicaban en salario eran la edad (Age), el número de minutos jugados (MP), el usage (USG), el número de acciones ganadas por un jugador en defensa (DWS), la contribución total de un jugador cuando está en pista (BPM), y el valor sobre jugador de reemplazo (VORP). Teniendo esto en cuenta se formula el modelo aditivo a partir de la fórmula general vista anteriormente (3.1). Y=α+ p X j=1 fj(Xj) + ε (3.4) 3.1. Modelos aditivos generalizados 25 Para los datos que se estudian: Y=α+f1(Age) + f2(MP) + f3(USG) + f4(DW S) + f5(BPM) + f6(V ORP ) + ε, (3.5) y se supone que E(ε) = 0 Observación 3.3 . Los parámetros del modelo se aproximarán con el método REML ( Restricted Maximum Likelihood ), que no es más una forma de estimación de máxima verosimilitud que utiliza una función de probabilidad calculada de un conjunto de datos transformados y no de toda la información. Esto tiene una ventaja, y es que los parámetros que no intervienen directamente (pero que si son necesarios para estimar otros) no tienen ningún tipo de efecto. Observación 3.4 . Para la validación de este modelo se seguirán los pasos descritos en (Ross, 2019) y (Faraway, 2016). Estimate Std. Error t value Pr(>|t|) Intercepto 15.19410 0.03937 385.9 <2e-16 *** edf Ref.df F p-value s(Age) 4.178 5.152 19.553 <2e-16 *** s(MP) 3.534 4.377 9.779 <2e-16 *** s(USG) 2.915 3.680 9.162 1.74e-06 *** s(DWS) 1.005 1.009 0.539 0.462 s(BPM) 2.356 3.061 0.491 0.717 s(VORP) 2.609 3.269 1.470 0.247 Tabla 3.1: Estimaciomaciones y características del intercepto y de las funciones suaves. En la Tabla 3.1 se recogen algunos de los datos de la salida del resumen del primer Modelo Aditivo planteado. En la tabla se distinguen dos partes, la primera de ellas contiene los términos que no necesitan una función de suavizado, en este caso, unicamente el intercepto, ya que, por construcción, todas las variables explicativas se han estimado usando la forma más general de un modelo aditivo generalizado, esto es aproximando funciones para cada variable. A partir de la tercera la de tabla se tiene la información asociada a las variables que si se han estimado con una función suave. La primera columna muestra los grados de libertad efectivos, cuyo valor representa la complejidad de dicha función. Es decir, para un grado de libertad efectivo, la suavización es lineal, para 2, cuadrática y así sucesivamente. Por un lado, sin más que ver dicha columna se puede ver que la variable DWS tiene un comportamiento lineal, siendo así la variable con función de suavizado más simples. Por otro lado, la variable Age tiene la función de suavizado más compleja ya que sus grados de libertad efectivos superan 4. 26 3. Modelo no Lineal Además también se incluye un estadístico de contraste y un p-valor asociados al contraste de signicación que indica que funciones de suavizado deben incluirse en el modelo. De acuerdo con esto, es claro que DWS,BPM y VORP presentan p-valores altos, lo cual indica que no son signicativas. Dado que los modelos aditivos no presentan una elección automática de las variables, posteriormente se hará una selección manual de cuales son las variables que convienen ser introducidas en el modelo y eliminar aquellas que produzcan malos efectos en el ajuste. Con ánimos de visualizar la información explicada hasta ahora sobre este modelo se hace uso de un gráco. Con la función de R plot para un modelo aditivo, se obtiene un gráco distinto para cada variable explicativa, donde viene representada su función de suavizado (Ross, 2019). Efectivamente la Figura 3.3 muestra un resultado acorde al de la Tabla 3.1. Se intuye una linealidad sobre la función de suavizado de la variable DWS, tal y como se había visto antes, mientras que las funciones de las variables Age y MP oscila más. A pesar de esto, se puede pensar que valores próximos a 1 en los grados de libertad efectivos, también podrían estar ajustándose de forma lineal. Esto se puede analizar desde el gráco. Para la variable VORP, por ejemplo, cuyos grados de libertad efectivos son 2.609, si uno se ja en la representación de su función de suavizado, se ve que donde se acumulan la mayor parte de los datos (los datos vienen representados en el eje de abscisas por rayas negras), la gráca sigue un comportamiento que se parece a una conducta lineal. Para la variable BPM, que tiene un valor de grados efectivos de 2.356, también podría seguir una tendencia que se aproximase a la linealidad cerca de donde hay una mayor concentración de datos. Debido a estos resultados, está claro que se debe denir un nuevo modelo que tome la variable DWS como lineal y plantearse si BPM y VORP se ajustan mejor al salario de forma lineal o con las funciones de suavizado. Las otras tres columnas de la Tabla 3.1 son muy similares a las de un resumen de un modelo lineal y hacen referencia a los contrastes de signicación de las funciones de suavizado. Dado que los modelos aditivos no cuentan con una selección de variables, es necesario llevarla a cabo manualmente. Esto es, eliminar del modelo una a una, aquellas variables no signicativas (con p-valores más grandes), hasta obtener un modelo con todas ellas signicativas. 3.1. Modelos aditivos generalizados 27 20 25 30 35 −1.5 −0.5 0.0 0.5 1.0 1.5 Age s(Age,4.18) 500 1000 1500 2000 2500 −1.5 −0.5 0.0 0.5 1.0 1.5 MP s(MP,3.53) 10 15 20 25 30 35 −1.5 −0.5 0.0 0.5 1.0 1.5 USG s(USG,2.92) 0 1 2 3 4 5 −1.5 −0.5 0.0 0.5 1.0 1.5 DWS s(DWS,1) −10 −5 0 5 −1.5 −0.5 0.0 0.5 1.0 1.5 BPM s(BPM,2.36) −2 0 2 4 6 −1.5 −0.5 0.0 0.5 1.0 1.5 VORP s(VORP,2.61) Figura 3.3: Funciones de suaves de las variables explicativas (línea negra) e intervalos de conanza (línea punteada). 28 3. Modelo no Lineal De acuerdo con la Tabla 3.1, el mayor p-valor, 0.717, es el de BPM. Luego se dene un modelo eliminando dicha variable. Y=α+f1( Age ) + f2( MP ) + f3( USG ) + f4( DWS ) + f5( VORP ) + ε, (3.6) Estimate Std. Error t value Pr(>|t|) Intercepto 15.194 0.039 385.5 <2e-16 *** edf Ref.df F p-value s(Age) 4.227 5.211 19.924 <2e-16 *** s(MP) 3.460 4.286 9.433 <2e-16 *** s(USG) 2.832 3.580 9.717 1.35e-06 *** s(DWS) 1.004 1.007 0.616 0.43192 s(VORP) 3.109 3.899 3.645 0.00756 ** Tabla 3.2: Características del intercepto y de las funciones suaves para el modelo aditivo sin BPM. Una vez formulado el nuevo modelo (3.6) en su resumen, que aparece recogido en la Tabla 3.2 se ve que el VORP tiene asociado un p-valor grande, 0.43192, lo cual indica que no es signicativamente distinta de 0. Se procede eliminándolo y se obtiene: Y=α+f1( Age ) + f2( MP ) + f3( USG ) + f4( VORP ) + ε. (3.7) Los resultados obtenidos para el modelo (3.7) se recogen en la Tabla 3.3. Estimate Std. Error t value Pr(>|t|) Intercepto 15.194 0.039 385.7 <2e-16 *** edf Ref.df F p-value s(Age) 4.248 5.233 19.846 <2e-16 *** s(MP) 3.466 4.293 17.784 <2e-16 *** s(USG) 2.813 3.557 9.785 1.21e-06 *** s(VORP) 3.167 3.967 5.029 0.000645 *** Tabla 3.3: Características del intercepto y de las funciones suaves para el modelo aditivo (3.7). Los resultados recogidos en la Tabla 3.3 indican que todas las funciones suaves del modelo son signicativas, por lo que el proceso de selección naliza y se prosigue con la validación del 3.1. Modelos aditivos generalizados 29 modelo seleccionado, en este caso el modelo (3.7). Se utilizará la función gam.check() para ver si se ha obtenido un modelo correcto. Se recoge la información más relevante de la salida del summary en la Tabla 3.4. En primer lugar se debe observar la convergencia del modelo. Se necesita una convergencia total, lo cual signica que el Algoritmo 3.1 ha encontrado una solución para cada función de suavizado. En este caso, se puede ver que se ha alcanzado dicha convergencia en 5 pasos. A continuación se tienen entradas para los términos no lineales. Se corresponde con contrastes asociados a las bases de las funciones, por lo que se tendrá cuatro columnas en las que se describen el número de bases que se han usado para estimar el parámetro de suavizado (la columna k'), los grados de libertad efectivos (edf), el estadístico de contraste(k-index) y un p-valor (p-value). Dicho p-valor indica si los residuos están o no distribuidos aleatoriamente. Cuanto más pequeño sea ese valor indica que hay menos distribución aleatoria y es un indicador de que probablemente, no se hayan usado sucientes bases de estimación. full convergence after 5 iterations. k' edf k-index p-value s(Age) 9.00 4.25 0.94 0.120 s(MP) 9.00 3.47 1.03 0.730 s(USG) 9.00 2.81 1.02 0.710 s(VORP) 9.00 3.17 1.01 0.61 Tabla 3.4: Resumen comprobación modelo A la vista de los valores de la última columna de la Tabla 3.4 el modelo que se está estudiando, no presenta p-valores bajos en los contrastes, por lo que se puede pensar en aleatoriedad de los residuos y consecuentemente, en que hay bases sucientes para la estimación de los parámetros. Se analizan ahora estos resultados mediante un gráco con la función plot(gam.check()) . 36 3. Modelo no Lineal type term estimate std.error statistic p.value conf.low conf.high response Age 0.10 0.05 1.84 0.07 -0.01 0.21 response MP 0.00 0.00 1.69 0.09 -0.0001 0.001 response USG 0.03 0.02 1.33 0.18 -0.01 0.07 response VORP 0.23 0.13 1.75 0.08 -0.03 0.49 Tabla 3.10: Variación del logaritmo del salario de Ricky Rubio según el incremento en las distintas variables explicativas. La interpretación que se le puede dar a los resultados de la tabla anterior es la misma que se hace en los casos anteriores. No se debe olvidar que el salario, la variable respuesta del modelo (3.7), fue transformada mediante logaritmos, luego las cantidades de la columna estimate de la Tabla 3.10 indica cuanto aumenta el logaritmo del salario de dicho jugador en función de la variable sobre la que se aumente una unidad. Por otro parte, la librería que se está utilizando, permite también hacer comparaciones entre jugadores cticios que presentan ciertas características. Por ejemplo se puede plantear de que manera inuye cumplir años en la NBA, con la función comparisons se obtiene el resultado de la Tabla 3.11. type term contrast estimate std.error statistic p.value conf.low conf.high response Age (x + 1) - x 0.06 0.01 4.64 <0.001 0.04 0.09 Tabla 3.11: Comparación en el salario según la edad Según el resultado anterior, es claro que la diferencia entre tener un año menos o tener un año más para un jugador de la NBA, supone un aumento de 0.06 en el logaritmo del salario. El mismo tipo de contraste se puede plantear de otra forma. Por ejemplo, para un posible jugador de 26 años, se quiere ver cual es la diferencia de salario de uno de 31. type term contrast estimate std.error statistic p.value conf.low conf.high 1 response Age 31 - 26 0.68 0.12 5.486 0.00 0.43 0.92 Tabla 3.12: Variación del salario en función de tener 26 o 31 años Así, esta comparación se puede interpretar como sigue. Que un jugador tenga 31 años implica que cobrará 1.97 (= e0.68 ) unidades más que un jugador de 26 años. Ahora bien, lo que se acaba de hacer para la edad, se puede hacer para cada una de las variables que pertenecen al modelo, incluso se pueden comparar entre ellas. 3.1. Modelos aditivos generalizados 37 Una medida interesante sobre la cual realizar las comparaciones es la media. Por ejemplo al pensar en el VORP, que es un valor sobre el cual no se tiene una idea tan intuitiva como la edad, las comparaciones se pueden realizar viendo cual es el efecto de la respuesta cuando la variable se distancia una o dos desviaciones típicas de la media. Para llevarlo a cabo en R basta indicar si se quiere una desviación ( sd ), dos ( 2sd ) o las que se quiera. type term contrast estimate std.error statistic p.value conf.low conf.high response VORP (x + sd/2) - (x - sd/2) 0.40 0.10 3.86 0.00 0.20 0.61 Tabla 3.13: Efecto sobre la respuesta de una desviación típica sobre la media en el VORP Luego para un posible jugador cuyo VORP esté una desviación típica por encima de la media, su salario será 1.49(= e0.40 ) unidades mayor que el salario de uno cuyo VORP esté una desviación típica por debajo de la media. Durante estos capítulos, se ha tratado de buscar cual es el mejor modelo para explicar como varía el salario de los jugadores de la NBA en función de sus datos sobre la pista. Se ha analizado el modelo lineal múltiple, concluyendo que este tipo de ajuste no era el mejor ya que no se cumplía la hipótesis de linealidad. En este contexto, se introdujeron los modelos aditivos generalizados, que permitían combinar funciones lineales y no lineales que permitiesen una mejor aproximación de los datos. En el próximo capítulo, se tratará de seleccionar distintas variables y ver en que sentido están relacionadas y además se tratará de dar una explicación a aquellos datos que pueden resultar anómalos. Capítulo 4 Comparaciones Durante los capítulos 2 y 3 se describieron modelos que mediante un conjunto de variables respuestas apropiadas trataban de explicar como se podía estimar el salario de los jugadores de la liga de baloncesto americana. En primer lugar se escogió un conjunto de variables que mediante su correlación se vio que podían ser las adecuadas, y a partir de ahí fueron surgiendo los distintos modelo estudiados. Llegados a este punto uno puede plantearse como podría inuir alguna de las variables por si misma sobre el salario o a su vez sobre otras variables respuesta. En este capítulo se tratará de dar una interpretación de estas interacciones, así como de los puntos que puedan resultar anómalos y como se pueden explicar dichas anomalías. 4.1. Salario vs Box Plus/Minus El Box Plus/Minus es una medida interesante de la ecacia de un jugador, esto es porque engloba muchas características, prácticamente resume todo lo que hace un jugador los minutos que está en el campo. Se usa por primera vez en el hockey y posteriormente en la NFL y la NBA. Se trata de una medida que estima lo que contribuye un jugador por cada 100 posesiones, y es una forma de ver que cantidad de puntos aporta a su equipo. Para calcularlo, se utiliza la diferencia de puntuación desde que un jugador entra en la pista, hasta que sale. Es importante destacar que esta medida depende de la posición de cada jugador. Parece lógico pensar que una mayor contribución supondría un mayor salario, veamos si esto es cierto. 4.1.1. Formulación del modelo De acuerdo con lo que se explica en Winston (2012) se tratará de ver como inuye el Box Plus/Minus en el salario de los jugadores. Para este trabajo, se han sacado los datos de Forman 39 40 4. Comparaciones (2000) y Sierra (2002) como ya se ha mencionado anteriormente. En esta base de datos, ya se proporcionan las contribuciones de cada jugador en ataque, en defensa y totales a su equipo, esto es, las variables OBPM, DBPM y BPM respectivamente. El problema de los valores brutos para estas variables, es que dependen de cuales sean sus rivales y quienes sean sus compañeros en el campo. Para darle una solución a esto, se trabaja con el Box Plus/Minus ajustado. Los valores obtenidos tienen una representación. Por ejemplo, Luka Doncic, jugador de los Mavericks, tiene un BPM de 6.8, esto signica que un equipo de jugadores promedio de la NBA, mejoraría si jugase Luka, aumentando 6.8 puntos por cada 100 posesiones. Ya que se tienen 3 medidas distintas en primer lugar se trabajará con la medida total y a partir de ahí se verá si está mejor pagado en la NBA ser bueno en ataque o en defensa; esto es, ver si tener un jugador con buen OBPM tiene mejor salario que uno con mejor DBPM. Para llevar a cabo este estudio se partirá del modelo más simple posible, el modelo lineal simple. Dicho modelo no es más que un caso particular de (2.1) con un único regresor (Draper et al., 1998; Ryan, 2008). Y=β0+β1X1+ε, (4.1) donde Y es el salario, X1 el BPM y ε el error. Aplicando el summary de R, se obtiene que la estimación del intercepto es de 15.36 y la del coeciente β1 es 0.224. Luego el modelo planteado es: Y= 15.36 + 0.224 × BPM . (4.2) Para poder utilizar este modelo, de acuerdo con lo descrito anteriormente, se deben cumplir las hipótesis del modelo lineal. Por tanto hay que realizar los contrastes (2.14), (2.15), (2.17) y (2.18). Test P-valor Linealidad 0.053 Normalidad 0.008 Homocedasticidad 0.828 Independencia 0.302 Tabla 4.1: p-valores asociados a los contrastes Los resultados de realizar los contrastes indican que no se tiene la hipótesis de normalidad. (Se puede ver una representación gráca en la Figura I.1 en el Anexo I). Además de no tenerse normalidad en los errores lo cual inuiría a la hora del cálculo de los intervalos de conanza, 4.1. Salario vs Box Plus/Minus 41 al aplicar un test para contrastar la normalidad, el p-valor obtenido indica que existen pruebas estadísticamente signicativas a un nivel de entre el 5 y el 10 % para rechazar la hipótesis nula de estar ante un modelo lineal. A pesar de no estar por debajo del 5 % , aplicando el RESET test ya introducido anteriormente, se obtiene una signicancia mayor del 10 % , y si uno se apoya en la representación gráca del ajuste, se puede pensar que el uso de un modelo lineal no es el más adecuado. Sin embargo planteando un caso particular de (3.3), donde solo se tiene una única variable X1 y una única función de suavizado f1 , se obtiene que donde se encuentra la mayor cantidad de datos, el ajuste sigue una línea recta como se puede ver en la Figura 4.1. −10 −5 0 5 −3 −1 1 2 3 BPM s(BPM,2.55) Figura 4.1: Función suave para el BPM (línea negra) e intervalos de conanza (línea discontinua). De acuerdo con la Figura 4.1, es lógico utilizar el modelo formulado en (4.1). El objetivo principal de este ajuste es poder interpretar los resultados de forma que resulten útiles y se pueden aplicar a la práctica. De nuevo para ayudarse en la interpretación, se hace uso del paquete marginaleffects de R (Arel-Bundock, 2022), y que se utilizó en el capítulo anterior para predecir los resultados. 42 4. Comparaciones Interpretación de los marginal eects En primer lugar, es interesante predecir el salario según este modelo para un jugador con BPM medio, sirve como una estimación media del salario, lo cual puede resultar útil. rowid type predicted std.error conf.low conf.high BPM 1 1 response 15.19 0.05 15.09 15.30 -0.76 Tabla 4.2: Predicción del logaritmo del salario en función del BPM medio Así, el salario para un posible jugador cuyo valor fuese el promedio de todos, sería de 3953058 dólares. Obsérvese que dicha predicción se puede calcular manualmente substituyendo en (4.2) el valor del BPM medio, esto es -0.76. Haciendo uso de las funciones para calcular el máximo y el mínimo de una variable así como con que jugador se corresponde, se ha encontrado que el jugador con el máximo BPM de la temporada 2020-2021 fue Giannis Antetokoumpo, con un valor de 9, mientras que el jugador con el mínimo fue Josh Hall. Sus salarios reales y los estimados por el modelo son los que siguen. Jugador Salario estimado Salario real Giannis Antetokoumpo 35321415 27528088 Josh Hall 324486.8 449115 Tabla 4.3: Salarios para jugador con mejor y peor BPM Es claro según los resultados de la Tabla 4.3 que existen datos que hacen que el modelo diera de los resultados ideales. Por ejemplo, ya que estamos ante un modelo lineal, la estimación del salario de Antetokoumpo es la más alta, sin embargo su salario real está por debajo de dicho valor. Giannis ocupa el puesto 29 en el ranking de pagos más elevados (Sierra, 2002), lo cual no coincide con la formulación del modelo. Por otro lado Josh Hall tiene un salario mayor del que estima el modelo, esto es también debido a los outliers que se analizarán en la siguiente sección. Se debe tener en mente que en la NBA se rman contratos multianuales, esto supone que a la hora de rmarlo los números obtenidos por los jugadores no sean los mismos que los de temporadas posteriores. Para ver cuanto varía el salario según la variación del BPM, se usan los marginal eects . En este caso dado que solo se está estudiando la respuesta en función de un grupo simplemente se calcula el promedio de lo efectos marginales para tener una idea general de cual es la variación global. 4.1. Salario vs Box Plus/Minus 43 type term estimate std.error statistic p.value conf.low conf.high 1 response BPM 0.22 0.02 12.78 <0.001 0.19 0.26 Tabla 4.4: Promedio de efectos marginales del BPM sobre el salario En general, un aumento en una unidad en los valores del Box Plus/Minus supone un aumento de 1.246 en el salario, que no es más que la exponencial del valor que se especica en la columna estimate de la Tabla 4.4. Finalmente, en la Figura 4.2 se tiene una representación gráca de la recta del ajuste del salario en función del BMP, se consigue utilizando la función plot_cap . 13 14 15 16 17 18 −10 −5 0 5 10 BPM log(Salario) Figura 4.2: Predicciones para el logaritmo del salario según el BPM Interpretación de los outliers Como se ha argumentado anteriormente, el jugador con mejor BPM, Giannis Antetokoumpo no es el jugador que más cobra, y según la Figura 4.2 esto debería ser así. El problema puede venir de datos considerados como extraños que intereran en el ajuste del modelo y provoquen este tipo de resultados. Se pretende entonces hacer un estudio de los datos que no se ajustan bien mediante el modelo,para tratar de darles una explicación. Los siguientes conceptos y procedimientos se basan en la búsqueda de datos atípicos en modelo de regresión lineal simple. Para esta sección se hará uso de las deniciones y resultados en los trabajos de Rousseeuw and Leroy (2005), Cook and Weisberg (1982), Ryan (2008) y Draper et al. (1998). La búsqueda de datos atípicos conocidos en inglés por outliers se centra en encontrar aquellos 44 4. Comparaciones valores que tienen una gran repercusión sobre el estimador de mínimos cuadrados, que es aquel que se usa para el cálculo de los parámetros del modelo, incluyendo los coecientes. En primer lugar se introducen los tipos de residuos de un modelo de regresión. Se sabe que dichos valores se denen como la diferencia de los valores de la respuesta observados y el ajuste. Esto es ˆεi=Yi−ˆ Yi=Yi−xiˆ β i ∈ {1, . . . , n} . Estos errores son conocidos como residuos brutos de la regresión, sin embargo, tienen la característica de que estos no varían en la misma escala, lo cual supone un problema a la hora de detectar irregularidades. Para solventar este inconveniente, se trabaja con los residuos estandarizados, denidos en (2.16) o los estudentizados (4.3). Una particularidad que hace a estos residuos más útiles que los generados por el modelo sin ningún tipo de transformación es que estos están más próximos a tener varianza común 1, lo cual permite detectar los valores atípicos más fácilmente. Denición 4.1. Los residuos estudentizados se denen a partir de los estandarizados de la siguiente forma: ti=ri qn−p−r2 i n−p−1 , (4.3) donde ri son los residuos estandarizados, p el número de parámetros del modelo y n el número de observaciones. Los candidatos a ser outliers de la regresión son aquellos que tienen valores grandes de los residuos. Como valor a superar para ser considerado un valor atípico, se toma 1.96, dicho valor no es más que el de una distribución normal que contiene a más del 95 % de los individuos. A modo de ilustración se representan los residuos estandarizados frente a las predicciones de la respuesta. Además en color rojo se pintan aquellos residuos que superan el umbral determinado y que por tanto son candidatos a formar parte de los valores que inuencian este ajuste. Toda esta información se recoge en la Figura 4.3. Como ya se ha visto anteriormente, lo que se busca para tener un modelo correcto, es que los residuos se distribuyan en torno a una línea imaginaria sobre el 0 de forma constante. Los residuos más alejados de la línea mencionada, serían los valores aislados que se buscan. Efectivamente esta suposición coincide non la representación gráca de la Figura 4.3. 4.1. Salario vs Box Plus/Minus 45 13 14 15 16 17 −3 −2 −1 0 1 2 Fitted Values Deviance residuals Figura 4.3: Residuos frente a valores ajustados A continuación se recogen en la Tabla 4.5 los valores del BPM correspondientes a los puntos rojos junto con el salario estimado por el modelo y el salario real, así como los jugadores a los que están asociados. Las entradas de la Tabla 4.5 muestran lo que cabía esperar. Las observaciones del ajuste realizado que presentan altos residuos vienen de jugadores que están pagados muy por encima de su valor o al contrario muy por debajo. Por ejemplo, Robert Williams presenta el BPM más alto de los jugadores recogidos en la tabla, es por esto que, según el modelo, debería ser el jugador con salario más alto en la Taba 4.5. Sin embargo se le paga 2029920 dólares, cuando la predicción es que debería cobrar aproximadamente 16 millones de dólares más. Si se ja uno ahora en Rodney Hood, el jugador con peor BPM y por tanto el que debería tener un salario más bajo, es claro que se le paga mucho más de lo que se debería. Según su actuación en la temporada 2020-2021, su salario debería ser unos 10 millones de dólares menos. Es claro que los salarios están pactados previamente a la temporada, por lo que estos datos extraños pueden venir de un jugador que pase de ser un alguien poco conocido y con números malos en años anteriores, a un jugador promesa con muy buenos datos la siguiente temporada o viceversa, y de ahí a estas irregularidades en los salarios. 52 4. Comparaciones Análisis de los outliers Se pretende entonces hacer un estudio de los datos que no se ajustan bien mediante el modelo, con el objetivo de saber si eliminando dichos datos se consigue tener una buena aproximación y tratar de darle una explicación a dichas anomalías. El procedimiento que se sigue es análogo al de la sección anterior. Por un lado, en primer lugar se puede hacer una representación gráca del modelo, del ajuste y de los puntos con capacidad de inuencia, es decir, los apalancamientos. Dado que en el modelo lineal simple se presenta una única variable que pretende explicar la respuesta, no existe la opción de que la inuencia de otras variables intereran en el ajuste, de forma que no se pueda dar una explicación razonable de los valores de los residuos. Es por esto que no será necesario utilizar los apalancamientos, y se pueden estudiar directamente los residuos estandarizados de la regresión. 20 25 30 35 −2 0 2 4 6 Age VORP Figura 4.6: Ajuste del modelo, recta de regresión y residuos estandarizados (en azul). En la Figura 4.6, se pintan en azul los residuos estandarizados que superan en valor absoluto el límite previamente denido, es decir, el valor de una normal estándar que contiene al 95 % de los individuos que se estudian. Una vez se localizan los puntos con altos valores absolutos para los residuos estandarizados, se trata de detectar a que jugadores hacen referencia y ver que es lo que les hace convertirse en valores extraños. 4.2. VORP vs Age 53 Jugador Edad VORP estimado VORP Real Bam Adebayo 23.00 3.70 0.407 Giannis Antetokounmpo 26.00 5.60 0.608 Bradley Beal 27.00 2.90 0.676 Mikal Bridges 24.00 3.10 0.475 Jimmy Butler 31.00 4.30 0.944 Stephen Curry 32.00 5.80 1.011 Luka Doncic 21.00 5.10 0.274 Joel Embiid 26.00 3.80 0.609 Rudy Gobert 28.00 3.80 0.7243 James Harden 31.00 3.20 0.944 Tobias Harris 28.00 2.90 0.743 Kyrie Irving 28.00 3.60 0.743 LeBron James 36.00 3.80 1.279 Zach LaVine 25.00 3.10 0.542 Kawhi Leonard 29.00 4.20 0.810 Damian Lillard 30.00 5.00 0.877 Donovan Mitchell 24.00 2.80 0.475 Chris Paul 35.00 3.60 1.212 Julius Randle 26.00 3.90 0.609 Domantas Sabonis 24.00 3.30 0.475 Jayson Tatum 22.00 3.40 0.341 Karl-Anthony Towns 25.00 2.80 0.542 Nikola Vucevic 30.00 3.40 0.877 Russell Westbrook 32.00 3.40 1.010 Zion Williamson 20.00 4.00 0.207 Trae Young 22.00 3.00 0.341 Tabla 4.11: Jugadores que producen residuos grandes en el ajuste El modelo que se ha denido para este análisis, es un modelo lineal simple con la característica de que, conforme aumenta la edad, también se tiene un aumento en el VORP del jugador. Dicho razonamiento se puede ver en la Figura 4.6, donde se ha representado la recta de regresión. Ahora bien, parece razonable pensar que un aumento en la edad mejore el nivel de un jugador por el hecho de que ganar experiencia así como entrenar durante largos períodos de tiempo hacen que un jugador pueda aportar más. Esto puede parecer lógico hasta un punto, esto es, al llegar a ciertas edades, la condición física de los jugadores empeora, de forma que su valor comienza a 54 4. Comparaciones disminuir (Kalén et al., 2020). En cuanto a los jugadores recogidos en la Tabla 4.11, es claro ver que el modelo predice valores de VORP pequeños. Todos ellos aumentan con la edad, sin embargo son todos más bajos que los valores reales. Si uno se centra en el jugador más joven de dicha tabla, Zion Williamson, su VORP tiene un valor de 4, mayor que 2.9 que es el VORP de Tobias Harris, 8 años mayor que el. Por otro lado, Lebron James, cuya edad se encuentra entre las más elevadas de la NBA (ya se vio anteriormente que el máximo estaba en 37 años), tiene un valor de 3.80 y el valor estimado por el modelo sería de 1.28. A pesar de superar este valor, es claro que no es acorde si se tienen en cuenta que a mayor edad, mayor VORP. Todos estos valores anómalos llevan a uno a pensar que la explicación del valor sobre un jugador de reemplazo no es explicable unicamente mediante la edad. De hecho si se realiza el summary del modelo, se obtiene que el valor del coeciente de determinación es de 0.05952, lo cual indica que dicho ajuste solo explica menos de un 6 % de la varianza de la respuesta. Dado que la intención principal del presente trabajo era la estimación de los salarios a través de ciertas características del juego de los deportistas, conviene relacionar los resultados obtenidos en este apartado con dicho estudio. Así de acuerdo con la explicación de las variables sacadas de Forman (2000), el salario debe relacionarse linealmente con el VORP, y por tanto se concluye tras el estudio realizado en este apartado, que la edad, no sería una buena característica para tratar de explicar la asignación justa de los pagos de la NBA, como era lógico pensar. A lo largo del trabajo se ha hecho un análisis de ciertas variables con el objetivo principal de buscar una buena aproximación que pueda ser usada por entrenadores, responsables de los equipos y directivos, a la hora de decidir cual es el sueldo justo de un jugador según su actuación en la liga regular. Además puede resultar también útil a los jugadores en ánimos de ver en que deberían enfocar sus entrenamientos para obtener un sueldo mayor. Los resultados no fueron óptimos a la hora de plantear modelos lineales, pero gracias a los modelos aditivos se obtuvieron mejores aproximaciones y consecuentemente mejores interpretaciones. Finalmente los pequeños modelos planteados que trataban de comparar distintas variables que parecían ser importantes por si solas, mostraron por un lado, que efectivamente el Box Plus/Minus es un tipo de estadística muy útil y que produce buenos resultados y por otro lado que la edad no basta para tener una predicción de los valores del VORP, y por tanto que la misma, tampoco inuye por si sola sobre el salario. Bibliografía Vincent Arel-Bundock. marginaleects: Marginal Eects, Marginal Means, Predictions, and Contrasts , 2022. URL https://CRAN.R-project.org/package=marginaleffects . R package version 0.5.0. R.D. Cook and S. Weisberg. Residuals and Inuence in Regression . Chapman & Hall/CRC Monographs on Statistics & Applied Probability. Taylor & Francis, 1982. ISBN 9780412242809. N.R. Draper, N.R. Draper, H. Smith, and H.K. Smith. Applied Regression Analysis . Number v. 1 in Applied Regression Analysis. Wiley, 1998. ISBN 9780471170822. J.J. Faraway. Extending the Linear Model with R: Generalized Linear, Mixed Eects and Nonparametric Regression Models . A Chapman & Hall Book. CRC Press, Taylor & Francis Group, 2016. ISBN 9781498720960. Sean Forman. Basketball Reference sports reference, 2000. URL https://www. basketball-reference.com/leagues/NBA_2021_advanced.html . T. Hastie, R. Tibshirani, and J. Friedman. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition . Springer Series in Statistics. Springer New York, 2009. ISBN 9780387848587. R.V. Ibarrola. Cálculo de probabilidades 2. Number v. 2 in Cálculo de probabilidades. EDICIONES ACADÉMICAS S.A., 2004. ISBN 9788496062412. Anton Kalén, Alexandra Pérez-Ferreirós, Pablo B. Costa, and Ezequiel Rey. Eects of age on physical and technical performance in national basketball association (nba) players. Research in Sports Medicine , 29(3):277288, 2020. doi: 10.1080/15438627.2020.1809411. Daniel Myers. About box plus/minus (bpm) | basketball-reference.com, 2022. URL https: //www.basketball-reference.com/about/bpm2.html . J.B. Ramsey. Tests for Specication Errors in Classical Linear Least Squares Regression Analysis . University of WisconsinMadison, 1968. 55 56 BIBLIOGRAFÍA Noam Ross. Gams in R by Noam Ross noam ross, 2019. URL https://noamross.github.io/ gams-in-r-course/ . P.J. Rousseeuw and A.M. Leroy. Robust Regression and Outlier Detection . Wiley Series in Probability and Statistics. Wiley, 2005. ISBN 9780471725374. T.P. Ryan. Modern Regression Methods . Wiley Series in Probability and Statistics. Wiley, 2008. ISBN 9780470081860. S. Sheather. A Modern Approach to Regression with R . Springer Texts in Statistics. Springer New York, 2009. ISBN 9780387096070. Jorge Sierra. Hoops hype, 2002. URL https://hoopshype.com/salaries/players/ 2020-2021/ . Robert Tibshirani. Regression shrinkage and selection via the lasso: a retrospective. Journal of the Royal Statistical Society: Series B (Statistical Methodology) , 73(3):273282, 2011. doi: 10.1111/j.1467-9868.2011.00771.x. W.L. Winston. Mathletics: How Gamblers, Managers, and Sports Enthusiasts Use Mathematics in Baseball, Basketball, and Football . Princeton University Press, 2012. ISBN 9781400842070. S. Wood. Generalized Additive Models: An Introduction with R . Chapman & Hall/CRC Texts in Statistical Science. Taylor & Francis, 2006. ISBN 9781584884743. 57 58 I. Tablas y Figuras complementarias Anexo I Tablas y Figuras complementarias Age MP PER TS X3Par FTr ORB DRB TRB AST STL BLK TOV USG OWS DWS WS WS48 OBPM DBPM BPM VORP V2 Age 1.00 0.16 0.17 0.19 0.11 -0.04 -0.04 0.06 0.02 0.15 0.06 -0.01 0.00 0.01 0.22 0.20 0.24 0.25 0.25 0.23 0.31 0.24 0.43 MP 0.16 1.00 0.42 0.29 -0.01 0.03 -0.14 0.04 -0.03 0.32 -0.01 -0.10 -0.03 0.38 0.64 0.80 0.77 0.32 0.55 0.07 0.51 0.61 0.62 PER 0.17 0.42 1.00 0.64 -0.46 0.43 0.36 0.42 0.44 0.40 0.09 0.32 -0.05 0.60 0.75 0.49 0.74 0.84 0.87 0.25 0.87 0.78 0.46 TS 0.19 0.29 0.64 1.00 -0.18 0.30 0.28 0.23 0.28 -0.09 -0.10 0.25 -0.07 0.05 0.61 0.33 0.57 0.80 0.63 0.25 0.65 0.46 0.23 X3Par 0.11 -0.01 -0.46 -0.18 1.00 -0.62 -0.68 -0.47 -0.60 -0.08 -0.01 -0.45 -0.32 -0.14 -0.19 -0.18 -0.21 -0.32 -0.06 -0.19 -0.13 -0.13 -0.08 FTr -0.04 0.03 0.43 0.30 -0.62 1.00 0.45 0.36 0.43 0.07 -0.02 0.35 0.26 0.15 0.28 0.15 0.26 0.37 0.17 0.18 0.22 0.22 0.05 ORB -0.04 -0.14 0.36 0.28 -0.68 0.45 1.00 0.65 0.86 -0.32 -0.05 0.65 0.18 -0.18 0.12 0.13 0.13 0.44 -0.01 0.27 0.09 0.02 -0.07 DRB 0.06 0.04 0.42 0.23 -0.47 0.36 0.65 1.00 0.95 -0.12 -0.14 0.52 0.22 0.07 0.18 0.33 0.25 0.36 0.15 0.34 0.26 0.25 0.17 TRB 0.02 -0.03 0.44 0.28 -0.60 0.43 0.86 0.95 1.00 -0.22 -0.12 0.62 0.22 -0.03 0.18 0.28 0.23 0.44 0.10 0.35 0.22 0.18 0.08 AST 0.15 0.32 0.40 -0.09 -0.08 0.07 -0.32 -0.12 -0.22 1.00 0.28 -0.29 0.31 0.58 0.33 0.24 0.33 0.13 0.47 0.05 0.43 0.51 0.36 STL 0.06 -0.01 0.09 -0.10 -0.01 -0.02 -0.05 -0.14 -0.12 0.28 1.00 -0.06 0.22 0.00 -0.03 0.13 0.02 0.10 0.02 0.51 0.21 0.12 0.04 BLK -0.01 -0.10 0.32 0.25 -0.45 0.35 0.65 0.52 0.62 -0.29 -0.06 1.00 0.11 -0.13 0.06 0.18 0.11 0.35 -0.00 0.46 0.17 0.06 -0.01 TOV 0.00 -0.03 -0.05 -0.07 -0.32 0.26 0.18 0.22 0.22 0.31 0.22 0.11 1.00 -0.03 -0.11 0.10 -0.04 -0.14 -0.22 0.26 -0.10 -0.01 0.05 USG 0.01 0.38 0.60 0.05 -0.14 0.15 -0.18 0.07 -0.03 0.58 0.00 -0.13 -0.03 1.00 0.37 0.27 0.37 0.15 0.60 -0.27 0.43 0.53 0.44 OWS 0.22 0.64 0.75 0.61 -0.19 0.28 0.12 0.18 0.18 0.33 -0.03 0.06 -0.11 0.37 1.00 0.59 0.95 0.77 0.80 0.20 0.78 0.88 0.50 DWS 0.20 0.80 0.49 0.33 -0.18 0.15 0.13 0.33 0.28 0.24 0.13 0.18 0.10 0.27 0.59 1.00 0.81 0.49 0.48 0.46 0.60 0.68 0.56 WS 0.24 0.77 0.74 0.57 -0.21 0.26 0.13 0.25 0.23 0.33 0.02 0.11 -0.04 0.37 0.95 0.81 1.00 0.75 0.77 0.32 0.80 0.90 0.57 WS48 0.25 0.32 0.84 0.80 -0.32 0.37 0.44 0.36 0.44 0.13 0.10 0.35 -0.14 0.15 0.77 0.49 0.75 1.00 0.76 0.49 0.85 0.69 0.31 OBPM 0.25 0.55 0.87 0.63 -0.06 0.17 -0.01 0.15 0.10 0.47 0.02 -0.00 -0.22 0.60 0.80 0.48 0.77 0.76 1.00 0.12 0.93 0.84 0.54 DBPM 0.23 0.07 0.25 0.25 -0.19 0.18 0.27 0.34 0.35 0.05 0.51 0.46 0.26 -0.27 0.20 0.46 0.32 0.49 0.12 1.00 0.48 0.34 0.15 BPM 0.31 0.51 0.87 0.65 -0.13 0.22 0.09 0.26 0.22 0.43 0.21 0.17 -0.10 0.43 0.78 0.60 0.80 0.85 0.93 0.48 1.00 0.87 0.53 VORP 0.24 0.61 0.78 0.46 -0.13 0.22 0.02 0.25 0.18 0.51 0.12 0.06 -0.01 0.53 0.88 0.68 0.90 0.69 0.84 0.34 0.87 1.00 0.57 V2 0.43 0.62 0.46 0.23 -0.08 0.05 -0.07 0.17 0.08 0.36 0.04 -0.01 0.05 0.44 0.50 0.56 0.57 0.31 0.54 0.15 0.53 0.57 1.00 Tabla I.1: Colinealidad entre las variables explicativas 59 Salario vs BPM 13 14 15 16 17 −4 −3 −2 −1 0 1 2 3 Fitted values Residuals Residuals vs Fitted V2254 V2176 V2158 −3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 Theoretical Quantiles Standardized residuals Normal Q−Q V2254 V2176 V2158 13 14 15 16 17 0.0 0.5 1.0 1.5 Fitted values Standardized residuals Scale−Location V2254 V2176 V2158 0.000 0.010 0.020 0.030 −3 −2 −1 0 1 2 Leverage Standardized residuals Cook's distance Residuals vs Leverage V2403 V2406 V2182 Figura I.1: Grácos para la validación y diagnosis del Salario vs BPM 60 I. Tablas y Figuras complementarias Salario Vs OBPM 13 14 15 16 17 −4 −2 0 2 Fitted values Residuals Residuals vs Fitted V2254 V256 V2176 −3 −2 −1 0 1 2 3 −3 −1 1 2 3 Theoretical Quantiles Standardized residuals Normal Q−Q V2254 V256 V2176 13 14 15 16 17 0.0 0.5 1.0 1.5 Fitted values Standardized residuals Scale−Location V2254 V256 V2176 0.000 0.010 0.020 0.030 −4 −2 0 1 2 3 Leverage Standardized residuals Cook's distance Residuals vs Leverage V2406 V2206 V2118 Figura I.2: Grácos para la validación y diagnosis. Salario vs OBPM Estimate Std. Error t value Pr(>|t|) Intercepto 15.19410 0.05125 296.5 <2e-16 *** edf Ref.df F p-value s(OBPM) 3.769 4.715 40.85 <2e-16 *** Tabla I.2: Características modelo adtivos Salario vs OBPM. 61 Salario Vs DBPM 14.8 15.2 15.6 −4 −2 0 2 Fitted values Residuals Residuals vs Fitted V2254 V2176 V244 −3 −2 −1 0 1 2 3 −3 −1 0 1 2 Theoretical Quantiles Standardized residuals Normal Q−Q V2254 V2176 V244 14.8 15.2 15.6 0.0 0.5 1.0 1.5 Fitted values Standardized residuals Scale−Location V2254 V2176 V244 0.00 0.01 0.02 0.03 0.04 −3 −1 1 2 Leverage Standardized residuals Cook's distance Residuals vs Leverage V2228 V256 V2119 Figura I.3: Grácos para la validación y diagnosis. Salario vs DBPM. Estimate Std. Error t value Pr(>|t|) Intercepto 15.19410 0.06098 249.2 <2e-16 *** edf Ref.df F p-value s(DBPM) 3.695 4.617 3.266 0.00852 ** Tabla I.3: Características modelo aditivo Salario vs DBPM. 68 II. Código de R plot(modelo) # Contraste de hipótesis: # LINEALIDAD #x=c(Age,MP,PER,STL,USG,OWS,DWS,WS,OBPM,BPM,VORP) #sm.regression(x,salario,model="linear") resettest(modelo,power=3) # NORMALIDAD res<-rstandard(modelo) shapiro.test(res) # HOMOCEDASTICIDAD hmctest(modelo) # INDEPENDENCIA durbinWatsonTest(modelo) #-----------------------------------------------------------------# # Nueva selección de las varibles #-----------------------------------------------------------------# X=matrix(c(Age,MP,PER,STL,USG,OWS,DWS,WS,OBPM,BPM,VORP),ncol=11) res.lasso=cv.glmnet(X,salario,alhpa=1) res.lasso coef(res.lasso,s=res.lasso$lambda.1se) coef(res.lasso,s=res.lasso$lambda.min) windows() par(new=TRUE) plot(res.lasso) plot(res.lasso$glmnet.fit,xvar="lambda") # Seleeción de variables por AIC step(modelo) 69 # Definicion del modelo con las nuevas variables modelo2<-lm(salario~Age+MP+USG+DWS+BPM+VORP) # mode1=glmnet(X,salario,alhpa=1) # coef(mode1,s=res.lasso$lambda.1se) summary(modelo2) windows() par(mfrow=c(2,2)) plot(modelo2) # LINEALIDAD #sm.regression(x,salario,model="linear") resettest(modelo2,power=3) # NORMALIDAD res2<-rstandard(modelo2) shapiro.test(res2) # HOMOCEDASTICIDAD hmctest(modelo2) # INDEPENDENCIA durbinWatsonTest(modelo2) AIC(modelo) AIC(modelo2) #-----------------------------------------------------------------# # MODELO NO LINEAL # #-----------------------------------------------------------------# b1<-sts_salar_final[,c("Age","MP","USG","V2")] b2<-sts_salar_final[,c("DWS","BPM","VORP","V2")] pairs(b1, panel = panel.smooth) pairs(b2, panel = panel.smooth) gam1<-gam(salario~s(Age,bs="cr")+s(MP,bs="cr")+s(USG,bs="cr") +s(DWS,bs="cr")+s(BPM,bs="cr")+s(VORP,bs="cr"),method="REML") plot(gam1) summary(gam1) 70 II. Código de R par(mfrow=c(3,2)) plot(gam1,pages=1,se =TRUE) gam2<-gam(salario~s(Age,bs="cr")+s(MP,bs="cr")+s(USG,bs="cr") +DWS+s(BPM,bs="cr")+s(VORP,bs="cr"),method="REML") summary(gam2) gam.check(gam2) plot(gam.check(gam2)) #------Seleccion manual del mejor modelo-----------# gam1b<-gam(salario~s(Age,bs="cr")+s(MP,bs="cr")+s(USG,bs="cr") +s(DWS,bs="cr")+s(VORP,bs="cr"),method="REML") gam1c<-gam(salario~s(Age,bs="cr")+s(MP,bs="cr")+s(USG,bs="cr") +s(VORP,bs="cr"),method="REML") summary(gam1b) summary(gam1c) gam.check(gam1c) #-----------------------------------------------------------------# # Interpretación del gam1c (marginal effects) #-----------------------------------------------------------------# pred<-predictions(gam1c, newdata ="mean") summary(pred) xtable(predictions(gam2b, newdata ="mean")) exp(15.21) plot_cap(gam1c,condition=c("MP","Age"))+ggplot2::ylab("log(Salario)") #------------------ AME----------------------# mf <- marginaleffects(gam1c) summary(mf) xtable(summary(mf)) marginaleffects(gam1c, newdata ="mean") xtable(marginaleffects(gam1c, newdata ="mean")) 71 #---------------------G AME --------------------# BPM_cat<-cut(BPM,breaks=c(-12,0,10), labels=c("Baja efectividad","Alta efectividad")) gam4<-gam(salario~s(Age,bs="cr")+s(MP,bs="cr")+s(USG,bs="cr") +BPM_cat+s(VORP,bs="cr"),method="REML") game <- marginaleffects(gam4, variables ="Age") summary(game, by ="BPM_cat") exp(0.05) exp(0.09) summary(gam4) summary(marginaleffects(gam1c, newdata =datagrid( Age =30,MP=1772,USG=16,VORP=0))) #--------------- Comparisons-----------------------# com<-comparisons(gam1c,variables ="Age") summary(com) summary(comparisons(gam1c, variables =list(Age =c(26,31)))) summary(comparisons(gam1c, variables =list(VORP="sd"))) exp(0.4) #-----------------------------------------------------------------# # DISTINTAS VARIABLES VS DISTINTAS RESPUESTAS # #-----------------------------------------------------------------# mod1<-lm(salario~BPM) summary(mod1) par(mfrow=c(2,2)) plot(mod1) summary(mod1) sm.regression(BPM,salario,model="linear") resettest(mod1,power=3) harvtest(mod1) res1<-rstandard(mod1) shapiro.test(res1) 72 II. Código de R hmctest(mod1) durbinWatsonTest(mod1) gam_mod1<-gam(salario~s(BPM,bs="cr"),method="REML") summary(gam_mod1) gam.check(gam_mod1) plot(gam_mod1) res1g<-residuals(gam_mod1) mean(res1g) predgam<-predictions(mod1, newdata ="mean") summary(predgam) xtable(predictions(mod1, newdata ="mean")) exp(15.19) # Estimación para peor y mejor BPM which(a[,BPM]==min(BPM)) sts_salar_final[which(a[,BPM]==min(BPM))] pred2<-predictions(mod1, newdata =datagrid(BPM=-11.9)) summary(pred2) xtable(summary(pred2)) which(a[,BPM]==max(BPM)) sts_salar_final[which(a[,BPM]==max(BPM))] pred3<-predictions(mod1, newdata =datagrid(BPM=9)) summary(pred3) mfg <- marginaleffects(mod1) summary(mfg) xtable(summary(mfg)) plot_cap(mod1,condition="BPM")+ggplot2::ylab("log(Salario)") #Analisis de los residuos res<-residuals(mod1) plot(residuals(mod1) ~predict (gam_mod1,type="response"), 73 xlab="Fitted Values",ylab="residuals") inddev<-which(abs(res)>2) points(residuals(mod1)[inddev]~predict (mod1,type="response")[inddev],col=2,pch=16) resp_outliers<-predict(mod1,type="response") resp_outliers[inddev] exp(resp_outliers[inddev]) #Comparación OBPM con DBPM mod2<-lm(salario~OBPM) mod3<-lm(salario~DBPM) par(mfrow=c(2,2)) plot(mod2) plot(mod3) sm.regression(OBPM,salario,model="linear") sm.regression(DBPM,salario,model="linear") gam_mod2<-gam(salario~s(OBPM,bs="cr"),method="REML") summary(gam_mod2) gam.check(gam_mod2) gam_mod3<-gam(salario~s(DBPM,bs="cr"),method="REML") summary(gam_mod3) gam.check(gam_mod3) plot(gam_mod3) predgam_mod2<-predictions(gam_mod2, newdata ="mean") summary(predgam_mod2) xtable(predictions(gam_mod2, newdata ="mean")) predgam_mod3<-predictions(gam_mod3, newdata ="mean") summary(predgam_mod3) xtable(predictions(gam_mod3, newdata ="mean")) windows() par(mfrow=c(1,2)) 74 II. Código de R plot_cap(gam_mod2,condition="OBPM")+ggplot2::ylim(12,19) +ggplot2::ylab("log(Salario)") plot_cap(gam_mod3,condition="DBPM")+ggplot2::ylim(12,19) +ggplot2::ylab("log(Salario)") sts_salar_final[which(a[,OBPM]==min(OBPM))] predgam_mod2_1<-predictions(gam_mod2, newdata =datagrid(OBPM=-9.7)) summary(predgam_mod2_1) xtable(summary(predgam_mod2_1)) sts_salar_final[which(a[,OBPM]==max(OBPM))] predgam_mod2_2<-predictions(gam_mod2, newdata =datagrid(OBPM=8.3)) summary(predgam_mod2_2) xtable(summary(predgam_mod2_2)) sts_salar_final[which(a[,DBPM]==min(DBPM))] predgam_mod3_1<-predictions(gam_mod3, newdata =datagrid(DBPM=-3.2)) summary(predgam_mod3_1) xtable(summary(predgam_mod3_1)) sts_salar_final[which(a[,DBPM]==max(DBPM))] predgam_mod3_2<-predictions(gam_mod3, newdata =datagrid(DBPM=4.5)) summary(predgam_mod3_2) xtable(summary(predgam_mod3_2)) #-----------------------------------------------------------------# # VALOR DE UN JUGADOR VS SU EDAD # #-----------------------------------------------------------------# mod4<-lm(VORP~Age) plot(VORP~Age) abline(mod4) plot(mod4$residuals, pch=16,col=2) abline(mod4);summary(mod4) mod_gam5<-gam(VORP~s(Age,bs="cr")) 75 gam.check(mod_gam5) windows() par(mfrow=c(2,2)) plot(mod4) resettest(mod4,power=2) harvtest(mod4) library(sm) sm.regression(VORP,Age,model="linear") res4<-rstandard(mod4) shapiro.test(res4) hmctest(mod4) durbinWatsonTest(mod4) r1<-residuals(mod4) r2<-rstandard(mod4) r3<-rstudent(mod4) which(abs(r2)>1.96) which(abs(r3)>1.96) which(abs(r2)>qt(0.95,df=n-2)) which(abs(r3)>qt(0.95,df=n-2)) plot(VORP~Age) indr<-which(abs(r2)>1.96) points(VORP[indr]~Age[indr],col=4,pch=16) summary(mod4) vorp_outliers<-predict(mod4,type="response") vorp_outliers[indr]