El ejercicio se ha tomado del Libro de Anderson
El programa de control de calidad de la empresa consiste en tomar muestras periódicas de 50 pelotas de golf para monitorear el proceso de manufactura. Con cada muestra se realiza una prueba de hipótesis para determinar si el proceso se ha desajustado. Para elaborar las hipótesis nula y alternativa se empieza por suponer que el proceso está funcionando correctamente; es decir, las pelotas de golf que se fabrican alcanzan una distancia media de 295 yardas. Este es el supuesto que establece la hipótesis nula.
H0: μ = 295
Ha: μ ≠ 295
library(fastGraph)
#Calculo del Estadistico de Prueba Z
media<-297.6
media_hipo<- 295
des_stand<- 12
n<-50
Z<- (media- media_hipo)/(des_stand/sqrt(n))
print(Z)
## [1] 1.532065
#Valor Critico para una significancia del 5%
VCZ<-(1.96)
print(VCZ)
## [1] 1.96
shadeDist(xshade = c(-Z,Z),ddist = "dnorm",parm1 = 0,parm2 = 1, lower.tail = TRUE, sub=paste("Z Stadistic:",Z,"VC-:",-VCZ, "VC+:", VCZ))
valor_p <- 0.1255 #Sacado de las Tablas de Probabilidad de Distribucion Normal Estandar, aunque el grafico,, lo presenta en la parte superior.
print(valor_p)
## [1] 0.1255
Como -Z es mayor al VC- (-1.53>-1.96) y Z es menor al VC+ (1.53<1.96), entonces No se Rechaza la Hipotesis Nula.
El Estadistico de Prueba Z cae dentro de la Zona de No Rechazo.
El Valor-p es mayor al nivel de significancia, que es del 5%, por lo que tambien significa que no se rechaza la Hipotesis Nula. En otras palabras, existe evidencia de que la media poblacional es igual a 295
Para este ejercicio se usará un ejemplo de regresion lineal
Hipotesis
Ho: βj = 0
Hi: βj ≠ 0
options(scipen = 999999)
library(wooldridge)
data(hprice1)
head(force(hprice1),n=5)
## price assess bdrms lotsize sqrft colonial lprice lassess llotsize lsqrft
## 1 300 349.1 4 6126 2438 1 5.703783 5.855359 8.720297 7.798934
## 2 370 351.5 3 9903 2076 1 5.913503 5.862210 9.200593 7.638198
## 3 191 217.7 3 5200 1374 0 5.252274 5.383118 8.556414 7.225482
## 4 195 231.8 3 4600 1448 1 5.273000 5.445875 8.433811 7.277938
## 5 373 319.1 4 6095 2514 1 5.921578 5.765504 8.715224 7.829630
# Corremos el modelo
Modelo_Lineal<-lm(formula = price~lotsize+sqrft,data=hprice1)
# Usando summary
summary(Modelo_Lineal)
##
## Call:
## lm(formula = price ~ lotsize + sqrft, data = hprice1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -109.995 -36.210 -5.553 27.848 207.081
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.9324142 23.5123583 0.252 0.80141
## lotsize 0.0021135 0.0006466 3.269 0.00156 **
## sqrft 0.1333620 0.0113969 11.702 < 0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 60.31 on 85 degrees of freedom
## Multiple R-squared: 0.6631, Adjusted R-squared: 0.6552
## F-statistic: 83.67 on 2 and 85 DF, p-value: < 0.00000000000000022
summary_modelo<- summary(Modelo_Lineal)$coefficients
t_stadistics<-summary_modelo[,"t value"]
etiquetas<- names(t_stadistics)
# Grados de libertad n-k y nivel de significancia del 5%
model.matrix(Modelo_Lineal)-> matrizX
n<- nrow(matrizX)
k<- ncol(matrizX)
gl_t<-(n-k)
#Buscamos el Valor Critico en las tablas de distribucion t student: t,α/2,n-k, donde α=0.05, n-k=22
VCt<- 2.074
print(VCt)
## [1] 2.074
for (j in 2:3) {
tc<-t_stadistics[j]
t_VC<- shadeDist(xshade = c(-tc,tc),ddist = "dt",parm1 = gl_t, parm2 = NULL, lower.tail = TRUE, sub=paste("Estadistico t de la Variable:",etiquetas[j]))
}
Se sigue con el Ejemplo del ejercicio Anterior
Ho: β1 = β2 = β3 = 0
Hi: β1 ≠ β2 ≠ β3 ≠ 0
F_Anova<-summary(Modelo_Lineal)$fstatistic[1]
gl_num<-summary(Modelo_Lineal)$fstatistic[2]
gl_den<-summary(Modelo_Lineal)$fstatistic[3]
F_VC<-qf(0.95,gl_num,gl_den,lower.tail = TRUE)
print(F_VC)
## [1] 3.103839
shadeDist(xshade = F_Anova,ddist = "df",parm1 = gl_num,parm2 = gl_den,lower.tail = FALSE,sub=paste("VC:",F_VC," ","F:",F_Anova))
Utilisamos el mismo modelo lineal de los dos ejercicios anteriores. Vamos a realizar la Prueba de Farrer-Glaubar
Pruebas de Hipotesis
H0: R∼I
H1: R≁I
library(psych)
library(fastGraph)
# Corremos la Prueba
FG_test<-cortest.bartlett(matrizX[,-1])
print(FG_test)
## $chisq
## [1] 2.939689
##
## $p.value
## [1] 0.08642739
##
## $df
## [1] 1
#Calculamos el Valor Critico
VCchisq<-qchisq(p = 0.95,df = FG_test$df,lower.tail = FALSE)
shadeDist(xshade = FG_test$chisq,ddist = "dchisq",parm1 = FG_test$df,lower.tail = FALSE,sub=paste("VC:",VCchisq,"FG:",FG_test$chisq))