0% encontró este documento útil (0 votos)
5 vistas9 páginas

Estadística Descriptiva y Gráficos R

Este documento presenta una serie de fórmulas y conceptos estadísticos básicos como medidas de tendencia central, diagramas, coeficiente de correlación y distribuciones de probabilidad. Explica cómo manipular y visualizar datos usando paquetes de R como dplyr y ggplot2.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas9 páginas

Estadística Descriptiva y Gráficos R

Este documento presenta una serie de fórmulas y conceptos estadísticos básicos como medidas de tendencia central, diagramas, coeficiente de correlación y distribuciones de probabilidad. Explica cómo manipular y visualizar datos usando paquetes de R como dplyr y ggplot2.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

RESUMEN DE FORMULAS

Experimentos y Estadística
Descriptiva
Leer tabla
BaseDatos <- [Link]("[Link]")
#Funciones basicas
mean(BaseDatos$Age) #Media
median(BaseDatos$Age)
var(BaseDatos$Age)
sd(BaseDatos$Age)
min(BaseDatos$Age)
max(BaseDatos$Age)
IQR(BaseDatos$Age)#Rango Intercuartílico
quantile(BaseDatos$Age, 0.3)#Presenta el percentil 30
summary(BaseDatos$Age) #trae todo la info del box plot, in, 1er cuartil,
mediana, media, tercer cuartil, max

Coeficiente de variación cv(x)=sd(x)/x¯. si es mayor al 80% es considerado que la variable tiene alta


variabilidad

100*sd(BaseDatos$Age)/mean(BaseDatos$Age)

Diagramas básicos
hist(BaseDatos$Age) #Histograma
boxplot(BaseDatos$Age) #Diagrama de cajas

Manipulación de datos usando Dplyr


library(dplyr)
SoloHombres <- BaseDatos %>% filter(Sex=="male")#Uso de filtro para
seleccionar solo las filas de hombres
SoloTarifa <- BaseDatos %>% select(Fare)#Seleccionar solo la columna de
la tarifa
SoloTarifaySex <- BaseDatos %>% select(Fare, Sex)#Retorna dos columnas,
tarifa y sexo
TodaMenosSurvived <- BaseDatos %>% select(-Survived)#Regresa toda la base
de datos pero sin la columna Survived
TodaDesdeSurvivedaSex <- BaseDatos %>% select(Survived:Sex)#Regresa desde
Survived hasta sex
NuevaBaseconTarifaEnPesos <- BaseDatos %>%
mutate(TarifaCOP=Fare*3050)#Agrega una columna nueva que contiene la
tarfa en COP
NuevaBase <- BaseDatos%>% filter(Sex=="male")%>%
mutate(TarifaCOP=Fare*3050)%>% select(c(Survived:Sex,TarifaCOP))#Se
pueden agregar al tiempo varios ajustes a la base de datos. También note
que usamos la función concatenar para que me devuelva las columnas desde
survived hasta Sex y la Tarifa en COP.
BaseDatos %>% group_by(Sex) %>% summarise(Promedio=mean(Fare),
Desvi=sd(Fare), cantidad=n())#Crea una base de datos por cada clase de
Sex, en este caso 2: Hombre y Mujer. A cada base por separado le calcula
el promedio de cuánto pagó por tarifa y la desviación estándar.

Gráficos usando ggplot2


library(ggplot2)
ggplot(BaseDatos, aes(x=Fare))+geom_histogram()
ggplot(BaseDatos, aes(x=1, y=Fare))+geom_violin()+geom_boxplot()#Se
pueden unir dos gráficos. El 1 es para que ubique el diagrama
ggplot(BaseDatos, aes(x=Embarked))+geom_bar()#Diagrama de barras

Edad y Tarifa: Escalar-Escalar


coeficiente se obtiene ρ(x,y)=cov(x,y)/σxσy
cor(BaseDatos$Age, BaseDatos$Fare)#coeficiente, 0= no ha relacion, 1=
relacion lineal positiva, -1=lineal negativa
ggplot(BaseDatos, aes(x=Age, y=Fare))+geom_point()
+geom_smooth(method="lm")#smooth agrega una línea de tendencia, el método
es para que sea una l
ggplot(BaseDatos, aes(x=Sex, y=Fare))+geom_boxplot()
ggplot(BaseDatos, aes(x=Sex, y=Fare))+geom_violin()
boxplot(Fare~Sex, data=BaseDatos, main="Cajas")#Diagrama de cajas

Categórica-Categórica 
table(Sexo=BaseDatos$Sex, Sobrevivio=BaseDatos$Survived)#tabla cruzada
ggplot(BaseDatos, aes(x=Sex, fill=Survived))+geom_bar()#El color está
dado por fill, diagrama de barras
ggplot(BaseDatos, aes(x=Sex, fill=Survived))+geom_bar(position="fill")#Es
posible escalar esto a porcentajes usando fill
barplot(table(BaseDatos$Sex, BaseDatos$Survived), main="Barras",
[Link] = T)#Diagrama de barras debe usarse con la fución table
plot(Fare~Age, data=BaseDatos, main="Dispersión")#Diagrama de dispersión,
Main es para poner el nombre

Escalar-Categórica-Categórica
ggplot(BaseDatos, aes(x=Sex, y=Fare))+geom_boxplot()
+facet_grid(~Survived)

Escalar-Escalar-Categórica Ahora, se va usará el sexo como un mapeo adicional al color de los puntos.

ggplot(BaseDatos, aes(x=Age, y=Fare, color=Sex))+geom_point()


+geom_smooth(method="lm")#smooth agrega una línea de tendencia, el método
es para que sea una línea

Escalar-Escalar-Escalar-categórica-Categórica-Categórica Si bien es posible presentar muchas


variables al tiempo, es necesario que el gráfico sea comprensible.

ggplot(BaseDatos, aes(x=Age, y=Fare, size=SibSp, color=Sex))+geom_point()


+facet_grid(Survived~Embarked)

Distribuciones muéstrales
Generar números aleatorios

[Link](1)#Fija Semilla
MuestraSimuladaDados <- sample(1:6, size = 50, replace = T)
MuestraSimuladaDados #puede escribirse directo sin usar la función
print()

SOBRE MEDIAS

Para el ejemplo anterior de los dados, si se fuera a tomar una nueva muestra de tamaño 100, ¿cuál es la
probabilidad de que el promedio muestra sea menor o igual a 3.55? De antes se sabe que para el
lanzamiento del dado μ=3.5μ=3.5 y de manera similar puede obtenerse
que σ2x=Var(x)=2.917σx2=Var(x)=2.917.

Pasos recomendados para este tipo de ejercicios:

1. ¿Se cumple el TLC?: sí, ya que n=100


2. ¿Cuál es el estadístico asociado a la pregunta y su distribución de probabilidad?: 
x¯∼Norm(μx¯=3.5,σx¯2=2.917100)
3. ¿Cómo expresar la pregunta con probabilidades?:  P(x¯≤3.55)
4. Calcular la probabilidad e interpretar resultados

pnorm(3.55, mean = 3.5, sd = sqrt(2.917/100))#Calculamos la raíz porque R


pide desviación estándar.

Debido a que más adelante será necesario realizar este tipo de transformaciones, vamos a agregarla a los
pasos recomendados:

1. ¿Se cumple el TLC?: sí, ya que n=100


2. ¿Cuál es el estadístico asociado a la pregunta y su distribución de probabilidad?:  x¯∼Norm
2
(μx¯=3.5,σ x́ =2.917/100)
3. Realizar la transformación: 

4. ¿Cómo expresar la pregunta con probabilidades?: 

5. Calcular la probabilidad (usando la distribución normal estándar) e interpretar resultados

ValorZ <- (3.55-3.5)/sqrt(2.917/100)


pnorm(ValorZ, mean = 0, sd = 1)

SOBRE VARIANZA
Si se fuera a obtener una muestra de tamaño 100 de las estaturas de los hombres adultos, ¿qué tan
probable es que la varianza de la muestra sea menor a 0.0017? Usando los pasos recomendados. (Nota:
si la pregunta fuera sobre la desviación estándar, sólo debemos elevar el número al cuadrado).

1. ¿Se cumple el TLC?: sí, ya que n=100.


2. ¿Cuál es el estadístico asociado a la pregunta y su distribución de probabilidad?: S2S2 está
relacionado con χ2n−1χn−12.
3. Realizar la transformación

4. ¿Cómo expresar la pregunta con probabilidades?:


5. Calcular la probabilidad (usando la distribución chi cuadrado) e interpretar resultados

ValorChi <- (100-1)*0.0017/0.04^2


pchisq(ValorChi, df = 99)#Función similar a pnorm pero con la
distribución Chi2, pide el valor y los grados de libertad.

Distribución de x⎯⎯⎯x¯ cuando no se
conoce la varianza poblacional σ2

Ejemplo: Para el caso de la estatura, se desea calcular la probabilidad de que el promedio muestral de 30


personas sea mayor a 1.71, sin embargo, no se conoce la varianza poblacional de los datos, pero, de una
muestra previa se obtuvo que la desviación estándar muestral era de 0.033. Siguiendo los pasos:

1. ¿Se cumple el TLC?: sí, ya que n=30 y como se observó antes, los datos son similares a los de
una normal.
2. ¿Cuál es el estadístico asociado a la pregunta y su distribución de probabilidad?: x⎯⎯⎯x¯ está
relacionado con tstudenttstudent porque no se conoce la varianza poblacional σ2σ2 pero se
tiene S2S2.
3. Realizar la transformación: t

4. ¿Cómo expresar la pregunta con probabilidades?

5. Calcular la probabilidad (usando la distribución t student) e interpretar resultados

Valort <- (1.71-1.70)/(0.033/sqrt(30))


1-pt(Valort, df = 29)#Como piden probabilidad de mayor se debe obtener el
complemento a pt
Distribuciones muestrales cuando se tienen
dos poblaciones
Ejemplo: Para el caso de la estatura, supongamos que se quieren comparar las muestras obtenidas en
Bogotá y las muestras obtenidas en Medellín. Se desea calcular la probabilidad de que la varianza
muestral de Bogotá sea mayor a la de Medellín si en bogotá se toma una muestra de tamaño 50 y en
medellín de 60. Se conoce que σBog=0.05σBog=0.05 mientras que σMed=0.045σMed=0.045.

1. ¿Se cumple el TLC?: sí, ya que n=30 y como se observó antes, los datos son similares a los de
una normal.
2. ¿Cuál es el estadístico asociado a la pregunta y su distribución de probabilidad?: S2Bog/S2MeD está
relacionado con F.
3. Realizar la transformación: 

4. ¿Cómo expresar la pregunta con probabilidades?: 

5. Calcular la probabilidad (usando la distribución F) e interpretar resultadoS

ValorF <- 1*(0.045^2/0.05^2)


1-pf(ValorF, df1 = 49, df2=59)#Como piden probabilidad de mayor se debe
obtener el complemento a pf

Diferencia de medias muestrales


Se se conoce σ 2

( μ ¿ ¿ 1−μ2 )
z=( x´1− x´2 ) − ¿
σ2 σ 2
√ +
n 1 n2

Se tiene una población de la cual se conoce que σx=5 y μx=90 y otra poblacion de la cual se conoce
que σy=7 y μy=86. Si se fuera a obtener una muestra de la población xx de tamaño 60 y una
muestra de la población y de tamaño 80. ¿Cuál es la probabilidad de que el promedio muestral 
x¯ sea mayor por más de 3 unidades que el promedio muestral  y¯? Siguiendo los pasos sugeridos:
1. ¿Se cumple el TLC?: sí, ya que nx=60nx=60 y ny=80ny=80.

2. Realizar la transformación: ¿Cómo expresar la pregunta con probabilidades?:

Varianzas poblacionales desconocidas

Ejemplo: Se tiene una población de la cual se conoce que μx=91 y otra poblacion de la cual se conoce
que μy=89.5. Si se fuera a obtener una muestra de la población xx de tamaño 60 y una muestra de la
población y de tamaño 80. ¿Cuál es la probabilidad de que el promedio muestral x¯ sea mayor que el
promedio muestral  y¯? Como no se tenía información sobre las varianzas muestrales, se tomaron
pequeñas muestras de cada una de las poblaciones, de donde se obtuvo que Sx=7 y Sy=6.

1. ¿Se cumple el TLC?: sí, ya que nx=60 y ny=80


2. ¿Cuál es el estadístico asociado a la pregunta y su distribución de probabilidad?: (x¯−y¯) está
relacionado con t(n1−1)+(n2−1)
3. Realizar la transformación
4. ¿Cómo expresar la pregunta con probabilidades?: 

5. Calcular la probabilidad (usando la distribución Normal) e interpretar resultados


6. ValortDosPob <- ((0)-(91-89.5))/(sqrt(6.44^2/60)+sqrt(6.44^2/80))
7. 1-pt(ValortDosPob,df=59+79)
Estimación Puntual, Intervalos y
Pruebas de Hipótesis
función de verosimilitud
maxk(L(x|k))

En otras palabras encontrar un estimador por máxima verosimilutd es resolver un problema


de optimización donde se busca encontrar el valor del o los parámetros que maximizan la
probabilidad de ocurrencia de los datos de la muestra.

FuncionVeroDado = function(ParamK, datos)


{
CantidadDatos <- length(datos)
if(ParamK>=max(datos))
{LX <- (1/ParamK)^(CantidadDatos)#Eso solo es válido si k es mayor o
igual al máximo de la muestra
}else{LX <-0}
return(LX)
}

plot(x=sapply(1:20, function(x) FuncionVeroDado(ParamK=x,


datos=c(3,4,5,7))), xlab="Valor Estimador", ylab="Verosimilitud")
axis(side = 1, at=1:20)#Permite fijar los valores de los saltos del
gráfico.

Ejemplo 2: Suponga que ahora tenemos un conjunto de datos de una distribución


exponencial 4,6,8,3,5, la función de densidad de probabilidad es f(x)=1βe−xb. si queremos
estimar el parámetro β, ¿cómo lo podríamos calcular con los datos obtenidos? Al igual que
antes, definiremos la función de verosimilitud L(x|β)=P(x=4|β)∗P(x=6|β)∗P(x=8|
β)∗P(x=3|β)∗P(x=5|β). La probabilidad de la intersección es el producto de las
probabilidades ya que son muestras obtenidas de forma independiente.L(x|
β)=1βe−4b∗1βe−6b∗1βe−8b∗1βe−3b∗1βe−5b. Para encontrar el estimador, debemos encontrar β de
tal forma que se maximice la función de verosimilitud.
A continuación se construye la función de verosimilitud

FuncionVeroExp <- function(ParamBeta)


{
datos <- c(4,6,8,3,5)
ValoresIndividualesVero <- sapply(datos, function(x)
(1/ParamBeta)*exp(-x/ParamBeta))
LX <- prod(ValoresIndividualesVero)#Es la multiplicación de cada
probabilidad
return(LX)
}
library(psoptim)# Librería con la Meta-heurística Particle Swarm
Optimization
ResultadoPSO <- psoptim(FUN = FuncionVeroExp, xmin=c(0), xmax=c(20), n =
500, [Link] = 1000, anim = F)#anim es para que no muestre el gráfico de
partículas al final.
ResultadoPSO

Estimación por intervalo

CantidadDatos <- length(MuestraInter)


LimInf <- mean(MuestraInter)-qnorm(0.95, mean=0,
sd=1)*sd(MuestraInter)/sqrt(CantidadDatos)
LimSup <- mean(MuestraInter)+qnorm(0.95, mean=0,
sd=1)*sd(MuestraInter)/sqrt(CantidadDatos)
c(LimInf, LimSup)

Intervalo de confianza de varianza

También podría gustarte