datos_subp <-function( ni, prob){ # ni= vector num de obs totales por tabla, #prob= vector probabilidades iguales para todas las tablas
tablas <- data.frame()
for (i in 1:length(ni)) {
#set.seed(i+89)
tabla <-rmultinom(n=1, size=ni[i], prob=c(prob[1],prob[2],prob[3],prob[4]))
tabla <- data.frame(tabla)
tablas <- rbind(tablas,tabla) #Pegarlo en filas
}
tablas
tablas2 <- matrix(tablas[,1],length(ni), 4, byrow = T) # tablas[,1] para que se muestre en forma de vector
tablas2
}
ceros.a.5 <- function(Tabla){
Nro.col<-ncol(Tabla)
if(any(Tabla==0))Tabla<-matrix(ifelse
(as.vector(Tabla)==0,0.5,Tabla),ncol=Nro.col)
return(Tabla)
}
La función da como resultado los betas estimados y la sensibilidad y especificidad por subpoblación.
GSK <- function(Data){
## Creacion de las funciones
#### 1. Vector $\pi$
pi <- c(t(Data/rowSums(Data)))
#### 2. Vector $A\pi$
A <- matrix(c(1, 0, 0, 0,
1, 1, 0, 0,
0, 0, 0, 1,
0, 0, 1, 1),4, byrow = T)
identidad <- function(k)diag(rep(1,k))
Nro.Estratos <- dim(Data)[1]
A <- kronecker(identidad(Nro.Estratos),A)
A
A_Pi <- A%*%pi
A_Pi
#### 3. Vector $\ln(A\pi)$
LogNatu <- log(A_Pi)
LogNatu
#### 4. Vector $k\ln(A\pi)$
k <- matrix(c(1, -1, 0, 0,
0, 0, 1, -1),2,4, byrow = T)
k <- kronecker(identidad(Nro.Estratos),k)
k
kln <- k%*%LogNatu
kln
#### 5. Vector $\exp(k\ln(A\pi))$
ekln <- exp(kln)
ekln
#### 6. Vector $Q\exp(k\ln(A\pi))$
Q <- diag(1,2*Nro.Estratos)
Q
#Calcular f_exp-estimado
f <- Q%*%ekln
f
## Estimación de los parĆĀ”metros
#### 1. $X$ matriz de diseƱo $X=O\circ X$
########################## Matriz diseƱo
repita<-function(X,X2,k){
temp<-NULL
for(i in 1:nrow(X))temp<-rbind(temp,cbind
(matrix(rep(X[i,],k),ncol=ncol(X),byrow=T),X2))
return(temp)
}
nro.vars <- 2
niveles<-c(2,2)
bloque <- function(k){rbind(0,identidad(k))}
matriz.diseno <- function(nro.vars,niveles){
niveles <- niveles-1
temp1 <- bloque(niveles[nro.vars])
for(i in (nro.vars-1):1){
temp2<-bloque(niveles[i])
temp1<-repita(temp2,temp1,nrow(temp1))
}
temp <- cbind(1,temp1)
temp <- temp[rep(1:nrow(temp),each=2),]
indi <- matrix(rep(c(0,1),nrow(temp)/2),ncol=1)
temp2 <- NULL
for(ii in 1:ncol(temp)) temp2<-cbind(temp2,indi)
return(cbind(temp,temp*temp2))
}
X <- matriz.diseno(nro.vars, niveles)
X
#### 2. Matriz de varianzas y covarianzas ${ \hat { \Sigma } }_{ \hat { f } }$
N <- c(t(Data))
crea.bloque <- function(mat1,mat2){
nf1<-nrow(mat1);nc1<-ncol(mat1)
nf2<-nrow(mat2);nc2<-ncol(mat2)
mat1<-cbind(mat1,matrix(0,nrow=nf1,ncol=nc2))
mat2<-cbind(matrix(0,nrow=nf2,ncol=nc1),mat2)
matdef<-rbind(mat1,mat2)
return(matdef)
}
donde.voy<-0
for(i in 1:Nro.Estratos){
#print("====================")
identifica<-c("Estrato ",i)
#print(identifica)
temp<-N[(donde.voy+1):(donde.voy+4)]
#print("Frecuencias de la subpoblacion")
#print(temp)
donde.voy<-donde.voy+4
n.temp<-sum(temp)
probab<-matrix(temp/n.temp,ncol=1)
temp1<- probab%*%t(probab)
temp2<-diag(as.vector(probab))
varcov.p<-(temp2-temp1)/n.temp
#print("p estimado del estrato")
#print(t(probab))
#print("Matriz de varianzas y covarianzas estimada del estrato")
#print(varcov.p)
if(i==1){
varcov.grande<-varcov.p
prob.grande<-probab
}
else{
varcov.grande <- crea.bloque(varcov.grande,varcov.p)
prob.grande <- rbind(prob.grande,probab) # Todas las probabilidades organizadas en columna
}
}
# Calcular (A*sigma pi-gorro*A")
var.cov.lineal <- A%*%varcov.grande%*%t(A)
#var.cov.lineal
#Calcular de matriz D-lineal
Di <- diag(1/as.vector(pi)) # Contrastar con formula pg 30, Di se plantea de estĆĀ” forma porque para la matriz de varianzas y covarianzas (var.cov.f) se necesita es la inversa.
#Di
# Calculo de la matriz de varianzas y covarianzas Sigma f gorro
var.cov.ln <- k%*%Di%*%var.cov.lineal%*%Di%*%t(k)
#var.cov.ln
# Calculo de la matriz de varianzas y covarianzas Sigma exp f gorro
diagonal <- function(xx){
k<-length(xx)
temp<-matrix(0,ncol=k,nrow=k)
for(i in 1:k)temp[i,i]<-xx[i]
return(temp)
}
Dln <- diagonal(exp(kln))
#Dln
var.cov.f.exp <- Q%*%Dln%*%var.cov.ln%*%Dln%*%t(Q)
#var.cov.f.exp
## Estimación de los $\beta$
library(MASS)
temp <- solve(t(X)%*%ginv(var.cov.f.exp)%*%X)
beta <- temp%*%t(X)%*%ginv(var.cov.f.exp)%*%f
#print(beta)
## $f^{*}$ estimado
f.gor <- X%*%beta
#print(f.gor )
#sensibilidad_gor <- f.gor[seq(1,length(f.gor),2)]
#especificidad_gor <- f.gor[seq(2,length(f.gor),2)]
output=list("Betas"= beta,"festimado"= f.gor)
}
library("matrixStats")
Betas_fun <- function(Datos){
betas <- list() # empty list
for (i in 1:length(Datos)) {
Resultado_GSK <- sapply((Datos[i]), GSK)
betas[i] <- Resultado_GSK[1]
}
betas <- as.data.frame(do.call(cbind, betas))
betas_prom <- rowMeans(betas)
betas_var <- rowVars(as.matrix(betas)) #library("matrixStats")
return = list("Betas"= betas, "Betas_prom"= betas_prom, "Betas_var"= betas_var)
}
festimado_fun <- function(Datos){
festimado <- list() # empty list
#betas_prom <- list()
#betas_var <- list()
for (i in 1:length(Datos)) {
Resultado_GSK <- sapply((Datos[i]), GSK)
festimado[i] <- Resultado_GSK[2]
}
festimados <- as.data.frame(do.call(cbind, festimado))
festimados_prom <- rowMeans(festimados)
festimado_var <- rowVars(as.matrix(festimados)) #library("matrixStats")
return = list("festimados"= festimados, "festimados_prom"= festimados_prom, "festimados_var"= festimado_var)
}
### Función número de bins
bin2d <-
function(x, breaks1 = "Sturges", breaks2 = "Sturges"){
# Data matrix x is n by 2
# breaks1, breaks2: any valid breaks for hist function
# using same defaults as hist
histg1 <- hist(x[,1], breaks = breaks1, plot = FALSE)
histg2 <- hist(x[,2], breaks = breaks2, plot = FALSE)
brx <- histg1$breaks
bry <- histg2$breaks
# bin frequencies
freq <- table(cut(x[,1], brx), cut(x[,2], bry))
return(list(call = match.call(), freq = freq,
breaks1 = brx, breaks2 = bry,
mids1 = histg1$mids, mids2 = histg2$mids))
}
# Redodeo de decimales
ceiling_dec <- function(x, Decimals=1) {
x2<-x*10^Decimals
ceiling(x2)/10^Decimals
}
floor_dec <- function(x, Decimals=1) {
x2<-x*10^Decimals
floor(x2)/10^Decimals
}
Se generan 1000 tablas \(4 \times 4\) con las mismas probabilidades y tamaƱo de muestra. Probabilidades \(0.5,0.2,0.1,0.2\) y tamaƱo de muestra \(n=20\)
set.seed(2022)
Data <- replicate(1000, ceros.a.5(datos_subp(rep(20,4),c(0.5,0.2,0.1,0.2))), simplify = FALSE)
#Data
El promedio y la varianza de los betas estimados para este caso serĆa:
Betas_resu <- Betas_fun(Data)
#Betas_resu
### Promedio y varianza betas
Betas2 <- data.frame(Betas_resu$Betas_prom,Betas_resu$Betas_var, row.names = c("$\\beta_0$", "$\\beta_1^{(1)}$","$\\beta_1^{(2)}$", "$\\beta_0^{(,2)}$","$\\beta_1^{(1,2)}$", "$\\beta_1^{(2,2)}$"))
library(knitr)
knitr::kable(Betas2, col.names = c("Promedio", "Varianza"), caption = "Betas estimados", row.names = T)
| Promedio | Varianza | |
|---|---|---|
| \(\beta_0\) | 0.6690083 | 0.0123083 |
| \(\beta_1^{(1)}\) | 0.0139675 | 0.0145880 |
| \(\beta_1^{(2)}\) | 0.0017977 | 0.0142143 |
| \(\beta_0^{(,2)}\) | -0.0732061 | 0.0348795 |
| \(\beta_1^{(1,2)}\) | -0.0031041 | 0.0460576 |
| \(\beta_1^{(2,2)}\) | -0.0026737 | 0.0427231 |
Distribución de los betas
#par(mfrow=c(2,3) ,cex=0.7, mai=c(0.1,0.1,0.2,0.1))
par(mfrow=c(2,3))
plot(density(as.numeric(Betas_resu$Betas[1,])), main= expression(beta[0]))
plot(density(as.numeric(Betas_resu$Betas[2,])), main= expression(beta[1]^(1)))
plot(density(as.numeric(Betas_resu$Betas[3,])), main= expression(beta[1]^(2)))
plot(density(as.numeric(Betas_resu$Betas[4,])), main= expression(beta[0]^{}( , 2)))
plot(density(as.numeric(Betas_resu$Betas[5,])), main= expression(beta[1]^{}(1, 2)))
plot(density(as.numeric(Betas_resu$Betas[6,])), main= expression(beta[1]^{}(2, 2)))
Confirmamos si la distribución de todos los betas es normal realizando el test de Shapiro Wilk multivariado.
### Shapiro multivariado
# install.packages("mvShapiroTest")
library("mvShapiroTest")
mvShapiro.Test(as.matrix(t(Betas_resu$Betas)))
##
## Generalized Shapiro-Wilk test for Multivariate Normality by
## Villasenor-Alva and Gonzalez-Estrada
##
## data: as.matrix(t(Betas_resu$Betas))
## MVW = 0.99583, p-value = 6.462e-08
Como el \(p\)- valor \(<0.05\) rechazamos \(H_{0}\), por tanto no hay normalidad multivariada entre los betas.
Analizamos la normalidad de cada beta de forma marginal (o individual)
### Shapiro univariadovariado
Shapiriro_beta1 <- shapiro.test(t(Betas_resu$Betas)[,1])$p.value
Shapiriro_beta2 <- shapiro.test(t(Betas_resu$Betas)[,2])$p.value
Shapiriro_beta3 <- shapiro.test(t(Betas_resu$Betas)[,3])$p.value
Shapiriro_beta4 <- shapiro.test(t(Betas_resu$Betas)[,4])$p.value
Shapiriro_beta5 <- shapiro.test(t(Betas_resu$Betas)[,5])$p.value
Shapiriro_beta6 <- shapiro.test(t(Betas_resu$Betas)[,6])$p.value
Shapiriro_betas <- data.frame(Shapiriro_beta1,Shapiriro_beta2, Shapiriro_beta3, Shapiriro_beta4, Shapiriro_beta5, Shapiriro_beta6)
knitr::kable(Shapiriro_betas, caption = "Valor P Test Shapiro univariado normalidad", col.names = c("$\\beta_0$", "$\\beta_1^{(1)}$","$\\beta_1^{(2)}$", "$\\beta_0^{(,2)}$","$\\beta_1^{(1,2)}$", "$\\beta_1^{(2,2)}$"))
| \(\beta_0\) | \(\beta_1^{(1)}\) | \(\beta_1^{(2)}\) | \(\beta_0^{(,2)}\) | \(\beta_1^{(1,2)}\) | \(\beta_1^{(2,2)}\) |
|---|---|---|---|---|---|
| 0.0023739 | 0.1284037 | 0.0389625 | 0.0006279 | 0.0067622 | 0.3896207 |
Como el \(p\)- valor \(<0.05\) rechazamos \(H_{0}\), por tanto no hay normalidad univariada en ninguno de los betas.
Analizando la sensibilidad y especificidad por subpoblación.
festimado_resu <- festimado_fun(Data)
#festimado_resu
El promedio y la varianza de la sensibilidad y especificidad por subppoblación serĆa:
| Promedio | Varianza | |
|---|---|---|
| Sensibilidad subpoblación 1 | 0.6690083 | 0.0123083 |
| Especificidad subpoblación 1 | 0.5958023 | 0.0276963 |
| Sensibilidad subpoblación 2 | 0.6708060 | 0.0107329 |
| Especificidad subpoblación 2 | 0.5949262 | 0.0282576 |
| Sensibilidad subpoblación 3 | 0.6829759 | 0.0117585 |
| Especificidad subpoblación 3 | 0.6066657 | 0.0281028 |
| Sensibilidad subpoblación 4 | 0.6847736 | 0.0124155 |
| Especificidad subpoblación 4 | 0.6057897 | 0.0285398 |
Analizando conjuntamente la sensibilidad y le especificidad por subpoblaciones:
#install.packages("ash")
library("ash")
## Bivariado
se_sub1 <- festimado_resu$festimados[1,]
sp_sub1 <- festimado_resu$festimados[2,]
x <- t(matrix(c(as.numeric(se_sub1), as.numeric(sp_sub1)),2, byrow = T)) # bivariate se, sp
binsSturges <- bin2d(x)
limInfSe <- floor_dec(min(as.numeric(se_sub1)))
limSupSe <- ceiling_dec(max(as.numeric(se_sub1)))
limInfSp <- floor_dec(min(as.numeric(sp_sub1)))
limSupSp <- ceiling_dec(max(as.numeric(sp_sub1)))
ab <- matrix( c(limInfSe,limInfSp,limSupSe,limSupSp), 2, 2)
nbin <- c( length(binsSturges$breaks1), length(binsSturges$breaks2)) # 400 bins
bins <- bin2(x, ab, nbin) # bin counts,ab,nskip
# Continuing example from help(bin2)
#par(mfrow=c(1,2))
m <- c(7,8)
f <- ash2(bins,m)
par(mfrow=c(2,2))
image(f$x,f$y,f$z, xlab="Sensibilidad", ylab="Especificidad", main="Subpoblación 1")
contour(f$x,f$y,f$z,add=TRUE)
################ subpoblación 2
se_sub1 <- festimado_resu$festimados[3,]
sp_sub1 <- festimado_resu$festimados[4,]
x <- t(matrix(c(as.numeric(se_sub1), as.numeric(sp_sub1)),2, byrow = T)) # bivariate se, sp
binsSturges <- bin2d(x)
limInfSe <- floor_dec(min(as.numeric(se_sub1)))
limSupSe <- ceiling_dec(max(as.numeric(se_sub1)))
limInfSp <- floor_dec(min(as.numeric(sp_sub1)))
limSupSp <- ceiling_dec(max(as.numeric(sp_sub1)))
ab <- matrix( c(limInfSe,limInfSp,limSupSe,limSupSp), 2, 2)
nbin <- c( length(binsSturges$breaks1), length(binsSturges$breaks2)) # 400 bins
bins <- bin2(x, ab, nbin) # bin counts,ab,nskip
# Continuing example from help(bin2)
#par(mfrow=c(1,2))
m <- c(7,8)
f <- ash2(bins,m)
image(f$x,f$y,f$z, xlab="Sensibilidad", ylab="Especificidad", main="Subpoblación 2")
contour(f$x,f$y,f$z,add=TRUE)
################ subpoblación 3
se_sub1 <- festimado_resu$festimados[5,]
sp_sub1 <- festimado_resu$festimados[6,]
x <- t(matrix(c(as.numeric(se_sub1), as.numeric(sp_sub1)),2, byrow = T)) # bivariate se, sp
binsSturges <- bin2d(x)
limInfSe <- floor_dec(min(as.numeric(se_sub1)))
limSupSe <- ceiling_dec(max(as.numeric(se_sub1)))
limInfSp <- floor_dec(min(as.numeric(sp_sub1)))
limSupSp <- ceiling_dec(max(as.numeric(sp_sub1)))
ab <- matrix( c(limInfSe,limInfSp,limSupSe,limSupSp), 2, 2)
nbin <- c( length(binsSturges$breaks1), length(binsSturges$breaks2)) # 400 bins
bins <- bin2(x, ab, nbin) # bin counts,ab,nskip
# Continuing example from help(bin2)
#par(mfrow=c(1,2))
m <- c(7,8)
f <- ash2(bins,m)
image(f$x,f$y,f$z, xlab="Sensibilidad", ylab="Especificidad", main="Subpoblación 3")
contour(f$x,f$y,f$z,add=TRUE)
################ subpoblación 4
se_sub1 <- festimado_resu$festimados[7,]
sp_sub1 <- festimado_resu$festimados[8,]
x <- t(matrix(c(as.numeric(se_sub1), as.numeric(sp_sub1)),2, byrow = T)) # bivariate se, sp
binsSturges <- bin2d(x)
limInfSe <- floor_dec(min(as.numeric(se_sub1)))
limSupSe <- ceiling_dec(max(as.numeric(se_sub1)))
limInfSp <- floor_dec(min(as.numeric(sp_sub1)))
limSupSp <- ceiling_dec(max(as.numeric(sp_sub1)))
ab <- matrix( c(limInfSe,limInfSp,limSupSe,limSupSp), 2, 2)
nbin <- c( length(binsSturges$breaks1), length(binsSturges$breaks2)) # 400 bins
bins <- bin2(x, ab, nbin) # bin counts,ab,nskip
# Continuing example from help(bin2)
#par(mfrow=c(1,2))
m <- c(7,8)
f <- ash2(bins,m)
image(f$x,f$y,f$z, xlab="Sensibilidad", ylab="Especificidad", main="Subpoblación 4")
contour(f$x,f$y,f$z,add=TRUE)
Se generan 1000 tablas \(4 \times 4\) con las mismas probabilidades y tamaƱo de muestra.
El promedio y la varianza de los betas estimados para este caso serĆa:
| Promedio | Varianza | |
|---|---|---|
| \(\beta_0\) | 0.7768659 | 0.0039322 |
| \(\beta_1^{(1)}\) | -0.0019753 | 0.0052700 |
| \(\beta_1^{(2)}\) | -0.0008557 | 0.0050447 |
| \(\beta_0^{(,2)}\) | -0.2291465 | 0.0288750 |
| \(\beta_1^{(1,2)}\) | 0.0095355 | 0.0387289 |
| \(\beta_1^{(2,2)}\) | -0.0000336 | 0.0368843 |
Distribución de los betas
Confirmamos si la distribución de todos los betas es normal realizando el test de Shapiro Wilk multivariado.
##
## Generalized Shapiro-Wilk test for Multivariate Normality by
## Villasenor-Alva and Gonzalez-Estrada
##
## data: as.matrix(t(Betas_resu$Betas))
## MVW = 0.99805, p-value = 0.2075
Como el \(p\)- valor \(>0.05\) aceptamos \(H_{0}\), por tanto hay normalidad multivariada entre los betas.
Analizamos la normalidad de cada beta de forma marginal (o individual)
| \(\beta_0\) | \(\beta_1^{(1)}\) | \(\beta_1^{(2)}\) | \(\beta_0^{(,2)}\) | \(\beta_1^{(1,2)}\) | \(\beta_1^{(2,2)}\) |
|---|---|---|---|---|---|
| 0.0489314 | 0.6505589 | 0.9114768 | 1.6e-06 | 0.3312912 | 0.9030842 |
Criterio: \(p\)- valor \(<0.05\) rechazamos \(H_{0}\), por tanto no hay normalidad univariada en beta. \(p\)- valor \(>0.05\) aceptamos \(H_{0}\), por tanto sĆ hay normalidad univariada en beta.
Analizando la sensibilidad y especificidad por subpoblación.
El promedio y la varianza de la sensibilidad y especificidad por subppoblación serĆa:
| Promedio | Varianza | |
|---|---|---|
| Sensibilidad subpoblación 1 | 0.7768659 | 0.0039322 |
| Especificidad subpoblación 1 | 0.5477194 | 0.0278451 |
| Sensibilidad subpoblación 2 | 0.7760101 | 0.0042310 |
| Especificidad subpoblación 2 | 0.5468300 | 0.0284575 |
| Sensibilidad subpoblación 3 | 0.7748905 | 0.0043231 |
| Especificidad subpoblación 3 | 0.5552796 | 0.0304787 |
| Sensibilidad subpoblación 4 | 0.7740348 | 0.0043986 |
| Especificidad subpoblación 4 | 0.5543902 | 0.0271807 |
Analizando conjuntamente la sensibilidad y le especificidad por subpoblaciones:
Se generan 1000 tablas \(4 \times 4\) con las mismas probabilidades y tamaƱo de muestra. Probabilidades \(0.5,0.2,0.1,0.2\) y tamaƱo de muestra \(n=50\)
El promedio y la varianza de los betas estimados para este caso serĆa:
| Promedio | Varianza | |
|---|---|---|
| \(\beta_0\) | 0.6927667 | 0.0046149 |
| \(\beta_1^{(1)}\) | 0.0021853 | 0.0053564 |
| \(\beta_1^{(2)}\) | 0.0012088 | 0.0053373 |
| \(\beta_0^{(,2)}\) | -0.0636074 | 0.0142063 |
| \(\beta_1^{(1,2)}\) | 0.0004391 | 0.0169197 |
| \(\beta_1^{(2,2)}\) | 0.0041833 | 0.0171744 |
Distribución de los betas
Confirmamos si la distribución de todos los betas es normal realizando el test de Shapiro Wilk multivariado.
##
## Generalized Shapiro-Wilk test for Multivariate Normality by
## Villasenor-Alva and Gonzalez-Estrada
##
## data: as.matrix(t(Betas_resu$Betas))
## MVW = 0.99805, p-value = 0.2033
Como el \(p\)- valor \(<0.05\) rechazamos \(H_{0}\), por tanto no hay normalidad multivariada entre los betas.
Analizamos la normalidad de cada beta de forma marginal (o individual)
| \(\beta_0\) | \(\beta_1^{(1)}\) | \(\beta_1^{(2)}\) | \(\beta_0^{(,2)}\) | \(\beta_1^{(1,2)}\) | \(\beta_1^{(2,2)}\) |
|---|---|---|---|---|---|
| 0.7541334 | 0.323295 | 0.7418987 | 0.0071449 | 0.052569 | 0.8364287 |
Criterio: \(p\)- valor \(<0.05\) rechazamos \(H_{0}\), por tanto no hay normalidad univariada en beta. \(p\)- valor \(>0.05\) aceptamos \(H_{0}\), por tanto sĆ hay normalidad univariada en beta.
Analizando la sensibilidad y especificidad por subpoblación.
El promedio y la varianza de la sensibilidad y especificidad por subppoblación serĆa:
| Promedio | Varianza | |
|---|---|---|
| Sensibilidad subpoblación 1 | 0.6927667 | 0.0046149 |
| Especificidad subpoblación 1 | 0.6291593 | 0.0112120 |
| Sensibilidad subpoblación 2 | 0.6939755 | 0.0042029 |
| Especificidad subpoblación 2 | 0.6345514 | 0.0116814 |
| Sensibilidad subpoblación 3 | 0.6949519 | 0.0041663 |
| Especificidad subpoblación 3 | 0.6317836 | 0.0117321 |
| Sensibilidad subpoblación 4 | 0.6961607 | 0.0044617 |
| Especificidad subpoblación 4 | 0.6371757 | 0.0110567 |
Analizando conjuntamente la sensibilidad y le especificidad por subpoblaciones:
Se generan 1000 tablas \(4 \times 4\) con las probabilidades \(0.5,0.2,0.1,0.2\)
El promedio y la varianza de los betas estimados para este caso serĆa:
| Promedio | Varianza | |
|---|---|---|
| \(\beta_0\) | 0.7010017 | 0.0030380 |
| \(\beta_1^{(1)}\) | -0.0033821 | 0.0037011 |
| \(\beta_1^{(2)}\) | -0.0034639 | 0.0034997 |
| \(\beta_0^{(,2)}\) | -0.0626398 | 0.0093598 |
| \(\beta_1^{(1,2)}\) | 0.0034083 | 0.0115840 |
| \(\beta_1^{(2,2)}\) | 0.0062062 | 0.0116785 |
Distribución de los betas
Confirmamos si la distribución de todos los betas es normal realizando el test de Shapiro Wilk multivariado.
##
## Generalized Shapiro-Wilk test for Multivariate Normality by
## Villasenor-Alva and Gonzalez-Estrada
##
## data: as.matrix(t(Betas_resu$Betas))
## MVW = 0.99818, p-value = 0.3436
Como el \(p\)- valor \(<0.05\) rechazamos \(H_{0}\), por tanto no hay normalidad multivariada entre los betas.
Analizamos la normalidad de cada beta de forma marginal (o individual)
| \(\beta_0\) | \(\beta_1^{(1)}\) | \(\beta_1^{(2)}\) | \(\beta_0^{(,2)}\) | \(\beta_1^{(1,2)}\) | \(\beta_1^{(2,2)}\) |
|---|---|---|---|---|---|
| 0.3339324 | 0.2522319 | 0.6287668 | 0.251257 | 0.7124958 | 0.0949217 |
Criterio: \(p\)- valor \(<0.05\) rechazamos \(H_{0}\), por tanto no hay normalidad univariada en beta. \(p\)- valor \(>0.05\) aceptamos \(H_{0}\), por tanto sĆ hay normalidad univariada en beta.
Analizando la sensibilidad y especificidad por subpoblación.
El promedio y la varianza de la sensibilidad y especificidad por subppoblación serĆa:
| Promedio | Varianza | |
|---|---|---|
| Sensibilidad subpoblación 1 | 0.7010017 | 0.0030380 |
| Especificidad subpoblación 1 | 0.6383619 | 0.0075030 |
| Sensibilidad subpoblación 2 | 0.6975378 | 0.0030075 |
| Especificidad subpoblación 2 | 0.6411042 | 0.0075105 |
| Sensibilidad subpoblación 3 | 0.6976196 | 0.0028771 |
| Especificidad subpoblación 3 | 0.6383881 | 0.0074125 |
| Sensibilidad subpoblación 4 | 0.6941556 | 0.0028123 |
| Especificidad subpoblación 4 | 0.6411304 | 0.0075146 |
Analizando conjuntamente la sensibilidad y le especificidad por subpoblaciones:
Se generan 1000 tablas \(4 \times 4\) con probabilidades \(0.5,0.2,0.1,0.2\)
El promedio y la varianza de los betas estimados para este caso serĆa:
| Promedio | Varianza | |
|---|---|---|
| \(\beta_0\) | 0.7026050 | 0.0021096 |
| \(\beta_1^{(1)}\) | -0.0008131 | 0.0027692 |
| \(\beta_1^{(2)}\) | -0.0030723 | 0.0027239 |
| \(\beta_0^{(,2)}\) | -0.0563106 | 0.0070546 |
| \(\beta_1^{(1,2)}\) | 0.0020866 | 0.0084911 |
| \(\beta_1^{(2,2)}\) | 0.0006726 | 0.0094964 |
Distribución de los betas
Confirmamos si la distribución de todos los betas es normal realizando el test de Shapiro Wilk multivariado.
##
## Generalized Shapiro-Wilk test for Multivariate Normality by
## Villasenor-Alva and Gonzalez-Estrada
##
## data: as.matrix(t(Betas_resu$Betas))
## MVW = 0.99789, p-value = 0.09787
Como el \(p\)- valor \(>0.05\) no hay suficiente información para rechazar \(H_{0}\), por tanto hay normalidad multivariada entre los betas.
Analizamos la normalidad de cada beta de forma marginal (o individual)
| \(\beta_0\) | \(\beta_1^{(1)}\) | \(\beta_1^{(2)}\) | \(\beta_0^{(,2)}\) | \(\beta_1^{(1,2)}\) | \(\beta_1^{(2,2)}\) |
|---|---|---|---|---|---|
| 0.0331926 | 0.146041 | 0.761771 | 0.5115521 | 0.1592486 | 0.0178937 |
Criterio: \(p\)- valor \(<0.05\) rechazamos \(H_{0}\), por tanto no hay normalidad univariada en beta. \(p\)- valor \(>0.05\) aceptamos \(H_{0}\), por tanto sĆ hay normalidad univariada en beta.
Analizando la sensibilidad y especificidad por subpoblación.
El promedio y la varianza de la sensibilidad y especificidad por subppoblación serĆa:
| Promedio | Varianza | |
|---|---|---|
| Sensibilidad subpoblación 1 | 0.7026050 | 0.0021096 |
| Especificidad subpoblación 1 | 0.6462945 | 0.0058299 |
| Sensibilidad subpoblación 2 | 0.6995328 | 0.0020766 |
| Especificidad subpoblación 2 | 0.6438948 | 0.0057632 |
| Sensibilidad subpoblación 3 | 0.7017920 | 0.0022358 |
| Especificidad subpoblación 3 | 0.6475680 | 0.0058173 |
| Sensibilidad subpoblación 4 | 0.6987197 | 0.0022227 |
| Especificidad subpoblación 4 | 0.6451683 | 0.0051696 |
Analizando conjuntamente la sensibilidad y le especificidad por subpoblaciones:
Se generan 1000 tablas \(4 \times 4\) con probabilidades \(0.5,0.2,0.1,0.2\)
El promedio y la varianza de los betas estimados para este caso serĆa:
| Promedio | Varianza | |
|---|---|---|
| \(\beta_0\) | 0.7076308 | 0.0009296 |
| \(\beta_1^{(1)}\) | -0.0010342 | 0.0011822 |
| \(\beta_1^{(2)}\) | 0.0029367 | 0.0011818 |
| \(\beta_0^{(,2)}\) | -0.0487267 | 0.0028132 |
| \(\beta_1^{(1,2)}\) | 0.0014495 | 0.0038273 |
| \(\beta_1^{(2,2)}\) | -0.0029421 | 0.0038390 |
Distribución de los betas
Confirmamos si la distribución de todos los betas es normal realizando el test de Shapiro Wilk multivariado.
##
## Generalized Shapiro-Wilk test for Multivariate Normality by
## Villasenor-Alva and Gonzalez-Estrada
##
## data: as.matrix(t(Betas_resu$Betas))
## MVW = 0.99833, p-value = 0.5326
Si \(p\)- valor \(<0.05\) rechazamos \(H_{0}\), por tanto no hay normalidad multivariada entre los betas.
Analizamos la normalidad de cada beta de forma marginal (o individual)
| \(\beta_0\) | \(\beta_1^{(1)}\) | \(\beta_1^{(2)}\) | \(\beta_0^{(,2)}\) | \(\beta_1^{(1,2)}\) | \(\beta_1^{(2,2)}\) |
|---|---|---|---|---|---|
| 0.2421523 | 0.4754913 | 0.5517114 | 0.6355765 | 0.4858566 | 0.3360271 |
Criterio: \(p\)- valor \(<0.05\) rechazamos \(H_{0}\), por tanto no hay normalidad univariada en beta. \(p\)- valor \(>0.05\) aceptamos \(H_{0}\), por tanto sĆ hay normalidad univariada en beta.
Analizando la sensibilidad y especificidad por subpoblación.
El promedio y la varianza de la sensibilidad y especificidad por subppoblación serĆa:
| Promedio | Varianza | |
|---|---|---|
| Sensibilidad subpoblación 1 | 0.7076308 | 0.0009296 |
| Especificidad subpoblación 1 | 0.6589041 | 0.0022637 |
| Sensibilidad subpoblación 2 | 0.7105675 | 0.0009793 |
| Especificidad subpoblación 2 | 0.6588987 | 0.0023479 |
| Sensibilidad subpoblación 3 | 0.7065966 | 0.0008737 |
| Especificidad subpoblación 3 | 0.6593194 | 0.0023425 |
| Sensibilidad subpoblación 4 | 0.7095332 | 0.0008992 |
| Especificidad subpoblación 4 | 0.6593139 | 0.0024331 |
Analizando conjuntamente la sensibilidad y le especificidad por subpoblaciones: