La estadística paramétrica es un conjunto de técnicas estadísticas de estimación de parámetros, intervalos de confianza y prueba de hipótesis. Se aplican a variables continuas especificando una forma de distribución de la variable aleatoria y de los estadísticos derivados de los datos. Asume que la muestra extraída tiene una distribución normal por lo cual requiere un gran tamaño de muestra para determinar las diferencias absolutas entre los valores individuales. Por su parte, la estadística no paramétrica no puede determinar la distribución original ni la de los estadísticos puesto que no tiene parámetros a estimar. Se utiliza para variables nominales u ordinales. Solo se tienen distribuciones a comparar centrándose en sus propiedades ordinales no en los valores absolutos de los puntos de datos.
Referencias: Quispe, A., Calla, K., Yangali, J. S., Rodriguez, J. L. y Pucamayo, I. I. (2019). Estadística no paramétrica aplicada a la investigación científica con software SPSS, MINITAB Y EXCEL. Enfoque práctico. Editorial Eidec. ISBN: 978-958-52030-9-9. Winters, R., Winters, A. y Amedee, R. G. (2010). Estadísticas: una breve descripción. The Ochsner Journal, 10(3). 213-216. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3096219/
| Estadística Paramétrica | Estadística No Paramétrica |
|---|---|
| Técnicas estadísticas de estimación de parámetros, intervalos de confianza y prueba de hipótesis | No se puede determinar la distribución original ni la distribución de los estadísticos por lo que en realidad no tenemos parámetros a estimar |
| Variables Continuas | Variables Nominales u Ordinales |
| Parte de una población con distribución normal | Parte de una población con distribución no normal |
| Gran tamaño de muestra | Menor tamaño de muestra |
library(nortest)
a=(c(28,26,31,21,21,32,24,26,28,30,26,23,20,28,33,28,33,23,27,31,28,29,34,32,33))
#Gráfico de cuantiles teóricos (Gráficos Q-Q)
qqnorm(a)
qqline(a,col=2)
#Histograma con curva
xb=mean(a)
s=sd(a)
hist(a, freq = F, col = "pink", xlab = "Balance", main = "",
xlim = c(xb-4*s, xb+4*s), ylim = c(0, .15), )
curve(dnorm(x, mean = xb, sd = s), col = 2, lwd = 2, add = TRUE)
#La Prueba de normalidad de Kolmogorov-Smirnov (más de 50 datos)
ks.test(a, "pnorm", mean = mean(a), sd = sd(a))
## Warning in ks.test.default(a, "pnorm", mean = mean(a), sd = sd(a)): ties should
## not be present for the one-sample Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: a
## D = 0.11939, p-value = 0.8683
## alternative hypothesis: two-sided
#Test de Anderson-Darlinng (para muestras muy grandes)
ad.test(a)
##
## Anderson-Darling normality test
##
## data: a
## A = 0.40996, p-value = 0.3188
#Test de Shapiro Wilk
shapiro.test(a)
##
## Shapiro-Wilk normality test
##
## data: a
## W = 0.94766, p-value = 0.2219
Conclusión: A pesar de que solo son 25 datos todas las pruebas indicaron normalidad, tanto formales como de gráfico
b=(c(22,29,24,24,23,23,25,23,33,28,31,23,28,28,26,30,30,28,22,19,29,18,31,28,27))
#Gráfico de cuantiles teóricos (Gráficos Q-Q)
qqnorm(b)
qqline(b,col=2)
#Histograma con curva
xb=mean(b)
s=sd(b)
hist(b, freq = F, col = "yellow", xlab = "Balance", main = "",
xlim = c(xb-4*s, xb+4*s), ylim = c(0, .15), )
curve(dnorm(x, mean = xb, sd = s), col = 3, lwd = 2, add = TRUE)
#La Prueba de normalidad de Kolmogorov-Smirnov (más de 50 datos)
ks.test(b, "pnorm", mean = mean(b), sd = sd(b))
## Warning in ks.test.default(b, "pnorm", mean = mean(b), sd = sd(b)): ties should
## not be present for the one-sample Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: b
## D = 0.17, p-value = 0.4653
## alternative hypothesis: two-sided
#Test de Anderson-Darlinng (para muestras muy grandes)
ad.test(b)
##
## Anderson-Darling normality test
##
## data: b
## A = 0.44321, p-value = 0.2639
#Test de Shapiro Wilk
shapiro.test(b)
##
## Shapiro-Wilk normality test
##
## data: b
## W = 0.96162, p-value = 0.4477
Conclusión: A pesar de que solo son 25 datos todas las pruebas indicaron normalidad, tanto formales como de gráfico
c=(c(23,26,29,28,25,19,22,27,33,22,22,22,15,19,24,25,20,25,34,21,23,18,26,26,23))
#Gráfico de cuantiles teóricos (Gráficos Q-Q)
qqnorm(c)
qqline(c,col=22)
#Histograma con curva
xb=mean(c)
s=sd(c)
hist(c, freq = F, col = "#235", xlab = "Balance", main = "",
xlim = c(xb-4*s, xb+4*s), ylim = c(0, .15), )
curve(dnorm(x, mean = xb, sd = s), col = "skyblue", lwd = 2, add = TRUE)
#La Prueba de normalidad de Kolmogorov-Smirnov (más de 50 datos)
ks.test(c, "pnorm", mean = mean(c), sd = sd(c))
## Warning in ks.test.default(c, "pnorm", mean = mean(c), sd = sd(c)): ties should
## not be present for the one-sample Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: c
## D = 0.11348, p-value = 0.9043
## alternative hypothesis: two-sided
#Test de Anderson-Darlinng (para muestras muy grandes)
ad.test(c)
##
## Anderson-Darling normality test
##
## data: c
## A = 0.31651, p-value = 0.5192
#Test de Shapiro Wilk
shapiro.test(c)
##
## Shapiro-Wilk normality test
##
## data: c
## W = 0.97045, p-value = 0.6566
Conclusión: A pesar de que solo son 25 datos todas las pruebas indicaron normalidad, tanto formales como de gráfico
d=(c(28,28,25,25,25,30,27,28,29,28,25,28,27,28,30,25,28,28,28,30,27,25,25,28,30))
#Gráfico de cuantiles teóricos (Gráficos Q-Q)
qqnorm(d)
qqline(d,col=226)
#Histograma con curva
xb=mean(d)
s=sd(d)
hist(d, freq = F, col = "#965", xlab = "Balance", main = "",
xlim = c(xb-4*s, xb+4*s), ylim = c(0, .60), )
curve(dnorm(x, mean = xb, sd = s), col = "#695", lwd = 2, add = TRUE)
#La Prueba de normalidad de Kolmogorov-Smirnov (más de 50 datos)
ks.test(d, "pnorm", mean = mean(d), sd = sd(d))
## Warning in ks.test.default(d, "pnorm", mean = mean(d), sd = sd(d)): ties should
## not be present for the one-sample Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: d
## D = 0.23371, p-value = 0.1303
## alternative hypothesis: two-sided
#Test de Anderson-Darlinng (para muestras muy grandes)
ad.test(d)
##
## Anderson-Darling normality test
##
## data: d
## A = 1.4893, p-value = 0.0005814
#Test de Shapiro Wilk
shapiro.test(d)
##
## Shapiro-Wilk normality test
##
## data: d
## W = 0.85145, p-value = 0.001877
Conclusión: Los datos no tienen distribución normal
e=(c(28,27,28,25,27,28,25,27,29,27,25,25,29,29,29,28,28,25,27,28,28,25,29,25,27))
#Gráfico de cuantiles teóricos (Gráficos Q-Q)
qqnorm(e)
qqline(e,col=645)
#Histograma con curva
xe=mean(e)
s=sd(e)
hist(e, freq = F, col = "#645", xlab = "Balance", main = "",
xlim = c(xb-4*s, xb+4*s), ylim = c(0, .60), )
curve(dnorm(x, mean = xe, sd = s), col = "pink", lwd = 2, add = TRUE)
#La Prueba de normalidad de Kolmogorov-Smirnov (más de 50 datos)
ks.test(e, "pnorm", mean = mean(e), sd = sd(e))
## Warning in ks.test.default(e, "pnorm", mean = mean(e), sd = sd(e)): ties should
## not be present for the one-sample Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: e
## D = 0.20013, p-value = 0.2693
## alternative hypothesis: two-sided
#Test de Anderson-Darlinng (para muestras muy grandes)
ad.test(e)
##
## Anderson-Darling normality test
##
## data: e
## A = 1.4921, p-value = 0.0005718
#Test de Shapiro Wilk
shapiro.test(e)
##
## Shapiro-Wilk normality test
##
## data: e
## W = 0.8403, p-value = 0.001159
Conclusión:No es una distribución normal
f=(c(25,28,27,29,27,25,25,25,25,27,27,28,28,25,27,27,25,25,27,28,25,28,29,25,27))
#Gráfico de cuantiles teóricos (Gráficos Q-Q)
qqnorm(f)
qqline(f,col=56)
#Histograma con curva
xf=mean(f)
s=sd(f)
hist(f, freq = F, col = "#891", xlab = "Balance", main = "",
xlim = c(xb-4*s, xb+4*s), ylim = c(0, .60), )
curve(dnorm(x, mean = xf, sd = s), col = "#345", lwd = 2, add = TRUE)
#La Prueba de normalidad de Kolmogorov-Smirnov (más de 50 datos)
ks.test(f, "pnorm", mean = mean(f), sd = sd(f))
## Warning in ks.test.default(f, "pnorm", mean = mean(f), sd = sd(f)): ties should
## not be present for the one-sample Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: f
## D = 0.26461, p-value = 0.06034
## alternative hypothesis: two-sided
#Test de Anderson-Darlinng (para muestras muy grandes)
ad.test(f)
##
## Anderson-Darling normality test
##
## data: f
## A = 1.8386, p-value = 7.574e-05
#Test de Shapiro Wilk
shapiro.test(f)
##
## Shapiro-Wilk normality test
##
## data: f
## W = 0.82721, p-value = 0.0006703
Conclusión:No es una distribución normal
datos <- data.frame(
grupo = rep(c("A", "B", "C", "D"), each = 10),
valor = c(21,26,31,23,21,30,26,24,22,19,
32,30,18,27,25,28,27,27,28,22,
26,20,24,27,21,28,24,27,32,32,
18,30,24,27,24,21,22,22,28,29)
)
anova <- aov(valor ~ grupo, data = datos)
summary(anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## grupo 3 34.9 11.62 0.74 0.535
## Residuals 36 565.9 15.72
# Prueba de Kruskal-Wallis
kruskal.test(valor ~ grupo, data = datos)
##
## Kruskal-Wallis rank sum test
##
## data: valor by grupo
## Kruskal-Wallis chi-squared = 2.5039, df = 3, p-value = 0.4746
# Gráfico de cajas
boxplot(valor ~ grupo, data = datos,
col = c("skyblue", "lightgreen", "pink", "orange"),
main = "Gráfico de cajas por grupo",
xlab = "Grupo", ylab = "Valor")
datos <- data.frame( sujeto = rep(1:15, each = 2), tratamiento = c("pre" , "post" , "pre" , "post" , "pre" , "post" , "pre" , "post" , "pre"
, "post" , "pre" , "post" , "pre" , "post" , "pre" , "post" , "pre" , "post" , "pre" , "post" , "pre" , "post" , "pre" , "post" , "pre" , "post" ,
"pre" , "post" , "pre" , "post"), respuesta = c("NO", "SI", "SI", "SI", "NO", "SI", "SI", "NO", "SI", "SI", "NO", "SI", "NO", "SI", "NO",
"SI", "NO", "SI", "SI", "SI", "NO", "NO", "SI", "SI", "NO", "SI", "NO", "NO", "NO", "SI"))
# Crear una tabla cruzada entre pre y post
tabla <- table(
pre = datos$respuesta[datos$tratamiento == "pre"],
post = datos$respuesta[datos$tratamiento == "post"])
tabla
## post
## pre NO SI
## NO 2 8
## SI 1 4
mcnemar.test(tabla)
##
## McNemar's Chi-squared test with continuity correction
##
## data: tabla
## McNemar's chi-squared = 4, df = 1, p-value = 0.0455
Hay diferencia significativa entre las respuestas antes del tratamiento de hipnosis y después del tratamiento de hipnosis.
x <- c(2,1,3,5,6,8,5,2)
y <- c(6,5,6,6,5,4,7,5)
cor_pearson <- cor(x, y, method = "pearson")
cor_pearson
## [1] -0.2581989
cor_spearman <- cor(x, y, method = "spearman")
cor_spearman
## [1] -0.1646757
test_pearson <- cor.test(x, y, method = "pearson")
test_pearson
##
## Pearson's product-moment correlation
##
## data: x and y
## t = -0.65465, df = 6, p-value = 0.537
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.8146497 0.5457756
## sample estimates:
## cor
## -0.2581989
test_spearman <- cor.test(x, y, method = "spearman")
## Warning in cor.test.default(x, y, method = "spearman"): Cannot compute exact
## p-value with ties
test_spearman
##
## Spearman's rank correlation rho
##
## data: x and y
## S = 97.833, p-value = 0.6968
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## -0.1646757
plot(x, y,
main = "Diagrama de dispersión",
xlab = "Número de policías",
ylab = "Número de delitos",
pch = 16, col = "blue")
abline(lm(y ~ x), col = "red", lwd = 2)