Modelos Estadísticos. Grado Biotecnología



Introducción


Funciones para el cálculo de probabildiades:

# Cálculo de probabilidades 
calculo.probabilidades <- function(npmarg,etimarg,probmarg,npcond,etimarg2,probcond)
  # Suceso A
  # npmarg = número de probabildiades marginales
  # etimarg = etiquetas para las probabilidades marginales
  # probmarg = probabilidades marginales
  # Suceso B dado A
  # npcond = número de probabildiades condicionadas por cada valor de A
  # etimarg2 = etiquetas para las probabilidades marginales por cada valor de A
  # probcond = probabilidades marginales ordenadas para lemento de A  
  
  {
  # Probabilidad marginal P(A)
  pmarginal <- matrix(rep(probmarg,npcond),nrow = npmarg)
  # Probabilidad condicionada P(B|A)
  pcondicional <- matrix(probcond, nrow = npmarg, byrow=T)

  # Probabilidad conjunta P(A,B)
  pconjunta <- pmarginal*pcondicional
  rownames(pconjunta) <- etimarg
  colnames(pconjunta) <- etimarg2

  # Probabilidad Total
  ptotal <- apply(pconjunta,2,sum)

  # Teorema de Bayes
  res <-matrix(rep(ptotal,npmarg),nrow = npmarg, byrow =T)
  pbayes <- pconjunta / res
  
  # Resultado
  return(list(Conjunta = round(pconjunta,4), Total = round(ptotal,4), Bayes = round(pbayes,4)))
}

Función para probabilidad de screening

Screening <- function(positivos,negativos,etitest,etienfermedad,incidencia)
# positivos = resultados positivos del test empezando por los que padecen la enfermedad
# negativos = resultados negativos del test empezando por los que padecen la enfermedad
# etitest = etiquetas del test diagnóstico
# etienfermedad = etiquetas de enfermos y sanos
# incidencia = incidencia de la enfermedad en la población
  {
  # Tabla de resultados
  tabla <- matrix(c(positivos,negativos), ncol = 2, byrow = T)
  rownames(tabla) <- etitest
  colnames(tabla) <- etienfermedad
  # Calculo de totales
  total.test <- apply(tabla,1,sum)
  total.enfermedad <- apply(tabla,2,sum) 
  total <- sum(total.test)
  # Probabilidades marginales
  marginal.enfermos <- tabla[,1]/total.enfermedad[1]
  marginal.sanos <- tabla[,2]/total.enfermedad[2]
  # Resultados
  Sensibilidad <- marginal.enfermos[1]
  Especificidad <- marginal.sanos[2]
  Predictivo.positivo <- (Sensibilidad*incidencia)/(Sensibilidad*incidencia + (1-Especificidad)*(1-incidencia))
  Predictivo.negativo <- (Especificidad*(1-incidencia))/(Especificidad*(1-incidencia) + (1-Sensibilidad)*incidencia)
  
  return(round(data.frame(Sensibilidad,Especificidad,Predictivo.positivo,Predictivo.negativo),4))
}

Ejercicio 1

calculo.probabilidades(2,c("Proyecto A","Proyecto B"),c(0.5,0.5),3,c("Rendimiento 1","Rendimiento 2","Rendimiento 3"),c(0.2,0.6,0.2,0.3,0.4,0.3))
## $Conjunta
##            Rendimiento 1 Rendimiento 2 Rendimiento 3
## Proyecto A          0.10           0.3          0.10
## Proyecto B          0.15           0.2          0.15
## 
## $Total
## Rendimiento 1 Rendimiento 2 Rendimiento 3 
##          0.25          0.50          0.25 
## 
## $Bayes
##            Rendimiento 1 Rendimiento 2 Rendimiento 3
## Proyecto A           0.4           0.6           0.4
## Proyecto B           0.6           0.4           0.6

Ejemplo apuntes de clase

Screening(c(436,5),c(14,495),c("+","-"), c("D","no D"),0.113)

Probabilida básica


Realiza los ejercicios 2 a 4 de este apartado de la colección de ejercicios de probabilidad.


Tests diagnósticos


Realiza los ejercicios 1 a 4 de este apartado de la colección de ejercicios de probabilidad.


Distribución Binomial


Realiza los ejercicios 1, 3, y 8 de este apartado de la colección de ejercicios de probabilidad.


Distribución Poisson


Realiza los ejercicios 1, 2, 5, 6 y 7 de este apartado de la colección de ejercicios de probabilidad.


Distribución Exponencial


Realiza los ejercicios 2 y 6 de este apartado de la colección de ejercicios de probabilidad.


Distribución Geométrica


Realiza los ejercicios 3 y 4 de este apartado de la colección de ejercicios de probabilidad.


Distribución Normal


Realiza los ejercicios 5, 6, 8, 10 y 17 de este apartado de la colección de ejercicios de probabilidad.


Copyright © 2018 Javier Morales. Universidad Miguel Hernández de Elche.