Proyecto de Estadistica
Vanessa Salazar/ Paralelo: XX
## Warning: package 'knitr' was built under R version 4.0.3
## Warning: package 'rmdformats' was built under R version 4.0.3
Se presenta el siguiente proyecto de Estadistica, en donde se hara un analisis descriptivo, inferencial y modelos de regresion lineal simple del data set: Heart Disease https://archive.ics.uci.edu/ml/datasets/Heart+Disease
Librerias
Se cargan las siguientes librerias usadas en el desarrollo del proyecto:
Carga de datos
La siguiente base de datos es cargada desde la web.
data <- read.csv("https://archive.ics.uci.edu/ml/machine-learning-databases/heart-disease/processed.cleveland.data",
header= FALSE , sep="," , na.strings = '?')Cambio de nombres a columnas conforme la informacion de las variables
Estructura de los datos
'data.frame': 303 obs. of 14 variables:
$ age : num 63 67 67 37 41 56 62 57 63 53 ...
$ sex : num 1 1 1 1 0 1 0 0 1 1 ...
$ cp : num 1 4 4 3 2 2 4 4 4 4 ...
$ trestbps: num 145 160 120 130 130 120 140 120 130 140 ...
$ chol : num 233 286 229 250 204 236 268 354 254 203 ...
$ fbs : num 1 0 0 0 0 0 0 0 0 1 ...
$ restecg : num 2 2 2 0 2 0 2 0 2 2 ...
$ thalach : num 150 108 129 187 172 178 160 163 147 155 ...
$ exang : num 0 1 1 0 0 0 0 1 0 1 ...
$ oldpeak : num 2.3 1.5 2.6 3.5 1.4 0.8 3.6 0.6 1.4 3.1 ...
$ slope : num 3 2 2 3 1 1 3 1 2 3 ...
$ ca : num 0 3 2 0 0 0 2 0 1 0 ...
$ thal : num 6 3 7 3 3 3 3 3 7 7 ...
$ num : int 0 2 1 0 0 0 3 0 2 1 ...
Como se aprecia hay variables que estan puestas como numero, sin embargo representan una categoria u opcion tal como se muestra a continuacion:
cp: chest pain type
Value 1: typical angina
Value 2: atypical angina
Value 3: non-anginal pain
Value 4: asymptomatic
sex: sex
Value 0: female
Value 1: male
fbs: fasting blood sugar > 120 mg/dl
Value 0: False
Value 1: True
restecg: resting electrocardiographic results
Value 0: normal
Value 1: having ST-T wave abnormality (T wave inversions and/or ST elevation or depression of > 0.05 mV)
Value 2: showing probable or definite left ventricular hypertrophy by Estes’ criteria
exang: exercise induced angina
Value 0: False
Value 1: True
slope: the slope of the peak exercise ST segment
Value 1: upsloping
Value 2: flat
Value 3: downsloping
thal
Value 3: normal
Value 6: fixed defect
Value 7: reversable defect
num: diagnosis of heart disease (angiographic disease status)
Value 0: < 50% diameter narrowing
Value 1: > 50% diameter narrowing
Se procede a cambiar el tipo de datos numerico a caracter para las variables antes descritas:
data[,c("cp","sex","fbs","restecg","exang","slope","thal","num")]<-lapply(data[,c("cp","sex","fbs","restecg","exang","slope","thal","num")] , as.character)Se comprueba los cambios
'data.frame': 303 obs. of 14 variables:
$ age : num 63 67 67 37 41 56 62 57 63 53 ...
$ sex : chr "1" "1" "1" "1" ...
$ cp : chr "1" "4" "4" "3" ...
$ trestbps: num 145 160 120 130 130 120 140 120 130 140 ...
$ chol : num 233 286 229 250 204 236 268 354 254 203 ...
$ fbs : chr "1" "0" "0" "0" ...
$ restecg : chr "2" "2" "2" "0" ...
$ thalach : num 150 108 129 187 172 178 160 163 147 155 ...
$ exang : chr "0" "1" "1" "0" ...
$ oldpeak : num 2.3 1.5 2.6 3.5 1.4 0.8 3.6 0.6 1.4 3.1 ...
$ slope : chr "3" "2" "2" "3" ...
$ ca : num 0 3 2 0 0 0 2 0 1 0 ...
$ thal : chr "6" "3" "7" "3" ...
$ num : chr "0" "2" "1" "0" ...
Ahora la variable num, tiene valor de 0 a 4, en donde 0 significa que el corazon esta bien, mientras que el resto de valores enfermedad cardiaca, por lo que cambiamos a solo dos categorias “heart disease” o “no heart disease”
En la variable Thal, hay valores con NA por lo que se cambia la etiqueta a “No hay info”
data$num<-ifelse(data$num=="0","no heart disease","heart disease")
data$thal<-ifelse(is.na(data$thal),"No hay info",data$thal)Se comprueba cambio de los valores a las 2 opciones
age sex cp trestbps chol fbs restecg thalach exang oldpeak slope ca thal
1 63 1 1 145 233 1 2 150 0 2.3 3 0 6
2 67 1 4 160 286 0 2 108 1 1.5 2 3 3
3 67 1 4 120 229 0 2 129 1 2.6 2 2 7
num
1 no heart disease
2 heart disease
3 heart disease
Estadistica descriptiva univariante
Variables Cualitativas
Sex
CP
Fbs
Restecg
Exang
Slope
Thal
Num
Variables Cuantitativas
Age
Medidas descriptivas
| Minimo | Maximo | Primer_cuartil | Tercer_cuartil | Mediana | Media | Desviacion | Curtosis | Sesgo |
|---|---|---|---|---|---|---|---|---|
| 29 | 77 | 48 | 61 | 56 | 54.439 | 9.039 | 2.465 | -0.208 |
Tabla de frecuencia
| Clase | Frec abs | Frec rel | Frec abs acum | Frec rel acum |
|---|---|---|---|---|
| [25,31) | 1 | 0.00 | 1 | 0.33 |
| [31,37) | 6 | 0.02 | 7 | 2.31 |
| [37,43) | 29 | 0.10 | 36 | 11.88 |
| [43,49) | 46 | 0.15 | 82 | 27.06 |
| [49,55) | 61 | 0.20 | 143 | 47.19 |
| [55,61) | 81 | 0.27 | 224 | 73.93 |
| [61,67) | 53 | 0.17 | 277 | 91.42 |
| [67,73) | 23 | 0.08 | 300 | 99.01 |
| [73,79) | 3 | 0.01 | 303 | 100.00 |
Histograma
Diagrama de cajas
Trestbps
Medidas descriptivas
| Minimo | Maximo | Primer_cuartil | Tercer_cuartil | Mediana | Media | Desviacion | Curtosis | Sesgo |
|---|---|---|---|---|---|---|---|---|
| 94 | 200 | 120 | 140 | 130 | 131.69 | 17.6 | 3.846 | 0.703 |
Tabla de frecuencia
| Clase | Frec abs | Frec rel | Frec abs acum | Frec rel acum |
|---|---|---|---|---|
| [90,105) | 10 | 0.03 | 10 | 3.30 |
| [105,120) | 50 | 0.17 | 60 | 19.80 |
| [120,135) | 124 | 0.41 | 184 | 60.73 |
| [135,150) | 67 | 0.22 | 251 | 82.84 |
| [150,165) | 38 | 0.13 | 289 | 95.38 |
| [165,180) | 9 | 0.03 | 298 | 98.35 |
| [180,195) | 4 | 0.01 | 302 | 99.67 |
| [195,210) | 1 | 0.00 | 303 | 100.00 |
Histograma
Diagrama de cajas
Chol
Medidas descriptivas
| Minimo | Maximo | Primer_cuartil | Tercer_cuartil | Mediana | Media | Desviacion | Curtosis | Sesgo |
|---|---|---|---|---|---|---|---|---|
| 126 | 564 | 211 | 275 | 241 | 246.693 | 51.777 | 7.398 | 1.13 |
Tabla de frecuencia
| Clase | Frec abs | Frec rel | Frec abs acum | Frec rel acum |
|---|---|---|---|---|
| [125,190) | 31 | 0.10 | 31 | 10.23 |
| [190,255) | 153 | 0.50 | 184 | 60.73 |
| [255,320) | 98 | 0.32 | 282 | 93.07 |
| [320,385) | 16 | 0.05 | 298 | 98.35 |
| [385,450) | 4 | 0.01 | 302 | 99.67 |
| [450,515) | 0 | 0.00 | 302 | 99.67 |
| [515,580) | 1 | 0.00 | 303 | 100.00 |
Histograma
Diagrama de cajas
Thalach
Medidas descriptivas
| Minimo | Maximo | Primer_cuartil | Tercer_cuartil | Mediana | Media | Desviacion | Curtosis | Sesgo |
|---|---|---|---|---|---|---|---|---|
| 71 | 202 | 133.5 | 166 | 153 | 149.607 | 22.875 | 2.928 | -0.535 |
Tabla de frecuencia
| Clase | Frec abs | Frec rel | Frec abs acum | Frec rel acum |
|---|---|---|---|---|
| [70,95) | 3 | 0.01 | 3 | 0.99 |
| [95,120) | 31 | 0.10 | 34 | 11.22 |
| [120,145) | 80 | 0.26 | 114 | 37.62 |
| [145,170) | 127 | 0.42 | 241 | 79.54 |
| [170,195) | 60 | 0.20 | 301 | 99.34 |
| [195,220) | 2 | 0.01 | 303 | 100.00 |
Histograma
Diagrama de cajas
Oldpeak
Medidas descriptivas
| Minimo | Maximo | Primer_cuartil | Tercer_cuartil | Mediana | Media | Desviacion | Curtosis | Sesgo |
|---|---|---|---|---|---|---|---|---|
| 0 | 6.2 | 0 | 1.6 | 0.8 | 1.04 | 1.161 | 4.53 | 1.263 |
Tabla de frecuencia
| Clase | Frec abs | Frec rel | Frec abs acum | Frec rel acum |
|---|---|---|---|---|
| [0,0.8) | 150 | 0.50 | 150 | 49.50 |
| [0.8,1.6) | 68 | 0.22 | 218 | 71.95 |
| [1.6,2.4) | 45 | 0.15 | 263 | 86.80 |
| [2.4,3.2) | 21 | 0.07 | 284 | 93.73 |
| [3.2,4) | 11 | 0.04 | 295 | 97.36 |
| [4,4.8) | 6 | 0.02 | 301 | 99.34 |
| [4.8,5.6) | 1 | 0.00 | 302 | 99.67 |
| [5.6,6.4) | 1 | 0.00 | 303 | 100.00 |
Histograma
Diagrama de cajas
Ca
Medidas descriptivas
| Minimo | Maximo | Primer_cuartil | Tercer_cuartil | Mediana | Media | Desviacion | Curtosis | Sesgo |
|---|---|---|---|---|---|---|---|---|
| 0 | 3 | 0 | 1 | 0 | 0.672 | 0.937 | 3.235 | 1.183 |
Tabla de frecuencia
| Clase | Frec abs | Frec rel | Frec abs acum | Frec rel acum |
|---|---|---|---|---|
| [0,1) | 176 | 0.59 | 176 | 58.86 |
| [1,2) | 65 | 0.22 | 241 | 80.60 |
| [2,3) | 38 | 0.13 | 279 | 93.31 |
| [3,4) | 20 | 0.07 | 299 | 100.00 |
Histograma
Diagrama de cajas
Estadistica descriptiva bivariante o multivariante
Matriz de correlacion
| age | trestbps | chol | thalach | oldpeak | ca | |
|---|---|---|---|---|---|---|
| age | 1.000 | 0.291 | 0.203 | -0.392 | 0.197 | 0.363 |
| trestbps | 0.291 | 1.000 | 0.132 | -0.048 | 0.192 | 0.099 |
| chol | 0.203 | 0.132 | 1.000 | 0.002 | 0.040 | 0.119 |
| thalach | -0.392 | -0.048 | 0.002 | 1.000 | -0.341 | -0.264 |
| oldpeak | 0.197 | 0.192 | 0.040 | -0.341 | 1.000 | 0.296 |
| ca | 0.363 | 0.099 | 0.119 | -0.264 | 0.296 | 1.000 |
Matriz de diagramas de dispersion
Boxplot por categorias
Estadistica Inferencial
Se presentan 4 constraste de hipotesis:
Contraste de hipotesis 1
Los hombres y mujeres tienen la misma edad en promedio?
Primero debemos comprobar si las varianzas aunque son desconocidas son iguales o diferentes.
Ho: Var 1 = Var 2 vs Ha: Var 1 != Var 2
Por lo que se realiza el test de varianzas
F test to compare two variances
data: edad_hombres$age and edad_mujeres$age
F = 0.88933, num df = 205, denom df = 96, p-value = 0.487
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.623388 1.241458
sample estimates:
ratio of variances
0.8893321
Existe evidencia estadistica al 95% de confianza, que no se rechaza Ho, dado que el valor p es mayor al 5% de significancia, por lo tanto ahora se escoge el estadistico T cuando el caso es con varianzas iguales.
Contraste de hipotesis 2
Se procede a continuar con el test antes planteado
Ho: Media 1 = Media 2 vs Ha: Media 1 != Media 2
Two Sample t-test
data: edad_hombres$age and edad_mujeres$age
t = -1.7004, df = 301, p-value = 0.09009
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-4.0701726 0.2967765
sample estimates:
mean of x mean of y
53.83495 55.72165
Existe evidencia estadistica al 95% de confianza, en no rechazar Ho, dado que el valor p cae en zona de rechazo .
No se puede afirmar que la edad es diferente entre hombres y mujeres.
Contraste de hipotesis 3
La proporcion de aquellos que no cumplen que el azucar en ayunas >120 mg/dl, es superior al 90% ?
Se procede a plantear las hipotesis
Ho: Proporcion = 0.9 vs Ha: Proporcion > 0.9
Se procede con el calculo
FBS
0 258
1 45
1-sample proportions test with continuity correction
data: 258 out of 303, null probability 0.9
X-squared = 7.3942, df = 1, p-value = 0.9967
alternative hypothesis: true p is greater than 0.9
95 percent confidence interval:
0.8129898 1.0000000
sample estimates:
p
0.8514851
Existe evidencia estadistica al 95% de confianza, en no rechazar Ho, dado que el valor p cae en zona de no rechazo .
No se puede afirmar que la proporacion de aquellos que no cumplen que el azucar en ayunas >120 mg/dl, es superior al 90%.
Contraste de hipotesis 4
El segmento st cuando es horizontal, su proporcion es 50% ?
Ho: Proporcion = 0.5 vs Ha: Proporcion != 0.9
Se procede con el calculo
Slope
1 142
2 140
3 21
1-sample proportions test with continuity correction
data: 140 out of 303, null probability 0.5
X-squared = 1.5974, df = 1, p-value = 0.2063
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
0.4051205 0.5199500
sample estimates:
p
0.4620462
Existe evidencia estadistica al 95% de confianza, en no rechazar Ho, dado que el valor p cae en zona de no rechazo .
No se puede afirmar que la proporacion que el segmento st cuando es horizontal, su proporcion es 50%.
Tabla de contigencias
Contraste de hipotesis 5
Existe relacion entre el sexo de una persona con los tipos de segmento ST ?
Ho: Sex es Independiente de Slope vs Ha: Sex no es Independiente de Slope
Se procede con el calculo realizando la tabla cruzada:
0 1
1 47 95
2 45 95
3 5 16
Pearson's Chi-squared test
data: tabla_con_1
X-squared = 0.7273, df = 2, p-value = 0.6951
Contraste de hipotesis 6
Existe relacion entre el problema cardiaco de una persona con los tipos de segmento ST ?
Ho: Num es Independiente de Slope vs Ha: Num no es Independiente de Slope
Se procede con el calculo realizando la tabla cruzada:
1 2 3
heart disease 36 91 12
no heart disease 106 49 9
Pearson's Chi-squared test
data: tabla_con_2
X-squared = 45.785, df = 2, p-value = 1.143e-10
Pruebas de bondad de ajuste
Metodo Chi Cuadrado
Metodo Kolmogorov-Smirnov
La edad tiene un comportamiento de distribucion Normal ?
Ho: Age tiene un comportamiento de distribucion Normal
vs
Ha: Age no tiene un comportamiento de distribucion Normal
Se aplica el test de KS
Lilliefors (Kolmogorov-Smirnov) normality test
data: data$age
D = 0.07689, p-value = 0.0001812
Por lo tanto al 95% de confianza, se rechaza Ho, la variable Edad no sigue un comportamiento de tipo Lineal
Regresion lineal
El modelo de regresion lineal simple nos indica que se tiene la siguiente expresion:
Ecuacion de la recta
\[ f(x)=y= mx+b \]
Ecuacion del modelo propuesto de regresion lineal
\[ \hat{y}=\hat b_{1}(x)+\hat b_{0} \]
Se procede a realizar el calculo de los estimadores de la recta, para:
Modelo propuesto 1
Variable dependiente: “ca” = y
Variable independiente: “age” = x
Por lo tanto se calcula:
Call:
lm(formula = ca ~ age, data = data)
Coefficients:
(Intercept) age
-1.38245 0.03768
Por lo que la ecuacion del modelo propuesto quedaria:
\[ \hat{y}=0.03768(x)-1.38245 \]
Modelo propuesto 2
Variable dependiente: “thalach” = y
Variable independiente: “age” = x
Por lo tanto se calcula:
Call:
lm(formula = thalach ~ age, data = data)
Coefficients:
(Intercept) age
203.8634 -0.9966
Por lo que la ecuacion del modelo propuesto quedaria:
\[ \hat{y}=-0,9966(x)+203.8634 \]
Investigacion sobre el tema y el software usado
bla bla bla bla
Conclusiones
bla bla bla bla