La covarianza es una medida estadística que evalúa la relación entre dos variables aleatorias. En particular, cuantifica cómo cambian juntas estas variables, es decir, si una variable tiende a aumentar (o disminuir) cuando la otra también lo hace, o si una variable aumenta mientras la otra disminuye, etc.
Formalmente, si tenemos dos variables aleatorias X e Y, la covarianza (cov(X,Y)cov(X,Y)) mide la tendencia de las desviaciones conjuntas de X y Y respecto a sus medias respectivas. En otras palabras, indica si las desviaciones de X y Y tienden a ser positivas (cuando una es mayor que su media, la otra también tiende a ser mayor que su media) o negativas (cuando una es mayor que su media, la otra tiende a ser menor que su media).
La covarianza puede ser calculada a partir de la fórmula:
\[ \text{cov}(X, Y) = \frac{1}{n-1} \sum_{i=1}^{n} (X_i - \bar{X})(Y_i - \bar{Y}) \]
Donde:
Vamos a crear dos variables, la primera va a ser la presión sanguínea (\(\bar{X}\) de 105) y la segunda va a ser el peso (\(\bar{Y}\) de 165).
# Cargar el paquete MASS si no está cargado
if (!requireNamespace("MASS", quietly = TRUE)) {
install.packages("MASS")
}
library(MASS)
# Establecer la semilla para reproducibilidad
set.seed(123)
# Generar datos con covarianza cercana a 1
# Número de observaciones
n <- 1000
# Media de las variables
mu <- c(105, 165)
# Matriz de covarianza
# Establecemos una covarianza de 0.9
Sigma <- matrix(c(1, 0.9, 0.9, 1), ncol = 2)
# Generar datos de una distribución multivariada normal
datos <- mvrnorm(n, mu, Sigma)
X<-datos[,1]; head(X)## [1] 104.6764 105.0082 106.5233 105.0983 105.6961 106.4390
## [1] 164.2310 164.5431 166.5152 165.0392 164.5560 166.9043
## [1] "Covarianza: "
## [1] 0.8833139
## [1] 0.8833139
# Verificar la covarianza de los datos generados
matriz_covarianza <- cov(datos)
print("Matriz de Covarianza: ")## [1] "Matriz de Covarianza: "
## [,1] [,2]
## [1,] 0.9475140 0.8833139
## [2,] 0.8833139 1.0230022
cor(): Esta función calcula la matriz de correlación entre las columnas de un dataframe o una matriz. La correlación es una medida estandarizada que indica la fuerza y la dirección de la relación lineal entre dos variables. La matriz de correlación resultante tendrá coeficientes de correlación que varían entre -1 y 1. Un valor de 1 indica una correlación positiva perfecta, -1 indica una correlación negativa perfecta, y 0 indica ausencia de correlación. La función cor() es útil para evaluar la relación lineal entre variables y para identificar patrones en los datos.
cov(): Esta función calcula la matriz de covarianza entre las columnas de un dataframe o una matriz. La covarianza es una medida que indica la dirección y la fuerza de la relación lineal entre dos variables, pero no está estandarizada como la correlación. Los valores de covarianza pueden variar ampliamente dependiendo de las unidades de medida de las variables. La función cov() es útil para evaluar la magnitud y la dirección de la relación entre variables, pero no proporciona una medida estandarizada de la fuerza de la relación.
Uno de los principales inconvenientes de la covarianza radica en su dependencia de las unidades de medida. Esto significa que si las unidades de medida de las variables cambian (por ejemplo, de litros a centímetros cúbicos), el valor de la covarianza también cambiará. Para abordar este problema, se utiliza una solución conocida como estandarización, que implica dividir los valores de covarianza por las desviaciones estándar de ambas variables. Esta técnica permite obtener un valor relativo que no está influenciado por las unidades de medida utilizadas, lo que facilita la comparación y la interpretación de la covarianza entre diferentes conjuntos de datos.
A la versión estandarizada de la covarianza se le llama Coeficiente de Correlación.
La fórmula de la correlación de Pearson entre dos variables \(X\) y \(Y\) se expresa como:
\[ \rho_{XY} = \frac{\sum_{i=1}^{n} (X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum_{i=1}^{n} (X_i - \bar{X})^2} \sqrt{\sum_{i=1}^{n} (Y_i - \bar{Y})^2}} \]
Donde:
\(n\) es el número de observaciones.
El término “correlación” se utiliza a menudo de manera informal para describir una asociación, conexión o relación entre dos o más variables. Sin embargo, en contextos científicos, la correlación tiene un significado estadístico específico y se utiliza para cuantificar la fuerza y la dirección de la relación lineal entre dos variables continuas.
En términos estadísticos, la correlación se evalúa utilizando una medida llamada coeficiente de correlación. Este coeficiente, típicamente representado por r, varía de -1 a +1. Un coeficiente de correlación de -1 indica una correlación negativa perfecta, lo que significa que a medida que una variable aumenta, la otra disminuye de manera perfectamente lineal. Un coeficiente de correlación de +1 indica una correlación positiva perfecta, lo que significa que a medida que una variable aumenta, la otra también aumenta de manera perfectamente lineal. Un coeficiente de correlación de 0 indica que no hay relación lineal entre las variables.
Correlación
Es importante tener en cuenta que la correlación no implica causalidad. Incluso si dos variables están altamente correlacionadas, no necesariamente significa que los cambios en una variable causen cambios en la otra. La correlación simplemente indica en qué medida los cambios en una variable están asociados con cambios en otra.
Interpretación de los valores de correlación
Linealidad: El coeficiente de correlación solo mide relaciones lineales. Si la relación entre dos variables es no lineal (por ejemplo, cuadrática, exponencial), el coeficiente de correlación puede no capturar adecuadamente la fuerza de la relación. Al trazar los datos, puedes inspeccionar visualmente la relación y determinar si es lineal o no.
Valores atípicos: El coeficiente de correlación es sensible a los valores atípicos. Algunos puntos de datos extremos pueden afectar enormemente el valor del coeficiente de correlación, lo que lleva a una interpretación engañosa de la relación entre las variables. Al trazar los datos, puedes identificar y abordar los valores atípicos antes de calcular el coeficiente de correlación.
Distribución normal: El coeficiente de correlación de Pearson asume que ambas variables están distribuidas normalmente. Si los datos no siguen una distribución normal, el coeficiente de correlación puede no ser una medida adecuada de la relación entre las variables. Visualizar los datos mediante histogramas o gráficos Q-Q puede ayudarte a evaluar la normalidad de los datos.
Homocedasticidad: El coeficiente de correlación de Pearson asume que la varianza de una variable es constante en diferentes valores de la otra variable (homocedasticidad). Si los datos muestran heterocedasticidad (es decir, la varianza de una variable cambia en diferentes valores de la otra variable), el coeficiente de correlación puede no ser una medida precisa de la relación. Al trazar los datos, puedes inspeccionar visualmente la homocedasticidad.
Homocedasticidad y Heterocedasticidad.
Existen diferentes tipos de coeficientes de correlación, siendo los dos principales el coeficiente de correlación de Pearson y el coeficiente de correlación de Spearman.
Coeficiente de Correlación de Pearson: Este coeficiente, representado por rr, se utiliza cuando ambas variables estudiadas siguen una distribución normal. Mide la relación lineal entre dos variables. Sin embargo, es sensible a valores atípicos, que pueden distorsionar la fuerza de la relación.
Variables continuas: El coeficiente de correlación de Pearson se utiliza para medir la relación lineal entre dos variables continuas. Por lo tanto, es importante que las variables en estudio sean continuas y no categóricas.
Linealidad: La correlación de Pearson asume que la relación entre las dos variables es lineal. Esto significa que los cambios en una variable están asociados con cambios proporcionales en la otra variable.
Normalidad: El coeficiente de correlación de Pearson es más robusto cuando las variables en estudio siguen una distribución normal. Sin embargo, la correlación de Pearson aún puede proporcionar información útil cuando las variables no siguen estrictamente una distribución normal, especialmente si el tamaño de la muestra es grande.
Homocedasticidad: La homocedasticidad se refiere a la igualdad de varianzas a lo largo de los valores de la variable independiente. La correlación de Pearson asume que la variabilidad de una variable es constante en todos los niveles de la otra variable.
Independencia: Los valores de las dos variables deben ser independientes entre sí. En otras palabras, no debe haber dependencia sistemática entre los valores de una variable y los valores correspondientes de la otra variable.
El coeficiente de correlación lineal r (correlación de Pearson) mide la fuerza de la correlación lineal entre los valores cuantitativos emparejados de x e y en una muestra.
Los siguientes supuestos deben cumplirse para que el coeficiente de correlación (correlación de Pearson) devuelva un resultado válido:
Los pares de datos (x,y)(x,y) de la muestra son continuos y tienen una distribución normal.
El examen visual del diagrama de dispersión debe confirmar que los puntos aproximan un patrón de línea recta.
Dado que los resultados pueden ser fuertemente afectados por la presencia de valores atípicos, cualquier valor atípico debe ser eliminado si se sabe que son errores.
Se utiliza el valor p y el nivel de significancia αα de la siguiente manera:
Valor p ≤ α: Apoya la afirmación de una correlación lineal.
Valor p > α: No respalda la afirmación de una correlación lineal.
Para el siguiente ejemplo utilizaremos la base de datos de DJ Navarro (2018). Learning statistics with R: A tutorial for psychology students and other beginners. (Version 0.6). https://learningstatisticswithr.com. Las bases de datos se encuentran disponibles en https://github.com/djnavarro/rbook/tree/main/original.
A partir de la base de datos parenthood.Rdata
if (!requireNamespace(c("psych", "ggplot2", "cowplot", "ggpubr"), quietly = TRUE)) {
install.packages(c("psych", "ggplot2", "cowplot", "ggpubr"))
}
library(psych)
library(ggplot2)##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
##
## Attaching package: 'ggpubr'
## The following object is masked from 'package:cowplot':
##
## get_legend
Verificar si las variables a comparar son continuas
## vars n mean sd median trimmed mad min max range skew
## dan.sleep 1 100 6.97 1.02 7.03 7.00 1.09 4.84 9.00 4.16 -0.29
## baby.sleep 2 100 8.05 2.07 7.95 8.05 2.33 3.25 12.07 8.82 -0.02
## dan.grump 3 100 63.71 10.05 62.00 63.16 9.64 41.00 91.00 50.00 0.43
## day 4 100 50.50 29.01 50.50 50.50 37.06 1.00 100.00 99.00 0.00
## kurtosis se
## dan.sleep -0.72 0.10
## baby.sleep -0.69 0.21
## dan.grump -0.16 1.00
## day -1.24 2.90
Verificar si hay homocedasticidad
ggplot(data = parenthood, aes(x = dan.sleep, y = dan.grump)) +
geom_point() +
labs(x = "Sueño del papá", y = "Mal humor del papá")ggplot(data = parenthood, aes(x = baby.sleep, y = dan.grump)) +
geom_point() +
labs(x = "Sueño del bebe", y = "Mal humor del papá")Verificar si los datos poseen normalidad
Existen diversos métodos visuales y numéricos para evaluar la normalidad. Para este conjunto de datos utilizaremos una evaluación de la distribución de las frecuencias en un histograma, elaboraremos un gráfico de cuantiles (Q-Q plot) y realizaremos una prueba de Shapiro-Wilk.
sleep.1 <- ggplot(data = parenthood, aes(x = dan.sleep)) +
geom_histogram(binwidth = 0.5, fill = "skyblue", color = "black") +
labs(x = "Sueño del papá", y = "Frecuencia", title = "Histograma del sueño del papá")
grump.1 <- ggplot(data = parenthood, aes(x = dan.grump)) +
geom_histogram(binwidth = 6, fill = "skyblue", color = "black") +
labs(x = "Sueño del papá", y = "Frecuencia", title = "Histograma del sueño del papá")
sleep.2 <- ggplot(data = parenthood, aes(sample = dan.sleep)) +
stat_qq_line(size=1,aes(color='red' ), linetype='dashed')+
stat_qq(size=1) +
theme_light()## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
grump.2 <- ggplot(data = parenthood, aes(sample = dan.grump)) +
stat_qq_line(size=1,aes(color='red' ), linetype='dashed')+
stat_qq(size=1) +
theme_light()
grid.1 <-plot_grid(sleep.1, grump.1, sleep.2, grump.2 )
ggsave("./imagenes/grid_plot-01.png", grid.1, width = 10, height = 6)
shapiro.test(parenthood$dan.sleep)##
## Shapiro-Wilk normality test
##
## data: parenthood$dan.sleep
## W = 0.97635, p-value = 0.06878
##
## Shapiro-Wilk normality test
##
## data: parenthood$dan.grump
## W = 0.97952, p-value = 0.122
Plot de Normalidad.
La prueba de Shapiro-Wilk es una prueba de hipótesis utilizada para evaluar si una muestra proviene de una población con una distribución normal. Es una de las pruebas de normalidad más utilizadas y efectivas, especialmente para muestras de tamaño moderado a grande.
El procedimiento de la prueba de Shapiro-Wilk se basa en la comparación de estadísticas de prueba observadas y esperadas bajo la hipótesis nula de que los datos provienen de una distribución normal. La hipótesis nula (H0) de la prueba es que los datos se distribuyen normalmente en la población. La hipótesis alternativa (H1) es que los datos no se distribuyen normalmente.
El estadístico de prueba de Shapiro-Wilk (W) se calcula utilizando una combinación lineal de los datos ordenados y los coeficientes de una función específica de la distribución normal. El valor de W está en el rango de 0 a 1, donde un valor cercano a 1 indica que los datos están cerca de una distribución normal.
Para interpretar los resultados de la prueba de Shapiro-Wilk, se compara el valor de W calculado con un valor crítico de referencia. Si el valor p asociado con el estadístico de prueba es menor que un nivel de significancia predefinido (generalmente 0.05), se rechaza la hipótesis nula y se concluye que los datos no provienen de una distribución normal.
Es importante tener en cuenta que la prueba de Shapiro-Wilk es sensible al tamaño de la muestra. Aunque es eficaz para detectar desviaciones de la normalidad en muestras de tamaño moderado a grande, puede no ser adecuada para muestras muy pequeñas. Además, la prueba tiende a ser más potente para detectar desviaciones de la normalidad en la cola de la distribución.
Debido a que los datos son continuos, poseen homocedasticidad y poseen normalidad podemos pasar a realizar una Correlación de Pearson.
## [1] -0.5659637
En este caso, el coeficiente de correlación es aproximadamente -0.56, lo que sugiere una correlación negativa moderada entre el sueño del bebé y el mal humor del papá y visceversa. Esto podría interpretarse como que, en general, cuando el bebé duerme menos (o tiene un sueño de peor calidad), el padre tiende a estar de peor humor. Sin embargo, es importante recordar que la correlación no implica causalidad, y otras variables o factores pueden estar contribuyendo a esta relación.
## [1] -0.903384
En este caso, el coeficiente de correlación es aproximadamente -0.90, lo que sugiere una correlación negativa muy fuerte entre el sueño del padre y su mal humor y visceversa. Esto implica que cuando el padre duerme menos (o tiene un sueño de peor calidad), es más probable que esté de mal humor. Esta alta correlación negativa podría tener implicaciones importantes, como la influencia del sueño en el estado de ánimo del padre. Sin embargo, es importante tener en cuenta que la correlación no implica causalidad, por lo que otros factores también podrían contribuir a esta relación observada.
Es importante también conocer la significacia de la correlación, para lo cual podemos hacer una evaluación con la función cor.test.
##
## Pearson's product-moment correlation
##
## data: parenthood$baby.sleep and parenthood$dan.grump
## t = -6.7959, df = 98, p-value = 8.448e-10
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.6861101 -0.4157643
## sample estimates:
## cor
## -0.5659637
##
## Pearson's product-moment correlation
##
## data: parenthood$dan.sleep and parenthood$dan.grump
## t = -20.854, df = 98, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.9340614 -0.8594714
## sample estimates:
## cor
## -0.903384
Este coeficiente, representado por ρ (rho), es una medida no paramétrica de correlación que evalúa la relación entre los rangos de los valores de dos variables en lugar de los propios valores. Es menos sensible a valores atípicos y no asume que las variables siguen una distribución normal.
La fórmula de la correlación de Spearman entre dos variables \(X\) y \(Y\) se expresa como:
\[ \rho_{\text{Spearman}} = 1 - \frac{6 \sum_{i=1}^{n} d_i^2}{n(n^2 - 1)} \]
Donde:
La correlación de Spearman se calcula a partir de los rangos de las observaciones en lugar de los valores originales de los datos. Esto hace que sea una medida de correlación no paramétrica que evalúa la relación monotónica entre dos variables, es decir, si los valores de una variable tienden a aumentar o disminuir mientras los valores de la otra variable también lo hacen.
Variables Ordinales o Continuas: Si bien el coeficiente de correlación de Spearman es más flexible en términos de los tipos de variables que puede manejar, sigue siendo más apropiado para variables ordinales o continuas. Variables categóricas o nominales pueden no ser adecuadas para su uso con el coeficiente de Spearman.
Relación Monotónica: El coeficiente de correlación de Spearman se basa en el concepto de la relación monotónica entre las variables. Una relación monotónica es aquella en la que el aumento (o disminución) en los valores de una variable está asociado con un aumento (o disminución) en los valores de la otra variable, pero no necesariamente a una tasa constante. No se requiere una relación lineal.
Independencia: Al igual que con el coeficiente de correlación de Pearson, los valores de las variables deben ser independientes entre sí. No debe haber dependencia sistemática entre los valores de una variable y los valores correspondientes de la otra variable.
No Normalidad: A diferencia del coeficiente de correlación de Pearson, el coeficiente de Spearman no requiere que las variables estén normalmente distribuidas. Es menos sensible a distribuciones no normales y valores atípicos.
Homogeneidad de Varianzas: Aunque el coeficiente de Spearman es menos sensible a la homogeneidad de varianzas que el coeficiente de Pearson, aún es útil que la variabilidad de las variables sea relativamente constante a lo largo de su rango.
Correlación
plot1<-ggscatter(parenthood,
x = "dan.sleep", y = "dan.grump",
color='green',
cor.coef = TRUE,
cor.method = "spearman")
plot2<-ggscatter(parenthood,
x = "baby.sleep", y = "dan.grump",
color='light blue',
cor.coef = TRUE,
cor.method = "spearman")
grid.2<-plot_grid(plot1,plot2)
ggsave("./imagenes/grid_plot-02.png", grid.2, width = 10, height = 6)Correlación
La correlación de Kendall, también conocida como tau de Kendall, es una medida de correlación no paramétrica utilizada para evaluar la asociación entre dos variables. Es particularmente útil cuando los datos no cumplen con los supuestos de distribución requeridos por otras medidas de correlación, como la correlación de Pearson.
Esta medida de correlación fue propuesta por Maurice Kendall en 1938 y se basa en la concordancia o discordancia de los pares de datos ordenados. En lugar de utilizar los valores originales de los datos, la correlación de Kendall se calcula utilizando los rangos de las observaciones. Es decir, para cada par de observaciones, se comparan sus rangos en ambas variables, y se contabilizan las concordancias y discordancias entre los pares.
La correlación de Kendall asume que los datos son independientes y que las observaciones dentro de cada variable son intercambiables. Además, no requiere que los datos sigan una distribución específica, lo que la hace adecuada para datos que no cumplen con los supuestos de normalidad.
El coeficiente de correlación de Kendall (τ) se calcula como la diferencia entre la proporción de pares de datos concordantes y la proporción de pares de datos discordantes, normalizado por el número total de pares de datos únicos. Matemáticamente, la fórmula para el coeficiente de correlación de Kendall es:
\[ \tau = \frac{(N_c - N_d)}{\frac{1}{2} n (n - 1)} \]
Donde:
A pesar de sus ventajas, la correlación de Kendall tiene algunas limitaciones importantes que deben tenerse en cuenta:
Sensibilidad a los lazos: La correlación de Kendall puede ser sensible a los lazos en los datos, es decir, cuando se encuentran pares de observaciones con el mismo valor en ambas variables. Esto puede afectar la precisión de la medida y conducir a estimaciones sesgadas de la correlación.
Rendimiento computacional: Calcular la correlación de Kendall puede ser computacionalmente costoso, especialmente para conjuntos de datos grandes. Esto puede limitar su aplicabilidad en situaciones donde se requiere un procesamiento rápido de los datos.
Interpretación limitada: La correlación de Kendall proporciona información sobre la asociación ordinal entre las variables, pero no proporciona información sobre la magnitud o la dirección de la asociación. Esto puede hacer que sea difícil interpretar la fuerza de la relación entre las variables en comparación con otras medidas de correlación.
A pesar de estas limitaciones, la correlación de Kendall sigue siendo una herramienta valiosa para evaluar la asociación entre dos variables cuando los supuestos de otras medidas de correlación no se cumplen. Su enfoque en la concordancia y discordancia de los pares de datos ordenados la convierte en una medida robusta y ampliamente utilizada en análisis de datos no paramétricos.
plot1<-ggscatter(parenthood,
x = "dan.sleep", y = "dan.grump",
color='green',
cor.coef = TRUE,
cor.method = "kendall")
plot2<-ggscatter(parenthood,
x = "baby.sleep", y = "dan.grump",
color='light blue',
cor.coef = TRUE,
cor.method = "kendall")
grid.3<-plot_grid(plot1,plot2)
ggsave("./imagenes/grid_plot-03.png", grid.3, width = 10, height = 6)Correlación
##Comparación entre los tres tipos de correlación
| Correlación de Pearson | Correlación de Spearman | Correlación de Kendall | |
|---|---|---|---|
| Tipo de medida | Paramétrica | No paramétrica | No paramétrica |
| Supuestos | Distribución normal de los datos | Ausencia de linealidad, pero no requiere distribución normal | Ausencia de linealidad, no requiere distribución normal |
| Sensible a valores atípicos | Sí | No | No |
| Sensible a la escala | Sí | No | No |
| Basada en | Covarianza | Rangos de los datos | Concordancia y discordancia de los pares de datos ordenados |
| Rango de valores | -1 a 1 | -1 a 1 | -1 a 1 |
| Interpretación | Magnitud y dirección de la asociación lineal | Magnitud y dirección de la asociación monótona | Magnitud y dirección de la asociación monótona |
| Aplicaciones comunes | Análisis de datos cuantitativos, donde la relación entre las variables es lineal | Datos ordinales, datos no paramétricos, datos con distribuciones no lineales | Datos ordinales, datos no paramétricos, datos con distribuciones no lineales |
#Regresión
La regresión lineal simple modela la relación entre una variable independiente y una variable dependiente como una línea recta. Es útil cuando se espera que los datos sigan una tendencia lineal. La ecuación de la regresión lineal simple es:
\[ Y = \beta_0 + \beta_1 X + \varepsilon \]
# Crear un conjunto de datos de ejemplo
set.seed(123)
x <- 1:100
y <- 2*x + rnorm(100, mean = 0, sd = 10)
# Ajustar el modelo de regresión lineal simple
modelo <- lm(y ~ x)
# Mostrar los coeficientes del modelo
summary(modelo)##
## Call:
## lm(formula = y ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -24.5356 -5.5236 -0.3462 6.4850 20.9487
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.36404 1.84287 -0.198 0.844
## x 2.02511 0.03168 63.920 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.145 on 98 degrees of freedom
## Multiple R-squared: 0.9766, Adjusted R-squared: 0.9763
## F-statistic: 4086 on 1 and 98 DF, p-value: < 2.2e-16
La regresión lineal múltiple es una extensión de la regresión lineal simple que permite modelar la relación entre una variable dependiente y múltiples variables independientes. La ecuación general es:
\[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_n X_n + \varepsilon \]
# Crear un conjunto de datos de ejemplo con dos variables independientes
set.seed(123)
x1 <- 1:100
x2 <- rnorm(100)
y <- 2*x1 + 3*x2 + rnorm(100, mean = 0, sd = 10)
# Ajustar el modelo de regresión lineal múltiple
modelo <- lm(y ~ x1 + x2)
# Mostrar los coeficientes del modelo
summary(modelo)##
## Call:
## lm(formula = y ~ x1 + x2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.491 -6.869 -0.948 6.015 32.357
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.71500 1.95658 -1.388 0.1684
## x1 2.03356 0.03374 60.276 <2e-16 ***
## x2 2.39016 1.07226 2.229 0.0281 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.708 on 97 degrees of freedom
## Multiple R-squared: 0.9743, Adjusted R-squared: 0.9738
## F-statistic: 1842 on 2 and 97 DF, p-value: < 2.2e-16
La regresión cuadrática es un tipo de regresión no lineal que modela la relación entre una variable independiente y una variable dependiente como una parábola. La ecuación de la regresión cuadrática es:
\[ Y = \beta_0 + \beta_1 X + \beta_2 X^2 + \varepsilon \]
# Crear un conjunto de datos de ejemplo
set.seed(123)
x <- 1:100
y <- 2*x^2 + rnorm(100, mean = 0, sd = 50)
# Ajustar el modelo de regresión cuadrática
modelo <- lm(y ~ poly(x, 2, raw = TRUE))
# Mostrar los coeficientes del modelo
summary(modelo)##
## Call:
## lm(formula = y ~ poly(x, 2, raw = TRUE))
##
## Residuals:
## Min 1Q Median 3Q Max
## -120.340 -29.942 -1.333 33.871 109.728
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.000210 13.993085 0.643 0.522
## poly(x, 2, raw = TRUE)1 -0.510940 0.639522 -0.799 0.426
## poly(x, 2, raw = TRUE)2 2.006302 0.006135 327.042 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 45.71 on 97 degrees of freedom
## Multiple R-squared: 0.9999, Adjusted R-squared: 0.9999
## F-statistic: 8.68e+05 on 2 and 97 DF, p-value: < 2.2e-16
La regresión logarítmica se utiliza cuando se sospecha que la relación entre las variables sigue una tendencia logarítmica. La ecuación de la regresión logarítmica es:
\[ Y = \beta_0 + \beta_1 \ln(X) + \varepsilon \]
# Crear un conjunto de datos de ejemplo
set.seed(123)
x <- 1:100
y <- 2*log(x) + rnorm(100, mean = 0, sd = 0.5)
# Ajustar el modelo de regresión logarítmica
modelo <- lm(y ~ log(x))
# Mostrar los coeficientes del modelo
summary(modelo)##
## Call:
## lm(formula = y ~ log(x))
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.21126 -0.28753 -0.01016 0.30454 1.03664
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.02006 0.18631 -0.108 0.914
## log(x) 2.01794 0.04965 40.647 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4584 on 98 degrees of freedom
## Multiple R-squared: 0.944, Adjusted R-squared: 0.9434
## F-statistic: 1652 on 1 and 98 DF, p-value: < 2.2e-16
La regresión logística se utiliza cuando la variable dependiente es binaria y se desea predecir la probabilidad de que la variable dependiente pertenezca a una categoría particular. La ecuación de la regresión logística es:
\[ p(Y=1) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_n X_n)}} \]
# Crear un conjunto de datos de ejemplo con una variable binaria dependiente y una variable independiente
set.seed(123)
x <- rnorm(100)
y <- ifelse(x > 0, 1, 0)
# Ajustar el modelo de regresión logística
modelo <- glm(y ~ x, family = binomial)## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
##
## Call:
## glm(formula = y ~ x, family = binomial)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 11.15 2257.46 0.005 0.996
## x 975.24 107437.96 0.009 0.993
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1.3847e+02 on 99 degrees of freedom
## Residual deviance: 2.1701e-07 on 98 degrees of freedom
## AIC: 4
##
## Number of Fisher Scoring iterations: 25